1 Introduction

The multiple depot ring-star problem (MDRSP) is an important combinatorial optimization problem arising in the context of optical fiber network design [3, 15] and in applications pertaining to collecting data using stationary sensing devices and autonomous vehicles [25]. In particular, consider a typical data collection application using a group of autonomous aerial vehicles. Assume that each vehicle is stationed at a distinct location (each location can correspond to a base station) and all the vehicles together have to collect data from a set of small sensing devices. The advantage of using small sensing devices is that they can be easily deployed in these applications to collect and transmit the relevant data without disturbing the environment. A sensing device typically consists of a micro-controller, a wireless radio, data storage devices, sensors and batteries. It can communicate its sensed information either to the autonomous vehicles or to its neighbouring sensors. The vehicles have to collect all the sensed information and return to its corresponding location so that the information can be processed further. This approach of using both stationary sensors and autonomous vehicles to collect data is advantageous for several reasons. Firstly, direct communication from the sensed sites to the base station may require a high-power transmitter and may not be suitable for environments with obstructions or non-line-of-sight communications. Simulations/experiments [21, 27] have shown that this type of transmission is also inefficient in terms of energy consumption. Secondly, even if the sensors communicate with the base station through a series of relays (a relay is any device that can receive data from the sensors and transmit it; a sensor can also perform the role of a relay), power consumption may be high as environmental applications require sensing and communicating over thousands of hectares of land. Relays may also have to only depend on battery power for communication as they may be stationed in areas where direct power from the grid is not available. An autonomous vehicle can travel to the monitoring sites and download the sensed data from the sensors, thus reducing the power expended by the sensors in relaying large amounts of data. This process can directly help in increasing the life span of the sensors. Also, by using aerial vehicles to collect data, the sensors are not required to form a connected network and can be spatially distributed depending on the constraints of the application. The MDRSP is a natural problem that arises in this context.

In a generic telecommunication application, the sensing devices can correspond to terminals or customers in access networks that are connected to switches or multiplexers, and vehicles’ routes can correspond to a series of backbone networks that interconnect these multiplexers to its corresponding hub. All the hubs are assumed to be connected via a fixed internal wired network allowing for inter-hub communication. Assuming that this wired network is fixed a priori, the problem of synthesising the backbone network for each hub and the access networks for each multiplexer in an hub reduces to a MDRSP. Both the aforementioned applications can be abstracted to the following problem: given the locations of a set of customers (sensors or terminals) and a set of depots(base stations or hubs), (i) find a set of simple cycles such that each cycle (ring) passes through a subset of customers and exactly one depot, (ii) assign each non-visited customer to a visited customer or a depot, and (iii) minimize the sum of the routing costs, i.e., the cost of the cycles and the assignment costs. Figure 1 shows an example of a feasible solution to the MDRSP. The MDRSP consists of two underlying sub-problems, namely the multiple depot traveling salesman problem (MDTSP) and the assignment problem. The two sub-problems are coupled in the sense that the subset of customers that are present in each cycle is not known a priori. If the assignment costs are very large compared to the routing costs, the MDRSP reduces to the MDTSP [6] and is \(\mathcal {NP}\)-hard.

Fig. 1
figure 1

Example of a feasible MDRSP solution

This is the first work in the literature that analyzes the facial structure of the MDRSP polytope and derives additional facet-defining inequalities for the polytope of feasible solutions. This paper develops a mixed integer linear programming formulation using a two index formulation similar to [15] and also develops non-trivial constraints that eliminate paths between depots for the MDRSP. This work generalizes the results of two related problems namely, the ring star problem (single depot variant of the MDRSP) in [15] and the MDTSP in [6].

1.1 Related work

The single depot variant of the MDRSP, the ring-star problem (RSP), has been well studied in the literature. The RSP was first introduced in the context of communication networks in [20], where the authors develop variable neighborhood tabu search algorithms to find feasible solutions. In [15] and [14], the authors present a polyhedral analysis and branch-and-cut algorithms for computing optimal solutions to the RSP. Authors in [16] consider a related problem called the median-cycle problem that consists of finding a simple cycle that minimizes the routing cost subject to an upper bound on the total assignment cost. Authors in [16] propose integer linear programming models, introduce additional valid inequalities and implement the model in a branch-and-cut framework.

Several authors have also considered graph structures (other than a cycle) such as a path or a tree [17]. Authors in [19] address a related single-depot problem called the Steiner ring-star problem; it consists of finding a minimum cost ring-star in the presence of Steiner vertices. This problem arises frequently in the context of digital data service network design where the objective is to connect terminals to concentrators using point-to-point links (star topology) and to then interconnect the concentrators through a ring structure. The authors develop a branch-and-cut algorithm to solve the problem to optimality. A tabu search algorithm was also proposed for the Steiner ring-star problem in [29].

The capacitated version of the RSP is also well studied in the literature. Heuristics and exact algorithms based on a branch-and-cut approach are available for a capacitated multiple ring-star problem [4]. Heuristics and lower bounds were presented for a capacitated variant of the MDRSP in [3]. A branch-and-cut algorithm to solve the capacitated variant of the MDRSP to optimality was presented in [12]. The authors in [12] also developed a meta-heuristic to obtain feasible solutions. The computational results in [12] indicate that their meta-heuristic outperforms the heuristic proposed by the authors in [3] for most of the instances considered.

Another closely related variant of the MDTSP and hence of MDRSP is the hamiltonian p-median problem [9]. This problem seeks p disjoint cycles which cover all the nodes with minimum cost. One of the main differences between the hamiltonian p-median problem and the MDTSP is that in the hamiltonian p-median problem one seeks exactly p cycles and each cycle need not necessarily contain a depot, which is not the case for the MDTSP or the MDRSP.

In this article, we present a mixed integer linear programming formulation for the MDRSP and propose valid inequalities to strengthen the linear programming relaxation. We then present a polyhedral analysis and derive facet-inducing inequalities for the MDRSP. Our theoretical results generalize the polyhedral analysis available for the MDTSP [6] and the RSP [15] to the MDRSP. The strengthened formulation is then used to develop a branch-and-cut algorithm to obtain optimal solutions to the MDRSP. The performance of the branch-and-cut algorithm is evaluated through extensive computational experiments on several classes of test instances.

2 Problem description

Let \(D:=\{r_{1},r_{2},\dots ,r_{n}\}\) denote the set of depots. Let T represent the set of customers. Consider a mixed graph \(G=(V,E\cup A)\) where \(V=D\cup T\), E is a set of undirected edges joining any two distinct vertices in V, and A is a set of directed arcs that includes self-loops (i.e., \(A=\{[i,j]:i,j\in V\}\)). Edges in E refer to the undirected routing edges, and the arcs in A refer to the directed assignment edges. For each edge \((i,j)=e\in E\), we associate a non-negative routing cost \(c_{e}=c_{ij}\), and for each arc \([i,j]\in A\), we associate a non-negative assignment cost \(d_{ij}\). Given a subset \(E'\subset E\), let \(\mathcal {V}(E')\) denote the set of vertices incident to at least one edge in \(E'\). Note that we allow the degenerate case where a cycle can only consist of depot and a customer. A ring-star R is denoted by \((V, E'\cup A')\) where \(E'\subset E\) is a simple cycle (ring) containing exactly one depot from D, and \(A'\subseteq A\) is a set of assignment edges (star) between a subset of \(T{\setminus } \mathcal {V}(E')\) and the vertices of \(\mathcal {V}(E')\). We say that a customer i is assigned to a ring-star R if it is either visited by the simple cycle (i.e., \(i\in \mathcal {V}(E')\)) or it is connected to a vertex present in a cycle using an assignment edge (i.e., a vertex j exists such that \([i,j]\in A'\)). The cost of the ring star R is the sum of the routing cost of edges in \(E'\) and the communication cost of the arcs in \(A'\). The objective of the MDRSP is to design at most n ring-stars so that each customer is assigned to exactly one ring-star and the sum of the cost of all the ring-stars is minimal.

3 Mathematical formulation

This section presents a mathematical formulation for the MDRSP inspired by the models for the standard routing problems in [6, 15, 28].

We propose a two-index formulation for the MDRSP. We associate to each feasible solution \(\mathcal {F}\), a vector \(\mathbf {x}\in \mathbb {R}^{|E|}\) (a real vector indexed by the elements of E) such that the value of the component \(x_{e}\) associated with edge e is the number of times e appears in the feasible solution \(\mathcal {F}\). Note that for some edges \(e\in E\), \(x_{e}\in \{0,1,2\}\). If e connects two vertices i and j, then (ij) and e will be used interchangeably to denote the same edge. Similarly, associated with \(\mathcal {F}\), is a vector \(\mathbf {y}\in \mathbb {R}^{|A|}\), i.e., a real vector indexed by the elements of A. The value of the component \(y_{ij}\) associated with a directed arc \([i,j]\in A\) is equal to 1 if the customer i is assigned to customer j and 0 otherwise. Furthermore, we require that a customer i be present in a cycle if it is assigned to itself, i.e., \(y_{ii}=1\).

For any \(S\subset V\), we define \(\gamma (S)=\{(i,j)\in E:i,j\in S\}\) and \(\delta (S)=\{(i,j)\in E:i\in S,\, j\notin S\}\). If \(S=\{i\},\) we simply write \(\delta (i)\) instead of \(\delta (\{i\})\). Finally, for any \(\hat{{E}}\subseteq E\), we define \(x(\hat{E})=\sum _{(i,j)\in \hat{E}}x_{ij}\), and for any disjoint subsets \(A,B\subseteq V\), \(x(A:B)=\sum _{i\in A,j\in B}x_{ij}\). Using the above notations, the MDRSP is formulated as a mixed integer linear program as follows:

$$\begin{aligned}&\displaystyle \text {Minimize}\quad \sum _{e\in E}c_{e}x_{e}+\sum _{[i,j]\in A}d_{ij}y_{ij}\qquad \end{aligned}$$
(1)
$$\begin{aligned}&\displaystyle \text {subject to}\nonumber \\&\displaystyle x(\delta (i))=2y_{ii}\quad \forall i\in T, \end{aligned}$$
(2)
$$\begin{aligned}&\displaystyle \sum _{j\in V}y_{ij}=1\quad \forall i\in T, \end{aligned}$$
(3)
$$\begin{aligned}&\displaystyle x(\delta (S))\ge 2\sum _{j\in S}y_{ij}\quad \forall S\subseteq T,i\in S, \end{aligned}$$
(4)
$$\begin{aligned}&\displaystyle x(D':\{j\})+3x_{jk}+x(\{k\}:D{\setminus } D')\le 2(y_{jj}+y_{kk})\quad \forall j,k\in T; j\ne k;D'\subset D, \end{aligned}$$
(5)
$$\begin{aligned}&\displaystyle x(D':\{j\})+2x(\gamma (S\cup \{j,k\}))+x(\{k\}:D{\setminus } D')\le \sum _{v\in S\cup \{j,k\}}2\, y_{vv}-\sum _{b\in S}y_{ab}\nonumber \\&\displaystyle \qquad \qquad \qquad \forall a\in S;j,k\in T, j\ne k;S\subseteq T{\setminus }\{j,k\},S\ne \emptyset ;D'\subset D, \end{aligned}$$
(6)
$$\begin{aligned}&\displaystyle y_{ii}=1\quad \forall i\in D, \end{aligned}$$
(7)
$$\begin{aligned}&\displaystyle y_{ij}=0\quad \forall i\in D;j\in T, \end{aligned}$$
(8)
$$\begin{aligned}&\displaystyle x_{ij}\in \{0,1\}\quad \forall (i,j)\in E;i,j\in T, \end{aligned}$$
(9)
$$\begin{aligned}&\displaystyle x_{ij}\in \{0,1,2\}\quad \forall (i,j)\in E;i\in D;j\in T, \end{aligned}$$
(10)
$$\begin{aligned}&\displaystyle y_{ij}\in \{0,1\}\quad \forall [i,j]\in A. \end{aligned}$$
(11)

In the above formulation, the constraints in (2) ensure the number of undirected (routing) edges incident on any vertex \(i\in T\) is equal to 2 if and only if target i is assigned to itself (\(y_{ii}=1\)). The constraints in (3) enforce the condition that a vertex \(i\in T\) is either in a cycle (\(y_{ii}=1\)) or assigned to a vertex j in a cycle (i.e., \(y_{ij}=1\) for some \(j\in V,\) \(j\ne i\)). The constraints in (4) are the connectivity or sub-tour elimination constraints. They ensure a feasible solution has no sub-tours of any subset of customers in T. The constraints in (5) and (6) are the path elimination constraints. They do not allow for any cycle in a feasible solution to consist of more than one depot. The validity of these constraints is discussed in Sect. 3.1. Constraints in Eqs. (7) and (8) are the assignment constraints for the depots. Finally, the constraints (9)–(11) are the integrality restrictions on the \(\mathbf {x}\) and \(\mathbf {y}\) vectors.

3.1 Path elimination constraints

To the best of our knowledge, the first version of any kind of path elimination constraints was developed for the location routing problem by Laporte et al. [18]. These constraints were facet-inducing for the version of location routing problem considered in [18]. The authors in [18] first develop a path elimination constraint from first principles for paths of length 3 (length refers to number of edges in the path) such that it is a facet and extend that approach to develop tight path elimination constraints for paths of length at least 4. Ever since, this approach has been used successfully for developing tight path elimination constraints for a variety of problems ([5, 6, 26] are a few examples). The second approach that is taken in the literature for developing path elimination constraints is to consider a single constraint to eliminate each infeasible path. This is achieved by a single constraint as follows: for any path \(P = \{(d_1,t_2), (t_2,t_3), \dots , (t_{p-1},d_2)\}\) that starts at depot \(d_1\) and terminates at depot \(d_2\), \(x(P) \le |P| - 1\) eliminates P (see [7, 9]). This type of constraints will remove paths of any length starting and terminating at distinct depots. Usually this inequality is not used as is, and it is lifted to higher dimensions to make the constraint tighter. For the MDRSP, we chose the former approach because it was more suited for proving that the inequality is facet-inducing.

Any path that originates from a depot and visits exactly two customers before terminating at another depot is removed by the constraint in (5). The validity of the constraint (5) can be easily verified as in [18]. Any other path \(d_{1},t_{1},\ldots ,t_{p},d_{2}\), where \(d_{1},d_{2}\in D\), \(t_{1},\ldots ,t_{p}\in T\) and \(p\ge 3\), violates inequality (6) with \(D'=\{d_{1}\},\) \(S=\{t_{2},\ldots ,t_{p-1}\}\), \(j=t_{1}\), \(k=t_{p}\) and \(a=t_{r}\) where \(2\le r\le p-1\). We now state and prove a result concerning inequality (4) that will aid in the verifying the validity of the constraint in Eq. (6).

Lemma 1

The connectivity constraints in Eq. (4) is equivalent to \(x(\gamma (S))\le \sum _{v\in S}y_{vv}-\sum _{j\in S}y_{ij}\) for all \(i\in S\), \(S\subseteq T\).

Proof

Consider a set S with \(\emptyset \ne S\subseteq T\). Then, for any feasible solution to the MDRSP, we have the following equality,

$$\begin{aligned} \sum _{v\in S}x(\delta (v))= & {} 2x(\gamma (S))+x(\delta (S))\nonumber \\ \sum _{v\in S}2y_{vv}= & {} 2x(\gamma (S))+x(\delta (S)) \end{aligned}$$
(12)
$$\begin{aligned} \sum _{v\in S}2y_{vv}\ge & {} 2x(\gamma (S))+2\sum _{j\in S}y_{ij}\quad \forall i\in S ~(\hbox {from Eq}. (4))\nonumber \\ x(\gamma (S))\le & {} \sum _{v\in S}y_{vv}-\sum _{j\in S}y_{ij}\quad \forall i\in S~(\hbox {from Eq.} (2)) \end{aligned}$$
(13)

Hence proved. \(\square \)

The above lemma states that inequalities (4) and (13) are equivalent and any feasible solution to the MDRSP satisfies both these constraints. We use this equivalence to prove the validity of (6) for the MDRSP in the following proposition.

Proposition 1

Any feasible solution to the MDRSP is not eliminated by the path elimination constraint in (6).

Proof

Using the Lemma 1, we first reduce the constraint in (6) to

$$\begin{aligned}&x(D':\{j\})+2\, x(\{j\}:S)+2\, x(\{k\}:S)+x(\{k\}:D{\setminus } D')+2x_{jk}\le \nonumber \\&\quad 2\,(y_{jj}+y_{kk})+\sum _{b\in S}y_{ab}+\left( x(\delta (S))-2\sum _{b\in S}y_{ab}\right) . \end{aligned}$$
(14)

Any feasible solution to the MDRSP will satisfy the sub-tour elimination constraints in Eq. (4). Hence, any feasible solution to the MDRSP will either satisfy \(x(\delta (S)) = 2\sum _{b\in S} y_{ab}\) or \(x(\delta (S)) > 2\sum _{b\in S} y_{ab}\).

\(\underline{\hbox {Case:} x(\delta (S)) = 2\sum _{b\in S} y_{ab}}\)

Consider any feasible solution \(\mathcal F\) that satisfies \(x(\delta (S)) = 2\sum _{b\in S} y_{ab}\). Then, either \(\sum _{b\in S} y_{ab} = 1\) or \(\sum _{b\in S} y_{ab} = 0\).

If \(\mathbf {\sum _{b\in S} y_{ab}=0}\) in the feasible solution, the inequality in (14) reduces to

$$\begin{aligned} x(D':\{j\})+x(\{k\}:D{\setminus } D')+2x_{jk}\le 2\,(y_{jj}+y_{kk}) \end{aligned}$$

which is trivially satisfied by the solution.

If \(\mathbf {\sum _{b\in S} y_{ab}=1}\) in the solution, the inequality in (14) reduces to

$$\begin{aligned} x(D':\{j\})+2x(\{j\}:S)+2x(\{k\}:S)+x(\{k\}:D{\setminus } D')+2x_{jk}\le 2\,(y_{jj}+y_{kk})+1. \end{aligned}$$
(15)

The proof that the feasible solution satisfies the above equation is as follows:

  1. 1.

    Let \(y_{jj} = 0\). In this subcase, the degree constraints indicate that \(x(D':\{j\}) = x(\{j\}:S) = x_{jk} = 0\). Hence, the constraint (15) reduces to \(2x(\{k\}:S)+x(\{k\}:D{\setminus } D')\le 2y_{kk}+1\), which is satisfied by the feasible solution (since \(x(\delta (S)) = 2\)). A similar argument holds for the subcase when \(y_{kk} = 0\).

  2. 2.

    For \(y_{jj} = y_{kk} = 1\), the right-hand-side (RHS) of constraint (15) takes the value 5. It is not difficult to observe that for any feasible solution with \(x(\delta (S)) = 2\), the maximum value that the left-hand-side (LHS) of the constraint (15) can take is also 5.

\(\underline{\hbox {Case}: x(\delta (S)) > 2\sum _{b\in S} y_{ab}}\)

Consider any feasible solution \(\mathcal F\) that satisfies \(x(\delta (S)) > 2\sum _{b\in S} y_{ab}\).

  1. 1.

    Consider the subcase where \(y_{jj} = 0\). Then, the path elimination constraint reduces to \(2x(\{k\}:S)+x(\{k\}:D{\setminus } D')\le 2y_{kk}+\sum _{b\in S}y_{ab}+(x(\delta (S))-2\sum _{b\in S}y_{ab})\). This constraint is trivially satisfied by \(\mathcal F\) when \(y_{kk} = 0\). When \(y_{kk} = 1\), observe that both the minimum value of the RHS and the maximum value of the LHS of the constraint is 4 (since \(\mathcal F\) has \(x(\delta (S)) > 2\sum _{b\in S} y_{ab}\), the minimum value of \(x(\delta (S)) - 2\sum _{b\in S} y_{ab}\) is 2). Hence, \(\mathcal F\) satisfies Eq. (14) when \(y_{jj} = 0\). A similar argument holds for the subcase when \(y_{kk} = 0\).

  2. 2.

    Consider the subcase where \(y_{jj} = y_{kk} = 1\). First, we observe that the minimum value taken by the RHS of the constraint (14) is 6. Hence, we need only to consider an \(\mathcal F\) where the LHS of the constraint (14) takes a value greater than 6. This occurs when \(x(\{j\}:S) = x(\{k\}:S) = 2\) and the LHS of the constraint would then be equal to 8. However, in such a case, \(x(\delta (S)) \ge 6\) (for else \(\mathcal F\) would not be feasible), and therefore, the RHS of the constraint will be at least equal to 9.

Hence, any feasible solution to the the MDRSP is not eliminated by the path elimination constraint in (6). \(\square \)

We note that our formulation allows for a feasible solution with paths connecting two depots and visiting exactly one customer. In the literature, such paths are referred to as 2-paths. As the formulation allows for two copies of an edge between a depot and a target, 2-paths will be eliminated since there always exists an optimal solution which does not contain any 2-path. In the following subsection, we shall strengthen the linear programming relaxation of the model (2)–(11) by the introduction of additional valid inequalities.

3.2 Additional valid inequalities

In this section, we develop three classes of valid inequalities for the MDRSP. Consider the constraints in Eq. (4). For any \(S=\{i,j\}\) where \(i,j\in T\) and \(i\ne j\), Eq. (4) reduces to \(x(\delta (i))+x(\delta (j))-2x_{ij}\ge 2y_{ii}+2y_{ij}\) . Further simplification using Eq. (2) yields

$$\begin{aligned} x_{ij}\le y_{jj}-y_{ij}. \end{aligned}$$
(16)

As in [15], one can note that the constraints in (16) dominate the following traditional inequalities:

$$\begin{aligned} x_{ij}\le 1-y_{ij},\text { }x_{ij}\le y_{ii}\text { and }x_{ij}\le y_{jj}\quad \text { for all }i,j\in T. \end{aligned}$$

Another set of useful constraints similar to (16) is given by

$$\begin{aligned} x_{ij}\le 2y_{jj}\quad \text { for all }i\in D,j\in T. \end{aligned}$$
(17)

Inequalities valid for a TSP polytope are also valid for the MDRSP. We particularly examine the 2-matching inequalities available for the TSP polytope [10]. Specifically, we consider the following inequality:

$$\begin{aligned} x(\gamma (H))+x(\mathcal {T})\le \sum _{i\in H}y_{ii}+\frac{|\mathcal {T}|-1}{2} \end{aligned}$$
(18)

for all \(H\subseteq T\) and \(\mathcal {T}\subset \delta (H)\). Here H is called the handle, and \(\mathcal {T}\) the teeth. H and \(\mathcal {T}\) satisfy the following conditions:

  • the edges in the teeth are not incident to any depots in the set D,

  • no two edges in the teeth are incident on the same customer,

  • \(|\mathcal {T}|\ge 3\) and odd.

The 2-matching inequality is also valid for the RSP [15] and hence, they are also valid for the MDRSP. The constraints in Eq. (18) are also equivalent to the blossom’s inequality for the 2-matching problem and a special case of the comb inequality for the symmetric TSP [2]. Eq. (18) is a comb inequality where the cardinality of every tooth is two and both the handle and the teeth contain only vertices from set T.

The next set of valid inequalities is derived using the valid inequalities for the Stable Set polytope (SSP). In any feasible solution to the MDRSP, for any triplet of vertices \(i,j,k\in T\), the assignments \(y_{ij}\) and \(y_{ik}\) are incompatible when \(j\ne k\). The stable set problem associated with these incompatible assignments is a relaxation of the MDRSP polytope. A similar observation was made for the RSP in [15]. This property leads to the following odd-hole inequalities for the MDRSP:

$$\begin{aligned}&y_{ij}+y_{jk}+y_{ki}\le 1\quad \text { for all }i,j,k\in T\text { and }i\ne j,\, j\ne k,\, i\ne k. \end{aligned}$$
(19)
$$\begin{aligned}&x(\delta (S))\ge 2(y_{ij}+y_{jk}+y_{ki})\quad \text { for all }i,j,k\in T,\, i\ne j,\, j\ne k,\, i\ne k \nonumber \\&\quad \text { and }S\subseteq T\text { such that }i,j,k\in S. \end{aligned}$$
(20)

Equation  (20) is the valid inequality obtained from the two previously mentioned relaxations of the MDRSP, i.e., the SSP and TSP relaxations.

We will next develop a few valid inequalities that are specific to the MDRSP. In particular, we will examine a special type of 2-matching inequality with multiple depots. We will call these inequalities depot-2-matching inequalities. Consider the following inequality:

$$\begin{aligned} x(\gamma (H))+x(\mathcal {T})\le \sum _{i\in H}y_{ii}+\frac{|\mathcal {T}|}{2} \end{aligned}$$
(21)

for all \(H\subseteq T\) and \(\mathcal {T}\subset \delta (H)\); H is the handle, and \(\mathcal {T}\) is the teeth. H and \(\mathcal {T}\) satisfy the following conditions:

  • every edge in the teeth must be incident on a depot,

  • no two edges in the teeth are incident on the same depot,

  • number of edges is \(\mathcal T\) is greater than equal to one, and

  • there exists at least one customer and one depot outside the handle and teeth.

Proposition 2

The depot-2-matching inequality in Eq. (21) is valid for any feasible solution to the MDRSP.

Proof

For any \(H\subseteq T\) and \(\mathcal {T}\subset \delta (H)\) satisfying the conditions stated previously, we have the following equality:

$$\begin{aligned} 2x(\gamma (H))+x(\delta (H))= & {} \sum _{v\in H}x(\delta (v))\\ \Rightarrow \,2x(\gamma (H))+x(\mathcal {T})+x(\delta (H) {\setminus }\mathcal {T})= & {} 2\sum _{v\in H}y_{vv}\quad \text {(from Eq. (2))}. \end{aligned}$$

We also have \(x(\mathcal {T})\le |\mathcal {T}|\) for the set \(\mathcal {T}\) (since the edges in the teeth are incident on the depots). Adding this inequality to the above equality, we obtain,

$$\begin{aligned} 2x(\gamma (H))+2x(\mathcal {T})+x(\delta (H){\setminus }\mathcal {T})\le & {} 2\sum _{v\in H}y_{vv}+|\mathcal {T}|\\ \Rightarrow \, 2x(\gamma (H))+2x(\mathcal {T})\le & {} 2\sum _{v\in H}y_{vv}+|\mathcal {T}|. \end{aligned}$$

The last inequality follows because \(x(\delta (H){\setminus }\mathcal {T})\ge 0\). Further simplification yields

$$\begin{aligned} x(\gamma (H))+x(\mathcal {T})\le & {} \sum _{v\in H}y_{vv}+\frac{|\mathcal {T}|}{2}. \end{aligned}$$

Hence the 2-depot-matching inequality is valid for the MDRSP. \(\square \)

Observe that the depot-2-matching inequality also allows for the number of edges in the teeth to be even and that a 2-depot-matching inequality with more that two edges in the teeth can also eliminate depot-depot paths.

In the following section, we develop some polyhedral results and facet-inducing properties for the valid inequalities discussed thus far.

4 Polyhedral analysis

We will show the polyhedral results for the MDRSP while leveraging on the results already known for a MDTSP. MDTSP is a special case of the MDRSP when each customer must be visited by one of the vehicles. Let P denote the polytope that represents the convex hull of feasible solutions to the MDRSP (i.e., satisfies (2)–(11)) and Q denote the corresponding MDTSP polytope [6].

If u denotes the number of customers, we observe that there are u equalities in (2), u equalities in (3), n equalities in (7) and nu equalities in (8). Therefore, the system (2), (3), (7) and (8) has \(2u+n+nu\) equalities. We also note that this system of equality constraints are linearly independent.

The number of \(x_{e}\) variables in the formulation is \(\left( {\begin{array}{c}u\\ 2\end{array}}\right) +nu\) (\(\left( {\begin{array}{c}u\\ 2\end{array}}\right) \) is the number of edges between customers and nu is the number of edges between depots and customers). Similarly, the number of \(y_{ij}\) variables in the formulation is \(u^{2}+n+2nu\) (\(u^{2}\) is the number of customer to customer arcs, n is the number of arcs that assigns a depot to itself and 2nu is the number of arcs that assigns a depot to a customer and vice versa). Let m denote the total number of variables used in the problem formulation i.e., \(m=\left( {\begin{array}{c}u\\ 2\end{array}}\right) +u^{2}+n+3nu\).

Let \(\chi _{(\mathbf {x},\mathbf {y})}\in \mathbb {R}^{m}\) denote the incidence vector of a solution \((\mathbf {x},\mathbf {y})\) to the MDRSP in the graph G. Now we have,

$$\begin{aligned} P:= & {} {\text {conv}}\{\chi _{(\mathbf {x},\mathbf {y})}:(\mathbf {x},\mathbf {y})\text { is a feasible MDRSP solution}\} \end{aligned}$$
(22)
$$\begin{aligned} Q:= & {} \{(\mathbf {x},\mathbf {y})\in P:y_{ii}=1\text { for all }i\in T\} \end{aligned}$$
(23)

The dimension of the polytope Q was shown to be \(\left( {\begin{array}{c}u\\ 2\end{array}}\right) +u(n-1)\) in [6]. Let \(F\subseteq T\) denote a subset of customers. To relate P and Q, we define an intermediate polytope P(F) as follows:

$$\begin{aligned} P(F):=\{(\mathbf {x},\mathbf {y})\in P:y_{ii}=1\text { for all }i\notin F\}. \end{aligned}$$
(24)

We observe that, \(P(\emptyset )=Q\) and \(P(T)=P\). Also, for any \((\alpha ,\beta )\in \mathbb {R}^{m}\) and \(\gamma \in \mathbb {R}\), define the hyperplane

$$\begin{aligned} \mathcal {H}(\alpha ,\beta ,\gamma ):=\{(\mathbf {x},\mathbf {y}) \in \mathbb {R}^{m}:\alpha \mathbf {x}+\beta \mathbf {y}=\gamma \} \end{aligned}$$
(25)

Lemma 2

Let \(v_{1},\ldots ,v_{u}\) be an ordering of the customers in the set T and \(F_{k}=\{v_{1},\ldots ,v_{k}\}\) for all \(k\in \{1,\ldots ,u\}\). If for each \(k=1,\dots ,u\) and each \(v_{l}\in V{\setminus }\{v_{k}\}\), there exists a feasible solution to the MDRSP, such that

  1. 1.

    \(y_{v_{j}v_{j}}=1\) for all \(j>k\) i.e., every customer in the set \(T{\setminus } F_{k}\) is in some cycle,

  2. 2.

    \(y_{v_{j}v_{j}}+\sum _{r\in D}y_{v_{j}r}=1\) for all \(j<k\) i.e., every vertex in the set \(F_{k}\) must be either in a cycle or assigned to a depot,

  3. 3.

    \(y_{v_{k}v_{l}=1}\) i.e., the vertex \(v_{k}\) must be assigned to the vertex \(v_{l}\), and

  4. 4.

    \(\alpha \mathbf {x}+\beta \mathbf {y}=\gamma \),

then, \({\text {dim}}(P\cap \mathcal {H}(\alpha ,\beta ,\gamma )) \ge {\text {dim}}(Q\cap \mathcal {H} (\alpha ,\beta ,\gamma ))+u(u+n-1)\).

Proof

We prove by induction on \(|F_{k}|\) that \({\text {dim}}(P(F_{k})\cap \mathcal {H}(\alpha ,\beta ,\gamma )) \ge {\text {dim}}(Q\cap \mathcal {H}(\alpha ,\beta ,\gamma )) +|F_{k}|(u+n-1)\). This in turn proves the lemma because when \(F_{k}=T\), we have \(P(F_{k})=P\) and \(|F_{k}|=u\). Let \(N_{k}:={\text {dim}}(Q\cap \mathcal {H}(\alpha ,\beta ,\gamma )) +|F_{k}|(u+n-1)\). The base case for induction holds since \(k=0\) implies \(F_{k}=\emptyset \) and \(P(F_{k})=Q\). Now, suppose \(k>0\). Then by induction hypothesis, we have \({\text {dim}}(P(F_{k-1})\cap \mathcal {H}(\alpha ,\beta ,\gamma ))\ge N_{k-1}\). Hence, there are at least \(N_{k-1}+1\) affine independent points in the polytope \(P(F_{k-1})\cap \mathcal {H}(\alpha ,\beta ,\gamma )\). All these affine independent points satisfy \(y_{v_{k}v_{k}}=1\) (since \(v_{k}\notin F_{k-1}\)). From the definition of P(F) in Eq. (24), we have \(P(F_{k})\cap \mathcal {H}(\alpha ,\beta ,\gamma )\supset P(F_{k-1})\cap \mathcal {H}(\alpha ,\beta ,\gamma )\). Therefore, these \(N_{k-1}+1\) affine independent points satisfying \(y_{v_{k}v_{k}}=1\) (Fig. 2) lie in \(P(F_{k})\cap \mathcal {H}(\alpha ,\beta ,\gamma )\). The assumptions of the lemma provide for additional \((u+n-1)\) affine independent points in \(P(F_{k})\cap \mathcal {H}(\alpha ,\beta ,\gamma )\) that satisfy \(y_{v_{k}v_{k}}=0\) (Fig. 2). Therefore, \({\text {dim}}(P(F_{k})\cap \mathcal {H}(\alpha ,\beta ,\gamma ))\ge N_{k-1} + (u+n-1) = {\text {dim}}(Q\cap \mathcal {H}(\alpha ,\beta ,\gamma )) +|F_{k}|(u+n-1)\). Hence proved.\(\square \)

Fig. 2
figure 2

The figure shows the affine independent feasible solutions. The induction hypothesis provides the affine independence of the \(N_{k-1}+1\) solutions in \(P(F_{k})\cap \mathcal {H}(\alpha ,\beta ,\gamma )\). Additional \((u+n-1)\) affine independent solutions are provided by the assumptions in the lemma. All the solutions put together are affine independent due to the block diagonal structure of the solution matrix

The Lemma 2’s hypothesis provides a family of feasible solutions to the MDRSP that are guaranteed to be linearly independent. The dimension of the MDRSP polytope P is computed in the following corollary of Lemma 2.

Corollary 1

\({\text {dim}}(P)=\left( {\begin{array}{c}u\\ 2\end{array}}\right) +u^{2}+2u(n-1)\).

Proof

The number of variables used in formulation of MDRSP is \(\left( {\begin{array}{c}u\\ 2\end{array}}\right) +u^{2}+n+3nu\) and all the solutions of the MDRSP satisfy the \(2u+n+nu\) linearly independent equality constraints in the system (2, 3, 7, 8). Hence, \({\text {dim}}(P)\le \left( {\begin{array}{c}u\\ 2\end{array}}\right) +u^{2}+n+3nu-(2u+n+nu)= \left( {\begin{array}{c}u\\ 2\end{array}}\right) +u^{2}+2u(n-1)\). Also, we have,

$$\begin{aligned} {\text {dim}}(P)= & {} {\text {dim}}(P\cap \mathcal {H}(0,0,0))\\\ge & {} {\text {dim}}(Q\cap \mathcal {H}(0,0,0)) +u(u+n-1)\quad \text { (using Lemma 2)}\\= & {} {\text {dim}}(Q)+u^{2}+u(n-1)\\= & {} \left( {\begin{array}{c}u\\ 2\end{array}}\right) +u(n-1)+u^{2}+u(n-1)\text { (see [7]) }\\= & {} \left( {\begin{array}{c}u\\ 2\end{array}}\right) +u^{2}+2u(n-1) \end{aligned}$$

Hence, \({\text {dim}}(P)=\left( {\begin{array}{c}u\\ 2\end{array}}\right) +u^{2}+2u(n-1)\).\(\square \)

An important consequence of Lemma 2 is that any valid inequality \(\alpha \mathbf {x}+\beta \mathbf {y}\le \gamma \) that is facet-inducing to the MDTSP polytope Q and satisfying the conditions (1)–(4) of the lemma is valid and facet-inducing to the MDRSP polytope P. This observation will be used in all of the subsequent results concerning the polyhedral analysis of P.

Proposition 3

If \(|T|\ge 4,\) the inequality \(x_{e}\ge 0\) is facet-inducing for P for every \(e\in E\).

Proof

For any ordering of the customers in T, it is trivial to construct feasible solutions satisfying the conditions 1–4 of Lemma 2 (\(x_{e}=0\) is the hyperplane here) for a fixed \(e=(i,j)\in E\). To construct such feasible solutions satisfying the assumptions of the Lemma, we require the condition \(|T|\ge 4\) (refer to Fig. 3). The proposition follows by noting that \(x_{e}=0\) is a facet to the MDTSP polytope Q if \(|T|\ge 4\) (see [6]). \(\square \)

Fig. 3
figure 3

When \(|T|<4\) in Proposition (3), a feasible solution to the MDRSP with customers 2,3 in the cycle associated with depot r such that \(x_{r3}=0\) and \(y_{12}=1\) cannot be constructed

Remark 1

We also note that the inequality \(x_{ij}\le 1\) for all \((i,j)\in E\) and \(i,j\in T\) is not facet-inducing for P since it is dominated by the constraint in Eq. (16). Similarly, the inequality \(x_{ij}\le 2\) for all \((i,j)\in E\), \(i\in D\) and \(j\in T\) is not facet-inducing for the polytope P as it is dominated by the corresponding constraint in Eq. (17).

Proposition 4

The sub-tour elimination constraint given by Eq. (4), i.e., \(x(\delta (S))\ge 2\sum _{j\in S}y_{ij}\) is facet-inducing for the MDRSP polytope for each \(S\subseteq T,\) \(i\in S\), \(|S|\ge 2\).

Proof

Consider any ordering of the customers in set T such that the customer \(i\in T\) is in the last position of the ordering. We will prove the proposition by constructing feasible solutions satisfying assumptions of Lemma 2 ( \(x(\delta (S))=2\sum _{j\in S}y_{ij}\) is the hyperplane here) for the considered ordering.

Choose an arbitrary customer \(k\in T{\setminus }\{i\}\). Given k, we construct \((u+n-1)\) feasible solutions satisfying the assumptions of the Lemma 2 as follows: construct a cycle spanning all the customers in \(T{\setminus }\{k\}\) and some depot r with exactly 2 edges in \(\delta (S)\) and customer k assigned to any vertex in the set \(V{\setminus }\{k\}\) (illustrated in Fig. 4a). The cardinality of the set \(V{\setminus }\{k\}\) is \((u+n-1)\) and hence we obtain \((u+n-1)\) feasible solutions satisfying the assumptions of the Lemma. \(\square \)

Fig. 4
figure 4

Feasible solutions described in Proposition (4). a A feasible solution where customer k is assigned to the depot r. We generate \((u+n-1)\) solutions be changing the vertex to which k is assigned. b A feasible solution where the customer i is assigned to a vertex in the set \(V{\setminus } S\), with a cycle spanning the customers in \(V{\setminus } S\). Changing the assignment for customer i would result in \(|V{\setminus } S|\) feasible solutions

We now detail the procedure for constructing another \((u+n-1)\) feasible solutions for the last customer \(i\in T\). Construct a cycle spanning depot r and all the customers in \(S{\setminus }\{i\}\) with exactly two edges in \(\delta (S)\) while assigning i to any vertex in \(S{\setminus }\{i\}\). This provides for \(|S|-1\) feasible solutions that satisfy the assumptions of the Lemma 2. Another set of \(|V{\setminus } S|\) feasible solutions is obtained as follows: construct a cycle spanning the depot r and the vertex set \(T{\setminus } S\), and assign the customers in \(S{\setminus }\{i\}\) to one of the depots and the customer i to any vertex in the set \(V{\setminus } S\) (illustrated in Fig. 4b). This final set of feasible solutions ensure \(x(\delta (S))=0\) and \(2\sum _{j\in S}y_{ij}=0\) . The proposition then follows because \(x(\delta (S))\ge 2\sum _{j\in S}y_{ij}\) reduces to a facet-inducing inequality \(x(\delta (S))\ge 2\) for the polytope Q of the MDTSP (see [6]).

Remark 2

The Proposition 4 does not hold for \(|S|=1\), since the degree constraint in Eq. (2) dominates the corresponding constraint with \(|S|=1\). Similarly, when \(i\notin S\), authors in [15] showed that Proposition 4 is not valid for the RSP because of the inequality

$$\begin{aligned} x(\delta (S\cup \{i\}))=x(\delta (S))+x(\delta (i))-2\sum _{j\in S}x_{ij}\ge 2\sum _{j\in S\cup {i}}y_{ij}=2(y_{ii}+\sum _{j\in S}y_{ij}). \end{aligned}$$

The above inequality implies \(x(\delta (S))\ge 2\sum _{j\in S}(y_{ij}+x_{ij})\) which dominates the corresponding constraint in Eq. (4) when \(i\notin S\). The same argument holds for the MDRSP.

Proposition 5

The constraint given by Eq. (5), \(x(D':\{j\})+3x_{jk}+x(\{k\}:D{\setminus } D')\le 2(y_{jj}+y_{kk})\), is facet-inducing for the MDRSP polytope P for every \(j,k\in T\), \(j\ne k\), \(|T|\ge 2\), \(D'\subset D\), and \(D'\ne \emptyset \).

Proof

We shall again use Lemma 2 to prove the proposition. Given \(j,k\in T\) and \(D'\subset D\), consider any ordering of the vertices in T where j and k appear in the last two positions. We also assume \(r_{1}\in D'\) and \(r_{2}\in D{\setminus } D'\). We claim there is a feasible solution for every vertex \(i\in T\) and for each vertex \(v\in V{\setminus }\{i\}\) that satisfy the assumptions 1–3 of Lemma 2 and the equation \(x(D':\{j\})+3x_{jk}+x(\{k\}:D{\setminus } D')=2(y_{jj}+y_{kk})\). This claim combined with the known result that \(x(D':\{j\})+3x_{jk}+x(\{k\}:D{\setminus } D')\le 4\) is facet-inducing for the MDTSP polytope Q (see [6]) proves the proposition. We shall now prove our claim.

For any arbitrary customer \(i\in T{\setminus }\{j,k\}\), consider the following solutions to the MDRSP: a cycle spanning the depot \(r_{1}\) and all the customers in \(T{\setminus }\{i\}\) such that the customer j is adjacent to the depot \(r_{1}\) and customer k with the customer i assigned to any vertex in the set \(V{\setminus }\{i\}\). Each of these solutions is feasible to the MDRSP and satisfy the equation \(x(D':\{j\})+3x_{jk}+x(\{k\}:D{\setminus } D')=2(y_{jj}+y_{kk})=4\) (since \(x(D':\{j\})=1\) and \(x_{jk}=1\)). For the customer j, consider feasible solutions where j is assigned to a vertex in \(V{\setminus }\{j\}\), the vertex k is the lone vertex spanned the cycle associated with depot \(r_{2}\) and all the customers in \(T{\setminus }\{j,k\}\) are spanned by cycle associated with depot \(r_{1}\). These solutions satisfy the equation \(x(D':\{j\})+3x_{jk}+x(\{k\}:D{\setminus } D')=2(y_{jj}+y_{kk})=2\) (since \(x(\{k\}:D{\setminus } D')=2\)). A similar construction can also be done for the vertex k. Therefore the claim, and as a result, the proposition is true.\(\square \)

Proposition 6

The constraint given by Eq. (6), \(x(D':\{j\})+2x(\gamma (S\cup \{j,k\}))+x(\{k\}:D{\setminus } D')\le \sum _{v\in S\cup \{j,k\}}2\, y_{vv}-\sum _{b\in S}y_{ab}\), is facet-inducing for the MDRSP polytope P for every \(j,k\in T\), \(j\ne k\), \(S\subseteq T{\setminus }\{j,k\}\), \(D'\subset D\), \(D'\ne \emptyset \), and \(a\in S\).

Proof

Consider any ordering of the customers in T such that the jk,  and a appear (in that order) in the last three positions in the ordering. We assume \(r_1 \in D'\) and \(r_2 \in D{\setminus } D'\). We claim there exists a feasible MDRSP solution for every vertex \(i\in T\) and for each vertex \(v\in V{\setminus }\{i\}\) that satisfy the assumptions 1–3 of Lemma 2 and the equation \(x(D':\{j\})+2x(\gamma (S\cup \{j,k\}))+x(\{k\}:D{\setminus } D') = \sum _{v\in S\cup \{j,k\}}2\, y_{vv}-\sum _{b\in S}y_{ab}\). This claim together with the known result that \(x(D':\{j\})+2x(\gamma (S\cup \{j,k\}))+x(\{k\}:D{\setminus } D') \le 2|S| + 3\) is facet-inducing for the MDTSP polytope Q (see [6]) proves the proposition. We shall now prove our claim.

Choose an arbitrary customer \(i \in T {\setminus }\{j,k,a\}\). We note that if \(T{\setminus } \{j,k,a\} = \emptyset \), then we continue constructing feasible solutions for the remaining vertices jka according to the procedure detailed in the forthcoming paragraphs. Now, we have either \(i\in S\) or \(i \notin S\). If the customer \(i \notin S\), we construct \((u+n-1)\) feasible MDRSP solutions satisfying the assumptions of the Lemma 2 as follows: construct a cycle spanning j, the customers in the set S, k, the customers in the set \( T{\setminus }(S\cup \{j,k\})\) in that order and depot \(r_1\), with the customer i assigned to any vertex in \(V{\setminus } \{i\}\) (illustrated in Fig. 5a). For all the above \((u+n-1)\) solutions, the LHS and the RHS of the constraint (6) take the value \(2|S| + 3\) i.e., the feasible solutions satisfy the constraint (6) at equality. Now, suppose that \(i\in S\). Then we construct the \((u+n-1)\) feasible MDRSP solutions satisfying the assumptions of the Lemma 2 in a similar manner, as follows: construct a cycle spanning the customer j, the customers in the set \(S{\setminus }\{i\}\), the customer k, the customers in the set \(T{\setminus }(S\cup \{j,k\})\) in that order and the depot \(r_1\), with the customer i assigned to any vertex in \(V{\setminus }\{i\}\). In this case, for all the \((u+n-1)\) feasible solutions, the LHS and the RHS of the constraint (6) is given by \(2|S{\setminus }\{i\}|+3\).

Now, we construct \(2(u+n-1)\) feasible solutions for the customer j and k respectively. We will construct the solutions for j and the same procedure can be followed to construct solutions for the customer k. For the customer j, construct a cycle spanning the customers \(k, t\in S, \) and \(t \in T{\setminus }(S\cup \{j,k\})\) in that order and the depot \(r_2\), with j assigned to any vertex in \(V{\setminus }\{j\}\) (illustrated in Fig. 5b). A similar procedure for constructing feasible MDRSP solutions for the customer k yields another \((u+n-1)\) solutions. In both cases, the LHS and the RHS of the constraint (6) take the value \(2|S|+1\).

Fig. 5
figure 5

Feasible solutions described in Proposition (6). a A feasible solution where the target \(i\in S{\setminus }\{j,k,a\}\) is assigned to the target j. Changing the assignment yields \((u+n-1)\) feasible solutions. b A feasible solution where customer j is assigned to a vertex spanned by a cycle. c, d Feasible solutions where the customer a is assigned to a vertex in S and outside S respectively. These kind of solutions contribute to the \(|S|-1\) and \(|V{\setminus } S|\) feasible solutions for the customer a, respectively

We finally detail the procedure to construct the \((u+n-1)\) feasible MDRSP solutions for the last customer in the ordering, a. Construct a cycle spanning \(r_1, j, t\in S{\setminus }\{a\}, k\) and \( t\in T{\setminus }(S\cup \{j,k\})\) in that order with the customer a assigned to one of the customers in \(S{\setminus }\{a\}\). This provides for \(|S|-1\) feasible solutions that satisfy the assumptions of the Lemma 2 (see Fig. 5c). The remaining set of \(|V{\setminus } S|\) feasible solutions is obtained as follows: construct three cycles - one with vertices j and \(r_1\), other with k and \(r_2\) (i.e., \(x_{jr_1} = x_{kr_2} = 2\).), and another one with \(r_1\) and remaining set of customers in \(T{\setminus } \{j,k,a\}\), and assign all the customers in \(S{\setminus } \{a\}\) to \(r_1\) and the customer a to any vertex in \(V{\setminus } S\). This set of feasible solutions have \(x(D':\{j\})+2x(\gamma (S\cup \{j,k\}))+x(\{k\}:D{\setminus } D') = 4\) and \(\sum _{v\in S\cup \{j,k\}}2\, y_{vv}-\sum _{b\in S}y_{ab} = 4\) (see Fig. 5d). Now, the proposition follows because Eq. (6) reduces to a facet-defining inequality \(x(D':\{j\})+2x(\gamma (S\cup \{j,k\}))+x(\{k\}:D{\setminus } D') \le 2|S| + 3\) for the polytope Q.\(\square \)

Proposition 7

The 2-matching inequality in Eq. (18) for all \(H\subseteq T\) and \(\mathcal {T}\subset \delta (H)\), satisfying the conditions:

  1. 1.

    the edges in the teeth are not incident to any depots in the set D,

  2. 2.

    no two edges in the teeth are incident on the same customer,

  3. 3.

    \(|\mathcal {T}|\ge 3\) and odd.

is facet-inducing for the MDRSP polytope P when \(|T|\ge 6\).

Proof

The proof proceeds by constructing feasible solutions that satisfy conditions 1–3 of the Lemma 2 and the hyperplane \(x(\gamma (H))+x(\mathcal {T})=\sum _{i\in H}y_{ii}+\frac{|\mathcal {T}|-1}{2}\). For a fixed H and \(\mathcal {T}\) satisfying the conditions stated in the proposition, and for each \(k\in T\), it is straightforward to construct a cycle spanning some depot \(r\in D\) and all the customers in \(T{\setminus }\{k\}\) such that \(x(\gamma (H))+x(\mathcal {T})=\sum _{i\in H}y_{ii}+\frac{|\mathcal {T}|-1}{2}\) (refer to Fig. 6).

Fig. 6
figure 6

Feasible solutions described in Proposition (7). The figures consider a handle and teeth with with \(|H|=3\) and \(|\mathcal {T}|=3\). a The part of a cycle that spans the vertices in the handle and the teeth when \(k\in T\) is in a teeth such that the 2-matching inequality is satisfied at equality. b A similar figure when \(k\in T\) is in the handle H

Each of these cycles can be converted to a feasible solution by the addition of an assignment from customer k to a vertex in the set \(V{\setminus }\{k\}\). The figures show portions of the cycle when \(k\in T\) is in the handle and teeth respectively. In Fig. 6a, the vertex k is in the handle H and in Fig. 6b, k is in a tooth. We also note that the valid inequality \(x(\gamma (H))+x(\mathcal {T})\le \sum _{i\in H}y_{ii}+\frac{|\mathcal {T}|-1}{2}\) reduces to \(x(\gamma (H))+x(\mathcal {T})\le |H|+\frac{|\mathcal {T}|-1}{2}\) for a MDTSP. The proposition follows since the hyperplane defined by \(x(\gamma (H))+x(\mathcal {T})\le |H|+\frac{|\mathcal {T}|-1}{2}\) is a facet for the MDTSP polytope Q when \(|T|\ge 6\) (see [6]). \(\square \)

5 Separation algorithms

In this section, we discuss the algorithms that are used to find violated families of constraints described in Sect. 3. We denote by \(G^{*}=(V^{*},E^{*})\) the support graph associated with a given fractional solution \((\mathbf {x}^{*},\mathbf {y}^{*})\) i.e., \(V^{*}:=\{i\in V:y_{ii}^{*}>0\}\) and \(E^{*}:=\{(i,j)\in E:x_{ij}^{*}>0\}\). We also define \(A^{*}:=\{[i,j]\in A:y_{ij}^{*}>0\}\).

5.1 Separation of sub-tour elimination constraints in Eqs. (4) and (16):

As shown previously, the inequalities in Eq. (4) reduce to Eq. (16) when \(|S|=2\). The violation of the inequality in Eq. (16) can be verified by examining the inequality for every pair of customers in the set T. Next, we examine the connected components in \(G^{*}\). Each connected component C such that \(D\,\cap \, C=\emptyset \) generates a violated sub-tour elimination constraint for \(S=C\) and for each \(i\in S\). If a connected component C has \(D\,\cap \, C\ne \emptyset \), the following procedure is used to find the largest violated sub-tour elimination constraint in \(x(\delta (S))\ge 2\sum _{j\in S}y_{ij}\) . For any \(S\subseteq T\), given any \(i\in S\), we can rewrite the constraint in Eq. (4) as

$$\begin{aligned} x(\delta (S))+2\sum _{j\notin S}y_{ij}\ge 2\qquad \forall S\subseteq T,i\in S. \end{aligned}$$
(26)

Given a connected component C such that \(D\,\cap \, C\ne \emptyset \), \(i\in C\,\cap \, T\), and a fractional solution \((\mathbf {x}^{*},\mathbf {y}^{*})\), the most violated constraint (26) can be obtained by computing a minimum s-t cut on a capacitated undirected graph \(\bar{G}=(\bar{V},\bar{E})\), with \(\bar{V}=(V^{*}\cap \, T)\cup \{s\}\). The vertex s denotes the source vertex and is formed by contracting all the depots into a single vertex. The vertex t denotes the sink vertex and \(t=i\). The edge set \(\bar{E}=E^{*}\cup \,\{(s,j):j\in V^{*}\cap \, T\}\). Every edge (sj) where \(j\in (V^{*}\cap \, T){\setminus }\{i\}\) is assigned a capacity \(\sum _{d\in D}x_{dj}^{*}\). The edge (ij) where \(j\in \bar{V}{\setminus }\{i\}\) is assigned a capacity equal to \(x_{ij}^{*}+2y_{ij}^{*}\) and any remaining edge e is assigned a capacity \(x_{e}^{*}\). We now compute the minimum s-t cut \((S,\bar{V}{\setminus } S)\) with \(t\in \bar{V}{\setminus } S\). The vertex set \(S'=\bar{V}{\setminus } S\) defines the most violated inequality if the capacity of the cut is strictly less than two. A similar separation procedure is also used to separate the sub-tour elimination constraints in [4, 15].

5.2 Separation of path-elimination constraints: Eqs. (5) and (6)

We first discuss the procedure used to separate violated constraints in Eq. (5). Consider every pair of targets \(j,k\in T\,\cap \, V^{*}\). We rewrite the constraint in (5) as \(x(D':\{j\})+x(\{k\}:D{\setminus } D')\le 2(y_{kk}+y_{jj})-3x_{jk}\). Given jk and fractional solution \((\mathbf {x}^{*},\mathbf {y}^{*})\), the RHS of the above inequality is a constant and is equal to \(2(y_{kk}^{*}+y_{jj}^{*})-3x_{jk}^{*}\). We observe that the LHS of the inequality, \(x^{*}(D':\{j\})+x^{*}(\{k\}:D{\setminus } D')\), is maximum when \(D'=\{d\in D:x_{jd}^{*}\ge x_{kd}^{*}\}\). Furthermore, when \(D'=\emptyset \), no path constraint in Eq.(5) is violated for the given pair of vertices j and k. With \(D'=\{d\in D:x_{jd}^{*}\ge x_{kd}^{*}\}\), if \(x^{*}(D':\{j\})+x^{*}(\{k\}:D{\setminus } D')\) is strictly greater than \(2(y_{kk}^{*}+y_{jj}^{*})-3x_{jk}^{*}\), the path constraint in Eq. (5) is violated for the pair of vertices jk and the subset of depots \(D'\).

We now discuss the separation procedure for the the constraint in Eq. (6). We note that this path constraint is determined by a pair of vertices \(j,k\in T\), a subset of vertices \(S\subseteq T{\setminus }\{j,k\}\), a vertex \(a\in S\) and a subset of depots \(D'\subset D\). In what follows we develop a procedure that is applied to every pair of clients \(\{j,k\}\). It is obvious that (6) will never be violated if j and k belong to different connected components of the support graph \(G^{*}\); hence, we only consider pairs of those \(\{j,k\}\) belonging to the same connected component in \(G^{*}\). We denote \(\bar{S}=S\cup \{j,k\}\). Using this notation, we reformulate the constraint in Eq. (6) to Eq. (27), whose violation can be deduced using a minimum s-t cut algorithm. The reduction is shown below:

$$\begin{aligned}&x(D':\{j\})+x(\{k\}:D{\setminus } D')+2x(\gamma (\bar{S}))\le \sum _{v\in \bar{S}}2\, y_{vv}-\sum _{b\in S}y_{ab}\nonumber \\&\quad \Rightarrow x(D':\{j\})+x(\{k\}:D{\setminus } D')\le x(\delta (\bar{S}))-\sum _{b\in S}y_{ab} \nonumber \\&\quad \Rightarrow x(D':\{j\})+x(\{k\}:D{\setminus } D')+1\le x(\delta (\bar{S}))+\sum _{b\notin \bar{S}}y_{ab}+y_{aj}+y_{ak}\nonumber \\&\quad \Rightarrow x(D':\{j\})+x(\{k\}:D{\setminus } D')+1-y_{aj}-y_{ak}\le x(\delta (\bar{S}))+\sum _{b\notin \bar{S}}y_{ab}. \end{aligned}$$
(27)

The second inequality follows by applying Eq. (12) in Lemma 1 to the set \(\bar{S}\). Eq. (27) is an equivalent representation of the path constraint in Eq. (6). Now, given a fractional solution \((\mathbf {x}^{*},\mathbf {y}^{*})\), the pair \(\{j,k\}\) in the same connected component C, and an \(a\in (C{\setminus }\{j,k\})\,\cap \, T\), the LHS of (27) attains a maximum value for \(D'=\{d\in D:x_{jd}^{*}\ge x_{kd}^{*}\}\) (when \(D'=\emptyset \), the corresponding path constraint (6) is not violated). Let \(\mathcal {L}=x^{*}(D':\{j\})+x^{*}(\{k\}:D{\setminus } D')+1-y_{aj}^{*}-y_{ak}^{*}\). Now, the most violated constraint (6) can be found by computing a minimum s-t cut on a capacitated undirected graph \(\bar{G}=(\bar{V},\bar{E})\) with \(\bar{V}=V^{*}\cup \{s,t\}\). The vertex s denotes the source. The vertex t denotes the sink and is formed by contracting all the depots to a single vertex. We add edges with very large capacity from the source vertex s to vertices jk and a. Every edge (ia) where \(i\in V^{*}{\setminus }\{a\}\) is assigned a capacity \(x_{ai}^{*}+y_{ai}^{*}\) and any remaining edge e is assigned a capacity \(x_{e}^{*}\). The minimum s-t cut \((S',T')\) on \(\bar{G}\) would have \(j,k,a,s\in S'\) and \(t,r\in T'\) for every \(r\in D\). The pair jk, the vertex set \(S=S'{\setminus }\{s\}\) and the vertex \(a\in S\) defines the most violated inequality if the capacity of the cut is strictly less than \(\mathcal {L}\).

5.3 Separation of 2-matching and depot-2-matching constraints: Eqs. (18) and (21):

We discuss exact and heuristic separation procedures for the 2-matching constraints. Using a construction similar to the one proposed in [23] for the b-matching problem, the separation problem for 2-matching inequalities can be transformed into a minimum capacity odd cut problem; hence this separation problem is exactly solvable in polynomial time. This procedure is computationally intensive, and so we use the following simple heuristic proposed by the authors in [8]. We consider an undirected graph \(\bar{G}=(\bar{V},\bar{E})\) with \(\bar{V}=V^{*}\cap \, T\) and \(\bar{E}=\{e:0<x_{e}^{*}<1\}\). Then, we consider each connected component H of \(\bar{G}\) as a handle of a possibly violated 2-matching inequality whose two-node teeth correspond to the edges \(e\in \delta (H)\) with \(x_{e}^{*}=1\). We reject the inequality if the number of teeth is even. The procedure can be implemented in \(O(|\bar{V}|+|\bar{E|)}\) time. A similar procedure is used for separating the depot-2-matching constraints. In this case, we consider two-node teeth corresponding to edges incident on the depots i.e., \(e\in \delta (H)\) with \(x_e^* = 1\) and \(e = (t,d)\), where \(t \in T\cap H\) and \(d \in D\). This procedure also eliminates paths between the depots.

5.4 Separation of constraints in Eqs. (19) and (20):

For the constraints in Eqs. (19) and (20), we use the separation procedures discussed in [15]. The inequalities in Eq. (19) can be separated by a complete enumeration of \(i,j,k\in T\) such that \(y_{ij}^{*}>0\), \(y_{jk}^{*}>0\) and \(y_{ki}^{*}>0\). Similarly, for each \(i,j,k\in T\) such that \(y_{ij}^{*}>0\), \(y_{jk}^{*}>0\) and \(y_{ki}^{*}>0\), a min-cut separating D from \(\{i,j,k\}\) in \(G^{*}\) would detect the most violated constraint in Eq. (20), if any.

6 Branch-and-cut algorithm

In this section, we describe important implementation details of the branch-and-cut algorithm for the MDRSP. The algorithm is implemented within a CPLEX 12.6.1 framework using the CPLEX callback functions [13]. The callback functions in CPLEX enable the user to completely customize the branch-and-cut algorithm embedded into CPLEX including, the choice of node to explore in the enumeration tree, the choice of branching variable, the separation and the addition of user-defined cutting planes and the application of heuristic methods.

Fig. 7
figure 7

The greedy assignment procedure

The lower bound at the root node of the enumeration tree is computed by solving the LP relaxation of the formulation in Sect. 3 that is further strengthened using the cutting planes described in Sect. 3.2. The initial linear program consisted of all constraints in (1)–(11) and (17), except (4), (5) and (6). Several numerical experiments indicated that the inequalities in Eqs. (19) and (20) were not computationally helpful for the branch-and-cut procedure, and so they were not used in the final implementation of the algorithm. For a given LP solution, we identify violated inequalities using the separation procedures in the following order: (i) sub-tour elimination constraints in Eq. (16), (ii) sub-tour elimination constraints in Eq. (4) (iii) path elimination constraints in Eqs. (5) and (6) (iv) 2-matching and depot-2-matching constraints in Eq. (18) and (21), respectively. Furthermore, we disabled the separation of all the cuts embedded into the CPLEX framework because enabling these cuts increased the average computation time for the instances. Once the new cuts generated using these separation procedures were added to the linear program, the tighter linear program was resolved. This procedure was iterated until either of the following conditions was satisfied: (i) no violated constraints could be generated by the separation procedures, (ii) the current lower bound of the enumeration tree was greater or equal to the current upper bound. If no constraints are generated in the separation phase, we create subproblems by branching on a fractional variable. First, we select a fractional \(y_{ii}\) variable, based on the strong branching rule [1]. If all these variables are integer, then we select a fractional \(x_{e}\) variable using the same rule. As for the node-selection rule, we used the best-first policy for all our computations, i.e., select the subproblem with the lowest objective value.

6.1 Heuristics

We discuss a greedy algorithm called LP-heuristic, that aides in speeding up the convergence of the branch-and-cut algorithm. The LP-heuristic constructs a feasible solution from a given fractional LP solution. It is used only at the root node of the enumeration tree, once in every three iterations. LP-heuristic is based on a transformation method [22]. Given \(\mathbf {y}^{*}\), the vector of fractional LP assignment values, the heuristic greedily assigns every customer in the set T to some vertex in the set V. We call this procedure the greedy assignment procedure; a pseudo-code of the algorithm is shown in Fig.7. Once we have the assignment, we can compute the set of vertices that are spanned by some cycle (the set of vertices that are assigned to itself). We then solve the multiple depot traveling salesmen problem (MDTSP) on these vertices and D. A heuristic based on the transformation method [22] and LKH heuristic [11] is used to solve the MDTSP.

7 Computational results

In this section, we discuss the computational results of the branch-and-cut algorithm. The algorithm was implemented in C++ (GCC version 4.6.3), using the elements of Standard Template Library (STL) and CPLEX 12.4 framework. As mentioned in Sect. 6, the internal CPLEX cut generation was disabled and, CPLEX was used only to manage the enumeration tree. All the simulations were performed on a Dell Precision T5500 workstation (Intel Xeon E5630 processor @2.53 GHz, 12 GB RAM). The computation times reported were expressed in seconds and we imposed a time limit of 7200 seconds for each run of the algorithm. The performance of the algorithm was tested on different classes of test instances, all generated using the traveling salesman problem library [24].

Instance generation: We generated two classes of test instances (I and II) having the same underlying graph, but with a different assignment cost structure (similar to [4, 15]). For each of the two classes and for each value of \(|T|\in \{29,51,76,101\}\), we generated 12 MDRSP instances using four TSPLIB instances [24] namely, bays29, eil51, eil76 and eil101. We performed a computational study on these instances with \(|D|\in \{3,4,5\}\). The depot locations were randomly generated. The routing costs and assignment costs were generated as follows:

Class I-The routing and assignment cost for a pair of vertices ij is equal to the Euclidean distance \(l_{ij}\) between the two vertices.

Class II-For each pair of vertices ij, the routing cost \(c_{ij}=\alpha l_{ij}\) and the assignment cost \(d_{ij}=(10-\alpha )l_{ij}\) where \(\alpha \in \{3,5,7,9\}\). We refer to \(\alpha \) as the scale factor.

Tables 1 and 2 summarize the computational behavior of the branch-and-cut algorithm on the two classes of instances. The column headings are defined as follows:

Name: instance name (for Classes I and II);

|D|: number of depots (for Classes I and II);

\(\alpha \): scale factor (for Class II);

opt: optimal objective value (for Classes I and II);

%-LB: percentage LB/opt, where LB is the objective value of the LP relaxation computed at the root node of the enumeration tree (for Classes I and II);

%-LB0: percentage LB/opt, where LB is the objective value of the LP relaxation computed at the root node of the enumeration tree without adding the additional valid inequalities for the MDRSP (for Class II);

Pair: number of constraints (16) generated (for Classes I and II);

SEC: number of constraints (4) with \(|S|>2\) generated (for Classes I and II);

2mat: number of constraints (18) generated (for Classes I and II);

2dmat: number of constraints (21) generated (for Classes I and II);

PEC: number of constraints (5) and (6) generated (for Classes I and II);

Nodes: total number of nodes examined in the enumeration tree (for Classes I and II);

Time: total computation time in seconds (for Classes I and II).

%Ring: total percentage of customers in present in the ring for the optimal MDRSP solution (for Class II)

Table 1 Computational results for instances in Class I
Table 2 Computational results for instances in Class II

The results tabulated in Tables 1 and 2 indicate that the proposed branch-and-cut algorithm can solve instances involving up to 101 customers with modest computation times. All the instances were solved by the branch-and-cut algorithm within an hour. For a scale factor value of 3, we observe that the MDTSP solution is the optimal solution to the MDRSP. As the scale factor value is increased, this is clearly not the case because the percentage of customers present in the cycles decreases considerably. Furthermore, we observe that the Class II instances are more difficult, on an average, especially for a scale factor equal to 7. For the scale factor value of 7, the average percentage of customers present in the cycle in the optimal solution is \(33\,\%\). These are the instances that take the maximum average computation time of 1077 seconds. Hence, the difficult instances tend to be those with relatively few edges the cycles of the optimal solution. The same trend was also observed for the RSP [15], where the difficult instances tend to be those where the optimal cycle consists of about \(20\,\%\) of the customers. The %-LB column in both the tables indicate that the lower bound obtained at the root node of the enumeration tree is very tight, typically within \(0.5\,\%\) of the optimum. The %-LB0 column in the Table 2 is the ratio of the lower bound obtained at the root node of the enumeration tree to the optimal solution; here the lower bound is obtained by not using any of the additional valid inequalities developed for the MDRSP. This average %-LB0 is observed to be within \(1.2\,\%\) of the optimal solution for all the instances in Class II. Hence, we conclude that proposed mixed-integer linear programming formulation for the MDRSP is by itself very tight. Other computational experiments that were conducted show that the depot-2-matching inequalities reduced the the number of path-elimination constraints added to the enumeration tree and also the overall computation time, the reason being these inequalities can themselves eliminate depot to depot paths. Overall, we were able to solve all the 60 test instances within an average computation time of one hour, with the largest instance involving 101 customers and 5 depots.

8 Conclusion

In this paper, we have presented an exact algorithm for the MDRSP, a problem that arises in designing an optical fibre network in telecommunications and allocating resources in monitoring applications. A mixed integer linear programming formulation including several classes of valid inequalities was proposed and a complete polyhedral analysis with facet-inducing results was investigated together with a branch-and-cut algorithm. The algorithm was tested on a wide class of benchmark instances from a standard library. The largest solved instance involved 101 vertices. Future work can be directed towards development of branch-and-cut approaches accompanied with a polyhedral study to solve capacitated versions of the problem.