This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A New Class of Compact Formulations for Vehicle Routing Problems

Udayan Mandal 1, Amelia Regan 2, Louis Martin Rousseau 3, Julian Yarkony 4
1 Stanford University, Palo Alto, California USA
2 University of Washington, Seattle, Washington USA
3 Polytechnique Montreal, Montreal, Quebec, Canada
4 Optym
(February, 2024)
Abstract

This paper introduces a novel compact mixed integer linear programming (MILP) formulation and a discretization discovery-based solution approach for the Vehicle Routing Problem with Time Windows (VRPTW). We aim to solve the optimization problem efficiently by constraining the linear programming (LP) solutions to use only flows corresponding to time and capacity-feasible routes that are locally elementary (prohibiting cycles of customers localized in space).

We employ a discretization discovery algorithm to refine the LP relaxation iteratively. This iterative process alternates between two steps: (1) increasing time/capacity/elementarity enforcement to increase the LP objective, albeit at the expense of increased complexity (more variables and constraints), and (2) decreasing enforcement without decreasing the LP objective to reduce complexity. This iterative approach ensures we produce an LP relaxation that closely approximates the optimal MILP objective with minimal complexity, facilitating an efficient solution via an off-the-shelf MILP solver.

The effectiveness of our method is demonstrated through empirical evaluations on classical VRPTW instances. We showcase the efficiency of solving the final MILP and multiple iterations of LP relaxations, highlighting the decreased integrality gap of the final LP relaxation. We believe that our approach holds promise for addressing a wide range of routing problems within and beyond the VRPTW domain.

1 Introduction

This paper proposes a novel compact formulation for the Vehicle Routing Problem with Time Windows (VRPTW) with an empirically “tighter” linear programming (LP) relaxation compared to a standard two-index compact formulation baseline, which can be solved directly as a Mixed Integer Linear Program (MILP). By “tighter,” we mean that the LP relaxation’s optimal solution objective value is closer to the MILP objective value relative to a baseline LP. We characterize such a formulation with two properties: sufficiency and parsimony. Sufficiency indicates that our formulation describes the tightest LP within a considered class of LPs, while parsimony ensures that our formulation is as compact as possible (measured by the number of variables and constraints) without decreasing the LP objective. Utilizing these properties, we devise an algorithm that iteratively expands and contracts this formulation and demonstrates its monotonic convergence to a solution that is both sufficient and parsimonious. By producing a sufficient and parsimonious MILP we aim to ensure that the MILP can be solved efficiently. Moreover, adjusting the formulation parameters allows us to explore the trade-off between solution time and quality.

Our approach augments the standard compact formulation by enforcing agreement between the standard compact decision variables and separate sets of variables and constraints designed to enforce elementarity, time feasibility, and capacity feasibility. Agreement between these formulations and the compact formulation requires that the number of edges indicating travel from one location to another agrees with the original compact variables. Restrictions on time and capacity feasibility are enforced using discretization of time/capacity ranges into “buckets” , inspired by previous work (Boland et al., 2017, 2019), while restrictions on elementarity use Local Area Arcs from our recent work (Mandal et al., 2023, 2022). We elaborate on our use of these enforcement mechanisms below.

Restricting Violations of Capacity/Time Feasibility: We partition the remaining capacity before servicing each customer into “buckets”, creating nodes for a directed acyclic graph. Each pair of nodes corresponding to feasible flow is connected and associated with a decision variable. A valid solution associated with this directed acyclic graph is a weighted non-negative sum of source-to-sink paths. Operations aiming towards sufficiency reduce the granularity of the partitions. Operations aiming towards parsimony increase the granularity without decreasing the LP objective. This approach is used for time-enforcing temporal feasibility as well.

Restricting Violations of Elementarity: For each customer, we create variables representing all possible immediately succeeding sequences of nearby customers. These sequences are limited to those that can be used in an optimal solution, given the intermediate customers, those on the efficient frontier of minimal cost, earliest completion time, and latest start time. We require one variable to be selected for each customer. Operations aiming toward sufficiency expand the set of nearby customers and, hence, the number of variables. This limits the set of cycles of customers allowed, at the cost of increasing the complexity of the LP. Operations aiming towards parsimony analyze the dual solution to decrease the set of nearby customers, decreasing the complexity of the LP in such a manner as not to decrease the LP objective. We should note that the use LA-arcs for cycle elimination, enables users to expand their formulation’s scale as MILP solvers’ computational capabilities advance.

We organize this document as follows. Section 2 briefly reviews the most relevant literature. Section 3 presents the VRPTW and its compact two-index formulation. Section 4 provides the proposed LP relaxation for the VRPTW. Section 5 provides an algorithm called LA-Discretization to solve the corresponding relaxation efficiently. Section 6 we consider LA-Arc generation in detail. Section 7 provides experimental results comparing LA-Discretization to a baseline compact two-index formulation. Section 8 provides conclusions and discusses extensions.

2 Literature Review

Different MILP formulations for VRPTW trade off the increase in the number of variables/constraints against the tightness of the LP relaxation. The use of a tighter formulation often means that branch & bound expands fewer nodes; however, this tightness often comes at the cost of a larger LP (in terms of more variables/constraints), which is thus more computationally intensive to solve at each node of the branch & bound solver. Well-known expanded or Dantzig-Wolfe formulations (Dantzig and Wolfe, 1960) often provide much tighter linear programming (LP) relaxations than a standard compact formulation for MILPs in many application areas (Barnhart et al., 1996; Geoffrion, 1974). These formulations are solved through Column Generation (CG) (Gilmore and Gomory, 1961) and are widely used across many problem domains, including vehicle routing (Desrochers et al., 1992), crew scheduling (Desaulniers et al., 1997), and more recently applications in artificial intelligence domains, such as computer vision (Yarkony et al., 2020) and machine learning (Lokhande et al., 2020).

Expanded formulations used to solve Vehicle Routing Problems (VRP) are weighted set covering formulations where each column (primal variable) corresponds to a feasible route, and each cover constraint (primal constraint) corresponds to a customer, which must be serviced. The expanded formulation circumvents multiple key difficulties of a compact formulation, the most important of which is the following. The expanded formulation enforces that the flows of the corresponding compact formulation only describe feasible routes. However, expanded formulations present multiple difficulties including the following.

  • When the LP solution includes fractional variables at the termination of CG, the set of columns (variables in the MILP) generated over the course of CG does not necessarily include all columns that are part of the optimal integer solution. Thus, we cannot use a standard off-the-shelf MILP solver to guarantee an optimal solution. The importance of this difficulty is emphasized in (Barnhart et al., 1996), which observes that columns that describe an optimal solution to the weighted set cover LP may not express an optimal or even a near-optimal solution to the weighted set cover integer linear program (ILP). Branch & Price (Barnhart et al., 1996) or Branch-Cut & Price (Gauvin et al., 2014; Pecin et al., 2017) can be used to solve these formulations to optimality, but are difficult to implement.

  • Generating negative (or positive in the case of a maximization objective) reduced cost columns is often a challenging optimization problem. In the context of VRPs, these boil down to an elementary resource-constrained shortest path problem (Irnich and Desaulniers, 2005) (ERCSPP), which is NP-hard. ERCSPP solvers are tricky to implement, which has led researchers to propose numerous sophisticated implementations in the last decades (Righini and Salani, 2008, 2009; Baldacci et al., 2011; Boland et al., 2006; Righini and Salani, 2006; Lozano et al., 2016; Tilk et al., 2017; Beasley and Christofides, 1989; Righini and Salani, 2004; Cabrera et al., 2020; Lozano and Medaglia, 2013; Li and Han, 2019).

  • Valid inequalities such as subset-row inequalities (Jepsen et al., 2008) or rounded capacity inequalities (Archetti et al., 2011) must be separated by the CG developer, and these may alter the structure of the CG pricing problem (as is the case for (Jepsen et al., 2008)), which can add further complexity to the pricing problem as additional resources must be included in ERCSPP.

  • CG acceleration methods are often required to ensure fast convergence of CG such as dual stabilization:(Du Merle et al., 1999; Marsten et al., 1975; Haghani et al., 2022; Rousseau et al., 2007), heuristic pricing (Desrosiers and Lübbecke, 2005), and complimentary columns (Ghoniem and Sherali, 2009)

Elementarity, the property that a customer may be present at most once in a route, can be very challenging to enforce in pricing. The following approaches attempt to avoid fully/explicitly considering elementarity in routes in pricing problems in CG formulations: neighborhood (NG)-route relaxations (Baldacci et al., 2011, 2012), decremental state space relaxations (DSSR) (Righini and Salani, 2009), P-step formulations (Dollevoet et al., 2020), Q-route relaxations (Christofides et al., 1981) and Local Area (LA)-route relaxations (Mandal et al., 2022, 2023). In NG-route relaxations (Baldacci et al., 2012), the elementarity of the route is relaxed only to prevent cycles of customers localized in space. Specifically, when extending a label during pricing, we hold onto customers from the previous label that are in the NG-neighborhood (nearby customers) of the latest customer at the given label. We forbid the extension of a label to a customer where the label states that it has already been. DSSR can be understood as expanding the NG-neighborhood as needed (Righini and Salani, 2008, 2009), hence, gradually enforcing elementarity where violated. Q-route relaxations relax elementarity to prevent cycles that contain any sub-sequence in which a customer is preceded and succeeded by the same customer. P-step formulations (Dollevoet et al., 2020) employ an arc-based formulation where arcs correspond to elementary sequences of customers. CG is employed to solve optimization since the number of such sequences can be quite large. LA-routes (Mandal et al., 2022) construct routes as sequences of elementary sub-sequences of customers where each sub-sequence is localized in space.

The work of (Boland et al., 2017) with respect to continuous-time service network design problems can be used to enforce feasibility with regard to time in VRPTWs. In that paper, the authors intelligently construct a partition of the times in a time-expanded graph representation of the underlying problem. This partition induces a relaxation of time feasibility. Specifically, a vehicle can depart at any time in an interval, given that it arrives at any time in that interval. The weakness is that this partition permits a vehicle to leave a node before it arrives. No relaxation occurs if the partition is constructed such that arrivals at nodes only occur at the earliest time possible in the optimal solution. To construct such a partition, the authors iterate between solving the MILP and splitting used nodes that cause a violation of temporal feasibility.

The approach that we propose in this paper is able to solve a large portion of the problems in the Solomon instances though not as many as Branch & Price based solvers (Baldacci et al., 2012).

3 The Vehicle Routing Problem with Time Windows

This section reviews the core mathematical concepts required to understand our paper. We organize this section as follows. In Section 3.1, we informally review the Vehicle Routing Problem with Time Windows (VRPTW). Section 3.2 provides the key notation used to discuss VRPTW, while Section 3.3 describes a classic compact two-index formulation for VRPTW.

3.1 Informal Description

A VRPTW problem instance is described using the following terms: (a) a depot located in space; (b) a set of customers located in space, each of which has an integer demand, service time, and time window for when service starts; and (c) an unlimited number of homogeneous vehicles with integer capacity.

A solution to VRPTW assigns vehicles to routes, where each route satisfies the following properties: (1) The route starts and ends at the depot. (2) The total demand of customers serviced on the route does not exceed the vehicle’s capacity. (3) The route cost is the total distance traveled. (4) The vehicle leaves a customer immediately after servicing that customer. (5) Service starts at a given customer within the time window of that customer. (6) A customer is serviced at most once in a route.

The VRPTW solver selects a set of routes with the goal of minimizing the total distance traveled while ensuring that each customer is serviced exactly once across all selected routes.

3.2 Mathematical Notation

We use NN to denote the set of customers, which we index by uu. We use N+N^{+} to denote NN augmented with the starting/ending depot (which are co-located), and denoted α,α¯\alpha,\bar{\alpha} respectively. Each customer uNu\in N has a demand denoted dud_{u}. We define the demand at the depots as 0, which we write formally as dα=dα¯=0d_{\alpha}=d_{\bar{\alpha}}=0. We are given an unlimited number of homogeneous vehicles with capacity d0d_{0} that start at the depot at time t0t_{0} where t0t_{0} is the length of the time horizon of optimization. Note that this is without loss of generality as we can easily apply a cost (distance) term to each departure/arrival from the depot to restrict the number of vehicles deployed. We use tu+t^{+}_{u} and tut^{-}_{u} to denote the earliest/latest times for the service at customer uu to begin. The service windows for the start/end depot are denoted by tα+=tα=tα¯+=t0t_{\alpha}^{+}=t_{\alpha}^{-}=t_{\bar{\alpha}}^{+}=t_{0} and tα¯=0t_{\bar{\alpha}}^{-}=0. Servicing a given customer uNu\in N takes tut_{u}^{*} units of time, where tα=tα¯=0t_{\alpha}^{*}=t_{{\bar{\alpha}}}^{*}=0.

For each uN+,vN+u\in N^{+},v\in N^{+} we use cuv=tuvc_{uv}=t_{uv} to denote the cost and time required to travel from uu to vv. For simplicity, tuvt_{uv} is altered to include the service time at customer uu, which is tut_{u}^{*}. Thus, we set tuvtuv+tut_{uv}\leftarrow t_{uv}+t_{u}^{*}, then set cuvtuvc_{uv}\leftarrow t_{uv}, which offsets the cost of a solution by a constant.

3.3 A Two-Index Compact Formulation

We now describe the two-index formulation for the VRPTW of interest. We use the following decision variables. We set binary decision variable xuv=1x_{uv}=1 to indicate that a vehicle departs uu and travels immediately to vv. xuvx_{uv} is defined for every pair of customers/depots, where uu is not the ending depot and vv is not uu or the starting depot. The term xuvx_{uv} is also not defined for cases where the route that proceeds from beginning to end [α,u,v,α¯][\alpha,u,v,\bar{\alpha}] is infeasible due to time or capacity. The set of existing xuvx_{uv} terms are denoted EE^{*}.

We use continuous decision variable τu0+\tau_{u}\in\mathbb{R}_{0+} to denote the amount of time remaining when service starts at customer uu. We enforce the bounds on the start of the service with the following inequalities: tu+τutuuNt^{+}_{u}\geq\tau_{u}\geq t^{-}_{u}\quad\forall u\in N.

We use continuous decision variable δu0+\delta_{u}\in\mathbb{R}_{0+} to denote the capacity remaining in the vehicle immediately before servicing customer uu. We enforce that sufficient capacity remains to service customer uu with the following inequalities d0δuduuNd_{0}\geq\delta_{u}\geq d_{u}\quad\forall u\in N.

We now write the two-index form for the VRPTW as a compact MILP :

minxuv{0,1}tu+τutud0δuduuvEcuvxuv\displaystyle\min_{\begin{subarray}{c}x_{uv}\in\{0,1\}\\ t^{+}_{u}\geq\tau_{u}\geq t^{-}_{u}\\ d_{0}\geq\delta_{u}\geq d_{u}\end{subarray}}\sum_{\begin{subarray}{c}uv\in E^{*}\end{subarray}}c_{uv}x_{uv} (1a)
uvExuv=1\displaystyle\sum_{\begin{subarray}{c}uv\in E^{*}\end{subarray}}x_{uv}=1 uN\displaystyle\quad\forall u\in N\quad (1b)
vuExvu=1\displaystyle\sum_{vu\in E^{*}}x_{vu}=1 uN\displaystyle\quad\forall u\in N (1c)
δvdvδu(d0+dv)(1xvu)\displaystyle\delta_{v}-d_{v}\geq\delta_{u}-(d_{0}+d_{v})(1-x_{vu}) uN,vuE\displaystyle\quad\forall u\in N,vu\in E^{*} (1d)
τvtvuτu(tu++tvu)(1xvu)\displaystyle\tau_{v}-t_{vu}\geq\tau_{u}-(t^{+}_{u}+t_{vu})(1-x_{vu}) uN,vuE\displaystyle\quad\forall u\in N,vu\in E^{*} (1e)
uNxαuuNdud0\displaystyle\sum_{u\in N}x_{\alpha u}\geq\lceil\frac{\sum_{u\in N}d_{u}}{d_{0}}\rceil (1f)

In (1a) we minimize the total distance traveled by all vehicles. In (1b), we enforce that each customer is serviced exactly once. In (1c), we enforce that a vehicle must leave each customer once. In (1d), we enforce that if uu is immediately preceded by vv in a route, then the amount of demand remaining immediately before servicing uu (denoted δu\delta_{u}) is no greater than that of vv (denoted δv\delta_{v}) minus dvd_{v}; and is otherwise unrestricted. Observe that in (1d) that (d0+dv)(1xvu)(d_{0}+d_{v})(1-x_{vu}) operates as a big-M term, which makes the inequality inactive when xvu=0x_{vu}=0. In (1e), we enforce that if uu is preceded by vv in a route, then the amount of time remaining immediately before servicing uu (denoted τu\tau_{u}) is no greater than that of vv (denoted τv\tau_{v}) minus tvut_{vu}; and is otherwise unrestricted. Observe that in (1e) that (tu++tvu)(1xvu)(t^{+}_{u}+t_{vu})(1-x_{vu}) operates as a big-M term, which makes the inequality inactive when xvu=0x_{vu}=0.

In (1f) we enforce that a minimum number of vehicles exit the depot; equal to a lower bound on the number of vehicles required to service all demand. This lower bound is the sum of the demands divided by the vehicle capacity, then rounded up to the nearest integer. This is an optional constraint that is not common in the CG literature.

It is well know that this formulation can lead to weak LP bounds because of the following issues. (1) It does not explicitly eliminate sub-tours in the LP solution. (2) Capacity and time feasibility are not well enforced.

4 A Tighter Compact LP Relaxation

In this section, we introduce our compact formulation for VRPTW, which is, in our experiments, tighter than the two-index compact formulation in (1). This formulation is parameterized by sets constructed later in the document (see Section 5). Specifically, our formulation is parameterized by unique values of the following for each customer: (1) set of Local Area (LA) neighbors which limit the class of cycles permitted in LP solutions (Mandal et al., 2022) (which we discuss in Section 4.1), (2) a discretization of time (Boland et al., 2017), and (3) a discretization of capacity. Increasing the number of LA-neighbors of customers can tighten the LP relaxation by limiting the cycles (over customers localized in space) permitted in an LP solution, a principle also exploited by NG-routes (Baldacci et al., 2011). Discretization is parameterized by grouping capacity remaining (or time remaining into buckets). For example given buckets associated with customer uu denoted DuD_{u} we bin in the capacity remaining as follows: Du=[[du,du+3],[du+4,du+5],[du+6,du+9][d04,d0]]D_{u}=[[d_{u},d_{u}+3],[d_{u}+4,d_{u}+5],[d_{u}+6,d_{u}+9]...[d_{0}-4,d_{0}]]. Increasing the number of buckets makes the buckets smaller in range. We refer to increasing the number of buckets as decreasing granularity while decreasing the number of buckets as increasing granularity. Increasing the number of buckets in the time/capacity discretization sets tightens the LP relaxation by enforcing that routes must be time/capacity feasible more rigorously. However, increasing the number of LA-neighbors and decreasing the granularity of the time/capacity discretization increases the number of variables/constraints in the LP and hence increases the LP computation time. Special selection of these sets (LA neighbors and time/capacity buckets) can ensure both fast LP optimization time, and a tighter LP relaxation relative to the baseline in (1); and thus fast MILP optimization time. Given these sets (collectively called a parameterization) we need only solve the corresponding optimization problem as a MILP using an off-the-shelf solver to obtain an optimal solution to the VRPTW.

We organize this section as follows. In Sections 4.1 and 4.2, we tighten the LP relaxation in (1) using LA-arcs, and time/capacity discretization respectively. In Section 4.3, we produce our novel MILP formulation of VRPTW. In Section 4.4, we consider some properties of sufficient parameterizations, which we define as parameterizations that lead to the tightest bound possible given a maximum number of LA-neighbors per customer. In Section 4.5, we consider some properties of parsimonious parameterizations, which are parameterizations that have the widest time/capacity buckets and smallest LA-neighborhoods as possible, given fixed LP objective, leading to maximally efficient solutions to the LPs at each node of the branch & bound tree of the corresponding MILP.

4.1 Enforcing Elementarity via the Incorporation of Local Area Arcs

Refer to caption
Figure 1: We display a route as a sequence of LA-arcs. Each LA-arc describes a sequence of customers near the first customer in the arc, followed by a distant customer. The example uses American universities and LA-neighborhoods defined by university location. LA-arcs are color-coded as follows. Red indicates the first customer (or depot) in an LA-arc, Black indicates intermediate customers in an LA-arc, and Blue indicates the final customer (or depot) in an LA-arc. The first customer of an LA-arc is shared with the last customer of the previous LA-arc. Observe that the class of cycles permitted in a sequence of LA-arcs is highly limited because individual LA-arcs that make up the route must be elementary.

In this section, we provide additional variables and associated constraints using Local Area (LA) arcs, which were introduced in the arXiv paper (Mandal et al., 2022). LA-arcs are designed to eliminate cycles of customers localized in space as described by the xx variables used in (1). As a precursor, we provide some notation for describing LA-arcs, which we illustrate in Fig 1. For each uNu\in N we use NuN^{\odot}_{u} to denote the set of customers nearby uu, not including uu, called the LA-neighbors of uu. Specifically NuN^{\odot}_{u} is the set of KK closest customers to uu in space that are reachable from uu considering time and capacity; for user-defined KK.111Other definitions can be used such as excluding from NuN^{\odot}_{u} customers for which the route ordered as follows α,u,v,u,α¯\alpha,u,v,u,\bar{\alpha} is infeasible by time/capacity. For ease of notation we define N+u={Nuu}N^{\odot}_{+u}=\{N^{\odot}_{u}\cup u\}. We use NuN^{\odot\rightarrow}_{u} to denote the subset of N+N^{+} not in N+uN^{\odot}_{+u} or the starting depot meaning Nu=N+(N+uα)N^{\odot\rightarrow}_{u}=N^{+}-(N^{\odot}_{+u}\cup\alpha). For each uN,vNu,N^Nuu\in N,v\in N^{\odot\rightarrow}_{u},\hat{N}\subseteq N^{\odot}_{u}, we use RuN^v+R^{+}_{u\hat{N}v} to denote the subset of all elementary sequences of customers (called orderings) starting at uu; ending at vv; including as intermediate customers N^\hat{N}; that are feasible with regard to time/capacity. Not all sets of intermediate customers N^Nu\hat{N}\subseteq N_{u}^{\odot} are feasible given u,vu,v due to time/capacity constraints. For any given u,vu,v and set of intermediate customers in N^Nu\hat{N}\subseteq N_{u}, we define RuN^vRuN^v+R_{u\hat{N}v}\subseteq R^{+}_{u\hat{N}v} to contain only those orderings on the efficient frontier with respect to (a) travel distance, (b) latest feasible departure time from uu and (c) earliest feasible departure time from vv. Feasibility of (b),(c) is a consequence of the time windows for the customers. Thus, orderings are preferred with (a) lower cost, (b) that can be started later, or (c) that can be finished earlier. In practice, RuN^vR_{u\hat{N}v} is a small subset of all possible orderings RuN^v+R^{+}_{u\hat{N}v} as most do not lie on the efficient frontier. We use RuR_{u} to denote the union of RuN^vR_{u\hat{N}v} over all v,N^v,\hat{N} where we clip off the final term in the ordering (meaning vv). Observe that any optimal integer solution to VRPTW must select a route containing an ordering in RuR_{u} followed immediately by some vNuv\in N^{\odot\rightarrow}_{u} for each uNu\in N. In practice, RuR_{u} is smaller than the sum of the sizes of the RuN^vR_{u\hat{N}v} terms as many terms are replicated between RuN^vR_{u\hat{N}v} sets. We provide a dynamic programming approach for generating RuR_{u} in Section 6.

We describe an ordering rRur\in R_{u} as follows. For any wN+uw\in N^{\odot}_{+u}, vNuv\in N^{\odot}_{u} we define awvr=1a_{wvr}=1 if ww immediately precedes vv in ordering rr, and otherwise define awvr=0a_{wvr}=0. For any wN+uw\in N^{\odot}_{+u} we define awr=1a_{w*r}=1 if ww is the final customer in ordering rr, and otherwise define awr=0a_{w*r}=0.

We use decision variables yr0+rRu,uNy_{r}\in\mathbb{R}_{0+}\;\forall r\in R_{u},\;u\in N to describe a selection of orderings to use in our solution. We set yr=1y_{r}=1 for rRur\in R_{u} to indicate that after servicing customer uu the sequence of customers described by ordering rr is used after, which a member of NuN_{u}^{\odot\rightarrow} follows immediately, and otherwise set yr=0y_{r}=0. We use EuEE^{*\odot}_{u}\subseteq E^{*} to denote the set of edges that can be contained in an ordering starting at uu; thus Eu={wvE, s.t. wN+u,vNuw}E^{*\odot}_{u}=\{wv\in E^{*},\mbox{ s.t. }w\in N^{\odot}_{+u},v\in N^{\odot}_{u}-w\}. We use EuwE^{*\odot}_{uw} to denote the set of edges in EE^{*} that can succeed the final customer ww in an ordering starting at uu; thus Euw={wvE;wN+u,vNu}E^{*\odot}_{uw}=\{wv\in E^{*};w\in N^{\odot}_{+u},v\in N^{\odot\rightarrow}_{u}\}.

We now add the following equations to (1), which adds minimization over yy to enforce that the solution to the xx variables is consistent with the solution yy, for which we provide an exposition below the equations.

rRuyr=1\displaystyle\sum_{r\in R_{u}}y_{r}=1\quad uN\displaystyle\forall u\in N (2a)
xwvrRuaw,v,ryr\displaystyle x_{wv}\geq\sum_{r\in R_{u}}a_{w,v,r}y_{r}\quad uN,wvEu\displaystyle\forall u\in N,wv\in E^{\odot*}_{u} (2b)
wvEuwxwvrRuawryr\displaystyle\sum_{\begin{subarray}{c}wv\in E^{*\odot}_{uw}\end{subarray}}x_{wv}\geq\sum_{r\in R_{u}}a_{w*r}y_{r}\quad uN,wN+u\displaystyle\forall u\in N,w\in N^{\odot}_{+u} (2c)

In (2a) we enforce that one ordering in RuR_{u} is selected to describe the activities succeeding uu for each uNu\in N. In (2b) we enforce that if an ordering rRur\in R_{u} is selected in which ww is immediately followed by vv; then it must be the case that xwvx_{wv} is selected meaning that ww is succeeded by vv in the solution over xx. In (2c) we enforce that if an ordering rRur\in R_{u} is selected in which ww is the final customer in the ordering then, ww must be followed by a customer (or depot) that is not an LA-neighbor of uu (and not uu) as described by xx. Observe that if xx is binary then yy must be binary as well. The terms yry_{r} are not present in the objective for optimization. The use of LA-arcs to remove cycles, is a key contribution as it allows the user to grow the size of the formulation as the computational capabilities of MILP solvers improve over time.

It is possible to show (see Section 4.5.2) that the number of LA-neighbors required can be less than that of NuN^{\odot}_{u} for some uu. To this end, we introduce NuNuN_{u}\subseteq N_{u}^{\odot} to denote this reduced set. We use N+uN_{+u} to denote NuuN_{u}\cup u. We use NuN^{\rightarrow}_{u} to denoted the subset of N+N^{+} that does not lie in N+uαN_{+u}\cup\alpha. We use EuEE^{*}_{u}\subseteq E^{*} to denote the set of edges that can be contained in an ordering starting at uu, thus Eu={wvE, s.t. wN+u,vNuw,}E^{*}_{u}=\{wv\in E^{*},\mbox{ s.t. }w\in N_{+u},v\in N_{u}-w,\}. We use EuwE^{*}_{uw} to denote the set of edges in EE^{*} that can succeed the final customer ww in an ordering starting at uu, thus Euw={wvE;vNu}E^{*}_{uw}=\{wv\in E^{*};v\in N^{\rightarrow}_{u}\}. We write (2) using LA-neighbors NuN_{u} below.

rRuyr=1\displaystyle\sum_{r\in R_{u}}y_{r}=1\quad uN\displaystyle\forall u\in N (3a)
xwvrRuaw,v,ryr\displaystyle x_{wv}\geq\sum_{r\in R_{u}}a_{w,v,r}y_{r}\quad uN,wvEu\displaystyle\forall u\in N,wv\in E^{*}_{u} (3b)
wvEuwxwvrRuawryr\displaystyle\sum_{\begin{subarray}{c}wv\in E^{*}_{uw}\end{subarray}}x_{wv}\geq\sum_{r\in R_{u}}a_{w*r}y_{r}\quad uN,wN+u\displaystyle\forall u\in N,w\in N_{+u} (3c)

Note that RuR_{u} is determined by NuN^{\odot}_{u} not NuN_{u}; while the set of constraints enforced in (3b)-(3c) is defined by NuN_{u}. Observe that this can create redundant yy terms. These are simply removed before optimization.

4.2 Capacity/Time Discretization Discovery

This section considers using capacity/time discretization to tighten the LP relaxation in (1). As mentioned earlier, this discretization is inspired by the work of (Boland et al., 2017, 2019). Earlier discretization methods can be found in (Appelgren, 1969, 1971; Wang and Regan, 2002).

Consider that we have a partition of capacity associated with each customer uu denoted DuD_{u} into continuous “buckets,” e.g. Du=[[du,du+3],[du+4,du+5],[du+6,du+9][d04,d0]]D_{u}=[[d_{u},d_{u}+3],[d_{u}+4,d_{u}+5],[d_{u}+6,d_{u}+9]...[d_{0}-4,d_{0}]]. We index the buckets in DuD_{u} from smallest to greatest remaining demand with kk; where k=1k=1 is the bucket that contains dud_{u} and k=|Du|k=|D_{u}| contains d0d_{0}. The lower/upper bound values of the kthk^{\prime}th bucket for customer uu are referred to as d(u,k),d(u,k)+d^{-}_{(u,k)},d^{+}_{(u,k)} respectively.

Consider a directed unweighted graph GDG^{D} (which we also use for node-set) with edge set EDE^{D}. For each uNu\in N, kDuk\in D_{u} we create one node i=(u,k)i=(u,k) for which we alternatively write as (ui,di,di+)(u_{i},d^{-}_{i},d^{+}_{i}) where uiu,didk,di+dk+u_{i}\leftarrow u,d^{-}_{i}\leftarrow d^{-}_{k},d^{+}_{i}\leftarrow d^{+}_{k}. There is a single node (α,d0,d0)(\alpha,d_{0},d_{0}) also denoted (α,1)(\alpha,1) associated with the starting depot and a single node (α¯,0,d0)(\bar{\alpha},0,d_{0}) also denoted (α¯,1)(\bar{\alpha},1) associated with the ending depot. We now define the edges EDE^{D}.

  • For each uu we create a directed edge from (α,1)(\alpha,1) to (u,|Du|)(u,|D_{u}|). Traversing this edge indicates that a route starts with uu as its first customer.

  • For each uu we create a directed edge from (u,1)(u,1) to (α¯,1)(\bar{\alpha},1). Traversing this edge indicates that a route ends after having uu as its final customer.

  • For each i=(u,k)i=(u,k) for k>1k>1 we connect ii to j=(u,k1)j=(u,k-1). Traversing this edge indicates that the vehicle servicing uu will not use all possible capacity. These edges can be thought of as dumping extra capacity.

  • For each pair of nodes i=(u,k),j=(v,m)i=(u,k),j=(v,m) we connect ii to jj if the following are satisfied: uvu\neq v, di+dudjd^{+}_{i}-d_{u}\geq d^{-}_{j} and if k>1k>1 we also require that dj>d(u,k1)+dud^{-}_{j}>d^{+}_{(u,k-1)}-d_{u}. Traversing this arc indicates that a vehicle has between did^{-}_{i} and di+d^{+}_{i} units of capacity remaining before servicing uu and, upon servicing, uu travels directly to vv where it has between djd^{-}_{j} and dj+d^{+}_{j} units of capacity remaining before servicing vv. The second condition dj>d(u,k1)+dud^{-}_{j}>d^{+}_{(u,k-1)}-d_{u} ensures that redundant edges are not generated.

We now describe flow formulation on the discretized capacity. This flow governs the amount of the resource capacity available at a given node. The following constraints are written below using decision variable zijD0+z^{D}_{ij}\in\mathbb{R}_{0+} to describe the edges traversed .

ijEDzijD=jiEDzjiD\displaystyle\sum_{ij\in E^{D}}z^{D}_{ij}=\sum_{ji\in E^{D}}z^{D}_{ji} iGD;i=(u,k);u[α,α¯]\displaystyle\quad\forall i\in G^{D};i=(u,k);u\notin[\alpha,\bar{\alpha}] (4a)
xuv=ijEDi=(u,k)j=(v,m)zijD\displaystyle x_{uv}=\sum_{\begin{subarray}{c}ij\in E^{D}\\ i=(u,k)\\ j=(v,m)\end{subarray}}z^{D}_{ij} uvE\displaystyle\quad\forall uv\in E^{*} (4b)

In (4a), we enforce that the solution zDz^{D} is feasible with regard to capacity by enforcing that the flow incoming to a node is equal to the flow outgoing. In (4b), we enforce that the solution xx is consistent with the solution capacity graph zDz^{D}.

We now describe flow formulation on discretized time as we previously did for capacity. Time buckets and associated graph and edge sets are denoted Tu,GT,ETT_{u},G^{T},E^{T} respectively. The constraints are defined analogously to capacity (with minimum/maximum values of tut^{-}_{u} and tu+t^{+}_{u} respectively in place of dud_{u} and d0d_{0}). We write the corresponding constraints below. We use non-negative decision variables zijTz^{T}_{ij} to describe the movement of vehicles. We set zijT=1z^{T}_{ij}=1 to indicate that a vehicle leaves uiu_{i} with time remaining in between tit^{-}_{i} and ti+t^{+}_{i} and leaves at uju_{j} with time remaining between tjt^{-}_{j} and tj+t^{+}_{j}. We write the constraints for time analogous to (4a) and (4b) below.

ijETzijT=jiETzjiT\displaystyle\sum_{ij\in E^{T}}z^{T}_{ij}=\sum_{ji\in E^{T}}z^{T}_{ji} iGT;i=(u,k);u[α,α¯]\displaystyle\quad\forall i\in G^{T};i=(u,k);u\notin[\alpha,\bar{\alpha}] (5a)
xuv=ijETi=(u,k)j=(v,m)zijT\displaystyle x_{uv}=\sum_{\begin{subarray}{c}ij\in E^{T}\\ i=(u,k)\\ j=(v,m)\end{subarray}}z^{T}_{ij} uvE\displaystyle\quad\forall uv\in E^{*} (5b)

We refer to the finest possible granularity of capacity and time buckets for each uNu\in N as Du,TuD^{\odot}_{u},T^{\odot}_{u}.

4.3 Complete Linear Programming Relaxation

Given a set of LA-neighbors, time buckets, and capacity buckets for each uNu\in N denoted Nu,Tu,DuN_{u},T_{u},D_{u} respectively, we write the MILP enforcing no-localized cycles in space (via (3)), capacity bucket feasibility (via (4)), and time bucket feasibility (via (5)) as Ψ¯({Nu,Tu,Du},uN)\bar{\Psi}(\{N_{u},T_{u},D_{u}\},\forall u\in N) below, with its LP relaxation denoted Ψ({Nu,Tu,Du},uN)\Psi(\{N_{u},T_{u},D_{u}\},\forall u\in N).

Ψ¯({Nu,Tu,Du},uN)=minx{0,1}y0z0tu+τutud0δuduuN+vN+cuvxuv\displaystyle\bar{\Psi}(\{N_{u},T_{u},D_{u}\},\forall u\in N)=\min_{\begin{subarray}{c}x\in\{0,1\}\\ y\geq 0\\ z\geq 0\\ t^{+}_{u}\geq\tau_{u}\geq t^{-}_{u}\\ d_{0}\geq\delta_{u}\geq d_{u}\end{subarray}}\sum_{\begin{subarray}{c}u\in N^{+}\\ v\in N^{+}\end{subarray}}c_{uv}x_{uv} Original Compact (6a)
uvExuv=1uN\displaystyle\sum_{\begin{subarray}{c}uv\in E^{*}\end{subarray}}x_{uv}=1\quad\forall u\in N\quad Original Compact (6b)
vuExvu=1uN\displaystyle\sum_{vu\in E^{*}}x_{vu}=1\quad\forall u\in N Original Compact (6c)
δvdvδu(d0+dv)(1xvu)uN,vuE\displaystyle\delta_{v}-d_{v}\geq\delta_{u}-(d_{0}+d_{v})(1-x_{vu})\quad\forall u\in N,vu\in E^{*} Original Compact (6d)
τvtvuτu(tu++tvu)(1xvu)uN,vuE\displaystyle\tau_{v}-t_{vu}\geq\tau_{u}-(t^{+}_{u}+t_{vu})(1-x_{vu})\quad\forall u\in N,vu\in E^{*} Original Compact (6e)
uNxαuuNdud0\displaystyle\sum_{u\in N}x_{\alpha u}\geq\lceil\frac{\sum_{u\in N}d_{u}}{d_{0}}\rceil Original Compact (6f)
rRuyr=1uN\displaystyle\sum_{r\in R_{u}}y_{r}=1\quad\forall u\in N LA-arc Movement Consistency (6g)
xwvrRuaw,v,ryruN,wvEu\displaystyle x_{wv}\geq\sum_{r\in R_{u}}a_{w,v,r}y_{r}\quad\forall u\in N,wv\in E^{*}_{u} LA-arc Movement Consistency (6h)
wvEuwxwvrRuawryruN,wN+u\displaystyle\sum_{\begin{subarray}{c}wv\in E^{*}_{uw}\end{subarray}}x_{wv}\geq\sum_{r\in R_{u}}a_{w*r}y_{r}\quad\forall u\in N,w\in N_{+u} LA-arc Movement Consistency (6i)
ijEDzijD=jiEDzjiDiGD;i=(u,k);u[α,α¯]\displaystyle\sum_{ij\in E^{D}}z^{D}_{ij}=\sum_{ji\in E^{D}}z^{D}_{ji}\quad\forall i\in G^{D};i=(u,k);u\notin[\alpha,\bar{\alpha}] Flow Graph Capacity (6j)
xuv=ijEDi=(u,k)j=(v,m)zijDuvE\displaystyle x_{uv}=\sum_{\begin{subarray}{c}ij\in E^{D}\\ i=(u,k)\\ j=(v,m)\end{subarray}}z^{D}_{ij}\quad\forall uv\in E^{*} Flow Graph Capacity (6k)
ijETzijT=jiETzjiTiGT;i=(u,k);u[α,α¯]\displaystyle\sum_{ij\in E^{T}}z^{T}_{ij}=\sum_{ji\in E^{T}}z^{T}_{ji}\quad\forall i\in G^{T};i=(u,k);u\notin[\alpha,\bar{\alpha}] Flow Graph Time (6l)
xuv=ijETi=(u,k)j=(v,m)zjiTuvE\displaystyle x_{uv}=\sum_{\begin{subarray}{c}ij\in E^{T}\\ i=(u,k)\\ j=(v,m)\end{subarray}}z^{T}_{ji}\quad\forall uv\in E^{*} Flow Graph Time (6m)

To be able to use an off-the-shelf MILP solver to solve for (6) efficiently, we must have parameterization ({Nu,Tu,Du}uN)(\{N_{u},T_{u},D_{u}\}\forall u\in N) that is as tight as possible and small as possible in terms of using fewer variables and constraints. Since the tightest LP expressible is Ψ({Nu,Tu,Du}uN)\Psi(\{N^{\odot}_{u},T^{\odot}_{u},D^{\odot}_{u}\}\forall u\in N) we want Ψ({Nu,Tu,Du}uN)\Psi(\{N_{u},T_{u},D_{u}\}\forall u\in N) to be equal to Ψ({Nu,Tu,Du}uN)\Psi(\{N^{\odot}_{u},T^{\odot}_{u},D^{\odot}_{u}\}\forall u\in N) and refer to such parameterizations as sufficient.

We want the LP Ψ({Nu,Tu,Du}uN)\Psi(\{N_{u},T_{u},D_{u}\}\forall u\in N) and hence each node in the MILP Ψ¯({Nu,Tu,Du}uN)\bar{\Psi}(\{N_{u},T_{u},D_{u}\}\forall u\in N) to be easily solved. One key condition for such parameterizations is that of being parsimonious; any further contraction of the sets in the parameterization decreases the LP value of the optimal solution. Another way to say this is that the parameterization has the widest buckets and smallest LA-neighborhoods possible, given fixed LP tightness, leading to maximally efficient solutions to the LPs at each node of the branch & bound tree of the corresponding MILP. We refer to LPs that contain these two properties that as sufficient and parsimonious parameterization (SPP) and in Section 5 consider the construction of such LPs.

4.4 Properties of Sufficient Parameterizations

We now consider some sufficient (but not always necessary) conditions of sufficient parameterizations. To this end we consider a candidate optimal LP solution (x,y,z)(x^{*},y^{*},z^{*}) given parameterization ({Nu,Tu,Du}uN)(\{N^{*}_{u},T^{*}_{u},D^{*}_{u}\}\forall u\in N).

The property of bucket feasibility

applies to capacity and time. This provides a condition for the LP solution that, if satisfied, guarantees that using the minimum granularity (minimum bucket sizes) of capacity would not tighten the bound given the current LA-neighbors. We require bucket feasibility to hold in our conditions for sufficient parameterizations. Bucket feasibility states no relaxation of capacity/time occurs as a consequence of using the current bucket parameters. We formally define bucket feasibility for capacity and time below.

Capacity Bucket Feasibility [zijD>0][di+dui=dj+](i,j)EDuj{ui,α¯}\displaystyle\textbf{Capacity Bucket Feasibility }[z^{D*}_{ij}>0]\rightarrow[d^{+}_{i}-d_{u_{i}}=d^{+}_{j}]\quad\forall(i,j)\in E^{D}\;u_{j}\notin\{u_{i},\bar{\alpha}\} (7a)
Time Bucket Feasibility [zijT>0][min(ti+tui,uj,tj+)=tj+](i,j)ET;uj{ui,α¯}\displaystyle\textbf{Time Bucket Feasibility }[z^{T*}_{ij}>0]\rightarrow[\min(t^{+}_{i}-t_{u_{i},u_{j}},t^{+}_{j})=t^{+}_{j}]\quad\forall(i,j)\in E^{T};u_{j}\notin\{u_{i},\bar{\alpha}\} (7b)

Observe that if (7) is satisfied, then no relaxation of capacity/time occurs as a consequence of using the buckets, hence using the finest capacity/time discretization {D,T}\{D^{\odot},T^{\odot}\} would not tighten the bound given the current LA-neighbors. We prove this formally in Appendix C.

The property of LA-arc feasibility

is a condition for the LP solution that, if satisfied, guarantees that using the NuN_{u}^{\odot} for the LA-neighbors of each customer would not tighten the bound given the current time/capacity buckets. Specifically, LA-arc feasibility states that given fixed xx^{*}, a setting for yy obeys (2), not merely (3). We require LA-arc feasibility to hold in our conditions for sufficient parameterizations.

4.5 Properties of Parsimonious Parameterizatons

We now consider some necessary but not always sufficient properties of parsimonious parameterizations.

4.5.1 Capacity/Time Parsimony

Consider the dual solution to the LP in (6), which we denote π\pi where πiD\pi^{D}_{i} is the dual value associated with (6j) for a given ii. We write the reduced cost of zijDz^{D}_{ij} as z¯ijD\bar{z}^{D}_{ij} for any i,ji,j s.t. ui=uju_{i}=u_{j}. Observe that z¯ijD=πiD+πjD\bar{z}^{D}_{ij}=-\pi^{D}_{i}+\pi^{D}_{j}.

Now observe that merging capacity buckets i,ji,j corresponds to enforcing that πiD=πjD\pi^{D}_{i}=\pi^{D}_{j}. Here merging i=(ui,k+1)i=(u_{i},k+1) with j=(ui,k)j=(u_{i},k) corresponds to removing buckets corresponding to (ui,k+1)(u_{i},k+1) and (ui,k)(u_{i},k) and replacing them with a bucket associated with uiu_{i} and range of capacity [d(ui,k),d(ui,k+1)+][d^{-}_{(u_{i},k)},d^{+}_{(u_{i},k+1)}]. When πiD=πjD\pi^{D}_{i}=\pi^{D}_{j} for ui=uju_{i}=u_{j} and i,jEDi,j\in E^{D} is satisfied, then observe that merging capacity buckets associated with i,ji,j together does not weaken the LP relaxation in (6). However, it does decrease the number of constraints/variables in (6), leading to faster optimization of the LP.

This same logic holds for time buckets. Let πiT\pi^{T}_{i} denote the dual variable associated with (6l). We write the reduced cost for variable zijTz^{T}_{ij}, which we denote as z¯ijT\bar{z}^{T}_{ij} as follows z¯ijT=πiT+πjT\bar{z}^{T}_{ij}=-\pi^{T}_{i}+\pi^{T}_{j} for any zi,jTz^{T}_{i,j} s.t. ui=uju_{i}=u_{j} and i,jETi,j\in E^{T}. Thus, when πiT=πjT\pi^{T}_{i}=\pi^{T}_{j} for ui=uju_{i}=u_{j} observe that we can merge the time buckets i,ji,j without loosening the bound in (6). However, as is the case for capacity buckets, this decreases the number of constraints/variables in (6), leading to faster optimization of the LP.

4.5.2 LA Neighborhood Parsimony

Let us now consider the construction of parsimonious LA-neighborhoods to enforce in (6). Let us consider the following additional notation. Let NukN_{u}^{k} be the kk closest LA-neighbors in NuN_{u} to uu (in terms of distance). We use N+ukN_{+u}^{k} to denote NukuN_{u}^{k}\cup u. Here kk ranges from 0 to |Nu||N_{u}|.

For any ordering rr where NrN_{r} are the customers in the order rr and wNrw\in N_{r} we define awrk=1a^{k}_{wr}=1 if all customer in rr prior to and including ww lie in N+ukN_{+u}^{k} and otherwise set awrk=0a^{k}_{wr}=0.

For each uN,rRu,wN+uk,vNukw,ku\in N,r\in R_{u},w\in N_{+u}^{k},v\in N_{u}^{k}-w,k we define awvrk=1a_{wvr}^{k}=1 if awvr=1a_{wvr}=1 and avrk=1a^{k}_{vr}=1. For each u,rRu,wN+uku,r\in R_{u},w\in N_{+u}^{k} we define awrk=1a_{w*r}^{k}=1 if awrk=1a^{k}_{wr}=1 and either (awr=1a_{w*r}=1 or vNukwawvr=1\sum_{v\notin N_{u}^{k}-w}a_{wvr}=1 ) ; and otherwise set awrk=0a_{w*r}^{k}=0.

We now replace (6h) and (6i) with the following inequalities parameterized by tiny positive value ϵ\epsilon and dual variables noted in brackets. We use slack constant ϵ\epsilon which we multiply by the number of LA-neighbors associated with a given constraint in order to encourage the LP solver to use constraints corresponding to as few LA-neighbors as possible. Later this facilitates the construction of a more parsimonious LP as larger LA neighborhoods are not be used in the generated LP if the dual variables are not active.

ϵk+xwvrRuaw,v,rkyruN,wN+uk,k[1,2,|Nu|],vNuk,wvE[πuwvk]\displaystyle\epsilon k+x_{wv}\geq\sum_{r\in R_{u}}a^{k}_{w,v,r}y_{r}\quad\forall u\in N,w\in N^{k}_{+u},k\in[1,2,...|N_{u}|],v\in N^{k}_{u},wv\in E^{*}\quad[-\pi_{uwvk}] (8a)
ϵk+vN+(N+uk)wvExwvrRuawrkyruN,k[1,2,|Nu|],wN+uk[πuwk]\displaystyle\epsilon k+\sum_{\begin{subarray}{c}v\notin N^{+}-(N^{k}_{+u})\\ wv\in E^{*}\end{subarray}}x_{wv}\geq\sum_{r\in R_{u}}a^{k}_{w*r}y_{r}\quad\forall u\in N,k\in[1,2,...|N_{u}|],w\in N^{k}_{+u}\quad[-\pi_{uw*k}] (8b)

We now solve the LP form in (6) replacing (6h) and (6i) with (8a) and (8b) respectively. We refer to the associated LP as Ψ({Nu,Tu,Du}uN)\Psi^{*}(\{N_{u},T_{u},D_{u}\}\forall u\in N)

Observe that the dual LP for Ψ({Nu,Tu,Du}uN)\Psi^{*}(\{N_{u},T_{u},D_{u}\}\forall u\in N) has a penalty for using dual variables of primal constraints associated with larger LA-neighborhoods than necessary. Consider any uu, and let kuk_{u} be the largest neighborhood size containing a dual variable of the form (8a) or (8b) with positive value. We write kuk_{u} formally below.

kumax|Nu|k1k[0<((wNuπuwk)+(wN+ukvNukwwvEπuwvk))]uN\displaystyle k_{u}\leftarrow\max_{|N_{u}|\geq k\geq 1}k[0<((\sum_{w\in N_{u}}\pi_{uwk})+(\sum_{\begin{subarray}{c}w\in N^{k}_{+u}\\ v\in N^{k}_{u}-w\\ wv\in E^{*}\end{subarray}}\pi_{uwvk}))]\quad\forall u\in N (9)

If ku<|Nu|k_{u}<|N_{u}|, then we can decrease the size of NuN_{u} to kuk_{u} without loosening the bound. This decreases the number of constraints in (6) of the forms (6h), and (6i). This also decreases the number of variables that need to be considered as some of the yry_{r} variables become redundant. This, in turn, leads to the faster resolution of the associated LP. Observe that given uu, if no dual variables of the form (8) are positively valued, then setting NuN_{u} to be empty does not loosen the bound.

5 LA-Discretization: An Algorithm for a Sufficient and Parsimonious Parameterization Construction

In this section, we consider the construction of a sufficient and parsimonious parameterization (SPP). We construct an SPP by iterating between the following two steps: (1) Solving Ψ({Nu,Tu,Du}uN)\Psi^{*}(\{N_{u},T_{u},D_{u}\}\forall u\in N) and (2) Augmenting Ψ({Nu,Tu,Du}\Psi^{*}(\{N_{u},T_{u},D_{u}\} to achieve sufficiency. Whenever (1) tightens the bound (with respect to the previous iteration), we attempt to achieve parsimony by decreasing the size of some terms in {Nu,Tu,Du}\{N_{u},T_{u},D_{u}\} for some customers. This decrease is always done not to loosen the bound but to achieve the specific necessary conditions for parsimony. We only aim towards parsimony after improving the bound (not at every step) to avoid cycling in the LP.

Thresholds determine the buckets, which we denote as WuD,WuTW^{D}_{u},W^{T}_{u} (sorted from smallest to largest) for capacity and time for customer uu, respectively, where the thresholds determine the maximum value of the buckets. For example if the thresholds for WuDW^{D}_{u} are [du+5,du+12][d_{u}+5,d_{u}+12] then the associated buckets are [du,du+5],[du+6,du+12],[du+13,d0][d_{u},d_{u}+5],[d_{u}+6,d_{u}+12],[d_{u}+13,d_{0}].

We organize this section as follows. In Section 5.1, we consider the contraction and expansion operations for time/capacity buckets, while Section 5.2 does the same for the number of LA-neighbors. In Section 5.3, we describe our complete optimization algorithm, which we call LA-Discretization.

5.1 Contracting/Expanding Capacity/Time Buckets

Recall from Section 4.5.1 that for any i,jEDi,j\in E^{D} for which ui=uju_{i}=u_{j} if πiD=πjD\pi^{D}_{i}=\pi^{D}_{j} then we can merge nodes i,ji,j without loosening the bound and remove dj+d^{+}_{j} from WujDW^{D}_{u_{j}}. The same logic applies to time. For any i,jETi,j\in E^{T} for which ui=uju_{i}=u_{j} if πiT=πjT\pi^{T}_{i}=\pi^{T}_{j}, we can merge nodes i,ji,j without loosening the bound and remove tj+t^{+}_{j} from WujTW^{T}_{u_{j}}.

To enforce bucket feasibility with respect to capacity we do the following. For each i,ji,j s.t. zijD>0z^{D}_{ij}>0 where i=(ui,di,di+)i=(u_{i},d^{-}_{i},d^{+}_{i}) and j=(uj,dj,dj+)j=(u_{j},d^{-}_{j},d^{+}_{j}) and jα¯j\neq\bar{\alpha} and uiuju_{i}\neq u_{j}: We add to WujDW^{D}_{u_{j}} the term di+duid^{+}_{i}-d_{u_{i}} (if this term is not already present in WujDW^{D}_{u_{j}} ). Observe that this operation can never loosen the relaxation as undoing it simply corresponds to requiring that πiD=πjD\pi^{D}_{i}=\pi^{D}_{j} in the dual.

The same approach applies to enforcing bucket feasibility with respect to time. For each i,ji,j s.t. zijD>0z^{D}_{ij}>0 where i=(ui,ti,ti+)i=(u_{i},t^{-}_{i},t^{+}_{i}) and j=(uj,tj,tj+)j=(u_{j},t^{-}_{j},t^{+}_{j}) and jα¯j\neq\bar{\alpha}: We add to WujTW^{T}_{u_{j}} the term min(ti+tui,uj,tj+)\min(t^{+}_{i}-t_{u_{i},u_{j}},t^{+}_{j}) (if this term is not already present in WujTW^{T}_{u_{j}} ). Observe that this operation can never loosen the relaxation as undoing it simply corresponds to requiring that πiT=πjT\pi^{T}_{i}=\pi^{T}_{j} in the dual.

5.2 Contracting/Expanding Local Area Neighborhoods

Recall from (9) that we can set the number of LA-neighbors to the smallest number for which there is an associated non-zero dual value without loosening the bound. Thus our contraction operation on LA-neighborhoods is written as follows.

|Nu|max|Nu|k1k[0<((wNuπuwk)+(wN+ukvNukwwvEπuwvk))]uN\displaystyle|N_{u}|\leftarrow\max_{|N_{u}|\geq k\geq 1}k[0<((\sum_{w\in N_{u}}\pi_{uwk})+(\sum_{\begin{subarray}{c}w\in N^{k}_{+u}\\ v\in N^{k}_{u}-w\\ wv\in E^{*}\end{subarray}}\pi_{uwvk}))]\quad\forall u\in N (10)

To expand the neighborhoods, we can iterate over uNu\in N, then, for each uu, identify the smallest number of LA-neighbors required to induce a violation of the current LP. To determine if a given number of LA-neighbors kk induces a violation of the current LP we simply check to see if a fractional solution yry_{r} exists to satisfy (6i), (6g) and (6h) where we fix the xx terms to their current values and NuN_{u} to NukN^{k}_{u}.

A simpler approach is as follows. We can periodically simply reset the number of LA-neighbors to the maximum number |Nu||N^{\odot}_{u}| for each uNu\in N. Next, we solve the LP and apply a contraction operation described in (10). Our experiments employ this approach when expansion operations on capacity/time buckets have not recently tightened the LP bound.

5.3 Complete Algorithm: LA-Discretization

We now consider the construction of an SPP by iteratively solving the LP relaxation and tightening the LP relaxation to aim toward sufficiency; each time we tighten the relaxation, we decrease the size of the parameterization with parsimony. We provide our algorithm in Alg 1 with exposition below.

Algorithm 1 LA-Discretization Algorithm
1:{Nu,Nu,WuD,WuTuN}\{N_{u}^{\odot},N_{u},W^{D}_{u},W^{T}_{u}\quad\forall u\in N\}\leftarrow from User
2:iter_since_reset\leftarrow 0
3:last_lp_val\leftarrow-\infty
4:repeat
5:     if iter_since_reset ζ\geq\zeta then:
6:         NuNuuNN_{u}\leftarrow N^{\odot}_{u}\quad\forall u\in N
7:     end if
8:     [z,y,x,π,[z,y,x,\pi,lp_objective]]\leftarrow Solve Ψ({Nu,Tu,Du}uN)\Psi^{*}(\{N_{u},T_{u},D_{u}\}\forall u\in N)
9:     if lp_objective>>last_lp_val+MIN_INC then
10:         WuDW^{D}_{u}\leftarrow Merge any nodes i,ji,j for which i,jEDi,j\in E^{D},ui=uj=uu_{i}=u_{j}=u and πiD=πjD\pi^{D}_{i}=\pi^{D}_{j} for all uNu\in N
11:         WuTW^{T}_{u}\leftarrow Merge any nodes i,ji,j for which i,jETi,j\in E^{T},ui=uj=uu_{i}=u_{j}=u and πiT=πjT\pi^{T}_{i}=\pi^{T}_{j} for all uNu\in N
12:         {NuuN}\{N_{u}\quad\forall u\in N\}\leftarrow Apply (10) to contract LA-neighbors.
13:         last_lp_val\leftarrow lp_objective
14:         iter_since_reset 0\leftarrow 0
15:     end if
16:     WuTWuTijET;uj=u;zijT>0min(ti+tui,uj,tj+)W^{T}_{u}\leftarrow W^{T}_{u}\cup_{ij\in E^{T};u_{j}=u;z^{T}_{ij}>0}\min(t^{+}_{i}-t_{u_{i},u_{j}},t^{+}_{j}) for all uNu\in N
17:     WuDWuDijED;uj=u;zijD>0(di+dui)W^{D}_{u}\leftarrow W^{D}_{u}\cup_{ij\in E^{D};u_{j}=u;z^{D}_{ij}>0}(d^{+}_{i}-d_{u_{i}}) for all uNu\in N
18:     iter_since_reset ++
19:until {Nu,WuD,WuTuN}\{N_{u},W^{D}_{u},W^{T}_{u}\quad\forall u\in N\} are unchanged from the previous iteration OR iter_since_reset>>ITER_MAX
20:WuT,WuD,NuW^{T}_{u},W^{D}_{u},N_{u}\leftarrow via contraction operations from Lines 10-12
21:xx\leftarrowSolve Ψ¯({Nu,Tu,Du}uN)\bar{\Psi}(\{N_{u},T_{u},D_{u}\}\forall u\in N) as MILP (only x is integer)
  • Line 1: Initialize the LA-neighbor sets, time buckets and capacity buckets. In our implementation We initialize NuNuN_{u}\leftarrow N^{\odot}_{u} for all uNu\in N. We initialize WuDW^{D}_{u} parameterized by a bucket size ds=5d^{s}=5 where WuD={[du,du+ds),[du+ds,du+2ds))W^{D}_{u}=\{[d_{u},d_{u}+d^{s}),[d_{u}+d^{s},d_{u}+2d^{s})...). The last bucket may be smaller than dsd^{s} . We initialize WuTW^{T}_{u} parameterized by a bucket size ts=50t^{s}=50 where WuT={[tu,tu+ts),[tu+ts,tu+2ts))W^{T}_{u}=\{[t^{-}_{u},t^{-}_{u}+t^{s}),[t^{-}_{u}+t^{s},t^{-}_{u}+2t^{s})...). The last bucket may be smaller than tst^{s}. We define the number of elements in NuN^{\odot}_{u} for each uNu\in N equal to user defined parameter nsn^{s} where ns=6n^{s}=6 in our experiments.

  • Line 2-3: We set the number of iterations since the last contraction operations, which we denote as iter_since_reset to zero. We also set the incumbent LP value denoted last_lp_val LP objective to -\infty. This value last_lp_val is the LP value immediately after the most recent contraction operation which is -\infty since no contractions have yet happened.

  • Line 4-19: Construct a sufficient parameterization.

    • Line 5-Line 7: If we have not tightened the bound by user defined parameter MIN_INC (MIN_INC=1 in experiments) for a given amount of iterations (denoted ζ\zeta), then we aim towards sufficiency by increasing the LA-neighborhoods of all customers to their maximum size. We set ζ=9\zeta=9 in our experiments.

    • Line 8: Solve the LP given the current parameterization.

    • Line 9-15: If we have improved the LP relaxation by MIN_INC since the last contraction operation, we apply contraction operations to aim toward parsimony for our parameterization.

      • *

        Line 10-12: Apply contraction operations to time/capacity buckets and LA-neighborhoods.

      • *

        Line 13: Update the LP objective immediately after the most recent contraction operation.

      • *

        Line 14: Set the number of iterations since the most recent contraction operation to zero.

    • Line 16,17: Aim towards sufficiency by applying expansion operations to capacity and time buckets, respectively.

    • Line 18: Increment iter_since_reset.

    • Line 19: Terminate optimization when sufficiency is achieved, or progress towards sufficiency has ceased. We stop the algorithm after ITER_MAX(=10 in experiments) consecutive iterations of failing to tighten the LP relaxation by a minimum of MIN_INC (=1 in experiments) combined. In Section D we prove that if ITER_MAX=\infty then Alg 1 (Lines 4-19) produces a sufficient parameterization.

  • Lines 20: Decrease the LP size by modifying the LP for parsimony.

  • Line 21: Finally solve the appropriate MILP in (6) given our SPP. Note that only xx is enforced to be binary, and all other variables are continuous. Enforcing yy to be binary does not change the MILP solution objective but may accelerate optimization depending on the specifics of the MILP solver. We enforced yy to be binary in experiments.

6 Local Area Arc Computation

In this section we consider the computation of the efficient frontier of orderings RuN^vR_{u\hat{N}v}. We define helper terms PP to denote the set of all unique values of uNu\in N,N^Nu\hat{N}\subseteq N^{\odot}_{u},vNuv\in N^{\odot\rightarrow}_{u}, which we index by pp. Here we describe a specific pp as (up,Np,vp)(u_{p},N_{p},v_{p}). We organize this section as follows. In Section 6.1, we provide notation needed to express the material in this section. In Section 6.2, we describe a recursive relationship for the cost of an LA-arc pp given a departure times from up,vpu_{p},v_{p}. In Section 6.3, we introduce the concept of an efficient frontier of orderings for each pPp\in P trading off latest feasible departure time from upu_{p} (later is preferred); earliest departure time from upu_{p} when no waiting is required (earlier is preferred); and cost (lower cost is preferred). In Section 6.4, we provide a dynamic programming based algorithm to compute the efficient frontier for all LA-arcs jointly. In Section B, we provide a proof referenced in Section 6.2.

6.1 Notation for LA-Arcs Modeling Time

Let P+P^{+} be a super-set of PP defined as follows. Here p=(up,Np,vp)p=(u_{p},N_{p},v_{p}) for upN,NpN,vpN+u_{p}\in N,N_{p}\subseteq N,v_{p}\in N^{+} lies in P+P^{+} if and only if all of the following conditions hold. There exists a uNu\in N s.t. up(uNu);vpNu;NpNu(up+vp)u_{p}\in(u\cup N_{u});\;v_{p}\in N^{\odot\rightarrow}_{u};\;N_{p}\subseteq N_{u}-(u_{p}+v_{p}). We use helper term cp,t1,t2c_{p,t_{1},t_{2}} to denote the cost of lowest cost feasible ordering departing upu_{p} at time t1t_{1}, departing vpv_{p} at t2t_{2}, visiting NpN_{p} in between; where rp,t1,t2r_{p,t_{1},t_{2}} denotes the associated ordering. We define RuN^vR_{u\hat{N}v} as the union of rRuN^v+r\in R^{+}_{u\hat{N}v} for which r=rp,t1,t2r=r_{p,t_{1},t_{2}} for some t1,t2t_{1},t_{2}. We use Rp+,RpR^{+}_{p},R_{p} as short hand for RupNpvp+R^{+}_{u_{p}N_{p}v_{p}} and RupNpvpR_{u_{p}N_{p}v_{p}} respectively. We describe rr as an ordered sequence listed from in chronological order of visits as follows [u1r,u2r,u3r,vr][u^{r}_{1},u^{r}_{2},u^{r}_{3},...v^{r}] with the final element denoted vrv^{r}. We define an ordering rr^{-}, to be the same as rr except with u1ru^{r}_{1} removed, meaning r=[u2r,u3r,vr]r^{-}=[u^{r}_{2},u^{r}_{3},...v^{r}].

For any given time tt and ordering rRp+r\in R^{+}_{p}, we define Tr(t)T_{r}(t) as the earliest time a vehicle could depart vrv^{r}, if that vehicle departs u1ru^{r}_{1} with tt time remaining and follows the ordering of rr. We write Tr(t)T_{r}(t) mathematically below using -\infty to indicate infeasibility, and [][] to denote the binary indicator function.

Tr(t)=Tr(tuw+min(t,tu+))[t<tu]rRp+,pP+,u1r=u,w=u2r\displaystyle T_{r}(t)=T_{r^{-}}(-t_{uw}+\min(t,t^{+}_{u}))-\infty[t<t^{-}_{u}]\quad\forall r\in R^{+}_{p},p\in P^{+},u^{r}_{1}=u,w=u^{r}_{2} (11)

Given Tr(t)T_{r}(t) we express cp,t1,t2c_{p,t_{1},t_{2}} as follows.

cpt1t2=minrRp+Tr(t1)t2crpP+,t1,t2\displaystyle c_{pt_{1}t_{2}}=\min_{\begin{subarray}{c}r\in R^{+}_{p}\\ T_{r}(t_{1})\geq t_{2}\end{subarray}}c_{r}\quad\forall p\in P^{+},t_{1},t_{2} (12)

Here cpt1t2=c_{pt_{1}t_{2}}=\infty if no rr exists satisfying Tr(t1)t2T_{r}(t_{1})\geq t_{2}. Observe that using (12) to evaluate cpt1t2c_{pt_{1}t_{2}} is challenging as we would have to repeatedly evaluate Tr(t)T_{r}(t) in a nested manner.

6.2 Recursive Definition of Departure Time

In this section we provide an alternative characterization of Tr(t)T_{r}(t), that later provides us with a mechanism to efficiently evaluate cpt1t2c_{pt_{1}t_{2}}. For any rRp+,pP+r\in R^{+}_{p},p\in P^{+} we describe Tr(t)T_{r}(t) using the helper terms ϕr,ϕ^r\phi_{r},\hat{\phi}_{r} defined as follows. We define ϕr\phi_{r} to be the earliest time that a vehicle could leave u1ru^{r}_{1} without waiting at any customer in upNpvpu_{p}\cup N_{p}\cup v_{p} if tt^{-} terms were ignored (meaning all tt^{-} terms are set to -\infty). Similarly we define ϕ^r\hat{\phi}_{r} as the latest time a vehicle could leave u1ru^{r}_{1} if t+t^{+} terms were ignored (meaning all t+t^{+} terms are set to \infty). Below we define ϕr,ϕ^r\phi_{r},\hat{\phi}_{r} recursively.

ϕr=min(tu+,tv++tuv)rRp+,p=(u,{},v),pP+\displaystyle\phi_{r}=\min(t^{+}_{u},t^{+}_{v}+t_{uv})\quad\forall r\in R^{+}_{p},p=(u,\{\},v),p\in P^{+} (13a)
ϕ^r=max(tu,tv+tuv)rRp+,p=(u,{},v),pP+\displaystyle\hat{\phi}_{r}=\max(t^{-}_{u},t^{-}_{v}+t_{uv})\quad\forall r\in R^{+}_{p},p=(u,\{\},v),p\in P^{+} (13b)
ϕr=min(tu+,ϕr+tuw)rRp+,u1r=u,u2r=w,|Np|>0,pP+\displaystyle\phi_{r}=\min(t^{+}_{u},\phi_{r^{-}}+t_{uw})\quad\forall r\in R^{+}_{p},u^{r}_{1}=u,u^{r}_{2}=w,|N_{p}|>0,p\in P^{+} (13c)
ϕ^r=max(tu,ϕ^r+tuw)rRp+,u1r=u,u2r=w,|Np|>0,pP+\displaystyle\hat{\phi}_{r}=\max(t^{-}_{u},\hat{\phi}_{r^{-}}+t_{uw})\quad\forall r\in R^{+}_{p},u^{r}_{1}=u,u^{r}_{2}=w,|N_{p}|>0,p\in P^{+} (13d)

Let crc_{r} denote the total travel distance on ordering rr. We rewrite Tr(t)T_{r}(t) using ϕr,ϕ^r\phi_{r},\hat{\phi}_{r}, with intuition provided subsequently (with proof of equivalence in Appendix B).

Tr(t)=cr+min(t,ϕr)[min(t,tup+)<ϕ^r]pP+,rRp+\displaystyle T_{r}(t)=-c_{r}+\min(t,\phi_{r})-\infty[\min(t,t^{+}_{u_{p}})<\hat{\phi}_{r}]\quad\forall p\in P^{+},r\in R^{+}_{p} (14)

We now provide an intuitive explanation of (14). Observe that leaving u1ru^{r}_{1} after ϕ^r\hat{\phi}_{r} and following the ordering rr is infeasible. Observe that leaving u1ru^{r}_{1} at time tt and following ordering rr for t>ϕrt>\phi_{r} incurs a waiting time of tϕrt-\phi_{r} over the course of the ordering, and otherwise incurs a waiting time of zero. Thus we subtract the travel time crc_{r} from ϕr\phi_{r} to obtain the departure time at vrv^{r}. Given Rp+R^{+}_{p} and (14) we write cp,t1,t2c_{p,t_{1},t_{2}} below.

cpt1t2=minrRp+t1ϕ^rt2cr+min(t1,ϕr)crpP+,t1,t2\displaystyle c_{pt_{1}t_{2}}=\min_{\begin{subarray}{c}r\in R^{+}_{p}\\ t_{1}\geq\hat{\phi}_{r}\\ t_{2}\leq-c_{r}+\min(t_{1},\phi_{r})\end{subarray}}c_{r}\quad\forall p\in P^{+},t_{1},t_{2} (15)

If no rr satisfies the constraints in (15) then cpt1t2=c_{pt_{1}t_{2}}=\infty. Observe that |Rp+||R^{+}_{p}| can grow factorially with |Np||N_{p}| thus using (15) is impractical when |Np||N_{p}| grows.

6.3 Efficient Frontier

In this section we describe a sufficient subset of Rp+R^{+}_{p} denoted RpR_{p} s.t. that applying (15) over that subset produces the same result as if all of Rp+R^{+}_{p} were considered. Given pp, a necessary criterion for a given rRp+r\in R^{+}_{p} to lie in Rp\in R_{p}, is that rr is not Pareto dominated by any other such ordering in Rp+R^{+}_{p} with regards to latest time to start the ordering (later is preferred), cost (lower is preferred), and earliest time to start the ordering without waiting (earlier is preferred). Thus, we prefer smaller values of ϕ^r,cr\hat{\phi}_{r},c_{r} and larger values of ϕr\phi_{r}. We use RpRp+R_{p}\subseteq R^{+}_{p} to denote the efficient frontier of Rp+R^{+}_{p} with regards to ϕ^r,cr,ϕr\hat{\phi}_{r},c_{r},\phi_{r}. Here for any rRp+r\in R^{+}_{p} we define rr to lie in RpR_{p} IFF no r^Rp+\hat{r}\in R^{+}_{p} exists for which all of the following inequalities hold, (and at least one holds strictly meaning not with an equality ). (1)ϕ^rϕ^r^\hat{\phi}_{r}\geq\hat{\phi}_{\hat{r}}. (2)crcr^c_{r}\geq c_{\hat{r}}. (3)ϕrϕr^\phi_{r}\leq\phi_{\hat{r}}. We use the following stricter criteria for (3): there is no time tt when we leave upu_{p} using rr in which we could depart vpv_{p} before we could depart vpv_{p} using r^\hat{r}. This criteria is written as follows ϕrcrϕr^cr^\phi_{r}-c_{r}\leq\phi_{\hat{r}}-c_{\hat{r}}. Observe that given the efficient frontier RpR_{p} that we can compute cpt1t2c_{pt_{1}t_{2}} as follows.

cpt1t2=minrRpt1ϕ^rt2cr+min(t1,ϕr)crpP+,t1,t2\displaystyle c_{pt_{1}t_{2}}=\min_{\begin{subarray}{c}r\in R_{p}\\ t_{1}\geq\hat{\phi}_{r}\\ t_{2}\leq-c_{r}+\min(t_{1},\phi_{r})\end{subarray}}c_{r}\quad\forall p\in P^{+},t_{1},t_{2} (16)

If no rr satisfies the constraints in (16) then cpt1t2=c_{pt_{1}t_{2}}=\infty. Observe that we can not construct RpR_{p} by removing elements from Rp+R^{+}_{p} as enumerating Rp+R^{+}_{p} would be too time intensive.

6.4 An Algorithm to Generate the Efficient Frontier

In this section we provide an efficient algorithm to construct all RpR_{p} jointly without explicitly enumerating Rp+R^{+}_{p}. In order to achieve this we exploit the following observation for any pP+p\in P^{+} s.t. |Np|>0|N_{p}|>0. Observe that if rRpr\in R_{p} then rr^{-} must lie in Rp^R_{\hat{p}} where p^=(up^=u2r,Np^=Npu2r,vp^=vr)\hat{p}=(u_{\hat{p}}=u^{r}_{2},N_{\hat{p}}=N_{p}-u^{r}_{2},v_{\hat{p}}=v^{r}).

We construct RpR_{p} terms by iterating over pP+p\in P^{+} from smallest to largest with regard to |Np||N_{p}|, and constructing RpR_{p} using the previously generated efficient frontiers. For a given pp we first add upu_{p} in front of all possible rr^{-} (called predecessor orderings) ; then remove all orderings that do not lie on the efficient frontier. The set of predecessor orderings for a given rr is written below.

wNpp^=(w,Npw,vp)Rp^\displaystyle\cup_{\begin{subarray}{c}w\in N_{p}\\ \hat{p}=(w,N_{p}-w,v_{p})\end{subarray}}R_{\hat{p}} (17)

Observe that the base case where NpN_{p} is empty then there is only one member of RpR_{p} which is defined by sequence r=[up,vp]r=[u_{p},v_{p}] when feasible, and otherwise is empty. In Alg 2 we describe the construction of RpR_{p}, which we annotate below.

Algorithm 2 Computing the Efficient Frontier for all pPp\in P
1:for pP+p\in P^{+} from smallest to largest in terms of |Np||N_{p}| with |Np|>0|N_{p}|>0 do
2:     Rp{}R_{p}\leftarrow\{\}
3:     for wNp;p^=(w,Npw,vp),rRp^w\in N_{p};\hat{p}=(w,N_{p}-w,v_{p}),r^{-}\in R_{\hat{p}} do
4:         r[up,r]r\leftarrow[u_{p},r^{-}]
5:         Compute crc_{r}, and ϕr\phi_{r}, ϕ^r\hat{\phi}_{r} via (13)
6:         if ϕ^rtu+\hat{\phi}_{r}\leq t^{+}_{u} then
7:              RpRprR_{p}\leftarrow R_{p}\cup r
8:         end if
9:     end for
10:     for rRp,r^Rprr\in R_{p},\hat{r}\in R_{p}-r do
11:         if crcr^c_{r}\geq c_{\hat{r}} and ϕ^rϕ^r^\hat{\phi}_{r}\geq\hat{\phi}_{\hat{r}} and ϕrcrϕr^cr^\phi_{r}-c_{r}\leq\phi_{\hat{r}}-c_{\hat{r}} and at least one inequality is strict then
12:              RpRprR_{p}\leftarrow R_{p}-r
13:         end if
14:     end for
15:end for
  • Line 1-15: Iterate over pP+p\in P^{+} from smallest to largest with regards to |Np||N_{p}| and given pp compute RpR_{p}.

    • Line 2: Initialize RpR_{p} to be empty.

    • Line 3-9: Compute all possible terms for RpR_{p} by adding a customer upu_{p} in front of all potential predecessor rr^{-} terms.

      • *

        Line 4: Add upu_{p} to the front of rr^{-} creating rr.

      • *

        Line 5: Compute crc_{r}, and ϕr\phi_{r}, ϕ^r\hat{\phi}_{r} via (13).

      • *

        Line 6-8: If rr is feasible for some departure time t1t_{1} then we add rr to RpR_{p}.

    • Line 10-14: Iterate over members of RpR_{p} and remove terms that do not lie on the efficient frontier.

      • *

        Line 11-13: If rr is dominated by r^\hat{r} then we remove rr from RpR_{p}.

We compute RpR_{p} for all pp using Alg 2 once prior to running Alg 1. To construct RuR_{u} we then take the union of all terms in RuN^vR_{u\hat{N}v} for all vNp,N^Nuv\in N^{\odot\rightarrow}_{p},\hat{N}\subseteq N_{u}^{\odot} then finally clip vv from the end.

7 Experiments

In this section, we provide experimental validation for LA-Discretization. We compare LA-Discretization to the baseline optimization of solving the two-index compact MILP in (1). We validated LA-Discretization on the standard Solomon instance data sets (Solomon, 1987) with additional results in Extension E. We provide the maximum computation time for the MILP call of 1000 seconds for each solver. All experiments are run using Gurobi with default parameters, and all codes are implemented in Python. We used a 2022 Apple Macbook Pro with 24 GB of memory and an Apple M2 chip. As is often done in the literature, all distances are rounded down to the nearest tenth.

We fixed the optimization parameters to reasonable values fixed once. These values are shared by all problem instances on all data sets. We set ns=6,ds=5,ts=50n^{s}=6,d^{s}=5,t^{s}=50, ITER_MAX=10, ζ=9\zeta=9 and MIN_INC=1. We did not find the solver to be sensitive to these parameters.

We provide comparisons across Solomon data sets/problem sizes in Figures 2(a)-2(b) (MILP time) and Figures 2(c)-2(d) (MILP+ all LPs time) Figures 2(e)-2(f) (integrality gap as a percentage). We define the integrality gap to be the difference between the MILP upper bound and the MILP Lower bound which are both produced over the course of running the MILP solver. For Figures 2(e)-2(f) we normalize the data as follows. We take integrality gap and divided it by the MILP upper bound then multiply by 100 to get the value to plot for both baseline and our approach. For problems with larger integrality gaps we believe that using valid inequalities to tighten the bound.In Figures 3(a)-3(b) we plot the LP integrality gap. We define this as the difference between the MILP upper bound and the LP at the root node of the branch & bound tree. We normalize the data as follows. We take LP integrality gap and divided it by the MILP upper bound then multiply by 100 to get the value to plot for both baseline and our approach. Since a large number of points for the baseline hit the 1000 second time horizon we had issues with visualization. Hence for such instances we add random noise to the baseline value for ILP run time and Total run time in Figs 3(c)-3(f).

We observe that LA-Discretization performs best relative to the baseline on problem instances which are hardest for baseline MILP to solve efficiently.

Refer to caption
(a) ILP Run Time 50 Customers
Refer to caption
(b) ILP Run Time 100 Customers
Refer to caption
(c) ILP and All LP Total Run Time 50 Customers
Refer to caption
(d) ILP and All LP Total Run Time 100 Customers
Refer to caption
(e) Integrality Gap Percent; 50 Customers
Refer to caption
(f) Integrality Gap Percent; 100 Customers
Figure 2: Combined Figure Set One
Refer to caption
(a) LP Integrality Gap Percent; 50 Customers
Refer to caption
(b) LP Integrality Gap Percent; 100 Customers
Refer to caption
(c) NOISE: ILP Run Time 50 Customers
Refer to caption
(d) NOISE: ILP Run Time 100 Customers
Refer to caption
(e) NOISE: ILP and All LP Total Run Time 50 Customers
Refer to caption
(f) NOISE: ILP and All LP Total Run Time 100 Customers
Figure 3: Combined Figure Set Two

8 Conclusion

We have introduced a new approach for the Vehicle Routing Problem with Time Windows (VRPTW) called Local Area Discretization (LA-Discretization). This approach is designed to gain the advantages of the expanded (column generation) formulation for VRPTW (Desrochers et al., 1992) and the advantages of the compact two-index formulation without the associated disadvantages. Specifically we gain the advantages of the dramatically tighter LP relaxation of the expanded formulation while being able to solve optimization with an off-the-shelf MILP solver. This advantage should not be underestimated. Unlike related CG approaches no elaborate dual stabilization is required, nor are elaborate pricing algorithms for elementary resource constrained shortest path problems (Irnich and Desaulniers, 2005). However, we find that this method does not always lead to rapid identification of the optimal solution. In those cases we are close to optimal while the baseline is still far away.

Our solution is inspired by (Boland et al., 2017)’s work on time window discretization and pre-computation of component routes localized in space in (Mandal et al., 2022, 2023). Exploiting this approach applies time/capacity window discretization in the LP relaxation, and enforces that the solution to the compact LP is consistent with elementarity locally (hence eliminating sub-tours). LA-Discretization increases and decreases the discretization of time/capacity and the degree of enforcement of elementarity in such a manner as to produce an LP that is compact and tighter than a baseline compact formulation. However the vertices of the associated MILP can express every optimal solution to the original VRPTW. Hence solving this MILP exactly ensures an optimal solution to the original VRPTW. Utilizing LA-arcs for cycle removal in compact formulations stands out as a significant advancement, offering users the flexibility to scale up their formulations alongside the evolving computational prowess of MILP solvers.

In future work we intend to explore the use of valid inequalities such as subset-row inequalities (Jepsen et al., 2008; Wang et al., 2017) and rounded capacity inequalities (Archetti et al., 2011) for efficient tightening of the LP bound in a manner so as to exploit LA-arcs. We also intend to explore the use of alternative compact LP relaxations with our approach such as that of (Gavish and Graves, 1981). Furthermore we intend to explore the use of multiple LA-neighborhoods for customers in the same LP. We also intend to create a graph where nodes correspond to customers and NG neighbors (Baldacci et al., 2011) visited which keeps track of the route in an NG-neighbor like manner so as to further restrict cycles.

References

  • Appelgren [1969] L. H. Appelgren. A column generation algorithm for a ship scheduling problem. Transportation Science, 3(1):53–68, 1969.
  • Appelgren [1971] L. H. Appelgren. Integer programming methods for a vessel scheduling problem. Transportation Science, 5(1):64–78, 1971.
  • Archetti et al. [2011] C. Archetti, N. Bianchessi, and M. G. Speranza. A column generation approach for the split delivery vehicle routing problem. Networks, 58(4):241–254, 2011.
  • Baldacci et al. [2011] R. Baldacci, A. Mingozzi, and R. Roberti. New route relaxation and pricing strategies for the vehicle routing problem. Operations Research, 59(5):1269–1283, 2011.
  • Baldacci et al. [2012] R. Baldacci, A. Mingozzi, and R. Roberti. Recent exact algorithms for solving the vehicle routing problem under capacity and time window constraints. European Journal of Operational Research, 218(1):1–6, 2012.
  • Barnhart et al. [1996] C. Barnhart, E. L. Johnson, G. L. Nemhauser, M. W. P. Savelsbergh, and P. H. Vance. Branch-and-price: Column generation for solving huge integer programs. Operations Research, 46:316–329, 1996.
  • Beasley and Christofides [1989] J. E. Beasley and N. Christofides. An algorithm for the resource constrained shortest path problem. Networks, 19(4):379–394, 1989.
  • Boland et al. [2006] N. Boland, J. Dethridge, and I. Dumitrescu. Accelerated label setting algorithms for the elementary resource constrained shortest path problem. Operations Research Letters, 34(1):58–68, 2006.
  • Boland et al. [2017] N. Boland, M. Hewitt, L. Marshall, and M. Savelsbergh. The continuous-time service network design problem. Operations Research, 65(5):1303–1321, 2017.
  • Boland et al. [2019] N. Boland, M. Hewitt, L. Marshall, and M. Savelsbergh. The price of discretizing time: a study in service network design. EURO Journal on Transportation and Logistics, 8(2):195–216, 2019.
  • Cabrera et al. [2020] N. Cabrera, A. L. Medaglia, L. Lozano, and D. Duque. An exact bidirectional pulse algorithm for the constrained shortest path. Networks, 76(2):128–146, 2020.
  • Christofides et al. [1981] N. Christofides, A. Mingozzi, and P. Toth. Exact algorithms for the vehicle routing problem, based on spanning tree and shortest path relaxations. Mathematical programming, 20(1):255–282, 1981.
  • Dantzig and Wolfe [1960] G. B. Dantzig and P. Wolfe. Decomposition principle for linear programs. Operations research, 8(1):101–111, 1960.
  • Desaulniers et al. [1997] G. Desaulniers, J. Desrosiers, Y. Dumas, S. Marc, B. Rioux, M. M. Solomon, and F. Soumis. Crew pairing at air france. European journal of operational research, 97(2):245–259, 1997.
  • Desrochers et al. [1992] M. Desrochers, J. Desrosiers, and M. Solomon. A new optimization algorithm for the vehicle routing problem with time windows. Operations Research, 40(2):342–354, 1992.
  • Desrosiers and Lübbecke [2005] J. Desrosiers and M. E. Lübbecke. A primer in column generation. In G. Desaulniers, J. Desrosiers, and M. M. Solomon, editors, Column Generation, pages 1–32. Springer, New York, NY, 2005.
  • Dollevoet et al. [2020] T. Dollevoet, P. Munari, and R. Spliet. A p-step formulation for the capacitated vehicle routing problem. Technical report, 2020.
  • Du Merle et al. [1999] O. Du Merle, D. Villeneuve, J. Desrosiers, and P. Hansen. Stabilized column generation. Discrete Mathematics, 194(1-3):229–237, 1999.
  • Gauvin et al. [2014] C. Gauvin, G. Desaulniers, and M. Gendreau. A branch-cut-and-price algorithm for the vehicle routing problem with stochastic demands. Computers & Operations Research, 50:141–153, 2014.
  • Gavish and Graves [1981] B. Gavish and S. Graves. Scheduling and routing in transportation and distribution systems: formulations and new relaxations. Working Paper, 1981.
  • Geoffrion [1974] A. M. Geoffrion. Lagrangean relaxation for integer programming. In Approaches to integer programming, pages 82–114. Springer, 1974.
  • Ghoniem and Sherali [2009] A. Ghoniem and H. D. Sherali. Complementary column generation and bounding approaches for set partitioning formulations. Optimization Letters, 3:123–136, 2009.
  • Gilmore and Gomory [1961] P. Gilmore and R. Gomory. A linear programming approach to the cutting-stock problem. Operations Research, 9(6):849–859, 1961.
  • Haghani et al. [2022] N. Haghani, C. Contardo, and J. Yarkony. Smooth and flexible dual optimal inequalities. INFORMS Journal on Optimization, 4(1):29–44, 2022.
  • Irnich and Desaulniers [2005] S. Irnich and G. Desaulniers. Shortest path problems with resource constraints. In G. Desaulniers, J. Desrosiers, and M. M. Solomon, editors, Column generation, pages 33–65. Springer, 2005.
  • Jepsen et al. [2008] M. Jepsen, B. Petersen, S. Spoorendonk, and D. Pisinger. Subset-row inequalities applied to the vehicle-routing problem with time windows. Operations Research, 56(2):497–511, 2008.
  • Li and Han [2019] J. Li and X. Han. Revised pulse algorithm for elementary shortest path problem with resource constraints. In 2019 seventh international symposium on computing and networking (CANDAR), pages 37–44. IEEE, 2019.
  • Lokhande et al. [2020] V. S. Lokhande, S. Wang, M. Singh, and J. Yarkony. Accelerating column generation via flexible dual optimal inequalities with application to entity resolution. In Proceedings of the AAAI Conference on Artificial Intelligence, volume 34, pages 1593–1602, 2020.
  • Lozano and Medaglia [2013] L. Lozano and A. L. Medaglia. On an exact method for the constrained shortest path problem. Computers & operations research, 40(1):378–384, 2013.
  • Lozano et al. [2016] L. Lozano, D. Duque, and A. L. Medaglia. An exact algorithm for the elementary shortest path problem with resource constraints. Transportation Science, 50(1):348–357, 2016.
  • Mandal et al. [2022] U. Mandal, A. Regan, and J. Yarkony. Local area routes and valid inequalities for efficient vehicle routing. arXiv preprint arXiv:2209.12963, 2022.
  • Mandal et al. [2023] U. Mandal, A. Regan, L. M. Rousseau, and J. Yarkony. Graph master and local area routes for efficient column generation for the capacitated vehicle routing problem with time windows. arXiv preprint arXiv:2304.11723, 2023.
  • Marsten et al. [1975] R. E. Marsten, W. Hogan, and J. W. Blankenship. The boxstep method for large-scale optimization. Operations Research, 23(3):389–405, 1975.
  • Pecin et al. [2017] D. Pecin, A. Pessoa, M. Poggi, and E. Uchoa. Improved branch-cut-and-price for capacitated vehicle routing. Mathematical Programming Computation, 9(1):61–100, 2017.
  • Righini and Salani [2004] G. Righini and M. Salani. Dynamic programming algorithms for the elementary shortest path problem with resource constraints. Electronic Notes in Discrete Mathematics, 17:247–249, 2004.
  • Righini and Salani [2006] G. Righini and M. Salani. Symmetry helps: Bounded bi-directional dynamic programming for the elementary shortest path problem with resource constraints. Discrete Optimization, 3(3):255–273, 2006.
  • Righini and Salani [2008] G. Righini and M. Salani. New dynamic programming algorithms for the resource constrained elementary shortest path problem. Networks: An International Journal, 51(3):155–170, 2008.
  • Righini and Salani [2009] G. Righini and M. Salani. Decremental state space relaxation strategies and initialization heuristics for solving the orienteering problem with time windows with dynamic programming. Computers & Operations Research, 36(4):1191–1203, 2009.
  • Rousseau et al. [2007] L.-M. Rousseau, M. Gendreau, and D. Feillet. Interior point stabilization for column generation. Operations Research Letters, 35(5):660–668, 2007.
  • Solomon [1987] M. M. Solomon. Algorithms for the vehicle routing and scheduling problems with time window constraints. Operations research, 35(2):254–265, 1987.
  • Tilk et al. [2017] C. Tilk, A.-K. Rothenbächer, T. Gschwind, and S. Irnich. Asymmetry matters: Dynamic half-way points in bidirectional labeling for solving shortest path problems with resource constraints faster. European Journal of Operational Research, 261(2):530–539, 2017.
  • Wang et al. [2017] S. Wang, S. Wolf, C. Fowlkes, and J. Yarkony. Tracking objects with higher order interactions via delayed column generation. In Proc. 20th International Conference on Artificial Intelligence and Statistics, pages 1132–1140, Fort Lauderdale, Florida, 2017.
  • Wang and Regan [2002] X. Wang and A. C. Regan. Local truckload pickup and delivery with hard time window constraints. Transportation Research Part B: Methodological, 36(2):97–112, 2002.
  • Yarkony et al. [2020] J. Yarkony, Y. Adulyasak, M. Singh, and G. Desaulniers. Data association via set packing for computer vision applications. Informs Journal on Optimization, 2(3):167–191, 2020.

Appendix A Appendix/Extensions Overview

In this appendix we consider relevant proofs, derivations and extensions to the main document. We organize this appendix as follows. In Appendix B we provide a proof certifying the correctness of our approach to generating L-Arcs. In Appendix C we provide proof that bucket feasibility ensures a sufficient parameterization. In Appendix D we prove that Algorithm 1 converges to a sufficient parameterization. Appendix E provides additional experimental results directly related to this paper.

Appendix B Proof of Equivalent Representation of Departure Time

In this section we prove that (13) accurately characterizes Tr(t)T_{r}(t) for all rRp,t0t0,pP+r\in R_{p},t_{0}\geq t\geq 0,p\in P^{+}. We prove this using induction. Observe that for the base case where |Np|=0|N_{p}|=0 that the claim holds by definition. If (13) does not hold for all cases then there must exist some r,tr,t s.t (13) does not hold but (13) holds for rr^{-} for all time. We describe this formally below using u,wu,w to denote the first two customers in rr.

Claim to be Proven False:

Tr(t)=Tr(tuw+min(t,tu+))[t<tu]cr+min(t,ϕr)[min(t,tu+)<ϕ^r]\displaystyle T_{r}(t)=T_{r^{-}}(-t_{uw}+\min(t,t^{+}_{u}))-\infty[t<t^{-}_{u}]\neq-c_{r}+\min(t,\phi_{r})-\infty[\min(t,t^{+}_{u})<\hat{\phi}_{r}] (18)

For now we assume (18) is true. We rew-write (14) below for reference

Tr(t)=cr+min(t,ϕr)[min(t,tup+)<ϕ^r]pP+,rRp+\displaystyle T_{r}(t)=-c_{r}+\min(t,\phi_{r})-\infty[\min(t,t^{+}_{u_{p}})<\hat{\phi}_{r}]\quad\forall p\in P^{+},r\in R^{+}_{p} (19)

Proof: We now use (14) to replace Tr(tuw+min(t,tu+))T_{r^{-}}(-t_{uw}+\min(t,t^{+}_{u})) in (18).

cr+min(tuw+min(t,tu+),ϕr)[tuw+min(t,tu+)[t<tu]<ϕ^r][t<tu]\displaystyle-c_{r^{-}}+\min(-t_{uw}+\min(t,t^{+}_{u}),\phi_{r^{-}})-\infty[-t_{uw}+\min(t,t^{+}_{u})-\infty[t<t^{-}_{u}]<\hat{\phi}_{r^{-}}]-\infty[t<t^{-}_{u}] (20)
cr+min(t,ϕr)[min(t,tu+)<ϕ^r]\displaystyle\neq-c_{r}+\min(t,\phi_{r})-\infty[\min(t,t^{+}_{u})<\hat{\phi}_{r}]

We now consider the terms corresponding to \infty and those not corresponding to \infty separately in (20). For the (18) to be true then it must be the case that Tr(tuw+min(t,tu+))[t<tu]cr+min(t,ϕr)[min(t,tu+)<ϕ^r]T_{r^{-}}(-t_{uw}+\min(t,t^{+}_{u}))-\infty[t<t^{-}_{u}]\neq-c_{r}+\min(t,\phi_{r})-\infty[\min(t,t^{+}_{u})<\hat{\phi}_{r}]. A necessary condition for (18) to be true is that one or both of the following must must be satisfied.

[tuw+min(t,tu+)<ϕ^r][t<tu][min(t,tu+)<ϕ^r]\displaystyle-\infty[-t_{uw}+\min(t,t^{+}_{u})<\hat{\phi}_{r^{-}}]-\infty[t<t^{-}_{u}]\neq-\infty[\min(t,t^{+}_{u})<\hat{\phi}_{r}] (21a)
cr+min(tuw+min(t,tu+),ϕr)cr+min(t,ϕr)\displaystyle-c_{r^{-}}+\min(-t_{uw}+\min(t,t^{+}_{u}),\phi_{r})\neq c_{r}+\min(t,\phi_{r}) (21b)

Let us consider (21a) first. We apply the following transformations including plugging in the definition of ϕ^r\hat{\phi}_{r}.

[tuw+min(t,tu+)<ϕ^r][t<tu][min(t,tu+)<ϕ^r]\displaystyle-\infty[-t_{uw}+\min(t,t^{+}_{u})<\hat{\phi}_{r^{-}}]-\infty[t<t^{-}_{u}]\neq-\infty[\min(t,t^{+}_{u})<\hat{\phi}_{r}] (22a)
[tuw+min(t,tu+)<ϕ^r][t<tu][min(t,tu+)<max(tu,ϕ^r+tuw)]\displaystyle-\infty[-t_{uw}+\min(t,t^{+}_{u})<\hat{\phi}_{r^{-}}]-\infty[t<t^{-}_{u}]\neq-\infty[\min(t,t^{+}_{u})<\max(t^{-}_{u},\hat{\phi}_{r^{-}}+t_{uw})] (22b)
[min(t,tu+)<ϕ^r+tuw][t<tu][min(t,tu+)<max(tu,ϕ^r+tuw)]\displaystyle-\infty[\min(t,t^{+}_{u})<\hat{\phi}_{r^{-}}+t_{uw}]-\infty[t<t^{-}_{u}]\neq-\infty[\min(t,t^{+}_{u})<\max(t^{-}_{u},\hat{\phi}_{r^{-}}+t_{uw})] (22c)

Consider that t<tut<t^{-}_{u} then both the LHS and RHS of (22c) equal -\infty. Thus if a violation occurs in (22c) then ttut\geq t^{-}_{u}. Thus we gain the following expression for a potential violation:

[min(t,tu+)<ϕ^r+tuw][min(t,tu+)<max(tu,ϕ^r+tuw)]\displaystyle-\infty[\min(t,t^{+}_{u})<\hat{\phi}_{r^{-}}+t_{uw}]\neq-\infty[\min(t,t^{+}_{u})<\max(t^{-}_{u},\hat{\phi}_{r^{-}}+t_{uw})] (23)

The only way for (23) to be satisfied is if ϕ^r+tuwmin(t,tu+)<tu\hat{\phi}_{r^{-}}+t_{uw}\leq\min(t,t^{+}_{u})<t^{-}_{u}. However both tt and tu+t^{+}_{u} are greater than or equal to tut^{-}_{u} creating a contradiction.

We now consider the case where (21b) is violated. We now plug in the definition of ϕr\phi_{r}, into (21b), and noting that tuw=cuwt_{uw}=c_{uw} to produce the following expressions by equivalent transformations.

cr+min(tuw+min(t,tu+),ϕr)cr+min(t,ϕr)\displaystyle-c_{r^{-}}+\min(-t_{uw}+\min(t,t^{+}_{u}),\phi_{r^{-}})\neq-c_{r}+\min(t,\phi_{r}) (24a)
cr+min(tuw+min(t,tu+),ϕr)crcuw+min(t,min(tu+,ϕr+tuw))\displaystyle-c_{r^{-}}+\min(-t_{uw}+\min(t,t^{+}_{u}),\phi_{r^{-}})\neq-c_{r^{-}}-c_{uw}+\min(t,\min(t^{+}_{u},\phi_{r^{-}}+t_{uw})) (24b)
min(min(ttuw,tu+tuw),ϕr)cuw+min(t,min(tu+,ϕr+tuw))\displaystyle\min(\min(t-t_{uw},t^{+}_{u}-t_{uw}),\phi_{r^{-}})\neq-c_{uw}+\min(t,\min(t^{+}_{u},\phi_{r^{-}}+t_{uw})) (24c)
min(min(ttuw,tu+tuw),ϕr)tuw+min(t,min(tu+,ϕr+tuw))\displaystyle\min(\min(t-t_{uw},t^{+}_{u}-t_{uw}),\phi_{r^{-}})\neq-t_{uw}+\min(t,\min(t^{+}_{u},\phi_{r^{-}}+t_{uw})) (24d)
min(ttuw,tu+tuw,ϕr)tuw+min(t,tu+,ϕr+tuw)\displaystyle\min(t-t_{uw},t^{+}_{u}-t_{uw},\phi_{r^{-}})\neq-t_{uw}+\min(t,t^{+}_{u},\phi_{r^{-}}+t_{uw}) (24e)
min(ttuw,tu+tuw,ϕr)min(ttuw,tu+tuw,ϕr)\displaystyle\min(t-t_{uw},t^{+}_{u}-t_{uw},\phi_{r^{-}})\neq\min(t-t_{uw},t^{+}_{u}-t_{uw},\phi_{r^{-}}) (24f)

Since the RHS and LHS of (24f) are identical so the inequality does not hold (21b) does not hold. Since neither (21a) or (21b) hold then (18) is false. Thus (13) must be true.

Appendix C Bucket Feasibility

Consider the following solution {Nu,Tu,Du}uN)\{N^{\odot}_{u},T^{\odot}_{u},D^{\odot}_{u}\}\forall u\in N) for (x,y,z)(x,y,z) where x,yx,y are equal to x,yx^{*},y^{*}

For each i,ji,j in EDE^{D\odot} or ETE^{T\odot} we use c^ij=0\hat{c}_{ij}=0 when ui=uju_{i}=u_{j} and c^ij=cuiuj\hat{c}_{ij}=c_{u_{i}u_{j}} when uiuju_{i}\neq u_{j}. For each (i,j)(i,j) we use EijDE^{D\odot}_{ij} to denote the edges in a lowest cost path in EijDE^{D\odot}_{ij} starting at (ui,di+,di+)(u_{i},d^{+}_{i},d^{+}_{i}) and ending at (uj,dj+,dj+)(u_{j},d^{+}_{j},d^{+}_{j}) where edges have cost defined by defined by c^\hat{c}. Similarly for each (i,j)(i,j) we use EijTE^{T\odot}_{ij} to denote the edges in a lowest cost path in EijTE^{T\odot}_{ij} starting at (ui,ti+,ti+)(u_{i},t^{+}_{i},t^{+}_{i}) and ending at (uj,tj+,tj+)(u_{j},t^{+}_{j},t^{+}_{j}) where edges are of cost defined by c^\hat{c}. Notice that for uiuju_{i}\neq u_{j} that EijDE^{D\odot}_{ij} contains exactly one edge i^,j^\hat{i},\hat{j} for which ui^=uiu_{\hat{i}}=u_{i} and uj^=uju_{\hat{j}}=u_{j} and no other edges between non-identical customers.

[ui=u][uj=v]=i^,j^EijD[ui^=u][uj^=v]\displaystyle[u_{i}=u][u_{j}=v]=\sum_{\hat{i},\hat{j}\in E^{\odot D}_{ij}}[u_{\hat{i}}=u][u_{\hat{j}}=v] (25a)
[ui=u][uj=v]=i^,j^EijT[ui^=u][uj^=v]\displaystyle[u_{i}=u][u_{j}=v]=\sum_{\hat{i},\hat{j}\in E^{\odot T}_{ij}}[u_{\hat{i}}=u][u_{\hat{j}}=v] (25b)

We now construct a feasible solution to optimization over given the LP over

Now initialize z0z\leftarrow 0. Now iterate over zijDz^{D*}_{ij} and increase zi^j^Dz^{D}_{\hat{i}\hat{j}} by zijDz^{D*}_{ij} for each i^,j^\hat{i},\hat{j} in EijDE^{\odot D}_{ij}. Now iterate over zijTz^{T*}_{ij} and increase zi^j^Tz^{T}_{\hat{i}\hat{j}} by zijTz^{T*}_{ij} for each i^,j^\hat{i},\hat{j} in EijTE^{\odot T}_{ij}.

Observe that x,yx,y are feasible for {Nu,Tu,Du}uN)\{N^{*}_{u},T^{\odot}_{u},D^{\odot}_{u}\}\forall u\in N); and since only xx is in the objective that we have not changed the objective. Thus only violations in (6j),(6k),(6l),(6m) are possible. Observe that via (25a) that (6k) is obeyed and via and (25b) that (6m) is obeyed. Since the intermediate edges in the paths EijDE^{\odot D}_{ij} can be ignored then flow constraints (6j),(6l) are obeyed.

Appendix D Proof of Convergence to a Sufficient Parametization

In this section we establish that Alg 1 generates a sufficient parameterization when ITER_MAX=\infty.

Observe that all expansion/contraction operations never decrease the primal objective. Thus Alg 1 monotonically increases the dual objective. Thus we need establish that Alg 1 can not converge to a value other than the maximum.

Observe that after ζ\zeta iterations of not increasing the objective by MIN_INC that we have NuNuN_{u}\leftarrow N_{u}^{\odot} for all uNu\in N.

Given that NuNuN_{u}\leftarrow N_{u}^{\odot} for all uNu\in N observe Alg 1 can continue for a maximum of uN(|Du|+|Tu|)\sum_{u\in N}(|D_{u}^{\odot}|+|T_{u}^{\odot}|) iterations before either the bound is increased or the buckets for time /capacity are at minimal granularity; thus producing a sufficient parameterization.

Appendix E All Results

We provide all timing results in this section for our data sets. We provide results on the Solomon instance data sets [Solomon, 1987].Each row describes the performance of the problem instance for a given approach. The baseline performance on a given instance is the row immediately below the row for LA-Discretization. We use the following columns to describe our results.

  1. 1.

    File ID: We provide the problem instance ID.

  2. 2.

    Approach: We indicate whether we used LA-Discretization or the Baseline MILP solver.

  3. 3.

    LP Obj: This describes the root LP objective of the MILP being solved.

  4. 4.

    MILP LB: This is the MILP dual bound at the termination of optimization.

  5. 5.

    MILP Obj: This is the MILP objective at the termination of optimization,

  6. 6.

    MILP time: This is the amount of time required to solve the MILP. Note that we cut off optimization at 1000 seconds. All times are rounded down to the nearest second.

  7. 7.

    LP time: This is the time spent solving LPs over the course of LA-Discretization. This is the time required to solve the root LP for the baseline. All times are rounded down to the nearest second.

  8. 8.

    10X<<: This is indicated as YES if LA-Discretization vastly outperforms the baseline for the given instance. We define vastly outperform as meeting the following two criteria (1) solving the optimization problem exactly and (2) doing so either ten times faster than the baseline or if the baseline does not finish during the allotted optimization time.

Table 1: Num Customers = 25 Problem Set = rc100
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
rc101 OUR APPROACH 402.8 461.1 461.1 0.1 0.3
rc101 BASELINE MILP 336.3 461.1 461.1 0.1 0.0
rc102 OUR APPROACH 350.9 351.8 351.8 0.1 0.7
rc102 BASELINE MILP 302.5 351.8 351.8 0.4 0.0
rc103 OUR APPROACH 319.2 332.8 332.8 0.4 3.1
rc103 BASELINE MILP 280.9 332.8 332.8 9.5 0.0
rc104 OUR APPROACH 302.0 306.6 306.6 0.3 2.1
rc104 BASELINE MILP 278.9 306.6 306.6 1.5 0.0
rc105 OUR APPROACH 408.5 411.3 411.3 0.1 0.6
rc105 BASELINE MILP 308.0 411.3 411.3 4.4 0.0
rc106 OUR APPROACH 334.7 345.5 345.5 0.5 4.7
rc106 BASELINE MILP 299.0 345.5 345.5 0.7 0.0
rc107 OUR APPROACH 297.8 298.3 298.3 0.1 2.1
rc107 BASELINE MILP 272.9 298.3 298.3 0.6 0.0
rc108 OUR APPROACH 293.7 294.5 294.5 0.7 16.9
rc108 BASELINE MILP 272.4 294.5 294.5 0.9 0.0
Table 2: Num Customers = 25 Problem Set = rc200
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
rc201 OUR APPROACH 358.8 360.2 360.2 0.0 0.2
rc201 BASELINE MILP 274.0 360.2 360.2 0.1 0.0
rc202 OUR APPROACH 307.3 338.0 338.0 1.5 10.1
rc202 BASELINE MILP 181.7 338.0 338.0 29.0 0.0
rc203 OUR APPROACH 259.6 326.9 326.9 329.4 34.6 YES
rc203 BASELINE MILP 162.6 245.7 326.9 1000.0 0.0
rc204 OUR APPROACH 238.0 269.0 299.7 1000.1 11.8
rc204 BASELINE MILP 157.8 195.3 299.7 1000.0 0.0
rc205 OUR APPROACH 314.1 338.0 338.0 0.1 1.1
rc205 BASELINE MILP 193.7 338.0 338.0 0.4 0.0
rc206 OUR APPROACH 301.3 324.0 324.0 0.6 2.8
rc206 BASELINE MILP 183.2 324.0 324.0 1.7 0.0
rc207 OUR APPROACH 254.5 298.3 298.3 34.8 14.4 YES
rc207 BASELINE MILP 153.7 274.2 298.3 1000.0 0.0
rc208 OUR APPROACH 168.1 186.0 269.1 1000.0 17.4
rc208 BASELINE MILP 148.3 190.0 269.1 1000.0 0.0
Table 3: Num Customers = 25 Problem Set = r100
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
r101 OUR APPROACH 617.1 617.1 617.1 0.0 0.0
r101 BASELINE MILP 617.1 617.1 617.1 0.0 0.0
r102 OUR APPROACH 546.3 547.1 547.1 0.0 0.1
r102 BASELINE MILP 384.7 547.1 547.1 0.4 0.0
r103 OUR APPROACH 454.2 454.6 454.6 0.1 0.9
r103 BASELINE MILP 328.9 454.6 454.6 3.9 0.0
r104 OUR APPROACH 415.0 416.9 416.9 0.1 1.4 YES
r104 BASELINE MILP 319.5 416.9 416.9 36.2 0.0
r105 OUR APPROACH 530.5 530.5 530.5 0.0 0.0
r105 BASELINE MILP 456.5 530.5 530.5 0.1 0.0
r106 OUR APPROACH 457.3 465.4 465.4 0.1 0.3
r106 BASELINE MILP 346.3 465.4 465.4 0.6 0.0
r107 OUR APPROACH 417.4 424.3 424.3 0.1 1.8
r107 BASELINE MILP 319.7 424.3 424.3 6.8 0.0
r108 OUR APPROACH 391.7 397.3 397.3 0.2 5.5
r108 BASELINE MILP 311.0 397.3 397.3 20.4 0.0
r109 OUR APPROACH 440.3 441.3 441.3 0.1 0.4
r109 BASELINE MILP 347.3 441.3 441.3 0.2 0.0
r110 OUR APPROACH 421.5 444.1 444.1 1.0 2.7 YES
r110 BASELINE MILP 312.8 444.1 444.1 65.8 0.0
r111 OUR APPROACH 418.4 428.8 428.8 0.2 1.8
r111 BASELINE MILP 320.6 428.8 428.8 5.3 0.0
r112 OUR APPROACH 371.3 393.0 393.0 2.2 9.7 YES
r112 BASELINE MILP 309.9 393.0 393.0 353.0 0.0
Table 4: Num Customers = 25 Problem Set = r200
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
r201 OUR APPROACH 458.6 463.3 463.3 0.0 0.4
r201 BASELINE MILP 417.0 463.3 463.3 0.0 0.0
r202 OUR APPROACH 399.6 410.5 410.5 0.2 2.0
r202 BASELINE MILP 314.7 410.5 410.5 1.5 0.0
r203 OUR APPROACH 362.5 391.4 391.4 0.9 8.8
r203 BASELINE MILP 302.3 391.4 391.4 43.0 0.0
r204 OUR APPROACH 322.2 355.0 355.0 2.5 15.7
r204 BASELINE MILP 292.6 355.0 355.0 29.6 0.0
r205 OUR APPROACH 386.4 393.0 393.0 0.1 2.4
r205 BASELINE MILP 337.9 393.0 393.0 0.6 0.0
r206 OUR APPROACH 349.2 374.4 374.4 1.7 11.3
r206 BASELINE MILP 292.9 374.4 374.4 5.1 0.0
r207 OUR APPROACH 338.4 361.6 361.6 2.9 23.3
r207 BASELINE MILP 292.4 361.6 361.6 11.2 0.0
r208 OUR APPROACH 312.3 328.2 328.2 2.0 8.1
r208 BASELINE MILP 292.3 328.2 328.2 2.9 0.0
r209 OUR APPROACH 354.6 370.7 370.7 0.9 5.3
r209 BASELINE MILP 303.3 370.7 370.7 0.8 0.0
r210 OUR APPROACH 378.3 404.6 404.6 1.9 9.5
r210 BASELINE MILP 302.7 404.6 404.6 1.8 0.0
r211 OUR APPROACH 313.6 350.9 350.9 19.2 19.1
r211 BASELINE MILP 292.4 350.9 350.9 44.7 0.0
Table 5: Num Customers = 25 Problem Set = c100
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
c101 OUR APPROACH 191.3 191.3 191.3 0.0 0.1
c101 BASELINE MILP 191.3 191.3 191.3 0.0 0.0
c102 OUR APPROACH 190.3 190.3 190.3 0.0 0.4
c102 BASELINE MILP 172.7 190.3 190.3 0.2 0.0
c103 OUR APPROACH 190.3 190.3 190.3 0.1 2.0
c103 BASELINE MILP 163.8 190.3 190.3 0.6 0.0
c104 OUR APPROACH 186.9 186.9 186.9 0.1 2.8
c104 BASELINE MILP 160.5 186.9 186.9 2.4 0.0
c105 OUR APPROACH 191.3 191.3 191.3 0.0 0.1
c105 BASELINE MILP 191.2 191.3 191.3 0.0 0.0
c106 OUR APPROACH 191.3 191.3 191.3 0.0 0.1
c106 BASELINE MILP 191.3 191.3 191.3 0.0 0.0
c107 OUR APPROACH 191.3 191.3 191.3 0.0 0.1
c107 BASELINE MILP 191.2 191.3 191.3 0.0 0.0
c108 OUR APPROACH 191.3 191.3 191.3 0.0 1.1
c108 BASELINE MILP 131.5 191.3 191.3 0.2 0.0
c109 OUR APPROACH 190.6 191.3 191.3 0.2 6.4
c109 BASELINE MILP 131.1 191.3 191.3 0.8 0.0
Table 6: Num Customers = 25 Problem Set = c200
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
c201 OUR APPROACH 214.7 214.7 214.7 0.0 0.1
c201 BASELINE MILP 214.7 214.7 214.7 0.0 0.0
c202 OUR APPROACH 214.7 214.7 214.7 0.0 2.0
c202 BASELINE MILP 175.0 214.7 214.7 0.6 0.0
c203 OUR APPROACH 214.7 214.7 214.7 0.0 3.3
c203 BASELINE MILP 169.5 214.7 214.7 1.5 0.0
c204 OUR APPROACH 209.6 213.1 213.1 1.0 8.6
c204 BASELINE MILP 165.4 213.1 213.1 24.9 0.0
c205 OUR APPROACH 214.7 214.7 214.7 0.0 0.3
c205 BASELINE MILP 176.4 214.7 214.7 0.0 0.0
c206 OUR APPROACH 214.7 214.7 214.7 0.0 0.5
c206 BASELINE MILP 173.1 214.7 214.7 0.2 0.0
c207 OUR APPROACH 211.3 214.5 214.5 0.2 5.8
c207 BASELINE MILP 166.7 214.5 214.5 1.0 0.0
c208 OUR APPROACH 211.7 214.5 214.5 0.1 1.1
c208 BASELINE MILP 166.4 214.5 214.5 0.3 0.0
Table 7: Num Customers = 50 Problem Set = rc100
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
rc101 OUR APPROACH 841.4 944.0 944.0 2.7 3.8
rc101 BASELINE MILP 610.6 944.0 944.0 5.3 0.0
rc102 OUR APPROACH 710.2 822.5 822.5 303.9 24.7 YES
rc102 BASELINE MILP 515.9 751.5 822.5 1000.0 0.0
rc103 OUR APPROACH 623.0 672.2 710.9 1000.0 73.6
rc103 BASELINE MILP 480.0 575.3 711.5 1000.0 0.0
rc104 OUR APPROACH 529.8 545.8 545.8 56.9 208.9 YES
rc104 BASELINE MILP 467.6 523.2 545.8 1000.0 0.0
rc105 OUR APPROACH 747.9 855.3 855.3 6.8 8.5 YES
rc105 BASELINE MILP 533.6 791.8 855.3 1000.1 0.0
rc106 OUR APPROACH 648.5 723.2 723.2 27.1 69.7 YES
rc106 BASELINE MILP 500.9 618.3 723.2 999.9 0.0
rc107 OUR APPROACH 573.3 642.7 642.7 616.1 157.3 YES
rc107 BASELINE MILP 470.9 559.0 642.7 1000.0 0.0
rc108 OUR APPROACH 528.4 536.2 598.1 1000.0 208.0
rc108 BASELINE MILP 463.2 502.7 599.4 1000.0 0.0
Table 8: Num Customers = 50 Problem Set = rc200
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
rc201 OUR APPROACH 677.9 684.8 684.8 0.2 2.0
rc201 BASELINE MILP 385.5 684.8 684.8 0.8 0.0
rc202 OUR APPROACH 539.8 613.6 613.6 591.1 180.3 YES
rc202 BASELINE MILP 296.3 522.1 613.6 1000.0 0.0
rc203 OUR APPROACH 437.6 474.0 555.3 1000.0 463.5
rc203 BASELINE MILP 257.3 365.2 557.3 1000.0 0.0
rc204 OUR APPROACH 307.0 315.1 449.8 1000.0 1683.8
rc204 BASELINE MILP 237.0 273.9 444.2 1000.0 0.0
rc205 OUR APPROACH 569.4 630.2 630.2 34.1 69.3
rc205 BASELINE MILP 366.8 630.2 630.2 95.5 0.0
rc206 OUR APPROACH 521.2 610.0 610.0 153.6 133.2 YES
rc206 BASELINE MILP 292.2 586.0 610.0 1000.0 0.0
rc207 OUR APPROACH 462.5 483.5 561.5 1000.0 692.5
rc207 BASELINE MILP 255.3 341.7 560.2 1000.0 0.0
rc208 OUR APPROACH 283.8 292.5 493.8 1000.2 1682.9
rc208 BASELINE MILP 229.2 265.5 517.7 1000.0 0.0
Table 9: Num Customers = 50 Problem Set = r100
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
r101 OUR APPROACH 1044.0 1044.0 1044.0 0.0 0.1
r101 BASELINE MILP 1029.8 1044.0 1044.0 0.0 0.0
r102 OUR APPROACH 909.0 909.0 909.0 0.1 1.2 YES
r102 BASELINE MILP 649.7 909.0 909.0 54.9 0.0
r103 OUR APPROACH 762.1 772.9 772.9 3.1 12.7 YES
r103 BASELINE MILP 533.1 721.7 772.9 1000.0 0.0
r104 OUR APPROACH 612.1 625.4 625.4 22.7 95.3 YES
r104 BASELINE MILP 464.6 541.6 636.0 1000.0 0.0
r105 OUR APPROACH 898.5 911.8 911.8 0.3 0.8
r105 BASELINE MILP 793.0 911.8 911.8 1.2 0.0
r106 OUR APPROACH 792.7 793.0 793.0 0.3 4.1 YES
r106 BASELINE MILP 547.0 793.0 793.0 561.0 0.0
r107 OUR APPROACH 700.5 711.1 711.1 4.4 37.1 YES
r107 BASELINE MILP 483.2 631.7 724.4 1000.0 0.0
r108 OUR APPROACH 584.9 608.1 617.7 1000.0 160.2
r108 BASELINE MILP 457.5 530.6 624.7 1000.0 0.0
r109 OUR APPROACH 752.1 786.8 786.8 9.5 37.9 YES
r109 BASELINE MILP 547.2 767.5 786.8 1000.0 0.0
r110 OUR APPROACH 681.1 697.0 697.0 9.9 68.5 YES
r110 BASELINE MILP 481.0 606.3 713.0 1000.0 0.0
r111 OUR APPROACH 673.0 707.2 707.2 35.5 31.5 YES
r111 BASELINE MILP 475.4 603.8 714.2 1000.0 0.0
r112 OUR APPROACH 593.3 613.9 630.2 1000.0 146.8
r112 BASELINE MILP 451.8 513.2 647.9 1000.0 0.0
Table 10: Num Customers = 50 Problem Set = r200
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
r201 OUR APPROACH 789.5 791.9 791.9 0.1 3.5
r201 BASELINE MILP 700.9 791.9 791.9 0.3 0.0
r202 OUR APPROACH 680.5 698.5 698.5 6.6 39.4 YES
r202 BASELINE MILP 504.4 682.4 698.5 1000.0 0.0
r203 OUR APPROACH 570.2 605.3 605.3 36.1 104.7 YES
r203 BASELINE MILP 447.9 540.0 605.9 1000.0 0.0
r204 OUR APPROACH 464.6 487.8 508.1 1000.0 378.8
r204 BASELINE MILP 420.4 477.4 508.9 1000.0 0.0
r205 OUR APPROACH 662.2 690.1 690.1 6.7 65.9
r205 BASELINE MILP 540.9 690.1 690.1 120.7 0.0
r206 OUR APPROACH 584.4 632.4 632.4 445.2 141.4 YES
r206 BASELINE MILP 455.2 581.8 639.0 1000.0 0.0
r207 OUR APPROACH 519.9 556.5 576.1 1000.0 438.9
r207 BASELINE MILP 420.6 521.6 575.5 1000.0 0.0
r208 OUR APPROACH 455.6 468.1 487.7 1000.0 118.7
r208 BASELINE MILP 412.1 469.9 494.2 1000.0 0.0
r209 OUR APPROACH 568.6 600.6 600.6 64.7 153.6
r209 BASELINE MILP 481.2 600.6 600.6 287.4 0.0
r210 OUR APPROACH 592.8 645.6 645.6 841.9 211.2 YES
r210 BASELINE MILP 456.2 591.2 647.8 1000.0 0.0
r211 OUR APPROACH 489.8 504.6 540.9 1000.0 563.4
r211 BASELINE MILP 412.1 479.3 541.3 1000.0 0.0
Table 11: Num Customers = 50 Problem Set = c100
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
c101 OUR APPROACH 362.4 362.4 362.4 0.1 0.5
c101 BASELINE MILP 361.4 362.4 362.4 0.0 0.0
c102 OUR APPROACH 361.4 361.4 361.4 0.2 2.4
c102 BASELINE MILP 334.0 361.4 361.4 0.5 0.0
c103 OUR APPROACH 361.4 361.4 361.4 0.8 40.3
c103 BASELINE MILP 284.7 361.4 361.4 15.1 0.0
c104 OUR APPROACH 355.2 358.0 358.0 11.9 118.5 YES
c104 BASELINE MILP 281.0 312.4 358.0 1000.0 0.0
c105 OUR APPROACH 362.4 362.4 362.4 0.1 1.2
c105 BASELINE MILP 360.0 362.4 362.4 0.1 0.0
c106 OUR APPROACH 362.4 362.4 362.4 0.1 0.9
c106 BASELINE MILP 360.1 362.4 362.4 0.1 0.0
c107 OUR APPROACH 362.4 362.4 362.4 0.1 1.7
c107 BASELINE MILP 360.0 362.4 362.4 0.1 0.0
c108 OUR APPROACH 362.4 362.4 362.4 0.2 6.2
c108 BASELINE MILP 261.1 362.4 362.4 0.9 0.0
c109 OUR APPROACH 361.7 362.4 362.4 1.8 51.0
c109 BASELINE MILP 257.1 362.4 362.4 16.1 0.0
Table 12: Num Customers = 50 Problem Set = c200
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
c201 OUR APPROACH 360.2 360.2 360.2 0.0 0.9
c201 BASELINE MILP 360.2 360.2 360.2 0.0 0.0
c202 OUR APPROACH 360.2 360.2 360.2 0.1 11.9
c202 BASELINE MILP 318.2 360.2 360.2 2.0 0.0
c203 OUR APPROACH 359.8 359.8 359.8 0.2 35.5
c203 BASELINE MILP 299.1 359.8 359.8 22.5 0.0
c204 OUR APPROACH 349.9 350.1 350.1 0.8 89.8 YES
c204 BASELINE MILP 288.6 345.8 350.1 1000.0 0.0
c205 OUR APPROACH 359.8 359.8 359.8 0.1 2.5
c205 BASELINE MILP 313.1 359.8 359.8 0.2 0.0
c206 OUR APPROACH 359.8 359.8 359.8 0.1 4.4
c206 BASELINE MILP 310.9 359.8 359.8 0.9 0.0
c207 OUR APPROACH 356.5 359.6 359.6 1.8 49.4
c207 BASELINE MILP 310.7 359.6 359.6 1.3 0.0
c208 OUR APPROACH 347.4 350.5 350.5 0.2 7.7
c208 BASELINE MILP 309.0 350.5 350.5 0.8 0.0
Table 13: Num Customers = 100 Problem Set = rc100
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
rc101 OUR APPROACH 1577.3 1619.8 1619.8 17.8 28.8
rc101 BASELINE MILP 1131.3 1619.8 1619.8 316.1 0.1
rc102 OUR APPROACH 1384.2 1431.9 1457.4 1000.1 126.4
rc102 BASELINE MILP 795.6 1098.7 1481.6 1000.0 0.0
rc103 OUR APPROACH 1176.8 1185.9 1288.1 1000.0 320.6
rc103 BASELINE MILP 694.5 857.3 1389.1 1000.1 0.1
rc104 OUR APPROACH 1050.6 1060.8 1227.4 1000.0 327.8
rc104 BASELINE MILP 670.4 782.6 1197.0 1000.1 0.1
rc105 OUR APPROACH 1461.4 1513.7 1513.7 94.9 52.3 YES
rc105 BASELINE MILP 927.5 1268.4 1552.8 1000.0 0.0
rc106 OUR APPROACH 1269.2 1294.2 1373.5 1000.1 133.0
rc106 BASELINE MILP 782.3 1018.0 1411.6 1000.1 0.0
rc107 OUR APPROACH 1125.0 1139.8 1260.9 1000.1 333.8
rc107 BASELINE MILP 681.9 803.0 1358.8 1000.1 0.1
rc108 OUR APPROACH 1041.3 1047.3 1235.9 1000.1 319.9
rc108 BASELINE MILP 663.1 738.0 1217.6 999.4 0.1
Table 14: Num Customers = 100 Problem Set = rc200
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
rc201 OUR APPROACH 1214.0 1261.8 1261.8 6.8 90.1
rc201 BASELINE MILP 946.2 1261.8 1261.8 119.0 0.0
rc202 OUR APPROACH 963.6 1008.1 1100.7 1000.4 428.7
rc202 BASELINE MILP 659.9 863.3 1124.3 1000.0 0.0
rc203 OUR APPROACH 764.0 779.5 1088.5 1000.0 305.4
rc203 BASELINE MILP 575.8 702.1 976.7 1000.1 0.1
rc204 OUR APPROACH 647.3 655.4 943.0 1000.1 312.3
rc204 BASELINE MILP 544.5 628.9 812.4 1000.0 0.1
rc205 OUR APPROACH 1045.5 1083.8 1159.2 1000.0 317.5
rc205 BASELINE MILP 759.1 1029.0 1178.1 1000.0 0.0
rc206 OUR APPROACH 951.1 969.7 1058.1 1000.0 414.7
rc206 BASELINE MILP 710.3 905.4 1066.7 1000.0 0.0
rc207 OUR APPROACH 841.5 857.2 1060.3 1000.0 309.2
rc207 BASELINE MILP 602.0 738.3 988.1 1000.0 0.1
rc208 OUR APPROACH 646.0 652.6 995.3 1000.0 324.3
rc208 BASELINE MILP 536.8 609.2 854.5 1000.0 0.1
Table 15: Num Customers = 100 Problem Set = r100
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
r101 OUR APPROACH 1631.2 1637.7 1637.7 0.3 1.1
r101 BASELINE MILP 1612.2 1637.7 1637.7 0.1 0.0
r102 OUR APPROACH 1467.7 1467.7 1467.7 1.0 10.3 YES
r102 BASELINE MILP 1027.2 1320.4 1470.5 1000.0 0.0
r103 OUR APPROACH 1204.2 1208.7 1208.7 9.1 65.6 YES
r103 BASELINE MILP 787.2 999.1 1244.2 1000.0 0.1
r104 OUR APPROACH 944.9 946.5 1060.0 1000.0 338.2
r104 BASELINE MILP 693.1 780.2 1012.8 1000.0 0.1
r105 OUR APPROACH 1341.6 1355.3 1355.3 5.6 24.0 YES
r105 BASELINE MILP 1098.2 1355.3 1355.3 440.9 0.0
r106 OUR APPROACH 1215.4 1234.6 1234.6 70.2 95.6 YES
r106 BASELINE MILP 833.3 1016.2 1266.9 1000.0 0.1
r107 OUR APPROACH 1040.6 1049.8 1070.6 1000.0 201.7
r107 BASELINE MILP 719.2 827.8 1126.8 1000.1 0.1
r108 OUR APPROACH 906.9 908.6 1151.9 999.9 411.1
r108 BASELINE MILP 679.8 736.3 997.1 1000.0 0.1
r109 OUR APPROACH 1109.3 1136.7 1146.9 1000.0 109.2
r109 BASELINE MILP 775.6 939.7 1194.9 1000.0 0.0
r110 OUR APPROACH 1028.8 1034.9 1078.8 1000.2 188.2
r110 BASELINE MILP 704.3 794.3 1115.9 1000.0 0.1
r111 OUR APPROACH 1012.7 1026.3 1050.6 1000.0 193.2
r111 BASELINE MILP 704.0 803.5 1126.2 1000.0 0.1
r112 OUR APPROACH 910.0 911.1 1070.6 1000.0 438.7
r112 BASELINE MILP 668.9 716.6 1069.9 1000.1 0.1
Table 16: Num Customers = 100 Problem Set = r200
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
r201 OUR APPROACH 1114.0 1143.2 1143.2 5.0 119.5
r201 BASELINE MILP 979.2 1143.2 1143.2 21.2 0.0
r202 OUR APPROACH 974.2 1006.9 1029.6 1000.0 362.9
r202 BASELINE MILP 731.0 872.7 1049.5 1000.0 0.0
r203 OUR APPROACH 794.0 809.0 883.2 1000.0 636.0
r203 BASELINE MILP 633.0 716.7 906.3 1000.0 0.1
r204 OUR APPROACH 668.0 675.8 770.1 1000.0 804.5
r204 BASELINE MILP 591.1 647.9 789.8 1000.1 0.1
r205 OUR APPROACH 891.0 912.4 954.7 1000.0 473.6
r205 BASELINE MILP 738.1 879.8 967.4 1000.0 0.0
r206 OUR APPROACH 803.7 825.6 898.0 1000.0 798.7
r206 BASELINE MILP 651.9 758.2 914.6 1000.0 0.1
r207 OUR APPROACH 719.4 728.3 900.0 1000.0 1687.1
r207 BASELINE MILP 612.2 691.4 815.7 1000.1 0.1
r208 OUR APPROACH 643.2 645.4 823.4 1000.0 396.1
r208 BASELINE MILP 583.6 643.7 729.6 1000.0 0.1
r209 OUR APPROACH 790.8 804.2 905.7 1000.0 339.0
r209 BASELINE MILP 653.0 758.1 859.2 1000.0 0.1
r210 OUR APPROACH 808.6 826.3 934.0 1000.0 407.7
r210 BASELINE MILP 644.9 760.2 928.6 1000.0 0.1
r211 OUR APPROACH 667.5 672.0 881.2 1000.0 292.8
r211 BASELINE MILP 583.6 642.3 799.2 1000.1 0.1
Table 17: Num Customers = 100 Problem Set = c100
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
c101 OUR APPROACH 827.3 827.3 827.3 0.2 2.9
c101 BASELINE MILP 819.7 827.3 827.3 0.1 0.1
c102 OUR APPROACH 827.1 827.3 827.3 1.8 47.7
c102 BASELINE MILP 754.3 827.3 827.3 24.1 0.0
c103 OUR APPROACH 826.1 826.3 826.3 19.0 136.8 YES
c103 BASELINE MILP 588.9 785.0 826.3 1000.0 0.1
c104 OUR APPROACH 818.2 822.9 822.9 195.5 170.5 YES
c104 BASELINE MILP 577.2 673.3 830.1 1000.0 0.1
c105 OUR APPROACH 827.3 827.3 827.3 0.3 3.2
c105 BASELINE MILP 818.2 827.3 827.3 0.1 0.0
c106 OUR APPROACH 827.3 827.3 827.3 0.4 10.9
c106 BASELINE MILP 699.7 827.3 827.3 0.7 0.0
c107 OUR APPROACH 827.3 827.3 827.3 0.5 5.9
c107 BASELINE MILP 818.1 827.3 827.3 0.4 0.0
c108 OUR APPROACH 827.3 827.3 827.3 5.0 71.2
c108 BASELINE MILP 569.5 827.3 827.3 8.4 0.0
c109 OUR APPROACH 825.1 827.3 827.3 54.8 145.2 YES
c109 BASELINE MILP 566.0 792.1 853.4 1000.0 0.1
Table 18: Num Customers = 100 Problem Set = c200
file num Approach lp obj mip dual bound ILP obj ilp time total lp time 10X+
c201 OUR APPROACH 589.1 589.1 589.1 0.1 5.5
c201 BASELINE MILP 589.1 589.1 589.1 0.1 0.0
c202 OUR APPROACH 589.1 589.1 589.1 0.3 65.6
c202 BASELINE MILP 556.7 589.1 589.1 1.6 0.1
c203 OUR APPROACH 583.7 588.7 588.7 13.9 127.4
c203 BASELINE MILP 534.9 588.7 588.7 6.0 0.1
c204 OUR APPROACH 582.4 588.1 588.1 61.6 183.7
c204 BASELINE MILP 517.5 588.1 588.1 77.8 0.1
c205 OUR APPROACH 586.0 586.4 586.4 0.3 29.5
c205 BASELINE MILP 539.7 586.4 586.4 0.4 0.0
c206 OUR APPROACH 586.0 586.0 586.0 0.2 33.1
c206 BASELINE MILP 536.3 586.0 586.0 2.1 0.0
c207 OUR APPROACH 582.7 585.8 585.8 5.2 98.5
c207 BASELINE MILP 535.7 585.8 585.8 2.0 0.0
c208 OUR APPROACH 583.4 585.8 585.8 1.0 72.0
c208 BASELINE MILP 531.9 585.8 585.8 3.3 0.0