Literature DB >> 24511176

Lower and upper bounds for the two-echelon capacitated location-routing problem.

Claudio Contardo1, Vera Hemmelmayr2, Teodor Gabriel Crainic1.   

Abstract

In this paper, we introduce two algorithms to address the two-echelon capacitated location-routing problem (2E-CLRP). We introduce a branch-and-cut algorithm based on the solution of a new two-index vehicle-flow formulation, which is strengthened with several families of valid inequalities. We also propose an adaptive large-neighbourhood search (ALNS) meta-heuristic with the objective of finding good-quality solutions quickly. The computational results on a large set of instances from the literature show that the ALNS outperforms existing heuristics. Furthermore, the branch-and-cut method provides tight lower bounds and is able to solve small- and medium-size instances to optimality within reasonable computing times.

Entities:  

Keywords:  Adaptive large neighbourhood search; Branch-and-cut; Two-echelon capacitated location routing problem

Year:  2012        PMID: 24511176      PMCID: PMC3916792          DOI: 10.1016/j.cor.2012.04.003

Source DB:  PubMed          Journal:  Comput Oper Res        ISSN: 0305-0548            Impact factor:   4.008


Introduction

The single-sourcing two-echelon capacitated location-routing problem (2E-CLRP) is an important combinatorial optimization problem arising in freight distribution. The problem can be stated as follows. Given three disjoint sets of nodes representing platforms (first-echelon facilities), satellites (second-level facilities), and customers, one must decide the location of a subset of platforms and a subset of satellites, as well as construct vehicle routes to visit each customer exactly once using a vehicle routed from an open satellite, which is also visited exactly once using a vehicle route from an open platform, at minimum total cost. The utilization of open facilities is limited by echelon-specific capacities. Vehicles belong to two homogeneous fleets, each operating at a particular echelon and with echelon-specific capacities. Fig. 1 illustrates the network layout of the 2E-CLRP.
Fig. 1

2E-CLRP network layout.

The 2E-CLRP has been formally introduced by Boccia et al. [4], together with a classification of the different 2E-CLRP problem classes. The authors also proposed two-index and three-index vehicle-flow formulations, as well as a set-partitioning formulation. The third model is not included in their experimental analyses. The first two models contain a polynomial number of variables and constraints and are addressed using a general-purpose optimization solver. These models are shown to be effective for dealing with very small instances with up to 10 customers, 5 satellites and 3 platforms within reasonable computing times. For larger instances, the authors report average gaps above 25%. A tabu search procedure was proposed by Boccia et al. [3] based on the decomposition of the 2E-CLRP into four subproblems, a capacitated facility location problem (CFLP) and a multiple depot vehicle routing problem (MDVRP) addressing a single-echelon CLRP for each level. Thus, to the best of our knowledge, only two articles address the 2E-CLRP [3,4] (a few others use the name but locate on one level only). No exact procedure has been introduced to effectively deal with medium- and large-size instances. Moreover, a single meta-heuristic has been proposed so far and its performance, in terms of solution quality, appears impaired by the extreme decomposition used. Our goal is to contribute filling these gaps by introducing an exact procedure to deal with medium- and large-size instances and a new meta-heuristic procedure to quickly find good 2E-CLRP solutions. The main contributions of this paper can be summarized as follows: We propose exact and meta-heuristic solution methods based on the same principle of handling the 2E-CLRP as the superposition of two Capacitated Location Routing Problems (CLRPs), one at each echelon. This allows to better address the interdependencies between location and routing decisions and, thus, enhance the solution quality, as opposed to previous contributions. This also provides the means to address the 2E-CLRP through efficient algorithms for the CLRP applied to each echelon, their respective solutions being combined through simple and efficient rules. We introduce a new two-index vehicle-flow formulation of the 2E-CLRP, which is shown to provide tight lower bounds. We develop an efficient branch-and-cut algorithm based on the new formulation, providing the means to solve medium-size instances with up to 50 customers and 10 satellites, and to compute tight gaps for larger instances. We introduce a new Adaptive Large Neighbourhood Search (ALNS) meta-heuristic solution method, which outperforms the previously proposed heuristic methods from the literature and yields tight upper bounds that lie, on average, no further than a 3.06% from the lower bounds obtained with the exact method. The solution methods introduced in this paper are complementary in scope. While the exact algorithm provides insightful information about the structure of the 2E-CLRP and optimal solutions for small- to medium-size instances, the very high two-tiered combinatorial nature of the problem makes it difficult to scale for larger instances for which even finding a feasible solution of reasonable quality can be prohibitive. Alternatively, the proposed ALNS provides high-quality solutions quickly. Moreover, the methods validate each other through the lower bounds obtained with the branch-and-cut method and the upper bounds obtained with the meta-heuristic. The remainder of the paper is organized as follows. Section 2 briefly surveys literature on the 2E-CLRP and related problems. Section 3 defines the notation and provides a mathematical formulation of the 2E-CLRP. The branch-and-cut algorithm is described in Section 4 and the ALNS in Section 5. Computational results are presented and analyzed in Section 6. We conclude in Section 7.

Literature review

The Introduction reviewed the very limited literature directly targeting the 2E-CLRP. We turn to a brief overview of contributions to other logistic problems the 2E-CLRP generalizes. The capacitated location-routing problem (CLRP) is the particular case where the location of a single platform of infinite capacity is known in advance and the costs on the first echelon can be neglected. The problem is to find the optimal satellite locations and to build vehicle routes around those satellites to satisfy the customer demand. Recent algorithms for solving the CLRP include exact methods [2,1,7,6] and heuristics [17-19,15,10,8]. Belenguer et al. [2] introduce a two-index vehicle-flow formulation, which they strengthen with several families of valid inequalities. Their computational experiments show that instances containing up to 50 customers and 5 facilities can be solved to optimality within reasonable computing times. Contardo et al. [7] introduced three new flow formulations from which they derived new valid inequalities. The authors also proposed new improved separation routines for the inequalities introduced in [2]. These refinements allow us to solve larger instances with up to 100 customers and 5 facilities. Baldacci et al. [1] introduced a set-partitioning formulation for the problem, strengthened with new families of valid inequalities. Their algorithm is able to solve to optimality instances containing up to 199 customers and 14 facilities. Contardo et al. [6] strengthened this set-partitioning formulation with new valid inequalities. Their method is able to solve all instances solved by Baldacci et al. [1] plus four more instances. Prins et al. [19] developed a GRASP (greedy randomized adaptive search procedure) for the CLRP, and then a memetic algorithm with population management [18], which yielded better results. Their cooperative Lagrangian relaxation-granular tabu search method [17] outperformed the previous two. Pirkwieser and Raidl [15] introduced the first hybrid meta-heuristic for the CLRP combining meta-heuristics (in this case a VNS) and integer-linear programming techniques. Their method yielded improved results compared to previous methods. Hemmelmayr et al. [10] introduced an ALNS for the 2E-CVRP and also tested it on CLRP instances. Their computational experiments showed that, even though not initially developed for the CLRP, their method obtained very competitive results compared to the previous methods from the literature. Finally, Contardo et al. [8] introduced a hybrid meta-heuristic combining a GRASP with integer-programming methods based on column generation. Their method yielded very good results, obtaining the tightest gaps on several instances from the literature. The two-echelon capacitated vehicle routing problem (2E-CVRP) is also a particular case of the 2E-CLRP, where the location of a single platform is known in advance and the satellites are uncapacitated with no setup costs. A fleet of trucks is routed from the depot to the satellites, and then from these satellites smaller trucks are used to deliver the commodities to the final customers. Several models and algorithms have been designed for the 2E-CVRP with multiple-sourcing at the first echelon, both exact [14,13] and heuristic [9,10]. Perboli et al. [14] designed a branch-and-cut algorithm based on a three-index formulation of the problem. A third index is added to the vehicle-flow variables at the second echelon to specify the satellite serving a node. The formulation is strengthened with subtour-elimination and some flow-conservation constraints. Their algorithm is able to solve to optimality instances containing up to 21 customers. Perboli and Tadei [13] strengthen the previous formulation with new cuts, including capacity cuts, which allows their algorithm to scale and solve instances with up to 50 customers. Crainic et al. [9] developed multi-start heuristics for the solution of the 2E-CVRP, where an intensification phase, aiming to improve feasible solutions by local search, is followed by a diversification phase to avoid local optima. Hemmelmayr et al. [10] developed an ALNS meta-heuristic for the 2E-CVRP and the CLRP which is shown to provide better solutions than previous approaches. The algorithm is based on the destroy-and-repair principle in which two sets of operators (destroy operators and repair operators) are alternated. Nguyen et al. [12] introduced a GRASP complemented with a path relinking method to address a hybrid class of 2E-CVRPs with single-sourcing at both echelons, in which location decisions are restricted to satellites, the location of a single platform being known in advance. In their method, a GRASP is used to build a set of solutions . Then, for each pair of solutions , a path-relinking method tries to build better solutions by applying different operators to S with the goal of obtaining T. A learning process is used to guide the GRASP by restricting the opening of satellites to those which seem more promising during the first iterations. In Nguyen et al. [11], the same authors provide a multi-start iterated local search with tabu list and path relinking. The new algorithm outperforms their previous approach and they also report results on the instances by Boccia et al. [3]. In the iterated local search, two search spaces are considered: 2E-CVRP solutions and a giant tour covering the main depot and the customers. A path-relinking procedure is presented that can be used for intensification or post-optimization.

Mathematical formulation

The 2E-CVRP is defined on a graph with three disjoint sets of nodes, (the platforms), (the satellites), and (the customers). To each platform , we associate a fixed cost and a capacity . Similarly, to each satellite , we associate a fixed cost and a capacity . Finally, we associate a demand to each customer . We distinguish two echelons, one containing nodes in and the other containing nodes in . At the first echelon, we consider an undirected graph , with and , u and v not both in }. Similarly, at the second echelon, we consider an undirected graph with and , u and v not both in }. Two fleets of vehicles are used, one at each echelon. At each echelon, the fleet is homogeneous with vehicle capacities of Q1 and Q2 for the first and second echelons, respectively. A routing cost is associated to edge . Recall that Boccia et al. [4] introduced a three-index vehicle-flow formulation with a cubic number of variables (in terms of the number of nodes). The formulation presents a very high number of symmetries, however, and provides weak lower bounds, making it of little use within a branch-and-bound framework. The bounds provided by the two-index formulation proposed in the same article proved even weaker. Small-size instances only were consequently solved to optimality using these formulations. We therefore introduce a new two-index vehicle-flow formulation for the 2E-CLRP, which is shown to provide tighter gaps in much shorter computational times for medium- to large-size instances, compared the previous formulations [4]. The main observation is that the 2E-CLRP can be decomposed into two different CLRPs, one at each echelon, connected through the satellite nodes. This observation is used in formulating the model and designing the exact and meta-heuristic algorithms. In particular, as detailed in the next section, the new formulation inherits most of the cuts valid for the CLRP [2,7]. Let w be a binary variable equal to 1 iff platform is selected for opening. Similarly, let z be a binary variable equal to 1 iff satellite is chosen for opening. For first-echelon edges, let u and v be the binary variables equal to 1 iff edge is used exactly once and twice (for single-customer routes), respectively. Analogously for second-echelon edges, let x and y be the binary variables equal to 1 iff edge is used once and twice, respectively. Finally, let be the continuous variable capturing the volume of commodity shipped to/from satellite . Define the following vertex subsets: (1) , the edge subset at echelon that contains one endpoint in I, for any vertex set ;(2) , the edge subset of with one endpoint in J and the other in I, for two disjoint vertex subsets and ;(3) , the subset of edges in with both endpoints in . Then, for a given edge set , let and ;similarly for , x(F), and y(F). Also, for a given satellite subset , let and . Finally, for any customer set , let , , and , while for any satellite subset , . The quantity r(U) represents a lower bound on the number of second-echelon vehicles needed to serve the customers in U. A valid formulation of the 2E-CLRP is the following: Constraints (2) and (3) are the degree constraints for the satellite nodes and the customer nodes at the first and second echelons, respectively. Constraints (4) and (5) are the capacity constraints at both echelons that ensure the connectivity for the tours and make sure that the vehicle capacities are respected. Constraints (6) and (7) ensure that edges incident to a platform (for the first level) or to a satellite (for the second level) may only be used when the corresponding facility is opened. Constraints (8) and (9) are the so-called path elimination constraints for single satellite or single customer routes, respectively. They forbid routes that start at one facility, visit one customer or satellite and go back to a different facility. Constraints (10) and (11) are the facility capacity inequalities for the first and second echelon, respectively. Constraints (12) and (13) are the path elimination constraints that forbid routes that start at one facility and end at another facility. These constraints are complementary to constraints (8) and (9). Constraints 14 ensure that flows going through satellites do not exceed their capacities. These constraints are complementary to constraints (10) to forbid routes from serving a demand higher than the platform capacities. Finally, Constraints (15) ensure that the total volume of commodity going through satellites coincides with the total demand. This formulation includes variables and an exponential number of constraints. Therefore, constraints must be added dynamically in a branch-and-cut fashion within the exact solver. Note that the use of flow variables g at constraints (4), (10), and (11) links the use of the satellites at the two echelons. In the following section, we introduce a branch-and-cut method using formulation (1)–(21). We introduce separation algorithms to dynamically add cuts, as well as new valid inequalities to strengthen the formulation, thus providing tighter lower bounds.

Branch-and-cut method

We have developed a branch-and-cut algorithm based on the previously introduced formulation, which we strengthen with the use of several families of valid inequalities. The branch-and-cut algorithm is based on a relaxation of the original model in which integrality is dropped as well as some constraints that are dynamically included by the use of separation algorithms. The solution of the resulting linear problem provides a lower bound on the optimal solution of the 2E-CLRP. If the solution of such program is not integer, a branching decision splits the problem into two complementary subproblems, and the same procedure is applied to each of them in a recursive manner. If a node is proven to be infeasible or its associated lower bound is larger than the value of the incumbent solution, it is discarded. Inspired by the success of the branch-and-cut methods for the CLRP by Belenguer et al. [2] and Contardo et al. [7], the algorithm introduced in this paper is based on the decomposition of the 2E-CLRP into two CLRPs, one for each echelon. Indeed, the key observation is that flow variables at the first echelon correspond to satellite demands, while at the second echelon they correspond to the satellite capacities. Hence, each echelon can be seen as a CLRP by giving variables the proper role. Therefore, we derive valid inequalities for the 2E-CLRP from those for the CLRP and make use of the separation algorithms described in the previously mentioned papers. In the following, we describe the valid inequalities used in this article, including some derived from the CLRP, plus some newly introduced. We also describe the separation algorithms used at each echelon, the node-selection strategy, the branching strategy, and the general separation strategy used through the search tree.

Valid inequalities

In this section, we introduce valid inequalities for the 2E-CLRP. They are subdivided into those specific for the first echelon and those specific for the second echelon. We introduce some new families of valid inequalities, and also derive valid inequalities from the two-index vehicle-flow formulation of the CLRP, which have been introduced by Belenguer et al. [2] and Contardo et al. [7]. They include lifted cover inequalities (LCIs), co-circuit constraints (CoCCs), flow-assignment inequalities (FAIs), y-capacity cuts (y-CCs), strengthened facility capacity inequalities (SFCIs), strengthened effective facility capacity inequalities (SEFCIs), location-routing comb inequalities (LRCIs), y-generalized large multistar inequalities (y-GLMs), strengthened comb inequalities (SCIs), and framed capacity inequalities (FrCIs). For details on the inequalities as well as the separation algorithms used to identify violated inequalities, we refer to [2,7].

First-echelon inequalities

Note that variables g on this echelon may be seen as the actual satellite demands. Therefore, all the inequalities valid for the CLRP are also valid for the first echelon of the 2E-CLRP when taking these quantities as demands. However, many of them become non-linear, such as those containing expressions combining the rounding operator with the flow variables g, or those containing products of the demands g with vehicle-flow variables u, v (e.g., several types of multistar inequalities) and thus cannot be introduced into the problem without losing linearity. We have then restricted the inclusion of valid inequalities at the first echelon to LCI, CoCC, and FAI, plus the two following families of valid inequalities: We call the first lifted facility capacity inequalities (LFCIs). They are a generalization of constraints (10) and can safely replace them. The second ones are called flow-location inequalities (FLIs). They forbid a node to be linked at the same time to another satellite and to a platform using a single-satellite edge. Fig. 2 illustrates how such a constraint may be violated. In the figure, the left-hand side of constraint (23) is equal to 1.25, which is greater than 1, the maximum allowable value for the right-hand side.
Fig. 2

Violation of a FLI.

Second-echelon inequalities

Satellite capacities on the second echelon are given by the flow variables g. One still has, however, that no more than units of flow can be delivered from any given satellite . Therefore, all the inequalities valid for the two-index vehicle-flow formulation of the CLRP are valid on the second echelon (the ones restricted to the variables z, x and y). Note that when replacing by g in those inequalities, many of them become non-linear and thus cannot be added without losing the linearity of the problem. We then make use of the following inequalities: y-CC, SFCI, SEFCI, LRCI, y-GLM, CoCC, LCI, SCI, FAI, and FrCI. Additionally, we add the following family of location-routing generalized large multistar inequalities (LRGLMs). Let be a customer subset, be a facility subset and be a customer not in U. Let us define . The following inequality is valid for the 2E-CLRP: The validity of these inequalities can be derived from the validity proof of the LRGLM introduced in Contardo et al. [7], by replacing the satellite capacities by the tighter capacities . The dominance with respect to the original LRGLM comes from the inclusion of constraints (14).

Separation algorithms

For the separation of the inequalities directly translated from the CLRP, we make use of the separation algorithms introduced in Belenguer et al. [2] and Contardo et al. [7]. Note that for a given satellite subset the degree constraints (2) in the first echelon imply the following identity:which differs from the classical identity of other vehicle routing problems in that the right-hand side of the expression above is replaced by . As a consequence, separation algorithms must be adapted to make use of the right expression when necessary. For the separation of the LFCI (22), we also make use of the separation algorithms for the SFCI, by setting the satellite demands to . The FLI (23) are inspected for violation one by one at each iteration, as they are polynomial in number. Finally, for the LRGLM (24), we use the separation algorithms for the LRGLM for the CLRP as described in Contardo et al. [7], by replacing the actual satellite capacities used in the original inequalities by the stronger ones .

Node selection strategy

As our objective is to obtain the tightest possible lower bound for the problem, we use a best-bound strategy. Thus, after the exploration of the current node and the creation of the two children subproblems, the next node to explore is the uninspected node with the smallest lower bound.

Branching strategy

The branching strategy is a hybrid mixing branching on variables and on cutsets. For the branching on cutsets, we add additional slack variables to the problem and the y-capacity cuts on the second echelon are added as identities. We then branch on these slack variables, similar to Belenguer et al. [2] and Contardo et al. [7]. The branching is performed in the following order: (1) location variables w, (2) location variables z, (3) cutsets on the second echelon, (4) vehicle-flow variables u, v and (5) vehicle-flow variables x, y.

Separation strategy

We distinguish between first and second echelon inequalities. We decided following preliminary computational experiments, to separate inequalities on the second echelon in the first place. Then, when we are no longer able to identify any violated inequality on the second echelon, we run the separation algorithms on the first echelon. We implemented a dynamic separation strategy as explained in Contardo et al. [7]. We differentiate between the cuts that are needed to impose feasibility of integer solutions and those which can be seen as cuts to strengthen the problem. For each of the latter, we consider a counter representing the number of times the corresponding family of cuts has been successfully separated and added to the problem. We keep track of this counter during the branching tree. At certain depths (as suggested by Contardo et al. [7] for the CLRP, we first check at depth 10, and then at multiples of 5), we deactivate from a branch (and thus from all its children) the cuts for which the counter is zero, and for the remaining ones we reset the counter to zero. Using this strategy, we rapidly deactivate cuts that do not seem promising during certain branches of the tree, but we keep them where they seem to be useful. As a matter of fact, we have observed that cuts are rarely added after depth 25 in the branching tree.

Adaptive large neighbourhood search

ALNS was proposed by Ropke and Pisinger [20] for the pickup and delivery problem. It extends the large neighbourhood search algorithm of Shaw [22] and is also inspired by the ruin-and-recreate principle [21]. A general ALNS for several classes of routing problems was developed in Pisinger and Ropke [16], where the authors show that ALNS can outperform existing solution methods. In ALNS, there are two types of operators. Destroy operators that remove a certain number of elements from a solution and repair operators that reinsert these elements in the partial solution. ALNS works with an adaptive weight adjustment, where each operator is chosen based on its past success. The ALNS we propose for the 2E-CLRP is based on the same decomposition principle detailed in the branch-and-cut section. An ALNS is thus called recursively to solve the CLRP on each echelon. Similar to the branch-and-cut, we initiate with the second echelon. Then, whenever the second echelon is solved and the new solution leads to a change in the satellite configuration, the first echelon is solved again by calling the ALNS procedure. The ALNS called at each echelon is based on a previously proposed solution method for the 2E-CVRP and the CLRP [10], with a different strategy to determine the solution serving as the new incumbent. This strategy is detailed in Section 5.3, when we refer to the large destroy operators. Parameters were also modified to achieve best performance for the new problem as described in Section 6.2. The same destroy and repair operators are used to address the CLRP on either the first or the second level. In the following, in order not to overload the presentation, we describe the operators in terms of the second echelon only. When the operators are used on the first level, the platforms correspond to satellites and the satellites correspond to customers. We introduce a two-stage algorithm that deals with two types of destroy operators. There are large-impact, large, operators, D, that change the current configuration of opened satellites and small-impact, small, operators, D, that remove only a certain number of customers, but do not explicitly open or close satellites. The operators from set D are called every iterations without improvements. For these operators, the algorithm starts from the best found solution. Only if the new solution is within of the best found solution, it can serve as the new incumbent with a probability of . Moreover, a solution yielded by these operators is accepted, even if it is not improving. The goal of this procedure is to provide the means for the algorithm to explore different configurations of satellites with the small operators of set D. After a certain number of non-improving iterations, the configuration is changed and the algorithm starts from either the incumbent or the best found solution. The customers that were removed by the destroy operators are then inserted by means of an insertion operator to minimize the objective function value. After the destroy and repair operators are executed, the first level is improved by recursively calling again the ALNS to solve the first-level CLRP. For the instances containing only one platform (like those used in Nguyen et al. [12]), a simplified procedure based on moving and swapping single satellites is executed. In these instances, the first level is not a CLRP and hence it is not necessary to call the ALNS to solve a CLRP at every iteration. The destroy and repair operators are selected by a roulette wheel mechanism. Every operator j has a score . This score is updated by adding , every time operator j finds a new global best solution. The probability of being selected in the roulette wheel is based on , where p is the number of operators considered. Algorithm 1 displays the pseudocode for our ALNS procedure detailed in the rest of this section. Basic steps of the ALNS algorithm.

Search space

We allow the exploration of infeasible solutions during the search. More precisely, violations of the constraints on vehicle, satellite, and platform capacities are penalized by a weighted penalty function. The objective function is , where c(s) corresponds to the routing cost and the opening cost of satellites or platforms, d(s) represents violations of the vehicle capacity, and e(s) represents violations of the satellite or platform capacity. The parameters and are the corresponding weights, which are adjusted dynamically during the search. If a violation occurs, the corresponding weight is multiplied by a factor , if the solution is feasible, it is divided by . The weights are restricted to an interval that guarantees that the search starts with a reasonably high weight and also prevents the weight from going to infinity.

Initial solution

For the initial solution, we open the configuration of satellites that yields the lowest cost and can serve the total customer demand. Then, customers are randomly assigned to a satellite with a bias towards the shortest distance and vehicle routes are constructed by means of the Clarke and Wright [5] Savings Algorithm. To construct a first level solution, a random platform is opened and satellites are assigned to it, no matter if platform capacity is violated. The vehicle routes at that platform are build with the Clarke and Wright [5] Savings Algorithm.

Destroy and repair operators

We use eight destroy operators and four repair operators in our algorithm, based on the ones in Hemmelmayr et al. [10]. Three of the destroy operators explicitly open or close a satellite. These are Satellite Removal, Satellite Opening, and Satellite Swap. They are the large operators of set D. Satellite Removal chooses one random satellite. This satellite is closed by removing all the customer routes originating from it. Furthermore, the satellite is removed from the first level routes. In the Satellite Opening operator, a random satellite is opened. The q customers that have the minimum distance to this satellite are removed from their current routes. Satellite Swap closes one satellite and opens another one. The satellite that will be closed is chosen randomly and the customer routes originating from it are removed. The satellite that will be opened is chosen randomly with a probability that is inversely proportional to the distance to the closed satellite. The destroy operators from the set D remove only a limited number of customers, but do not explicitly change the satellite configuration. However, they can close satellites if all the customers of a satellite are removed and no customer is inserted at this satellite any more. It can also happen that a satellite is opened by the diversification mechanism in Route Removal. The operator Random Removal is a very simple operator that removes q random customers. Worst Removal selects the q “worst” customers. These are the customers that are in the most expensive insertion positions, i.e., the positions where the difference between the cost with the customer in the solution compared to the cost without the customer in the solutions is large. We normalize this gain by dividing it by the average cost of the ingoing arcs. Moreover, a perturbation factor d is added, . This value has been chosen following the recommended settings used by Hemmelmayr et al. [10]. In the Related Removal operator, a random seed customer and the customers that are nearest to the seed customer are removed. In the Route Removal, one route is removed. All customers that were contained in the removed route are put in the customer pool. In order to avoid cycling, it is forbidden to open a new route at the corresponding satellite. Another route is opened at a random satellite. This mechanism prevents the rare cases where all satellites are closed, because all customers are served by a single route originating from the only open satellite. Moreover, it is important for diversification. Route Redistribution is the largest destroy operator that removes between 1 and 3 random routes. The routes are selected based on the distance of the customers that are served by that route between their current satellite and any other open satellite. This selection mechanism reflects the idea that customers close to several satellites may benefit more from a reassignment than those that are only close to one satellite. A perturbation factor is also added. Finally, we use four insertion operators. Their goal is to select a satellite among the set of open satellites, a route, and an insertion position for every customer that has to be inserted. The opening of a new route is considered too, unless this is forbidden because the Route Removal operator was applied to the considered satellite in the same iteration. In Greedy Insertion, the customers are inserted in a random order into the position that minimizes the total insertion cost over all satellites and routes. There are two versions of Greedy Insertion. Greedy Insertion Perturbation uses an additional perturbation factor d, , that provides diversification. In the Greedy Insertion Forbidden operator, the satellite from which the customer has just been removed, cannot be selected for insertion in the same iteration. Greedy Insertion Perturbation and Greedy Insertion Forbidden guarantee that the insertion position is not determined too greedily based on second-level insertion cost. Regret Insertion uses a more sophisticated insertion scheme. Customers for which the difference between the best and the next best insertion positions is large, are favoured for insertion. In a regret-k heuristic, customer i is chosen for insertion from the set of untreated customers U, according to , where is the cost of inserting customer i at the h-th cheapest position. When a customer is inserted, the insertion positions of the remaining customers, that have not been inserted yet, have to be recomputed.

Local search

The goal of local search is to improve the CLRP solution on the second level. It is performed after the Satellite Removal, Satellite Swap or Satellite Opening operators and for promising solutions. Promising solutions are solutions for which the objective value is within of the best found solution. The following operators are used within the local search framework: split, move, swap, 2-opt, and 2-opt*. They are performed sequentially, in a first improvement manner. For more details on each of these operators, we refer to [10].

Computational results

Our methods were coded in C++, compiled with the Intel C++ compiler v11.0, and run on an Intel Xeon E5462, 3.0 GHz processor with 16 GB of memory. For the solution of linear and integer problems, we used CPLEX 12.2.

Test instances

We have tested our methods on several sets of standard instances from the literature. Nguyen et al. [12] introduced two sets of instances that contain only one platform at the first level, i.e., . The first set is an extension of the set “Prodhon” from the CLRP and contains 30 instances with 20–200 customers and 5–10 satellites. The second set contains 24 newly generated instances and is referred to as set “Nguyen”. The number of customers in these instances ranges from 25 to 200 and the number of satellites from 5 to 10. The last three sets of instances are instances used by Nguyen et al. [11], generated by Sterle [23] according to the specifications explained in Boccia et al. [3] and contain a total of 93 instances. Note that these sets do not correspond to the instances sets used in Boccia et al. [3,4], which were not available from the authors, but have been regenerated. The three sets of instances, , and I3, differ in the location of the satellites and platforms. The number of customers in the instances ranges from 8 to 200, the number of satellites ranges from 3 to 20, and the number of platforms ranges from 2 to 5. In total, our experiments are run on 147 instances.

Parameter settings

For the branch-and-cut method, the parameters associated to the separation of each family of inequalities are set as in Contardo et al. [7] for both echelons. The search strategy is set to best-bound to guide the search towards the best possible lower bound. Finally, we use as initial cut-off value the best known upper bound according to Tables 4–6 as described in the next subsection. For the ALNS, the parameters were set according to the experimental tests. The parameters for solution acceptance were set to the following values. The threshold , which defines that incumbent solutions that have an objective function value within of the value of the best solution found, can be accepted, was set to 1%. The probability of acceptance, , was set to 0.5. For the CLRP, values for in the range [100; 2000] yielded the best performance. To solve the 2E-CLRP, was set to 1000. The number of customers to remove is a random integer between and . We set to 1 and to . For the weighted penalty function, was set to 1.1, to 5 and to 10,000. The parameter that is added to the score every time a new best solution is found, , was set to 1. As a stopping condition, we choose the number of iterations. We decided that 500,000 iterations offer a good trade-off between runtime and solution quality. A regret-3 heuristic was used in Regret Insertion and , which is the threshold that identifies promising solutions that are selected for local search, was set to 0.2.

Numerical results

In the calibration phase of the ALNS, we tested the performance of the method under several different parameter settings. Some of these settings yielded the best results for some instances, without always providing good overall results. We report in Tables 4–6 in the Appendix the best results obtained by the ALNS during this testing phase, and highlight those in which we observe an improvement of the current best known solutions as reported in Nguyen et al. [12,11]. From now on, we refer to the best known results as the results reported in those tables. Note that in order to make fair comparisons to other methods and to assess the performances of our algorithms, these values are only taken as references. Due to the randomness incorporated in the ALNS, we have performed 10 runs of our method on each instance. We compare in Table 1 the ALNS meta-heuristic we propose against the methods GRASP+PR [12] and MS-ILS+PR [11]. In these papers, the authors do not report the average solution quality of their algorithms, but only the best solutions found after five runs for each instance. For the sets and I3, Nguyen et al. [11] only report results for the instances with 50 and more customers, which we also include in our comparison. In this table, headers gap and gap correspond to the average and the minimum gaps, respectively, for each algorithm, when available. The gap between a solution of value z and a best known solution of value z⁎ is computed as . Header t stands for the average CPU time spent, in seconds, by each method (times are not scaled and comparisons based on time should be considered with care). The results reported by Nguyen et al. [12,11] are based on experiments run on an Intel Pentium IV CPU running at 3.4 GHz with 1 GB of total RAM.
Table 1

Aggregated results of the proposed ALNS.

SetGRASP+PR
MS-ILS+PR
ALNS
GapmintavgGapmintavgGapavgGapmintavg
Prodhon1.1514.20.88178.30.730.21465.82
Nguyen1.6013.10.80112.200.450.12191.97
I1a3.15917.100.530.00839.60
I2a2.72928.000.600.00913.70
I3a1.68935.100.490.00909.85
Average1.44426.710.11538.25
# of BKS8/8414/8470/84 (133/147)b

Restricted to instances containing 50 or more customers.

All instances included.

As one can see from the results obtained, our method is robust and clearly outperforms the previous heuristics of Nguyen et al. [12,11]. Indeed, our ALNS provides solutions on average more than 10 times better (in terms of the gaps with respect to the best known solutions) than the solutions obtained by MS-ILS+PR. Although it is not possible to make a fair comparison with method GRASP+PR (due to the smaller number of instances reported in that paper), the differences between GRASP+PR and MS-ILS+PR suggest that when comparing to ALNS the differences should be even larger. Moreover, out of the 84 instances considered in the comparison, our method was able to find the best known solutions in a total of 70 instances, against 8 for GRASP+PR and 14 for MS-ILS+PR. To better evaluate the strength of the formulation and branch-and-cut method we propose, we also implemented the three-index formulation introduced by Boccia et al. [4]. In such a formulation, a third index is added to the vehicle-flow variables to take into account the vehicle performing each particular trip. This formulation contains variables and constraints but, as indicated previously, presents many symmetries when the fleet is homogeneous, providing weak bounds in large computing times, as shown by our computational results. We report in Table 2 the aggregated results obtained by our branch-and-cut algorithm and by our implementation of the three-index vehicle-flow formulation (both methods run on the same machine). Header #opt stands for the number of instances that were solved to optimality. Headers gap and t correspond to the gap (in %) and the CPU time (in seconds) spent for the solution of the linear relaxation of the problem. Analogously, columns gap and t stand for the gap and CPU time spent after a maximum of two hours of computation. Given a lower bound z and an upper bound z the gap is computed as . Finally, Column gap⁎ corresponds to the optimality gap between the final lower bound and the average solution value found by the ALNS.
Table 2

Aggregated results of the B&C algorithm.

SetB&C
3-Index modela
#optGaplrtlrGaptGap#optGapt
Prodhon8/307.22963.273.555644.804.210/3021.837200
Nguyen11/248.87508.233.074190.053.470/2423.457200
I117/3111.33574.652.963400.843.116/3119.245905.62
I219/318.41186.972.473007.532.656/3117.555629.40
I320/319.3180.151.852668.832.016/3117.055639.27
Average9.05457.082.763750.333.0619.646266.69
Optimality75/14718/147

Instances with 150 or more customers could not be loaded into memory.

As shown in Table 2, our algorithm can solve more and larger instances than the previous three-index formulation of Boccia et al. [4]. For the instances that remain unsolved, our branch-and-cut method provides much tighter gaps in lower computing times. Also, it is possible to establish a comparison between our ALNS and the branch-and-cut algorithm. Indeed, if we consider the average upper bounds provided by the ALNS and the lower bounds obtained with the branch-and-cut method, they are at an average distance of 3.06%, which leaves little space for further improvements and also validates both algorithms introduced in this paper. In Table 3, we report a sensitivity analysis of the branch-and-cut method with respect to the quality of the initial upper bound. In this table, we report results restricted to a small number of instances. We have chosen 20 instances from the three sets, containing small, medium and large instances. We tested and compared two different settings. In the columns With UB, we report the results obtained by our branch-and-cut method under the default setting when the best known solutions are taken as initial cut-off values. Under the header Without UB, we report the same results but without considering any initial cut-off value. In both cases, we report the final lower bound, the number of nodes inspected, the total CPU time, as well as the final gap with respect to the best known solution. As shown in this table, the impact of adding a cut-off value to the algorithm is not important (the final gap decreases from 4.45% to 4.41%), the improvement being marginal with respect to the situation without an initial cut-off value. This shows the robustness of our method which produces almost the same lower bound even if no upper bound is known in advance. However, the algorithm following a best-bound strategy does not always find a feasible solution, which also demonstrates the need of a heuristic such as the ALNS we introduce in this paper.
Table 3

Sensitivity analysis of the B&C algorithm.

InstancezUBWith UB
Without UB
LB#NtGapLB#NtGap
I1-20×8×3848.31848.3131,0551412.310.00848.3138,4892409.290.00
I2-20×8×3758.06758.066826.050.00758.06116118.080.00
I3-20×8×3643.89643.89671.670.00643.891022.720.00
I1-50×10×51132.631104.9843737411.642.441103.6041787415.682.56
I2-50×10×51256.441222.1041657420.762.731221.9939357419.092.74
I3-50×10×51207.311179.1535657469.872.331176.7535277465.062.53
I1-100×10×52124.901958.10537480.917.851959.88587508.937.77
I2-100×10×52231.212072.441927413.897.122073.912167473.967.05
I3-100×10×52178.352057.152257518.355.562056.281987503.275.60
I1-150×10×51883.441711.06167425.679.151711.04167401.289.15
I2-150×10×51728.051553.03527575.3010.131550.90537577.7410.25
I3-150×10×51274.441198.771527474.795.941198.881887535.215.93
ppw-20×5-1a89,07589,0752032.770.0089,0751753.730.00
ppw-50×5-1a130,843128,87053547326.081.51128,99943337337.291.41
ppw-100×10-1a353,133325,164997468.467.92323,051717464.608.52
ppw-200×10-1a549,718484,11527266.7811.93484,11527271.3311.93
25-5MN78,94778,947130.930.0078,947361.110.00
50-5MN123,484123,48416446.470.00123,484160109.480.00
100-10MN201,275192,10813627467.134.55192,1749087518.534.52
200-10MN324,006294,93177356.738.97294,93177369.348.97



Average25905277.334.4128915340.294.45

Conclusions

We presented new algorithms to efficiently reach good-quality lower and upper bounds for the 2E-CLRP. We introduced a compact two-index vehicle-flow formulation, proposed several families of valid inequalities and embedded them into a branch-and-cut solver. To the best of our knowledge, this is the first time an exact method has been proposed for this problem class. The method is able to solve to optimality small- and medium-size instances containing up to 50 customers, and provides tight lower bounds for the instances that cannot be solved. We also introduced an adaptive large neighbourhood search meta-heuristic capable of providing good upper bounds in short computing times. The proposed ALNS outperforms previous heuristics for the 2E-CVRP with single-sourcing constraints in terms of upper bound quality and also provides good quality upper bounds for the instances of 2E-CLRP. Moreover, our ALNS was able to find the value of the best known solutions on 133 instances out of 147. When comparing our methods, we observe that the lower bounds obtained by the branch-and-cut method lie no further than 3.06% on average below the average solution values found by the ALNS, which validates the robustness and quality of both approaches. As an avenue of future research, we believe that exploring other meta-heuristic approaches combining integer-programming methods and meta-heuristics could lead to better upper bounds. On the other hand, we believe that embedding the inequalities used in this paper into a branch-and-cut-and-price solver could result in a more robust exact method being able to scale better on large instances. Also, the methodologies used in this paper can be used to solve some related problems combining location with routing decisions.
procedure ALNS-2ECLRP
 s,s,sInitialSolution,InitializeScores(π)
 repeat
 ifω iterations without improvement then
  NChooseDestroyOperator(DL,π)
  iff(s)<(1+η)f(s)then
  ss with probability (1Θ)
  else
  ss
  end if
 else
  NChooseDestroyOperator(DS,π)
 end if
 N+ChooseRepairOperator(R,π)
 sDestroyAndRepair(s,N,N+)
 solve the first-level CLRP by ALNS-2ECLRP
 ifω iterations without improvement then
  sLocalSearch(s)
  ss
 else iff(s)<(1+θ)f(s)then
  sLocalSearch(s)
 endif
 iff(s)<f(s)then
  ss
 end if
 iff(s)<f(s)then
  ss
 end if
 Update scores π
 until the stopping condition is met
 return s
end procedure
Table 4

Best known results for the set Prodhon.

InstancezzBKSGap
ppw-20×5-1a89,07589,0750.00
ppw-20×5-1b61,86361,8630.00
ppw-20×5-2a85,29084,478−0.95
ppw-20×5-2b60,83860,8380.00
ppw-50×5-1a134,855130,843−2.98
ppw-50×5-1b101,530101,5300.00
ppw-50×5-2a132,159131,825−0.25
ppw-50×5-2b110,547110,332−0.19
ppw-50×5-2BIS122,654122,599−0.04
ppw-50×5-2bBIS105,776105,696−0.08
ppw-50×5-3a128,379128,3790.00
ppw-50×5-3b104,006104,0060.00
ppw-100×5-1a320,130318,761−0.43
ppw-100×5-1b258,205256,878−0.51
ppw-100×5-2a234,179231,305−1.23
ppw-100×5-2b195,426194,729−0.36
ppw-100×5-3a245,944244,194−0.71
ppw-100×5-3b195,254194,110−0.59
ppw-100×10-1a358,939353,133−1.62
ppw-100×10-1b302,584297,167−1.79
ppw-100×10-2a306,303305,154−0.38
ppw-100×10-2b264,389263,876−0.19
ppw-100×10-3a313,249310,200−0.97
ppw-100×10-3b266,383261,796−1.72
ppw-200×10-1a554,598549,718−0.88
ppw-200×10-1b452,286445,802−1.43
ppw-200×10-2a502,173498,199−0.79
ppw-200×10-2b425,311423,031−0.54
ppw-200×10-3a533,732531,548−0.41
ppw-200×10-3b418,800402,130−3.98



Average−0.77
Table 5

Best known results for the set Nguyen.

InstancezzBKSGap
25-5N80,37080,3700.00
25-5Nb64,56264,5620.00
25-5MN78,94778,9470.00
25-5MNb64,43864,4380.00
50-5N138,126137,815−0.23
50-5Nb111,062110,094−0.87
50-5MN123,484123,4840.00
50-5MNb105,401105,4010.00
50-10N116,132115,725−0.35
50-10Nb87,31587,3150.00
50-10MN135,748135,519−0.17
50-10MNb110,613110,6130.00
100-5N196,910193,228−1.87
100-5Nb159,086158,927−0.10
100-5MN207,119204,682−1.18
100-5MNb166,115165,744−0.22
100-10N215,792210,449−2.48
100-10Nb156,401155,489−0.58
100-10MN205,964201,275−2.28
100-10MNb170,706170,625−0.05
200-10N353,685347,395−1.78
200-10Nb262,072256,171−2.25
200-10MN332,345324,006−2.51
200-10MNb292,523287,076−1.86



Average−0.78
Table 6

Best known results for the sets and I3.

InstanceI1
I2
I3
zzBKSzzBKSzzBKS
8×3×2575.70575.70578.33
8×4×2549.34604.13450.71
9×3×2878.69386.15454.63
10×4×2806.72629.38540.61
10×5×3696.94551.45745.48
10×8×3596.56504.20412.91
15×10×2732.48709.10605.11
15×10×3686.71777.49546.61
15×4×21064.52827.81688.87
15×5×3933.751075.221001.28
15×8×3730.36652.58578.23
20×10×2937.40766.24744.82
20×10×3761.28744.26728.17
20×10×41149.72793.001190.95
20×8×21029.59772.29846.07
20×8×3848.31758.06643.89
25×10×21030.40961.59834.23
25×10×31062.30987.57820.12
25×10×41607.941125.561057.63
25×8×2950.87912.02951.56
25×8×3870.69979.62774.36
50×10×51207.311132.631265.731256.441208.431207.31
50×8×51171.691162.441123.421121.131171.351162.44
75×10×51561.51540.231718.251691.151732.331721.47
75×15×51700.321686.211751.141742.251491.311483.14
100×10×52192.142124.92290.642231.212238.72178.35
100×20×51989.481973.082039.251996.342053.122035.37
150×10×51953.551883.441768.791728.051307.191274.44
150×20×51905.811869.531664.21630.291266.831235.86
200×10×52601.332443.802292.472147.511822.51766.46
200×20×52307.532219.542097.7420492604.562531.21
Table 7

Results of the ALNS on the instances of set Prodhon.

InstancezBKSzavgGapavgzminGapmintavgtmin
ppw-20×5-1a89,07589,075.00.0089,0750.0026.32.8
ppw-20×5-1b61,86361,863.00.0061,8630.0026.10.2
ppw-20×5-2a84,47884,478.00.0084,4780.0028.92.8
ppw-20×5-2b60,83860,838.00.0060,8380.0029.10
ppw-50×5-1a130,843131,036.60.15130,8430.0096.98.2
ppw-50×5-1b101,530101,530.00.00101,5300.0094.28.7
ppw-50×5-2a131,825131,878.30.04131,8250.00130.637.2
ppw-50×5-2b110,332110,332.00.00110,3320.00160.721.1
ppw-50×5-2BIS122,599122,626.50.02122,5990.00121.243.2
ppw-50×5-2bBIS105,696105,719.90.02105,6960.00131.657.4
ppw-50×5-3a128,379128,379.00.00128,3790.0088.417.8
ppw-50×5-3b104,006104,006.00.00104,0060.00114.914.2
ppw-100×5-1a318,761320,511.20.55319,1370.12646.9445
ppw-100×5-1b256,878258,540.80.65257,3490.181179.9607.9
ppw-100×5-2a231,305231,305.00.00231,3050.0031643.7
ppw-100×5-2b194,729194,771.00.02194,7290.001641602.4
ppw-100×5-3a244,194244,418.00.09244,1940.00375.5167.9
ppw-100×5-3b194,110194,239.40.07194,1100.00377210.9
ppw-100×10-1a353,133365,036.13.37358,0681.40158.965.6
ppw-100×10-1b297,167303,089.81.99297,1670.00155.2118.7
ppw-100×10-2a305,154307,762.90.85305,4020.08270163
ppw-100×10-2b263,876266,642.11.05265,1380.48348.2225.9
ppw-100×10-3a310,200318,499.82.68313,5171.07215.7106
ppw-100×10-3b261,796270,326.53.26264,0960.88256.9181.6
ppw-200×10-1a549,718559,774.81.83552,8160.561039.2648.7
ppw-200×10-1b445,802459,033.12.97448,2360.551811.9927.6
ppw-200×10-2a498,199498,659.40.09498,1990.00576.4339.3
ppw-200×10-2b423,031423,517.60.12423,0480.001723.81161.5
ppw-200×10-3a531,548535,823.80.80534,5690.57741.3285.2
ppw-200×10-3b402,130407,070.21.23404,2840.541091.9439.1



Average0.730.21465.82231.79
Table 8

Results of the ALNS on the instances of set Nguyen.

InstancezBKSzavgGapavgzminGapmintavgtmin
25-5N80,37080,3700.0080,3700.00380.1
25-5Nb64,56264,5620.0064,5620.0036.40
25-5MN78,94778,9470.0078,9470.0050.60.5
25-5MNb64,43864,4380.0064,4380.0030.60
50-5N137,815138,093.20.20137,8150.0074.233.9
50-5Nb110,094110,0940.00110,0940.00113.832.3
50-5MN123,484123,4840.00123,4840.00105.213.1
50-5MNb105,401105,4010.00105,4010.0077.523.1
50-10N115,725115,8430.10115,7250.0090.321.3
50-10Nb87,31587,3150.0087,3150.0010220.7
50-10MN135,519135,556.60.03135,5190.0076.339
50-10MNb110,613110,636.10.02110,6130.0049.219.1
100-5N193,22819,4012.30.41193,2280.00224.5154.3
100-5Nb158,927159,029.90.06158,9270.00234.9133
100-5MN204,682204,819.60.07204,6820.00271.2135.7
100-5MNb165,744165,863.10.07165,7440.00220.9112.9
100-10N210,449216,285.52.77212,8471.14150.870.8
100-10Nb155,489156,261.60.50155,4890.00177.270.3
100-10MN201,275202,491.90.60201,2750.00155.4104.7
100-10MNb170,625170,985.40.21170,6250.00178.7114.2
200-10N347,395351,7701.26347,3950.00420.5237.2
200-10Nb256,171258,3970.87256,1710.00492.4340.8
200-10MN324,006329,913.71.82326,4540.76547.3354.7
200-10MNb287,076292,357.61.84289,7420.93689.5481.7



Average0.450.12191.97104.72
Table 9

Results of the ALNS on the instances of set I1.

InstancezBKSzavgGapavgzminGapmintavgtmin
I1-8×3×2575.701575.700.00575.700.0015.30.2
I1-8×4×2549.338549.340.00549.340.0018.00.2
I1-9×3×2878.69878.690.00878.690.0036.40.0
I1-10×4×2806.719806.720.00806.720.0030.10.0
I1-10×5×3696.938696.940.00696.940.0022.80.0
I1-10×8×3596.563596.560.00596.560.0040.44.2
I1-15×10×2732.483732.480.00732.480.0048.62.4
I1-15×10×3686.714686.710.00686.710.0049.01.7
I1-15×4×21064.521064.520.001064.520.0047.50.3
I1-15×5×3933.747933.750.00933.750.0049.10.2
I1-15×8×3730.362730.360.00730.360.0055.70.9
I1-20×10×2937.401937.400.00937.400.0062.110.3
I1-20×10×3761.285761.290.00761.290.0065.50.9
I1-20×10×41149.721149.720.001149.720.0066.65.9
I1-20×8×21029.591029.590.001029.590.0067.06.3
I1-20×8×3848.31848.310.00848.310.0064.81.7
I1-25×10×21030.41030.400.001030.400.0074.96.7
I1-25×10×31062.31062.300.001062.300.0075.12.8
I1-25×10×41607.941607.940.001607.940.0076.312.3
I1-25×8×2950.866950.870.00950.870.0071.82.7
I1-25×8×3870.692870.690.00870.690.0076.40.1
I1-50×10×51132.631133.740.101132.630.00341.8178.8
I1-50×8×51162.441163.450.091162.440.00321.5119.6
I1-75×10×51540.231540.910.041540.230.00507.2219.9
I1-75×15×51686.211700.380.841686.210.00527.3247.6
I1-100×10×52124.92136.820.562124.900.00659.9499.5
I1-100×20×51973.081983.050.511973.080.00705.2605.2
I1-150×10×51883.441893.920.561883.440.001187.8718.9
I1-150×20×51869.531889.071.051869.530.001203.1901.5
I1-200×10×52443.82461.770.742443.800.001431.01135.6
I1-200×20×52219.542238.060.832219.540.001511.51073.8



Restricted averagea0.530.00839.60570.00
Total average0.170.00307.76185.81

Restricted to instances containing 50 or more customers.

Table 10

Results of the ALNS on the instances of set I2.

InstancezBKSzavgGapavgzminGapmintavgtmin
I2-8×3×2575.701575.70.00575.70.0015.90.0
I2-8×4×2604.127604.130.00604.130.0024.50.0
I2-9×3×2386.152386.150.00386.150.0017.50.0
I2-10×4×2629.381629.380.00629.380.0018.40.0
I2-10×5×3551.452551.450.00551.450.0027.30.0
I2-10×8×3504.203504.20.00504.20.0039.60.0
I2-15×10×2709.103709.10.00709.10.0053.71.0
I2-15×10×3777.488777.490.00777.490.0056.50.5
I2-15×4×2827.81827.810.00827.810.0045.30.4
I2-15×5×31075.221075.220.001075.220.0056.10.0
I2-15×8×3652.575652.580.00652.580.0049.51.9
I2-20×10×2766.238766.240.00766.240.0062.32.3
I2-20×10×3744.265744.270.00744.270.0062.03.0
I2-20×10×4792.9967930.007930.0068.50.6
I2-20×8×2772.29772.290.00772.290.0065.514.2
I2-20×8×3758.059758.060.00758.060.0065.61.4
I2-25×10×2961.59961.590.00961.590.0081.53.7
I2-25×10×3987.57987.570.00987.570.0079.60.8
I2-25×10×41125.561125.560.001125.560.0079.04.0
I2-25×8×2912.017912.020.00912.020.0077.99.3
I2-25×8×3979.615979.620.00979.620.0077.90.0
I2-50×10×51256.441256.440.001256.440.00410.896.5
I2-50×8×51121.131121.130.001121.130.00386.651.5
I2-75×10×51691.151691.150.001691.150.00638.7208.6
I2-75×15×51742.251748.620.371742.250.00670.1446.6
I2-100×10×52231.212242.280.502231.210.00870.9535.5
I2-100×20×51996.342018.741.121996.340.00872.0592.8
I2-150×10×51728.051734.640.381728.050.001004.6683.8
I2-150×20×51630.291654.831.511630.290.001070.3832.3
I2-200×10×52147.512158.240.502147.510.001477.21002.8
I2-200×20×52049.012081.581.592049.010.001736.01369.6



Restricted averagea0.600.00913.7582.0
Total average0.190.00331.01189.13

Restricted to instances containing 50 or more customers.

Table 11

Results of the ALNS on the instances of set I3.

InstancezBKSzavgGapavgzminGapmintavgtmin
I3-8×3×2578.325578.330.00578.330.0015.30.1
I3-8×4×2450.713450.710.00450.710.0017.20.0
I3-9×3×2454.627454.630.00454.630.0015.60.0
I3-10×4×2540.605540.610.00540.610.0020.30.0
I3-10×5×3745.484745.480.00745.480.0030.50.1
I3-10×8×3412.906412.910.00412.910.0020.40.0
I3-15×10×2605.108605.110.00605.110.0048.60.0
I3-15×10×3546.612546.610.00546.610.0053.02.8
I3-15×4×2688.869688.870.00688.870.0045.10.3
I3-15×5×31001.281005.020.371001.280.0050.52.7
I3-15×8×3578.225578.230.00578.230.0050.82.3
I3-20×10×2744.815744.820.00744.820.0062.72.8
I3-20×10×3728.169728.170.00728.170.0065.08.2
I3-20×10×41190.951190.950.001190.950.0063.15.6
I3-20×8×2846.066846.070.00846.070.0068.07.0
I3-20×8×3643.892643.890.00643.890.0063.96.5
I3-25×10×2834.226834.340.01834.230.0075.024.3
I3-25×10×3820.123820.120.00820.120.0075.32.9
I3-25×10×41057.631057.630.001057.630.0074.37.9
I3-25×8×2951.56951.590.00951.560.0074.040.1
I3-25×8×3774.356774.360.00774.360.0073.75.4
I3-50×10×51207.311207.310.001207.310.00341.236.9
I3-50×8×51162.441164.640.191162.440.00353.2107.6
I3-75×10×51721.471723.410.111721.470.00691.0406.3
I3-75×15×51483.141483.420.021483.140.00634.7392.6
I3-100×10×52178.352183.310.232178.350.00922.4584.5
I3-100×20×52035.372048.350.642035.370.00755.1585.1
I3-150×10×51274.441282.130.601274.440.001040.0710.1
I3-150×20×51235.861254.381.501235.860.001062.9829.4
I3-200×10×51766.461776.470.571766.460.001690.01079.6
I3-200×20×52531.212557.051.022531.210.001608.01157.7



Restricted averagea0.490.00909.85588.98
Total average0.170.00327.77193.83

Restricted to instances containing 50 or more customers.

Table 12

Results of the B&C algorithm on the set Prodhon.

InstancezUBzlrGaplrtlrzGapt#NGap
ppw-20×5-1a89,07582,642.77.220.2489,0750.002.772030.00
ppw-20×5-1b61,86361,793.20.110.1761,8630.000.2240.00
ppw-20×5-2a84,47879,253.16.180.2384,4780.004.983800.00
ppw-20×5-2b60,83859,044.22.950.2360,8380.000.2910.00
ppw-50×5-1a130,843116,29211.1218.44128,8701.517326.0853541.65
ppw-50×5-1b101,53094,5776.852.28101,5300.005688.0810,9520.00
ppw-50×5-2a131,825123,4816.335.31131,8250.001670.0653520.04
ppw-50×5-2b110,332104,4885.301.98110,3320.0075.278330.00
ppw-50×5-2Bis122,599117,8153.9022.64122,0230.477283.1579000.49
ppw-50×5-2bBis105,69688,717.516.063.2090,196.614.667410.63624914.68
ppw-50×5-3a128,379119,7346.737.74127,2910.857289.1751340.85
ppw-50×5-3b104,006101,7022.222.16104,0060.0041.334990.00
ppw-100×5-1a318,761301,2465.49694.48311,1922.377353.315792.91
ppw-100×5-1b256,878241,3126.06252.07251,5962.067423.351402.69
ppw-100×5-2a231,305221,8404.09178.18228,1861.357396.837691.35
ppw-100×5-2b194,729189,3242.7833.83193,4250.677440.099940.69
ppw-100×5-3a244,194220,7179.6155.71240,8561.377336.5311451.46
ppw-100×5-3b194,110183,7445.3427.01192,5640.807355.214050.86
ppw-100×10-1a353,133306,76413.13280.34325,1647.927468.469910.92
ppw-100×10-1b297,167261,30512.0781.83275,9977.127407.303618.94
ppw-100×10-2a305,154272,80210.60330.54283,0907.237437.824118.02
ppw-100×10-2b263,876239,5259.2338.08247,2636.307327.4429137.27
ppw-100×10-3a310,200270,12412.92335.92286,7187.577422.851019.98
ppw-100×10-3b261,796235,56110.0244.22247,0495.637556.612158.61
ppw-200×10-1a549,718484,09211.944623.58484,11511.937266.78213.52
ppw-200×10-1b445,802402,7969.651681.13407,9218.507351.46311.13
ppw-200×10-2a498,199479,1413.837215.22479,1413.837215.2213.91
ppw-200×10-2b423,031409,4703.211487.28411,3822.757361.7522.87
ppw-200×10-3a531,548487,2248.347201.81487,2248.347201.8119.07
ppw-200×10-3b402,130389,0053.264272.17389,0053.267229.1714.44



Average7.22963.273.555644.804.21
Table 13

Results of the B&C algorithm on the set Nguyen.

InstancezUBzlrGaplrtlrzGapt#NGap
25-5N80,37076,143.75.260.3780,3700.000.7750.00
25-5Nb64,56263,587.41.510.1764,5620.000.2610.00
25-5MN78,94772,436.58.250.3178,9470.000.93130.00
25-5MNb64,43863,820.30.960.3664,4380.000.6820.00
50-5N137,815132,439.03.902.55137,8150.001450.0968490.20
50-5Nb110,09498,710.510.341.53110,0940.001195.5038760.00
50-5MN123,484110,486.010.534.93123,4840.0046.471640.00
50-5MNb105,401101,104.04.083.14105,4010.0047.162780.00
50-10N115,725101,887.011.963.40115,3110.367318.0313,9020.46
50-10Nb87,31581,114.57.102.9387,3150.001378.0411,4810.00
50-10MN135,519122,272.09.783.79135,5190.0079.134520.028
50-10MNb110,613102,301.07.512.76110,6130.0023.611110.02
100-5N193,228174,725.09.58158.82183,5705.007380.528855.38
100-5Nb158,927145,960.08.1620.89154,1453.017436.8225943.07
100-5MN204,682176,807.013.6269.39194,9684.757466.657074.81
100-5MNb165,744153,433.07.4318.38160,2213.337402.3112723.40
100-10N210,449178,544.015.16134.87194,1877.737478.1930110.22
100-10Nb155,489143,997.07.3946.54151,4772.587461.9311253.06
100-10MN201,275174,704.013.2052.20192,1084.557467.1313625.13
100-10MNb170,625151,322.011.3132.12166,0102.707413.3711442.91
200-10N347,395303,357.012.686452.22303,35712.687232.67113.76
200-10Nb256,171231,195.09.751314.04235,2888.157452.34128.94
200-10MN324,006290,392.010.372485.98294,9318.977356.73710.60
200-10MNb287,076249,836.012.971385.72259,0799.757471.75811.38



Average8.87508.233.074190.053.47
Table 14

Results of the B&C algorithm on the set I1.

InstancezUBzlrGaplrtlrzGapt#NGap
I1-8×3×2575.70575.700.000.00575.700.000.0110.00
I1-8×4×2549.34534.372.720.02549.340.000.0420.00
I1-9×3×2878.69874.490.480.03878.690.000.0510.00
I1-10×4×2806.72752.796.690.03806.720.000.0610.00
I1-10×5×3696.94660.285.260.07696.940.000.1130.00
I1-10×8×3596.56538.769.690.18596.560.000.37260.00
I1-15×10×2732.48672.828.140.51732.480.001.37320.00
I1-15×10×3686.71601.2812.440.31686.710.001.01460.00
I1-15×4×21064.52928.8112.750.221064.520.000.56440.00
I1-15×5×3933.75829.5211.160.14933.750.000.39220.00
I1-15×8×3730.36667.288.640.21730.360.000.67330.00
I1-20×10×2937.40817.8812.750.52937.400.00390.7614,5460.00
I1-20×10×3761.29690.449.310.88761.290.002.26180.00
I1-20×10×41149.72967.7215.830.491149.720.0068.0543770.00
I1-20×8×21029.59874.6615.051.451012.891.627292.8334,5561.62
I1-20×8×3848.31787.667.150.32848.310.001412.3131,0550.00
I1-25×10×21030.40855.4516.981.991028.690.177260.6253,0130.17
I1-25×10×31062.30931.5512.311.391049.681.197277.3731,5111.19
I1-25×10×41607.941347.5516.191.671535.004.547303.1719,8724.54
I1-25×8×2950.87871.448.350.69950.870.00204.4175420.00
I1-25×8×3870.69775.3110.961.18870.690.00251.2463190.00
I1-50×10×51132.63935.5517.4052.191104.982.447411.6443732.54
I1-50×8×51162.44991.1714.7329.031148.231.227410.6151621.31
I1-75×10×51540.231340.4012.97130.081433.296.947469.9214796.98
I1-75×15×51686.211427.2715.36128.321578.616.387502.195327.16
I1-100×10×52124.901854.7512.71788.341958.107.857480.91538.36
I1-100×20×51973.081690.4614.32561.421818.417.847442.961538.30
I1-150×10×51883.441594.7315.332013.001711.069.157425.67169.66
I1-150×20×51869.531523.6518.501872.831578.3815.577360.211116.45
I1-200×10×52443.802188.3910.455017.942190.8910.357245.36311.00
I1-200×20×52219.541854.1616.467208.841854.1616.467208.84117.15



Average11.33574.652.963400.843.11
Table 15

Results of the B&C algorithm on the set I2.

InstancezUBzlrGaplrtlrzGapt#NGap
I2-8×3×2575.70575.700.000.01575.700.000.0310.00
I2-8×4×2604.13596.681.230.01604.130.000.0340.00
I2-9×3×2386.15386.150.000.00386.150.000.0110.00
I2-10×4×2629.38602.864.210.06629.380.000.1020.00
I2-10×5×3551.45551.450.000.01551.450.000.0210.00
I2-10×8×3504.20503.160.210.10504.200.000.1110.00
I2-15×10×2709.10651.218.160.28709.100.001.271220.00
I2-15×10×3777.49702.219.680.29777.490.001.62970.00
I2-15×4×2827.81799.993.360.13827.810.000.2540.00
I2-15×5×31075.221048.492.490.181075.220.000.3680.00
I2-15×8×3652.58591.319.390.28652.580.001.522160.00
I2-20×10×2766.24684.3210.690.51766.240.004.713000.00
I2-20×10×3744.27688.777.460.42744.270.001.74560.00
I2-20×10×4793.00735.417.260.40793.000.001.04220.00
I2-20×8×2772.29698.429.570.37772.290.005.935840.00
I2-20×8×3758.06679.7610.330.30758.060.006.056820.00
I2-25×10×2961.59857.4410.831.72954.190.777303.4523,7420.77
I2-25×10×3987.57846.8914.251.29927.536.087266.3326,1286.08
I2-25×10×41125.56948.8715.701.131125.560.002871.5238,2990.00
I2-25×8×2912.02838.398.070.85912.020.001267.2336,5050.00
I2-25×8×3979.62908.597.250.59979.620.008.187390.00
I2-50×10×51256.441117.2811.089.311222.102.737420.7641652.73
I2-50×8×51121.13990.1911.687.151098.202.057389.1874012.05
I2-75×10×51691.151520.0710.1261.751601.085.337414.6428745.33
I2-75×15×51742.251477.0815.2291.611663.784.507531.824884.85
I2-100×10×52231.212020.739.43776.752072.447.127413.891927.57
I2-100×20×51996.341778.5410.91219.901850.297.327563.922528.34
I2-150×10×51728.051463.7815.29464.691553.0310.137575.305210.47
I2-150×20×51630.291423.4812.69597.701489.578.637460.51769.99
I2-200×10×52147.511912.3610.952098.341930.5910.107303.561210.55
I2-200×20×52049.011780.0713.131459.931804.1011.957418.461713.33



Average8.41186.972.473007.532.65
Table 16

Results of the B&C algorithm on the set I3.

InstancezUBzlrGaplrtlrzGapt#NGap
I3-8×3×2578.33539.216.760.03578.330.000.0420.00
I3-8×4×2450.71422.336.300.04450.710.000.0510.00
I3-9×3×2454.63454.630.000.01454.630.000.0110.00
I3-10×4×2540.61525.792.740.04540.610.000.0860.00
I3-10×5×3745.48681.988.520.05745.480.000.13160.00
I3-10×8×3412.91412.910.000.02412.910.000.0310.00
I3-15×10×2605.11539.4610.850.40605.110.001.26710.00
I3-15×10×3546.61495.009.440.46546.610.001.631600.00
I3-15×4×2688.87636.677.580.04688.870.000.27590.00
I3-15×5×31001.28897.8510.330.311001.280.001.06880.37
I3-15×8×3578.23520.559.970.33578.230.000.86360.00
I3-20×10×2744.82692.916.970.52744.820.005.254140.00
I3-20×10×3728.17648.2710.970.40728.170.004.172300.00
I3-20×10×41190.95997.7716.220.531190.950.00273.3988550.00
I3-20×8×2846.07776.128.270.68846.070.0042.2625180.00
I3-20×8×3643.89593.927.760.45643.890.001.67670.00
I3-25×10×2834.23768.987.821.24834.230.0073.4445090.01
I3-25×10×3820.12760.137.321.22820.120.002.64370.00
I3-25×10×41057.63873.4817.410.451057.630.0012.523260.00
I3-25×8×2951.56799.6315.972.19910.074.367304.9322,6894.36
I3-25×8×3774.36711.488.121.01774.360.00144.7961220.00
I3-50×10×51207.311062.7211.9815.611179.152.337469.8735652.33
I3-50×8×51162.44991.1714.7328.981148.231.227398.1251511.41
I3-75×10×51721.471528.7411.2048.961637.594.877394.8330484.98
I3-75×15×51483.141310.8211.6249.651411.304.847637.125404.86
I3-100×10×52178.351984.718.89287.952057.155.567518.352255.78
I3-100×20×52035.371827.6210.21187.861889.237.187578.473307.77
I3-150×10×51274.441149.449.81148.581198.775.947474.791526.50
I3-150×20×51235.861102.3410.80303.631162.725.927512.051057.31
I3-200×10×51766.461593.409.80498.751658.026.147449.47546.67
I3-200×20×52531.212273.5310.18904.332304.528.967430.33709.88



Average9.3180.151.852668.832.01
  1 in total

1.  An adaptive large neighborhood search heuristic for Two-Echelon Vehicle Routing Problems arising in city logistics.

Authors:  Vera C Hemmelmayr; Jean-François Cordeau; Teodor Gabriel Crainic
Journal:  Comput Oper Res       Date:  2012-12       Impact factor: 4.008

  1 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.