1 Introduction

In modern logistics, the capacitated vehicle routing problem (CVRP) which was introduced by Dantzig and Ramser (1959) has economic significance. However, the classical vehicle problem could not describe the complicated real-world environments, and hence researchers introduce many variants of CVRP, for example, the two-echelon vehicle routing problem (2E-CVRP) which was described by Feliu et al. (2007). In the classical 2E-CVRP, the customer demands are firstly delivered from the depot to satellites, then from satellites to customers. The depot and satellites both have homogenous vehicle fleets. The goal of 2E-CVRP is to find a set two-level routes of minimum total cost, in which first-level routes are from the depot to satellites, and second-level routes are from satellites to customers.

The integer linear program formulation of 2E-CVRP could be divided into the vehicle flow formulation and the set-partitioning based formulation which were detailed by Toth and Vigo (2001). Jepsen et al. (2013) proposed a vehicle flow formulation of 2E-CVRP and presented a branch-and-cut algorithm to solve it. Baldacci et al. (2013) used the ng-route relaxation which was proposed by Baldacci et al. (2011) to derive a lower bound on the set-partitioning based formulation of 2E-CVRP, and then used the lower bound and the q-route relaxation which was proposed by Christofideds et al. (1981) to generate approximately exact solutions.

There is much work concerning on solving 2E-CVRP which are mainly considered in deterministic environment, and formulated in form of integer linear program. Because CVRP is NP-hard, 2E-CVRP also cannot be solved in polynomial time. Therefore, approximation algorithms such as those described by Das (2011) and heuristic algorithms (Ghannadpour et al. 2014; Li et al. 2014; Zhang et al. 2014) are employed. Approximation algorithms could ensure a limited ratio for the solutions, however, it is also difficult to find good approximation ratio for CVRP. As proved by Wøhlk (2008), finding a 3/2-approximation for the Capacitated Arc Routing Problem (CARP) is NP-hard, and it goes worse when the edges do not satisfy the triangle inequality. Because each CARP instance could be transformed to CVRP, finding 3/2-approximation for CVRP is also NP-hard. To deal with large scale instances, heuristic algorithms are largely be developed, such as the cutting plane method described by Baldacci et al. (2008) and the column generation method described by Baldacci and Mingozzi (2009), in which the lower and upper bounds influence the performance ratio significantly.

In order to find a much more efficient solution for handling CVRP and let the problem adapt real-world environment, this paper extends 2E-CVRP and introduces a new model, i.e., the adaptive two-echelon capacitated vehicle routing problem (A2E-CVRP), in which there are multiple depots, such as airports, train stations and sea ports, and these depots could deliver the demands directly to the nearby customers, rather than transport them to satellites firstly. Because of this adaptive nature, A2E-CVRP generalizes the classical 2E-CVRP, and theoretically, its optimum route set has less cost than that of 2E-CVRP.

This paper introduces a mathematical formulation for A2E-CVRP. We derive a lower bound based on the method proposed by Baldacci et al. (2013), and then use it to derive an upper bound which is also an approximate solution of A2E-CVRP. In the computational results, we show that both the lower and the upper bounds of A2E-CVRP are smaller than those of the classical 2E-CVRP. Besides, the lower and the upper bounds could be further used to generate solutions closer to optimality. Based on the computational results on benchmark instances, the A2E-CVRP outperforms the classical 2E-CVRP in the costs of routes.

The remaining part of this paper is organized as below. In Sect. 2, we describe the A2E-CVRP in detail and give its mathematical formulation. Sections 3 and 4 describe the lower bound and the algorithm for generating the lower and upper bounds. To reduce the length of the paper, the proof of the lower and upper bounds is not included. Computation results are listed in Sect. 5, and some conclusive remarks are given in Sect. 6. Besides, the proof of the theorems in this paper could be found in the e-companion of this paper.

2 Problem introduction and mathematical formulation

The map of A2E-CVRP is an undirected complete graph G(NE), which is abstract from some real-world logistics environments. The vertex set \(N = N_D \cup N_S \cup N_C\), and edge set E consists of all the edges connecting the vertices in N, where \(N_D\) represents the depot sets, \(N_S\) represents the satellites set, and \(N_C\) is the customer set.

Each customer \(i \in N_C\) has a positive integer demand \(q_i\), and each edge in E has a routing cost, which is commonly the road length. Each depot \(d \in N_D\) can deliver the demand (\({\le }B_d^1\)) to satellites by \(m_d^1\) homogeneous vehicles of load capacity \(Q_1\), and each \(k \in N_S \cup N_D\) can deliver the demand (\({\le }B_k^2\)) to customers by \(m_k^2\) homogeneous vehicles of load capacity \(Q_2\). \(B_d^1 \le m_d^1 Q_1\) and \(B_k^2 \le m_k^2 Q_2\) always hold.

The dynamic process of A2E-CVRP is illustrated in Fig. 1. The squares, triangles and circles represent depots, satellites and customers respectively. The solid lines represent the first-level routes, which deliver demands from depots to satellites. The dashed lines represent the second-level routes, which deliver demands from satellites to customers. The bold solid lines represent the adaptive routes, which deliver demands from depots directly to customers. Our goal is to find a set consisting of the kind of routes with the minimum routing costs.

Fig. 1
figure 1

The dynamic process of A2E-CVRP

The linear program formulation of A2E-CVRP is give below. Let \(M_d\) be the index set of each first-level routes dr of cost \(g_{dr}\) starting from depot d, and \(\mathscr {M}_{sd}\) be the subset of \(\mathscr {M}_d\), in which dr must visit satellite s. Furthermore, let \(\mathscr {R}_k\) be the index set of each second-level (or adaptive) routes kl of cost \(c_{kl}\) starting from satellite (or depot) k, and \(\mathscr {R}_{ik}\) be the subset \(\mathscr {R}_k\), in which kl must visit customer i. Finally, let \(w_{kl}\) be the total demand that is delivered by a second-level or adaptive route kl.

The decision variables \(x_{kl}\) and \(y_{dr}\) equal 1 if and only if the corresponding routes are selected in the optimum solution, and 0 otherwise. The decision variable \(q_{srd}\) denotes the demand that is delivered by the first-level route r starting from depot d and visiting satellite s.

$$\begin{aligned} z(F) = \min \sum _{d \in N_D} \sum _{r \in \mathscr {M}_d} g_{dr} y_{dr} + \sum _{k \in N_S \cup N_D} \sum _{l \in \mathscr {R}_k} c_{kl} x_{kl} \end{aligned}$$

s.t.

$$\begin{aligned}&\sum _{k \in N_S \cup N_D} \sum _{l \in \mathscr {R}_{ik}} x_{kl} = 1, \quad i \in N_C \end{aligned}$$
(1)
$$\begin{aligned}&\sum _{l \in \mathscr {R}_k} x_{kl} \leqslant m_k^2, \quad k \in N_S \cup N_D \end{aligned}$$
(2)
$$\begin{aligned}&\sum _{l \in \mathscr {R}_k} x_{kl} w_{kl} \leqslant B_k^2, \quad k \in N_S \cup N_D \end{aligned}$$
(3)
$$\begin{aligned}&\sum _{d \in N_D} \sum _{r \in \mathscr {M}_{sd}} q_{srd} = \sum _{l \in \mathscr {R}_s} x_{sl} w_{sl}, \quad s \in N_S \end{aligned}$$
(4)
$$\begin{aligned}&\sum _{r \in \mathscr {M}_{d}} y_{dr} \leqslant m_d^1, \quad d \in N_D \end{aligned}$$
(5)
$$\begin{aligned}&\sum _{s \in R_{dr}} q_{srd} \leqslant Q_1, d \in N_D, \quad r \in \mathscr {M}_{d} \end{aligned}$$
(6)
$$\begin{aligned}&\sum _{r \in \mathscr {M}_d} \sum _{s \in R_{dr}} q_{srd} \leqslant B_d^1, \quad d \in N_D \end{aligned}$$
(7)
$$\begin{aligned}&x_{kl} \in \{ 0, 1 \}, \quad l \in \mathscr {R}_k, \; k \in N_S \cup N_D \end{aligned}$$
(8)
$$\begin{aligned}&y_{dr} \in \{ 0, 1 \}, \quad r \in \mathscr {M}_d, \; d \in N_D \end{aligned}$$
(9)
$$\begin{aligned}&q_{srd} \in \mathbb {Z}^+ , \quad s \in N_S, \; r \in \mathscr {M}_d, \; d \in N_D \end{aligned}$$
(10)

The second-level and adaptive constraints are given by (1)–(3). (1) Ensures each customer is visited exactly once. (2) Ensures that a depot or satellite uses at most all its own second-level vehicles. (3) Ensures a depot or satellite will not supply demands beyond its service ability. The first-level constraints are (5)–(7). (5) Ensures a depot uses at most all its own first-level vehicles. (6) Ensures a first-level vehicle will not deliver demands beyond its load capacity. (7) Ensures a depot will not supply demands beyond its service ability. Constraint (4) connects the first-level and second-level routes, that is to say, the demands received by a satellite must equal to those it delivered. Constraints (8)–(10) describes the decision variables.

3 The lower bound of A2E-CVRP

The lower bound is formulated in Theorems 1 and 3. Theorem 1 relaxes the model of A2E-CVRP in a lagrangian fashion, and subsequently, Theorem 3 relaxes the formulation in Theorem 1 to improve the effectiveness in running time.

3.1 Lower bound z(RF)

Theorem 1 firstly introduces the dual variables \(\lambda _i \in \mathbb {R}, \; i \in N_C\) of constraint (1) and \(\mu _k \in \mathbb {R}^-, k \in N_S \cup N_D\) of constraint (2), and then defines the marginal routing cost \(\beta _{ik}\) for the second-level or adaptive route kl which serves customer \(i \in N_C\).

$$\begin{aligned} \sum _{i \in N_C} \alpha _{ikl} \beta _{ik} \leqslant c_{kl} - \sum _{i \in N_C} \alpha _{ikl} \lambda _i - \mu _k, \quad l \in \mathscr {R}_k, \; k \in N_S \cup N_D \end{aligned}$$
(11)

\(\alpha _{ikl}\) means the number of times that customer \(i \in N_C\) is visited by route kl. \(\xi _{ik}\) equals 1 if and only if the demand of customer \(i \in N_C\) is delivered from k. The relaxation RF is given as below.

$$\begin{aligned} z( RF ( \beta , \; \lambda , \; \mu ))= & {} \min \sum _{k \in N_S \cup N_D} \sum _{i \in N_C} \xi _{ik} \beta _{ik} + \sum _{d \in N_D} \sum _{r \in \mathscr {M}_d} y_{dr} g_{dr}\\&+\,\sum _{i \in N_C} \lambda _i + \sum _{k \in N_S \cup N_D} \mu _k m_k^2 \end{aligned}$$

s.t.

$$\begin{aligned}&\sum _{k \in N_S \cup N_D} \xi _{ik} = 1, \quad i \in N_C \end{aligned}$$
(12)
$$\begin{aligned}&\sum _{i \in N_C} \xi _{ik} q_i \leqslant B_k^2, \quad k \in N_C \cup N_D \end{aligned}$$
(13)
$$\begin{aligned}&\sum _{d \in N_D} \sum _{r \in \mathscr {M}_{sd}} q_{srd} = \sum _{i \in N_C} \xi _{is} q_i, \quad s \in N_S \end{aligned}$$
(14)
$$\begin{aligned}&\quad (5){-}(7), \; (9) \; and \; (10) \nonumber \\&\xi _{ik} \in \{ 0, 1 \}, \quad i \in N_C, \quad k \in N_S \cup N_D. \end{aligned}$$
(15)

Theorem 1

\(z(RF(\beta , \; \lambda , \; \mu ))\) is a lower bound of z(F), for any \(\beta _{ik}\) defined in (11), \(\lambda _i \in \mathbb {R}\) and \(\mu _k \in \mathbb {R}^-\).

Corollary 1

Let z(UB) be an upper bound of z(F). For any \(\beta _{ik}\) defined in (11), \(\lambda _i \in \mathbb {R}\) and \(\mu _k \in \mathbb {R}^-\), define the reduced cost as below.

$$\begin{aligned} \tilde{c}_{kl} = c_{kl} - \sum _{i \in N_C} \alpha _{ikl} (\beta _{ik} + \lambda _i) - \mu _k \geqslant 0, \quad l \in \mathscr {R}_k, \; k \in N_S \cup N_D \end{aligned}$$
(16)

Then, any optimum solution of the mathematical formulation of A2E-CVRP cannot contain a second-level or adaptive route whose reduced cost \(\tilde{c}_{kl} \geqslant z(UB) - z(RF(\beta , \; \lambda , \; \mu ))\).

Theorem 2

Let z(LF) be the optimum solution of the linear relaxation of A2E-CVRP, then the following inequality holds.

$$\begin{aligned} \max _{(\beta , \; \lambda , \; \mu )} z(RF{(\beta , \; \lambda , \; \mu )} ) \geqslant z(LF). \end{aligned}$$

3.2 Lower bound \(z(\overline{RF})\)

The lower bound \(z(\overline{RF}(\beta , \; \lambda , \; \mu ))\) is the solution of the linear program \(\overline{RF}(\beta , \; \lambda , \; \mu )\). In the optimum solution, \(\xi _{krw}\) equals 1 if and only if the first-level route dr deliver demand w, and \(\xi _{krw}\) equals 1 if and only if the depot d deliver demand w by using its adaptive vehicles.

$$\begin{aligned} z(\overline{RF}(\beta , \; \lambda , \; \mu ))= & {} \min \sum _{d \in N_D} \sum _{r \in \mathscr {M}_d} \sum _{w \in W_{dr}} (g_{dr} + \phi _{drw}) \xi _{drw} + \sum _{d \in N_D} \sum _{w \in W_d} \phi _{dw} \xi _{dw}\\&+\,\sum _{i \in N_C} \lambda _i + \sum _{k \in N_D \cup N_D} \mu _k m_k^2 \end{aligned}$$

s.t.

$$\begin{aligned}&\sum _{d \in N_D} \sum _{r \in \mathscr {M}_d} \sum _{w \in W_{dr}} w \xi _{drw} + \sum _{d \in N_D} \sum _{w \in W_d} w \xi _{dw} = q_{tot} \end{aligned}$$
(17)
$$\begin{aligned}&\sum _{r \in \mathscr {M}_d} \sum _{w \in W_{dr}} \xi _{drw} \leqslant 1, \; \sum _{w \in W_d} \xi _{dw} \leqslant 1, \quad d \in N_D,r \in \mathscr {M}_d \end{aligned}$$
(18)
$$\begin{aligned}&\xi _{drw} \in \{0, \; 1 \}, \quad d \in N_D; \; r \in \mathscr {M}_d \; and \; w \in W_{dr} \end{aligned}$$
(19)
$$\begin{aligned}&\xi _{dw} \in \{0, \;1 \}, \quad d \in N_D; \; r \in \mathscr {M}_d \; and \; w \in W_{dr} \end{aligned}$$
(20)

The \(\phi _{drw}\) and \(\phi _{dw}\) are detailed as below.

$$\begin{aligned} \phi _{drw} = \min \sum _{i \in N_C} \left( \min _{s \in R_{dr}} \beta _{is}\right) z_i, \quad \phi _{dw} = \min \sum _{i \in N_C} \beta _{id} z_i \end{aligned}$$

s.t.

$$\begin{aligned}&\sum _{i \in N_C} q_i z_i = w \end{aligned}$$
(21)
$$\begin{aligned}&0 \leqslant z_i \leqslant 1, \quad i \in N_C \end{aligned}$$
(22)

\(\phi _{drw}\) is a lower bound of the second-level route costs for delivering some demand w from the satellites \(R_{dr}\), which are visited by the first-level route \(r \in \mathscr {M}_d\); \(\phi _{dw}\) is a lower bound of the adaptive route costs for delivering some demand w from the depot d.

Theorem 3

\(z(\overline{RF}(\beta , \; \lambda , \; \mu )) \leqslant z(F)\), for any \(\beta _{ik}\) defined in (11), \(\lambda _i \in \mathbb {R}\) and \(\mu _k \in \mathbb {R}^-\).

Corollary 2

Let z(UB) be an upper bound of z(F). Then, any optimum solution of the mathematical formulation of A2E-CVRP cannot contain a second-level or adaptive route whose reduced cost \(\tilde{c}_{kl} > z(UB) - z(\overline{RF}(\beta , \; \lambda , \; \mu )).\)

3.3 The smaller range of demand

The demand range \(W_{dr}\) and \(W_d\) could be reduced as blow, so that the computation for the lower bound could speed up.

$$\begin{aligned} W_{dr}= & {} \{ w \in \mathbb {Z}^+: w_{dr}^{min} \leqslant w \leqslant w_{dr}^{max}\} , \; { where}\\ W_d^{min}= & {} \max \{0, \; q' \}, \; and \; w_{dr}^{max} = \min \{Q_1, \sum _{s \in R_{dr}} B_s^2, \; B_d^1, \; q_{tot} \}, \; { where}\\ q'= & {} q_{tot} - q_{a} - q'_{1st} - q''_{1st}, \; { where}\\ q_{a}= & {} \sum _{d \in N_D} B_d^2, \; q'_{1st} = \min \left\{ \sum _{d \in N_D \setminus \{ d \}}B_d^1, \; \sum _{s \in N_S} B_s^2 \right\} ,\\&q''_{1st} = \min \left\{ B_d^1, \; \max \{0, \; m_d^1 - 1) \right\} \\ W_{d}= & {} \left\{ w \in \mathbb {Z}^+: w_{d}^{min} \leqslant w \leqslant w_{d}^{max}\right\} , \; { where}\\ W_d^{min}= & {} \max \{0, \; q' \}, \; and \; w_d^{max} = \min \{ B_d^2, \; q_{tot} \}, \; { where}\\ q'= & {} q_{tot} - q_{1st} - q_{a}, \quad q_{1st} = \min \left\{ B_d^1, \; \sum _{s \in N_S} B_s^2 \right\} , \quad q_{a'} = \sum _{d \in N_D \setminus \{ d \}} B_d^2 . \end{aligned}$$

4 The algorithm for the bounds

This section details the algorithm for generating the lower and upper bounds as below, which generalizes the algorithm proposed by Baldacci et al. (2013). Especially for computing the upper bound (UB), we directly use the corresponding procedure described by Baldacci et al. (2013), by abandoning its improvement stage. Our computational results show that it still generates approximate solutions within toleration. Besides, we compute UB each time when the micro iteration is finished to improve the upper bound.

  1. 1.

    Initialization

    • \(\overline{\mathscr {R}}_k = \{(k,i,k) \}, \; k \in N_S \cup N_D\)

    • \(\lambda _i = 0, i \in N_C\)

    • \(\mu _k = 0, \; k \in N_S \cup N_D\)

    • \(LB = 0 \; and \; UB = \infty \)

  2. 2.

    Iteration (Macro times)

    1. (1)

      Iteration (Micro times)

      1. (i)

        Set \(z^*=0\)

      2. (ii)

        Compute \(\beta _{ik}, \; i \in N_C, \; k \in N_S \cup N_D\) by routes set \(\overline{\mathscr {R}}_k\) and Theorem 4.

      3. (iii)

        Compute \(z(\overline{RF})\) as described in Sect. 4.2

        • Set \(z^* = z(\overline{RF})\) once \(z(\overline{RF}) > z^*\), and

        • Set \(\beta ^* = \beta , \lambda ^* = \lambda , \mu ^* = \mu \)

      4. (vi)

        Compute \(\lambda \) and \(\mu \) by the subgradient method, which is described in Sect. 4.2.

    2. (2)

      Compute UB

    3. (3)

      Update \(\overline{R}_k = \overline{R}_k \cup \mathscr {N}_k, \;where \; \mathscr {N}_k = \hat{R}_k \setminus \bar{R}_k\).

      • If each \(\mathscr {N}_k = \emptyset \) and \(z^* > LB\), then \(LB = z^*\).

4.1 Computing \(\beta _{ik}\)

We define the marginal cost \(\beta _{is}\) and \(\beta _{id}\) for each satellite and each depot respectively, whose computing formulas are combined into (23) in Theorem 4. Because only a subset \(\bar{\mathscr {R}}_k \subseteq \hat{\mathscr {R}}_k\) could be used for computing \(z^* = z(\overline{RF})\), \(\beta _{ik}\) is valid only if both the second-level routes and the adaptive routes are not generated, and so does \(z^* = z(\overline{RF})\). The routes are generated in form of ng-routes (Baldacci et al. 2011).

Theorem 4

Let \(\hat{\mathscr {R}}_k \supseteq \mathscr {R}_k\) be the index set of second-level or adaptive (nonnecessarily elementary) routes, a feasible \(\beta _{ik}\) satisfying (11) could be computed as below.

$$\begin{aligned} \hat{\beta }_{ik} = q_i \cdot \min _{l \in \hat{\mathscr {R}}_{ik}} \left\{ \frac{c_{kl} - \sum _{i \in N_C} \alpha _{ikl} \lambda _i - \mu _k}{\sum _{i \in N_C} \alpha _{ikl} q_i} \right\} , \quad k \in N_S \cup N_D, \; i \in N_S . \end{aligned}$$
(23)

4.2 Generating \(z(\overline{RF})\)

The solution \(z(\overline{RF})\) is generated by solving the following integer program. Here, \(h_d^1(w)\) is the minimum cost of depot d, whose delivering demand is w. \(h_d^1(w)\) equals to the sum of the costs of its first-level routes and some lower bound \(\phi _{drw}\) on the correspondingly second-level routes. \(h_d^A(w)\) is the minimum cost of depot d, whose demand is w and delivered by its adaptive routes. Contraint (24) ensures that all the delivered demands equal to the total demands, and Contraint (25) ensures that a depot must deliver exactly one certain demand by its first-level routes or adaptive routes. Finally, \(\rho _{dw}^1\) and \(\rho _{dw}^A\) are the decision variables. This integer program could be solved within time toleration by CPLEX (2012) or even by pure enumeration, because the number of all the depots is a small constant in the environment of real-world logistics.

$$\begin{aligned} h = \min \sum _{d \in N_D} h_d^1(w) \cdot \rho _{dw}^1 + \sum _{d \in N_D} h_d^A(w) \cdot \rho _{dw}^A \end{aligned}$$

s.t.

$$\begin{aligned}&\sum _{d \in N_D} w \cdot \rho _{dw}^1 + \sum _{d \in N_D} w \cdot \rho _{dw}^A = q_{tot} \end{aligned}$$
(24)
$$\begin{aligned}&\sum _{w \in W_{dr}} \rho _{dw}^1 \leqslant 1, \; \sum _{w \in W_d} \rho _{dw}^A \leqslant 1 = q_{tot} , \quad d \in N_D \end{aligned}$$
(25)
$$\begin{aligned}&\rho _{dw}^1 \in \{0, 1 \}, \quad d \in N_D \end{aligned}$$
(26)
$$\begin{aligned}&\rho _{dw}^A \in \{0, 1 \}, \quad d \in N_D \end{aligned}$$
(27)

In the right side of the objective function, \(h_d^A(w)\) and \(h_d^1(w)\) are the vectors of the results by solving (28) and the dynamic program (29) respectively.

$$\begin{aligned} h_d^A(w)= & {} \phi _{dw}, \quad d \in \mathscr {N}_d \end{aligned}$$
(28)
$$\begin{aligned} h_d^1(w)= & {} \min _{0 \leqslant w' \leqslant \min \{w, w_{dr}^{max}\}} h_d^1(r-1, w'). \end{aligned}$$
(29)

4.3 Searching direction

The procedure for computing the searching direction in the subgradient method is given as below. In our experiments, the length of search step e is set to a constant 1.0. However, the best value e varies among different instances. A good way to set the value is adopting the changeable length, i.e., e is set to a small value firstly, then is increased when \(z(\overline{RF})\) increases slowly and reduced when \(z(\overline{RF})\) increases quickly.

  1. (1)

    Input

    • optimum solution of \(\overline{RF}\): \(\xi _{krw}\) and \(\xi _{kw}\)

    • optimum solution of \(\phi _{krw}\) and \(\phi _{kw}\): \(z_i\)

  2. (2)

    Computation

    • Obtain route sets \(\tilde{\mathscr {R}}_k = \{ l(i,k) \}\) and \(\tilde{\mathscr {R}}_d = \{ l(i,d) \}\)

      1. (i)

        (a) init \(\tilde{\mathscr {R}}_k = \emptyset , \; k \in N_S\)

        1. (b)

          and \(l(i,d) = 0, i \in N_C, d \in N_D\)

      2. (ii)

        (a) for each first-level route dr, such that \(\xi _{drw} = 1\),

        • get \(\bar{k}(i) = \{k | \min _{k \in R_{dr}} \beta _{ik} \}, i \in V(d,r,w)\)

        • set \(l(i, \bar{k}(i)) =\) the route corresponding to \(\beta _{ik}, i \in V(d,r,w)\)

        • for each \(i \in V(d,r,w)\), get \(\tilde{\mathscr {R}}_{k(i)} = \tilde{\mathscr {R}}_{k(i)} \cup \{ l(i, k(i)) \}\)

      3. (b)

        for each depot d, such that \(\xi _{dw} = 1\),

        • get \(\bar{d}(i) = \{d \}, i \in V(d,w)\)

        • set \(l(i, \bar{d}(i)) =\) the route corresponding to \(\beta _{id}, i \in V(d,w)\)

        • for each \(i \in V(d,w)\), get \(\tilde{\mathscr {R}}_{d(i)} = \tilde{\mathscr {R}}_{d(i)} \cup \{ l(i, d(i)) \}\)

  3. (3)

    Output

    • \(\lambda _i = \lambda _i - \epsilon \cdot \gamma \cdot (\alpha _{iS} + \alpha _{iD} - 1)\)

    • \(\mu _{k} = \min \{ 0, \; \mu _{k} = \epsilon \cdot \gamma \cdot (\delta _k - m_k) \}\)

    • \(\mu _{d} = \min \{ 0, \; \mu _{d} = \epsilon \cdot \gamma \cdot (\delta _d - m_d) \}\)

    • \(\alpha _{iS} = \sum _{s \in N_S} \sum _{l \in \tilde{\mathscr {R}}_s} \alpha _{isl} \cdot \tilde{x}_{sl}, \quad i \in N_C\)

    • \(\alpha _{iD} = \sum _{d \in N_D} \sum _{l \in \tilde{\mathscr {R}}_d} \alpha _{idl} \cdot \tilde{x}_{dl}, \quad i \in N_C\)

    • \(\delta _s = \sum _{l \in \tilde{\mathscr {R}}_s} \tilde{x}_{sl}, \quad s \in N_S\)

    • \(\delta _d = \sum _{l \in \tilde{\mathscr {R}}_d} \tilde{x}_{dl}, \quad s \in N_D\)

    • \(\tilde{x}_{sl} = \sum _{i \in N_C: l(i, s) = l} ( \alpha _{isl} \cdot q_i) / \left( \sum _{i \in N_C} \alpha _{isl} \cdot q_i\right) , \quad l \in \tilde{\mathscr {R}}_s, \quad s \in N_S\)

    • \(\tilde{x}_{dl} = \sum _{i \in N_C: l(i, d) = l} ( \alpha _{idl} \cdot q_i) / \left( \sum _{i \in N_C} \alpha _{idl} \cdot q_i\right) , \quad l \in \tilde{\mathscr {R}}_d, \quad d \in N_D\)

    • \(r = \frac{0.2\overline{RF}(\beta ,\lambda ,\mu )}{{\sum _{i \in N_C} (\alpha _{iS} + \alpha _{iD} - 1)^2 + \sum _{s \in N_S} (\delta _{s} - m_s)^2 + \sum _{d \in N_D} (\delta _{d} - m_d)^2}} .\)

5 Computational results

The algorithm for computing the lower and upper bounds are coded in Matlab, with CPLEX (2012) for solving linear programs and mix-integer programs. The experiments are performed on the environment of Inter Core i5-3470 CPU (3.20GHz), 4 GB RAM Memory and Window 7 operation system. The data sets are from Set 1, Set 2 and Set 3 which are used by Baldacci et al. (2013). The computational results are detailed in Tables 1 and 2. In practice, the parameter Macro is set to 50, Micro is set to 5, e is set to 0.1, and |Ni| is set to 12 for instances in Set 1. For Set 2, Macro is set to 15, Micro is set to 20, e is set to 0.1, and |Ni| is set to 21.

Table 1 shows the results of instances from Set 1, each of which has 1 depot, 2 satellites and 13 customers. The “Solution” column lists the solution of A2E-CVRP. The “z(F)” sub-column shows the optimum costs computed directly by CPLEX (2012). The “\(n_u/n_s\)” sub-column shows the numbers of the used and total satellites in the optimum solutions. In “\(N^{1st}{-}N^{2nd}{-}N^a\)” sub-column, the numbers from left to right denote the numbers of the first-level routes, second-level routes and adaptive routes respectively used by the optimum solutions. In the “Lower Bound” column, “LB” shows the lower bound computed by our algorithm, and “LB/z” shows the percentages of the lower bounds on the corresponding optimum solutions. The “Comparison” column shows the solution of classical 2E-CVRP. The “z1(F)” sub-column shows the optimum solutions of 2E-CVRP, the “SC” sub column shows the save costs, i.e., \(z1(F) - z(F)\), and the “SC/z1” sub-column shows the percentages of the saved costs on z1(F). The bold results in the column of Lower Bound show the exact solutions. The bold results in the column of Comparison show that the saved costs become large when the satellites are located far away from the depot.

Table 1 Computational results on the instances of set 1

Table 2 shows the results of all the instances with 22 customers from Set 2 and 3. When the customer number goes up to 20, the computing time of generating all possible routes is beyond toleration. So, we use the algorithm for computing UB described in Sect. 4 to output approximate solutions. The “Bounds” column shows the lower bounds and upper bounds on the instances, and the LB/UB shows the percentages. The “Comparison” shows the comparison to the computational results of Baldacci et al. (2013), in which “z1(F)” and “LD1” denote the solutions and lower bounds computed by their algorithm DP1. The “SC” sub-column denotes the saved costs, which equal to z1(F) minus UB. The “SC/z1” sub-column shows the percentages of SC on z1(F). The italic results show that there are two solutions which are worse than the compared ones.

Table 2 Computational results on the instances of n22 instances of set 2 and set 3

Figure 2 shows the comparison of the results in Table 1. The lower bounds, z(F) and z1(F) are shown in forms of dashed line, solid line and dotted line respectively. The X-axis shows the instance numbers and the Y-axis show the costs. It is easy to see that z(F) is always lower than z1(F), which demonstrates that the solution of A2E-CVRP is always better than that of classical 2E-CVRP. The z(F) becomes lower and lower than z1(F), when the satellites are located further away from depots. Besides, the lower bounds generated by our algorithm are close to z(F), and there are 22 results out of 66 which are equal to z(F).

Fig. 2
figure 2

Comparison of the results in Table 1

Figure 3 shows the comparison of the results in Table 2. The lower bounds, upper bounds and z1(F) are showed in forms of dashed line, solid line and dotted line respectively. The meaning of X-axis and the Y-axis is same as that in Fig. 2. The computational results show that the upper bounds are smaller than the optimum solutions of classical 2E-CVRP. There are only two exceptions in the instances, whose lower bounds are close to the optimum solutions of the corresponding 2E-CVRP.

Fig. 3
figure 3

Comparison of the results in Table 2

6 Conclusions

In this paper, we described the mathematical formulation of the adaptive two echelon vehicle routing problems. Then, a lower bound of A2E-CVRP is given, after which the upper bound could be generated as an approximate solution. The solution of A2E-CVRP is better than that of 2E-CVRP both in theory and our computational experiments.

Tables 1 and 2 show that the saved costs become large when the satellites are located far away from the depot. Besides, the lower bound and upper bound could be further used to derive algorithm for generating solutions closer to the optimality, such as that described by Baldacci et al. (2013) or some branch and bound methods.