Keywords

1 Introduction

Fiber To The Home (FTTH) networks are currently deployed by telecommunications operators, and require a huge capital expenditure (see [7], it can cost several billion euros to connect one million households). The technological architecture chosen by a majority of operators is to deploy passive optical networks, which are based on passive optical splitters. A passive optical splitter connects several fibers on one of its sides to one at the other side (divides or gathers the signal depending on its origin), which leads to a tree topology of the FTTH networks (illustrated in Fig. 1a). The design of such networks includes to decide the splitter locations, the civil engineering infrastructure used (see [4,5,6, 8]). Finally, the fiber cable network has to be designed to connect these equipment (see Fig. 1a). These decisions are usually taken in different steps.

This paper focuses on the problem of fiber cable network design. This problem is highlighted in the survey [9] as an incomplete field of study, especially when cable separation techniques are considered. The work from [1] tackles the issue including the selection of civil engineering infrastructure, but faces computational limits on real-life instances. The paper [12] excludes weld costs, which are a significant expense source. The work from [2] deals with the issue of cable backfeed, specific to the problem, but restricts the possible ways to serve the demand. In the following we include several ways to serve the demand (with fiber cables or fiber modules), and introduce a maintenance constraint which, to our knowledge, is novel. What follows extends the work presented in [3].

The next section introduces two problems which differ by the introduction of an Operation Administration & Maintenance constraint. We introduce an algorithm based on integer programming for the unconstrained problem in Sect. 3.1. Two solution methods are then proposed for the constrained problem, an integer programming based solution in Sect. 3.2, and a dynamic programming based solution in Sect. 4.1. A fixed parameter tractable approximation scheme is introduced for the constrained problem in Sect. 4.2. The theoretical complexities of both problems are proven and argued in Sect. 5. All solution methods are assessed numerically in Sect. 6.

Fig. 1.
figure 1

(a) Underlying optical architecture example. It has a tree topology; the splitter location is connected to every client group [3]. (b) Underlying civil engineering tree example. The ducts, cabinets, demands and number of fiber modules are known [3].

2 Problem Description

The general problem tackled in this paper consists in connecting one splitter location to several client groups, using fiber cables, with minimal cost. It arises several times in a given FTTH network, notably once for each splitter location.

2.1 Unconstrained Problem

Cables are to be laid out in a civil engineering infrastructure (usually the one used for the legacy copper network) with a tree topology, assumed chosen within previous decision steps. The cables have an arborescent structure from the splitter location to the client groups. Along the ducts of this infrastructure are located street cabinets, in which the demand lies. The civil engineering structure used is supposed to be known due to previous decision making, as well as the demand in each cabinet.

Fiber cables contain several fiber modules, and each fiber module contains several fibers. Due to operational constraints, modules are not dividable, and all modules on a given network are supposed to be identical. This allows us to consider only fiber modules, and ignore the fiber level. Some of the modules are connected to the fiber source on one of their ends, and on the fiber demand on the other end. These are actually used, and are called “active modules”, the other ones are called “dead modules”. The latter can arise due to cables not matching exactly the demand or in the operations described below (example: a 4 module cable serving a cabinet which requires 3 modules). Since all the demand is known and there is only one path from the source to a given demand point, the number of active modules that must be deployed through a given duct is known (see Fig. 1b).

Fig. 2.
figure 2

Left: Continued cables; Right: Splicing operation [3].

At a cabinet, cables can endure a splicing operation, which leads to two basic configurations (see Fig. 2):

  • All cables are continued. One only has to pay for the cost of laying out cables.

  • One cable is spliced. It is cut at the cabinet, and its active modules are welded to active modules of new cables, referred to as “born cables”. A protective box, the size of which depends on the spliced cable size, is installed. One has to pay for the cables, the box and the welds.

There are two different ways to serve the demand that cannot be combined (see Fig. 3):

  • Cable-served. In this case, a single cable brings all the required active modules to the demand cabinet.

  • Module-served. In this case, a splicing operation is done in the cabinet, and some modules from the spliced cable are used to serve the demand. No welds are done on these modules.

Additional engineering rules have to be taken into account:

Fig. 3.
figure 3

Left: Module-served demand node; Right: Cable-served demand node [3].

  • At most one cable can be spliced at a street cabinet. This is due to space restrictions and regulatory constraints (protective boxes are large).

  • The demand of a given cabinet must be served by at most one cable.

The cost elements are as follows:

  • The cost of a cable is linear with respect to its length, and concave with respect to its size (i.e. its number of modules). This derives from the catalogues of cable manufacturers, who propose a fixed price per length unit for each cable size.

  • The cost of a protective box depends on the size of the cable being spliced. It is a piecewise constant function. This derives from the number of different boxes sold by manufacturers.

  • The cost of welds depends on the number of welds to be done in a given cabinet. It is piecewise linear concave, and derives from manpower cost considerations.

This decision problem, referred to as FCNDA (Fiber Cable Network Design in an Arborescence) in the following, can be formulated as follows: given a civil engineering arborescence, demand nodes, a set of available cables and the associated costs, design a minimum cost optical fiber cable network satisfying the engineering rules listed above.

Section 2.2 introduces a restriction of the FCNDA problem.

2.2 Constrained Problem

We restrict the problem by imposing that all cables going through a given duct are born in the same cabinet (eventually the fiber source). This restriction is illustrated in Fig. 4. It is motivated by operations and maintenance considerations. Indeed, assuming all the cables of a given duct are damaged, then an intervention has to be done at the cabinets where each of these cables is born. If the rule is respected, an intervention is necessary in only one cabinet.

The constrained decision problem, referred to as EFCNDA (Easy-maintenance Fiber Cable Network Design in an Arborescence) in the following consists in designing a FCNDA solution where cables on a same duct are born in the same cabinet with minimal cost.

Fig. 4.
figure 4

Left: Allowed splicing configuration for EFCNDA. On all edges, cables are born in the same cabinet; Right: Forbidden splicing configuration for EFCNDA. On the bottom-right duct, two different cables are born in different cabinets [3].

3 Integer Programming

3.1 SFCND

Notation and Formulation. The following notations will also be used in Sect. 4.

An arborescence \(G=(V,A)\) describes the civil engineering infrastructure, V the cabinets and A the ducts, and its root \(r \in V\) denotes the fiber source (CO or splitter location). For any \(i \in V, D_i \in \mathbb {N}\) denotes the demand (number of active modules required) in node i. We define \(V^* = V \setminus r\), the set of demand nodes is noted \(V_D=\{v \in V, D_v > 0\}\), the set of nodes without demand \(V_N = V^* \setminus V_D \). Each arc \((i,j) \in A\) has a length \(\varDelta _{(i,j)} > 0 \) and must contain \(m^{act}_{i,j}\) active modules (\(m^{act}_{i,j}\) being known, since we are in an arborescence). For \(i \in V\), we denote \(\varGamma ^+(i)\) the set successors of i and \(\gamma (i)\) its predecessor.

We have L different cable types at our disposal, we note \(\mathcal {L}= \{1,..,L\}\) the set of cables. Cables of type \(l \in \mathcal {L}\) have a size of \(M_l \in \mathbb {N}\) modules, and for \(l \in \mathcal {L}\), we note \(\mathcal {M}_l=\{1,..,M_l\}\) (the range of possible number of active modules in a cable of type l).

For \(l \in \mathcal {L}\), let us define \(C^{le}_l\) the cost per length unit of a cable of size l, and \(PB_l\) the cost of a box of size l. For \(m \in \mathcal {M}_L\), let us define the cost of the smallest cable able to contain m active modules \(C^{min}_m = C^{le}_{l_1}\) where \( l_1 = \min \{ l \in \mathcal {L}, m \le M_l \} \), and \(PW_m\) the cost for welding m modules.

We introduce \(\mathcal {P}\) the set of directed paths of G, and for \(p \in \mathcal {P}\), we note by s(p) its source node, t(p) its target node, and \(\varDelta _p\) its length (which extends \(\varDelta \) from A to \(\mathcal {P}\)).

We define the following variables:

  • \(\forall l \in \mathcal {L}, \forall p \in \mathcal {P}, k^{spl}_{p,l} \in \{0,1\}\) the binary variable equal to 1 iff there is a cable of size l on path p spliced in t(p).

  • \(\forall p \in \mathcal {P}, k^{dem}_{p} \in \{0,1\}\) the binary variable equal to 1 iff there is a cable on path p serving the demand in t(p) in a cable-served way. Its size is known, it is \( \min \{l \in \mathcal {L} | M_l \ge D_{t(p)} \} \).

  • \(\forall p \in \mathcal {P}, m^{spl}_p \in \{0,..,M_L\}\) the number of active modules of the cable on path p spliced in t(p).

  • \(\forall i \in V^*, \forall m \in \mathcal {M}_L, w_{i,m} \) the binary variable equal to 1 iff m welds are done in node i.

The problem can be formulated as follows:

$$\begin{aligned} \min&\sum _{p \in \mathcal {P}}\varDelta _p \cdot \left( C^{min}_{D_{t(p)}} \cdot k^{dem}_{p} + \sum _{l \in \mathcal {L}} C^{le}_l \cdot k^{spl}_{p,l} \right) \\&+ \sum _{i \in V_N} \sum _{m \in \mathcal {M}_L} PW_m \cdot w_{i,m} + \sum _{p \in \mathcal {P}} \sum _{l \in \mathcal {L}} PB_l \cdot k^{spl}_{p,l} \end{aligned}$$

such that

$$\begin{aligned}&\sum _{ p \in \mathcal {P}| t(p) = i } \sum _{l \in \mathcal {L}} k^{spl}_{p,l} \le 1&\forall i \in V^*, \end{aligned}$$
(1)
$$\begin{aligned}&\sum _{p \in \mathcal {P}| t(p)=i} k^{dem}_{p} \le 1&\forall i \in V_D, \end{aligned}$$
(2)
$$\begin{aligned}&\sum _{l \in \mathcal {L}} M_l \cdot k^{spl}_{p,l} \ge m^{spl}_p&\forall p \in \mathcal {P}, \end{aligned}$$
(3)
$$\begin{aligned}&\sum _{p \in \mathcal {P}|t(p)=i} m^{spl}_p = D_i \cdot (1- \sum _{p \in \mathcal {P}|t(p)=i} k^{dem}_{p}) \nonumber \\&+ \sum _{p \in \mathcal {P}|s(p) = i} (m^{spl}_p + D_{t(p)} k^{dem}_{p})&\forall i \in V^*, \end{aligned}$$
(4)
$$\begin{aligned}&\sum _{m \in \mathcal {M}_L} m \cdot w_{i,m} = \sum _{p \in \mathcal {P}|i = s(p)}(m^{spl}_p + D_{t(p)} \cdot k^{dem}_p )&\forall i \in V^*, \end{aligned}$$
(5)
$$\begin{aligned}&\sum _{m \in \mathcal {M}_L} w_{i,m} \le 1&\forall i \in V_N, \nonumber \\&k^{dem}, k^{spl}, w \in \{0,1\}; m^{spl} \in \{0,..,M_L\} \end{aligned}$$
(6)

In the cost function, the first term stands for the cost of cables, the second term for the cost of welds, and the last term for the cost of boxes. Equations (1) ensure at most one cable is spliced in a node. Constraints (2) a most one cable serves the demand in a cable-served way. Equations (3) make sure that spliced cables are large enough to contain their number of active modules. Constraints (4) are active module conservation equations. The left hand side term stands for the number of modules of the spliced cable. The first right side hand term is the number of modules necessary to serve the demand, in case it is not cable-served. The last term is the number of active modules of born cables. Finally, (5) and (6) ensure that w counts the number of welds to be done in each node.

Remark 1

It is possible to fix the value of some variables. First, notice that leaf nodes are demand nodes. These nodes will be served in a cable-served way, and no operation will be done inside them. This gives, for all nodes \(i \in V_D \text { such that } |\varGamma ^+(i)|=0\):

$$\begin{aligned} \forall m \in \mathcal {M}_L, w_{i,m}=0 \\ \forall p \in \mathcal {P}|t(p)=i, \forall l \in \mathcal {L}, k^{spl}_{p,l} = 0 \end{aligned}$$

Furthermore, the number of welds done in a node cannot exceed the number of active modules going out of this node. This gives:

$$\begin{aligned} \forall i \in V^*, \forall m \in \mathcal {M}_L, \text { if }m > \sum _{j \in \varGamma ^+(i)} m^{act}_{i,j}, w_{i,m} = 0 \end{aligned}$$

Valid Inequalities. We propose here several valid inequalities to tighten the formulation.

Let us define, for all \(m \in \mathbb {N}\), the minimum cost per length unit of a set of cables able to contain m active modules denoted by LB(m). For a given m, \(LB(m)=\{\min \sum _{l \in \mathcal {L} } C^{le}_l \cdot n_l | \sum _{l \in \mathcal {L}} M_l \cdot n_l \ge m, n \in \mathbb {N}^L \}\).

Proposition 1

The following inequalities are valid for the ESFCND problem:

$$\begin{aligned} \forall (i,j) \in A, \sum _{p \in \mathcal {P}|(i,j) \in p}\big ( \sum _{l \in \mathcal {L}} (C^{le}_l \cdot k^{spl}_{p,l}) \nonumber \\ +\, C^{min}(D_{t(p)}) \cdot k^{dem}_{p} \big ) \ge LB(m^{act}_{i,j}) \end{aligned}$$
(7)

The left hand side is the cost per length unit of the cables going through (ij).

Let us consider a path \(p \in \mathcal {P}\) such that \(t(p) \in V_D\) and \(s(p) \ne r\). If there is a cable deployed on p, born in s(p) and serving the demand in t(p), then we know there is a splicing operation done in s(p). Furthermore, there is at least \(D_{t(p)}\) welds in this operation, since the cable serving t(p) contains \(D_{t(p)}\) active modules.

Proposition 2

The following valid inequalities are valid for the ESFCND problem:

$$\begin{aligned} \forall p \in \mathcal {P}|t(p) \in V_D \text { and } s(p)\ne r, k^{dem}_p \le \sum _{m \ge D_{t(p)}} w_{s(p),m} \end{aligned}$$
(8)

Proof

Let consider a path \(p \in \mathcal {P}\) such that \(t(p) \in V_D\), \( s(p)\ne r\), and \(k^{dem}_p = 1\) (t(p) is cable served by a cable on p). By (5), it gives \(\sum _{m \in \mathcal {M}_L} m \cdot w_{s_{p},m} \ge D_{t(p)}\) (there are at least \(D_{t(p)}\) welds done in s(p)). Which means, with (6), \(\exists ! m_0 \ge D_{t(p)}, w_{s_{p},m_0} = 1 \). Hence the result.    \(\square \)

3.2 ESFCND

ESFCND can be solved by using the same variables as in Sect. 3.1. The cost function is the same, the set of feasible solutions is described by constraints (1) to (6) to which we add the maintenance constraints described below:

$$\begin{aligned}&\forall (p,p') \in \mathcal {P}^2 \text { such that } s(p) \ne s(p') \text { and } \exists a \in A, a \in p \text { and } a \in p',&k^{dem}_p + k^{dem}_{p'} \le 1 \end{aligned}$$
(9)
$$\begin{aligned}&\qquad \mathop {\sum }\limits _{l \in \mathcal {L}} k^{spl}_{p,l} + \mathop {\sum }\limits _{l \in \mathcal {L}} k^{spl}_{p',l} \le 1 \end{aligned}$$
(10)
$$\begin{aligned}&\qquad \mathop {\sum }\limits _{l \in \mathcal {L}} k^{spl}_{p,l} + k^{dem}_{p'} \le 1 \end{aligned}$$
(11)

These constraints ensure that on two paths which have different origins but an arc in common, there can be only one cable. Constraints (9) ensure it in the case the two cables are serving the demand. Constraints (10) in the case both cables are spliced (at most one term in the sum \(\sum _{l \in \mathcal {L}} k^{spl}_{p,l}\) is equal to 1, since there can be at most one splicing operation in t(p), the same goes for \(p'\)). Finally, constraints (11) in the case one of them is spliced and the other one serves the demand.

The next section introduces an alternative mixed integer programming approach for ESFCND, based on arcs rather than paths. It uses the properties of the problem, and has less variables and less constraints.

Notations and Formulation. We keep the same notations for the problem instance. In addition, let us define for \( (i,j) \in A, U_{i,j}\) an upper bound of the cost per length unit of the cables going through duct (ij).

We define the following variables:

  • \(\forall (i,j) \in A, x_{i,j} \in \{0,1\} \) the binary variable equal to 1 iff the cables on arc (ij) are born in i.

  • \(\forall (i,j) \in A, c_{i,j} \in \mathbb {R}\) the continuous variable equal to the cost per length unit of the cables on arc (ij).

  • \(\forall (i,j) \in A, z_{i,j} \in \mathbb {R} \) the continuous variable equal to \(x_{i,j} \cdot c_{i,j} \).

  • \(\forall i \in V_D, u_i \in \{0,1\} \) the binary variable equal to 1 iff the node i is module-served.

  • \(\forall i \in V^*, \forall m \in \mathcal {M}_L, w_{i,m} \) the binary variable equal to 1 iff m welds are done in node i (since its meaning is identical to Sect. 3.1, we keep the same name).

  • \(\forall i \in V^*, \forall l \in \mathcal {L}, y_{i,l} \) the binary variable equal to 1 iff a cable of size l is spliced in i.

The problem can be formulated as follows:

$$\begin{aligned} \min \sum _{i \in V^*} \sum _{m \in \mathcal {M}_L} PW_m \cdot w_{i,m} \nonumber \\ + \sum _{(i,j) \in A} \varDelta _{(i,j)} \cdot c_{i,j} + \sum _{i \in V^*} \sum _{l \in \mathcal {L}} PB_l \cdot y_{i,l} \end{aligned}$$
(12)

such that

$$\begin{aligned}&c_{\gamma (i),i} = \sum _{l \in \mathcal {L}} C^{le}_l y_{i,l} + \sum _{j \in \varGamma ^+(i)} c_{i,j}&\nonumber \\&- \sum _{j \in \varGamma ^+(i)} z_{i,j} + (1-u_i) \cdot C^{min}_{D_i}&\forall i \in V_D, \end{aligned}$$
(13)
$$\begin{aligned}&c_{\gamma (i),i} = \sum _{l \in \mathcal {L}} C^{le}_l y_{i,l} + \sum _{j \in \varGamma ^+(i)} c_{i,j} - \sum _{j \in \varGamma ^+(i)} z_{i,j}&\forall i \in V_N, \end{aligned}$$
(14)
$$\begin{aligned}&\sum _{l \in \mathcal {L}} M_l \cdot y_{i,l} \ge D_i \cdot u_i + \sum _{j \in \varGamma ^+(i)} m^{act}_{i,j} \cdot x_{i,j}&\forall i \in V_D, \end{aligned}$$
(15)
$$\begin{aligned}&\sum _{l \in \mathcal {L}} M_l \cdot y_{i,l} \ge \sum _{j \in \varGamma ^+(i)} m^{act}_{i,j} \cdot x_{i,j}&\forall i \in V_N, \end{aligned}$$
(16)
$$\begin{aligned}&\sum _{l \in \mathcal {L}} y_{i,l} \le 1&\forall i \in V^*, \end{aligned}$$
(17)
$$\begin{aligned}&\sum _{m \in \mathcal {M}_L} m \cdot w_{i,m} = \sum _{j \in \varGamma ^+(i)} m^{act}_{i,j} \cdot x_{i,j}&\forall i \in V^*, \end{aligned}$$
(18)
$$\begin{aligned}&\sum _{m \in \mathcal {M}_L} w_{i,m} \le 1&\forall i \in V^*, \end{aligned}$$
(19)
$$\begin{aligned}&z_{i,j} \ge c_{i,j} - U_{i,j} \cdot (1-x_{i,j})&\forall (i,j) \in A, \end{aligned}$$
(20)
$$\begin{aligned}&z_{i,j} \le U_{i,j} \cdot x_{i,j}&\forall (i,j) \in A, \end{aligned}$$
(21)
$$\begin{aligned}&z_{i,j} \le c_{i,j}&\forall (i,j) \in A, \\&u, w, x, y \in \{0,1\}; c,z \in \mathbb {R} \nonumber \end{aligned}$$
(22)

The first term of the cost function denotes the cost of welds, the second term stands for the cost of cables, and the last term stands for the cost of boxes. Equations (13) ensure the cost per length unit of any arc is properly counted. The term \(\sum _{l \in \mathcal {L}} C^{le}_l y_{i,l}\) stands for the cost of the cable spliced in i, if any. If for some arc \((i,j)\in A\) such that \(j \in \varGamma ^+(i)\) we have \(x_{i,j}=0\), then the cables on (ij) come from \((\gamma (i),i)\) unchanged. Otherwise, they come from the splicing operation done in i. The last term stands for the cost of the cable serving the demand in i. Equations (14) are the equivalent concerning nodes without demand. Equations (15), (16) and (17) ensure the cable spliced in i is large enough to contain its active modules. The first term of the right hand side of (15) stands for modules serving the demand, the second term for modules of born cables. Constraints (18) and (19) ensure the variable \(w_{i,m}\) is equal to 1 iff there are m welds done in node i. Finally, constraints (20), (21) and (22) ensure \(\forall (i,j) \in A, z_{i,j}= x_{i,j} \cdot c_{i,j}\) (these are linearisation equations).

Remark 2

It is possible to fix the value of some variables. Assuming there exists \(i \in V^*\) and \(m_1 \in \mathcal {M}_L\) such that \(w_{i,m_1}=1\), then by (18), we know there exists \(S \subseteq \varGamma ^+(i)\) such that \(m_1=\sum _{j \in S} m^{act}_{i,j}\). This gives by contraposition \(\forall i \in V^*\), \(\forall m \in \mathcal {M}_L\) if \(m \not \in \{ \sum _{j \in S} m^{act}_{i,j} | S \subseteq \varGamma ^+(i) \} \) then \(w_{i,m}=0\). It can be computed in \(\mathcal {O}(|\varGamma ^+(i)|\times M_L)\) (which is not a polynomial with respect to the instance size, provided \(M_L\) is not coded in an unary system).

Valid Inequalities. The continuous relaxation of the formulation introduced above shows is weak, mostly due to the linearisation of z. We propose here several valid inequalities to tighten it.

In nodes without demand, if a cable of size l is spliced, then it has a number of active modules between \(M_l\) and \(M_{l-1}+1\); otherwise one could install a smaller cable and obtain a cheaper solution. With the convention \(M_0 = 0\) and \(\mathcal {M}_0 = \emptyset \), this gives:

Proposition 3

Every optimal solution of the ESFCND problem verifies

$$\begin{aligned} \forall i \in V_N, \forall l \in \mathcal {L}, y_{i,l} = \sum _{m \in \mathcal {M}_l \setminus \mathcal {M}_{l-1}} w_{i,m} \end{aligned}$$
(23)

Proof

Let us consider an optimal solution S of the ESFCND problem. Let us consider \(i \in V^*\) and \(l \in \mathcal {L}\) such that \(y_{i,l} = 1\) (a box of size l is installed in i). This gives us \(1 \le \sum _{j \in \varGamma ^+(i)} m^{act}_{i,j} \cdot x_{i,j}\) (there are cables born in i); otherwise we could obtain a cheaper solution by setting \(y_{i,l}\) to 0.

Either (16) or (15) give us \(M_l \ge \sum _{j \in \varGamma ^+(i)} m^{act}_{i,j} \cdot x_{i,j}\). Furthermore, with (18) and (19), we can obtain \(\exists m_0 \in \{1,..,M_l\}, w_{i,m_0} = 1 \) (in other words, \(m_0 \le M_l\) welds are done in i).

If \(l=1\), we have the result.

Otherwise, let us assume \(m_0 \le M_{l-1}\). Then, the solution \(S'\) identical to S everywhere but in \(y'_{i,l-1}=1\) and \(y'_{i,l}=0\) is a feasible cheaper solution (it is the solution obtained by replacing the cable spliced in i by a smaller cable, leading to a smaller cost for boxes and cables). Which contradicts our hypothesis.

Hence the result.    \(\square \)

With a reasonment similar to the one from Proposition 1 (see definition of LB), we can get a lower bound of the cost per length unit of the cables on each arc.

Proposition 4

The following inequalities are valid for the ESFCND problem:

$$\begin{aligned} \forall (i,j) \in A, c_{i,j} \ge LB(m^{act}_{i,j}) \end{aligned}$$
(24)

If the cables on some arc \((i,j) \in A\) are born in i, then at least \(m^{act}_{i,j}\) welds are done in node i. This implies what follows.

Proposition 5

The following inequalities are valid for the ESFCND problem

$$\begin{aligned} \forall (i,j) \in A, x_{i,j} \le \sum _{m \in \mathcal {M}_L | m \ge m^{act}_{i,j}} w_{i,m} \end{aligned}$$
(25)

Proof

Let us consider a solution of the ESFCND problem. Let us consider \((i,j) \in A\) such that \(x_{i,j} = 1\). This implies, by (18) that \(\sum _{m \in \mathcal {M}_L} m \cdot w_{i,m} \ge m^{act}_{i,j}\). Then, with (19), it follows that \( \exists ! m_0 \ge m^{act}_{i,j}, w_{i,m} = 1 \) (only one of the variables \(w_{i,m}\) can be equal to 1). Hence the result.    \(\square \)

4 Dynamic Programming for ESFCND

For any node \(i \in V^*\), we introduce the additional notation \(V^{pr}(i) \), which refers to the set of nodes on the path from the root to i, excluding i and including r.

4.1 Exact Algorithm

The ESFCND problem can be solved by Algorithm 1. To each node \(i \in V^*\), and for each node \(j \in V^{pr}(i)\), we associate to i a label \(<~j,C(i,j)>\in V^{pr}(i) \times \mathbb {R}\) where C(ij) is the minimum cost of the network rooted in i plus the cost of the cables on the path from j to i, assuming these are born in node j.

figure a

The algorithm is initialized at leaf nodes (line 4), which are cable-served demand nodes, and where the size of the cable serving the demand is known.

For a node i such that all nodes in \(\varGamma ^+(i)\) have been labeled, and for \(j \in V^{pr}(i)\), (26) computes the minimum cost network if the next operation is done in j. For \(i \in V^*\) and \(k \in \varGamma ^+(i)\), \(k \in S\) iff the cables going through arc (ik) are born in node i. Similarly, the boolean u is equal to 1 iff the node i is module-served (its meaning is similar than the variable \(u_i\) in Sect. 3.2).

We propose to compute it with a brute-search algorithm on the set S and on u. For given nodes \(i \in V^*, j \in V^{pr}(i)\), it can be done in \(\mathcal {O}( |\varGamma ^+(i)| \times 2^{|\varGamma ^+(i)|+1})\).

Lemma 1

Algorithm 1 runs in time \(\mathcal {O}( 2^{1 + \max \varGamma } \times |V|^2) \) where \(\max \varGamma \) denotes the maximal degree (number of successors) of a node in the graph.

This can be shown by summing the operations done for each loop.

Remark 3

This implies that if the maximal degree of nodes in the graph is bounded by a constant, then Algorithm 1 runs in polynomial time.

For a non-leaf node \(i \in V^*\) and \(j \in V^{pr}(i)\), when we compute (26), we do not consider the cost of the welds done in j. This comes later, while j is being labeled. It does not influence the network below, since all cables going through \((\gamma (i),i)\) are born in i. \(C^*\) is the sum of the following elements:

  • the cost of the network in the arborescence rooted in i, including the cost of the welds and boxes in i (if any)

  • the cost of cables deployed from i to j

This leads us to show the next proposition to show the validity of the algorithm.

Proposition 6

Let us consider \(i \in V^*\). When i is declared labeled in Algorithm 1, there exists a node \(j \in V^{pr}(i)\) such that in the label \(<j,C(i,j)>\), C(ij) describes the cost of the minimum ESFCND solution in the arborescence rooted in node i plus the cost of the cables on the path from j to i.

We will start to prove it for leaf nodes, then recursively on higher nodes.

Proof

\(\star \) Let us consider a leaf node i. In the minimum cost network, it is served in a cable-served way with a cable of type \(l_1 = \min \{l \in \mathcal {L}|M_l \ge D_i\}\). This cable is born in some node \(j \in V^{pr}(i)\), eventually the root. Let us call \(p \in \mathcal {P}\) the only path such that \(s(p)=j\) and \(t(p)=i\). The label \(<j,C(i,j)>\) of i has a cost of \(C^{min}_{D_i} \cdot \varDelta _p\).

\(\star \) Let us consider a non-leaf node \(i \in V^*\) such that all nodes in \(\varGamma ^+(i)\) have been labeled. In the minimal cost network, the cables going through arc \((\gamma (i),i)\) are all born in a node \(j \in V^{pr}(i)\). Thanks to the maintenance constraint, we know that they are all born in the same node. Since all nodes \(k \in \varGamma ^+(i)\) have been labeled, for each of these nodes, there is a node \(j_k \in V^{pr}(k)\) such that in the label \(<j_k,C(k,j_k)>\), \(C(k,j_k)\) describes the cost of the minimum cost network in the arborescence rooted in k plus the cost of the cables on the path from \(j_k\) to k. Furthermore, since the cables going through arc \((\gamma (i),i)\) are all born in j, we have either \(j_k = j\) or \(j_k = i\). Let us consider the label \({<}j,C(i,j){>}\) of node i. If in the minimal network i is module-served, then we will have \(u=0\) in the computation of (26). Furthermore, let us consider \(k \in \varGamma ^+(i)\). If \(j_k = i\), we will have \(k \in S\) in the computation of (26), and \(k \in \varGamma ^+(i) \setminus S \) otherwise. Hence the result.    \(\square \)

The termination of the algorithm derives from Proposition 6. For each node \(r' \in \varGamma ^+(r)\), we have \(V^{pr}(r')=\{r\}\). This implies, using this proposition, that in the label \(<r,C(r',r)>\), \(C(r',r)\) is the cost of the minimum network cost in the arborescence rooted in \(r'\) plus the cost of the cables on \((r,r')\). Summing these values gives the minimum network cost.

The computation of (26) at each step is not done in polynomial time. There are many algorithms able to tackle it (dynamic programming, brute search, ...). We propose a way to tackle it in the next section which allows us to give an approximation in polynomial time, thus providing a polynomial time approximation algorithm.

4.2 Approximation Algorithm

In this Section, we propose here a Fully Polynomial Time Approximation Scheme (FPTAS) for ESFCND, in the case where:

  • The height of the arborescence describing the civil engineering is upper bounded by \(H \in \mathbb {N}\).

  • The number of intervals on which the cost of the welds PW is a linear function with respect to m is upper bounded by \(F \in \mathbb {N}\) (recall that PW is defined to be piecewise linear).

We introduce the following additional notation. PW is decomposed into its linear components. For \(f \in \{1,..,F\} \), we have successive integers \(B_f\) such that \(\forall m \in \{B_f,..,B_{f+1}\}, PW_m = PW^{a,f} \times m + PW^{b,f}\).

A FPTAS for the knapsack problem is available in [11]. This algorithm \(\mathcal {A}\) gives, for an instance of the knapsack problem, and a number \(\alpha > 1\), a solution S to the knapsack problem of cost \(C^{approx}\) where \( C^{approx} \le \alpha \times OPT\) and OPT is the optimal solution cost (here, we consider the minimization version of the knapsack problem, or “covering problem”).

In Algorithm 1, the computation of (26) is the only step which is not done in polynomial time. We propose to solve it with Algorithm 2, which reformulates it as a series of knapsack problems. Then, each of the knapsack problems can be approximated thanks to the knapsack FPTAS.

The algorithms spans all possible cable sizes. For each cable size l, it computes the minimum cost splicing operation in which a cable of size l is spliced in i. (27) computes the minimal cost splicing in the case \(u=0\), and (28) computes the minimal cost splicing in the case \(u=1\). Finally, in line 15, it compares the best splicing obtained with the cost of continuing all cables.

The following lemma stems from the concavity of PW.

Lemma 2

\(\forall (f,f') \in \{1,..,F\}^2,\) if \( f\le f'\), then \( \forall m \ge B_{f'}, PW^{a,f'} \times m + PW^{b,f'} \le PW^{a,f} \times m + PW^{b,f} \)

Proof

Let us assume \(\exists (f_1,f_2) \in \{1,..,F\}^2,\) with \( f_1 \le f_2\) and \( \exists m \ge B_{f_2}\) such that \( PW^{a,f_2} \times m + PW^{b,f_2} > PW^{a,f_1} \times m + PW^{b,f_1} \).

Since \(PW^{b,f} \) is decreasing with respect to f, this means \( PW^{a,f_2} > PW^{a,f_1} \), which contradicts the concavity of PW.

Hence the result.    \(\square \)

figure b

From this lemma, we can get that if, for some \(l \in \mathcal {L}\) and \(f \in \mathcal {F}\), \(C_1\) is reached for values of \( x_k\) such that \(\sum _{k \in \varGamma ^+(i)} m^{act}_{i,k} x_k > B_{f+1}\) (the values returned by the knapsack problem are higher than the range of welds we consider), then a lower value of \(C_1\) can be reached for l and \(f+1\). A similar reasoning can be done for \(C_2\).

Let us consider \(H \in \mathbb {N}\). Let us consider an instance of ESFCND where the civil engineering arborescence height is upper bounded by a constant H. We propose the following FPTAS for ESFCND.

Let us consider \(\alpha > 1\). There is a polynomial time algorithm \(\mathcal {A}\) which approximates the knapsack within a ratio \(\alpha ^{\frac{1}{H}}\). Run algorithm \(\mathcal {A}'\) which is a variant of algorithm 1 where:

  • Each computation of (26) is done with Algorithm 2.

  • In Algorithm 2, each computation of (27) and (28) is approximated with algorithm \(\mathcal {A}\).

This algorithm runs in polynomial time. Indeed, in Algorithm 1, the only step which is not done in polynomial time is replaced by a polynomial time algorithm.

Proposition 7

Algorithm \(\mathcal {A}'\) returns a cost v of the ESFCND problem such that \(v\le \alpha v^*\) where \(v^*\) is the cost of optimal solution of ESFCND.

Proof

\(\star \) Let us consider a leaf node \(i \in V_D\). The labels C(ij) for \(j \in V^{pr}(i)\) have the same value in Algorithm 1 and algorithm \(\mathcal {A}'\).

\(\star \) Let us consider a non-leaf node \(i \in V^*\) and \(j \in V^{pr}(i)\). In the computation of (26) by Algorithm 2, \(C^*\) is approximated with a ratio of \(\alpha ^{\frac{1}{H}}\). Its value is the sum of welds and boxes costs and of a linear combination of the values of C(ki) and C(kj) for \(k \in \varGamma ^+(i)\). So it multiplies the approximation ratios of the values of C(ki) and C(kj). Hence, each time a node is labeled, the approximation ratio of its labels are \(\alpha ^{\frac{1}{H}}\) time the approximation ratio of its children node.

Hence the global multiplicative ratio of this algorithm is \(\alpha \).

The next section assesses the complexity of SFCND and ESFCND.

5 Complexity

We show in Sect. 5.1 that SFCND is NP-hard even with 1 cable size and an upper bound on the node degree of 2, and in Sect. 5.2 that ESFCND is NP-hard.

5.1 SFCND

Upper Bounded Degree. Let us consider the Number Partitioning Problem (NPP), which is shown to be NP-complete in [10].

Instance: A set of N strictly positive integers \(\{n_i \in \mathbb {N} | i \in \{1,..,N\}\}\).

Question: Is there a partition of the integers \(S \subseteq \{1,..,N\}\}\) such that \(\sum _{i \in S} n_i = \sum _{i \not \in S} n_i \) ?

We consider an instance of the NPP and associate it to the following SFCND instance: Let \(G=(V,A)\) be an arborescence describing the civil engineering structure, \(( V = \{r,0,1\} \cup \{ v_i|i \in \{1,..,N\} \} \), \( A = \{(r,0); (0,1); (1,v_1); (v_{i-1},v_i)| i \in \{2,..,N\} \})\) (G is a chain graph), r is the fiber source. The demand nodes are \(\{v_i, i \in \{1,..,N\}\}\) and have respective demands \(n_i, i \in \{1,..,N\}\) modules. Only one type of cable is available, with size \(M_1 = \frac{1}{2}\sum _{i \in \{1,..,N\}} n_i\). Its cost per length unit is \(C_1 = 1\). The lengths of all arcs of the arborescence are null, except (r, 0) which is of length 1. This means the cost of a cable born in r is 1, and the cost of the other ones is 0. The cost of welds and boxes is null.

The question associated to this SFCND instance is “Is there a cabling solution cheaper than 2 ?”.

\(\star \) If (NPP) is feasible: \(\exists S \subseteq \{1,..,N\} \) such that \(\sum _{i \in S} n_i = \sum _{i \not \in S} n_i \). We then build the following cabling solution:

  • Two cables holding only active modules are installed on link (r, 0).

  • In node 0, one incoming cable is spliced into \(N-|S|\) born cables. The born cables have a number of active modules \(n_i, i \not \in S\) and serve respectively the demand nodes \((v_i)_{i \not \in S}\).

  • In node 1, the cable coming from the root with only active modules is spliced into |S| born cables. The born cables have \(n_i\) active modules and serve the demand nodes \((v_i)_{i \in S}\).

Since the number of active modules is conserved in each splicing, the cabling solution described above is feasible (it is illustrated in Fig. 5, as well as the instance). Its cost is equal to 2.

Fig. 5.
figure 5

Instance and solution used in the complexity proof [3].

\(\star \) If (NPP) is not feasible. Then, the solution described above is not possible anymore. One cable is not large enough to cover link (r, 0). Two cables cannot cover (r, 0) either, since they would both have only active modules, which would mean that the (NPP) problem was feasible. Consequently, at least 3 cables need to be installed on arc (r, 0), and such a solution has a cost of a least 3.

Remark 4

The solution illustrated in Fig. 5 is not valid for ESFCND, the maintenance rule is not respected in nodes 0 and 1.

Upper Bounded Arborescence Height. We show in the following that the problem is still NP-hard when restricted with:

  • One cable size available.

  • Civil engineering arborescence height of 3.

  • Null welding cost.

We consider an instance of (NPP) that we associate to the following FCNDA instance.

Let (VA) be an arborescence describing the civil engineering structure \(( V = \{r,0,1\} \cup \{ v_i|i \in \{1,..,N\} \}\),

\(A = \{(r,0);(0,1);(1,v_i)|i\in ~\{1,..,N\}\})\); only one type of cable with a number of modules \(M_1 = \frac{1}{2}\sum _{i \in \{1,..,N\}} n_i\) is available, its linear cost is \(C_1 = 1\). The length of all arcs of the arborescence are zero, except (r, 0) which is of length 1. This means the cost of a cable created in r is 1, and the cost of the other ones is 0. The number of active modules associated with each arc are: \( m^{act}_{(r,0)}= m^{act}_{(0,1)} = \sum _{i = 1}^N n_i ; \forall i~\in \{1,..,N\},m^{act}_{(1,v_i)}=n_i \), which means that the demand points are the \(v_i, i \in \{1,..,N\}\) and have respective demands \(n_i\). This network is represented in Fig. 6. We consider a zero cost for welding and welding boxes.

Fig. 6.
figure 6

Solution and instance considered in the NP-completeness proof.

The question associated to this FCNDA instance is “Is there a cabling solution cheaper than 2 ?”.

Let us first assume that (NPP) is feasible: \(\exists S \subseteq \{1,..,N\} \) such that \(\sum _{i \in S} n_i = \sum _{i \not \in S} n_i \). We then build the following cabling solution:

  • Two cables holding only active modules are installed on link (r, 0).

  • In node 0, one incoming cable is spliced into \(N-|S|\) born cables. The born cables have a number of active modules \(n_i, i \not \in S\) and serve the demand nodes \((v_i)_{i \not \in S}\).

  • On link (0, 1), one cable coming from r with only active modules, and \(N-|S|\) cables serving demand nodes in \(\{v_i| i \not \in S\}\) are installed.

  • In node 1, the incoming cable with only active modules is spliced into |S| born cables. The born cables have \(n_i\) active modules and serve the demand nodes \((v_i)_{i \in S}\).

  • One cable is installed on each link \((1,v_i)\).

Since the number of active modules is conserved in each splicing, the cabling solution described above is feasible (it is illustrated in Fig. 6). Its cost is equal to 2, as the cables created in r have a cost of 1, and the other ones have a cost of 0.

Inversely, let us assume that (NPP) is not feasible: then, the solution described above is not possible anymore. One cable is not large enough to cover link (r, 0), it cannot contain all the required active modules. Let us assume there is a solution with only two cables on (r, 0). Since their combined number of modules is \(\sum _{i \in \{1,..,N\}} n_i\), they both hold only active modules. If one of them directly served the demand without enduring any operation, then the (NPP) instance was trivially feasible (one of the \(n_i\) is half the total sum). So both of them endure a splicing operation, one in node 0, the other in node 1. Let us consider the cables created in 1. They serve a subset \(S_1\) of the demand nodes, and have a respective number of active modules of \(n_i, i \in S_1\). Since the number of active modules in a splicing operation is conserved, we have \( \sum _{i \in S_1} n_i = \frac{1}{2}\sum _{i \in \{1,..,N\}} n_i\) and the (NPP) instance was feasible.

Consequently, at least 3 cables need to be installed on arc (r, 0), and such solution has a cost of at least 3.

5.2 ESFCND

ESFCND can be shown to be NP-complete by reduction from the (NPP). With the same notations, let us consider an instance of the NPP and associate it to the following ESFCND instance. The civil engineering structure is described by the set of nodes is \(V=\{r,0\} \cup \{v_i | i \in \{1,..,N\} \}\); the set of arcs \(A= \{(0,v_i)|i \in \{1,..,N\} \} \cup \{(r,0)\} \); r is the fiber source, the nodes \(\{v_i | i \in \{1,..,N\} \}\) have a demand of \(n_i\) modules. The length of all arcs except (r, 0) is null. We have \(N+1\) cables available:

  • N cables of sizes \(n_i\) modules and cost per length unit \(n_i\)

  • A cable of size \(\frac{1}{2}\sum _{i=1}^N n_i \) and cost per length unit \(\frac{1}{2}\sum _{i=1}^N n_i - 1\)

The cost of welds and boxes is null.

The question we ask is “is there a solution of cost at most \(\sum _{i=1}^N n_i -1\)”?

\(\star \) If (NPP) is feasible. Then, we have \(S \subseteq \{1,..,N\}\) such that \(\sum _{i \in S} n_i = \sum _{i \not \in S} n_i \). We consider the solution of ESFCND where

  • For \(i \in \{1,..,N\}\), on each arc \((0,v_i)\), we lay down a cable of size \(n_i\)

  • In the node 0, a cable of size \(\frac{1}{2}\sum _{i \in \{1,..,N\}} n_i\) is spliced. Cables of size \(n_i, i \in S\) are born, and serve the demand of nodes \(v_i ,i \in S\).

  • On the arc (r, 0), a cable of size \(\frac{1}{2}\sum _{i \in \{1,..,N\}} n_i\) holding only active modules is deployed (the one spliced in 0); as well as \(N-|S|\) cables of sizes \(n_i, i \not \in S\) which serve the demand in nodes \(v_i, i \not \in S\).

The cost of this solution is the cost of cables on arc (r, 0) which is \(\sum _{i \in \{1,..,N\}} n_i -1\). It is illustrated in Fig. 7.

Fig. 7.
figure 7

Instance and solution used in the complexity proof for ESFCND [3].

\(\star \) If (NPP) is not feasible. In a minimal cost solution, the size of cables serving the demand is known. For a given \(i \in \{1,..,N\}\), \(v_i\) is served by a cable of size \(n_i\). Which leaves three types of solutions to consider.

The solution without splicing has a cost \(\sum _{i \in \{1,..,N\}} n_i\). Each demand node is served by a cable coming directly from the root r.

Any solution where a cable of size \(\frac{1}{2}\sum _{i \in \{1,..,N\}} n_i\) is spliced in 0 has a cost at least equal to \(\sum _{i \in \{1,..,N\}} n_i\). Indeed, let us note \(E \subseteq \{1,..,N\} \) the set such that cables of sizes \(n_i, i \in E\) are born in 0. Since the NPP instance is not feasible, we have \(\sum _{i \in E} n_i < \frac{1}{2}\sum _{i \in \{1,..,N\}} n_i\), so the cost of cables whichare continued in 0 is \(\sum _{i \not \in E} n_i > \frac{1}{2}\sum _{i \in \{1,..,N\}} n_i\), and the total cost of the network is\(\sum _{i \not \in E} n_i + \frac{1}{2}\sum _{i \in \{1,..,N\}} n_i - 1 \ge \sum _{i \in \{1,..,N\}} n_i\).

Any solution where a smaller cable is spliced in 0 has a cost at least equal to \(\sum _{i \in \{1,..,N\}} n_i\). Indeed, in any splicing of a cable of size \(n_i\) for a given \(i \in \{1,..,N\}\), the spliced cable is at least as expensive than the born cables.

5.3 Synthesis

To the results proven here, we can add those deducible from Sect. 4. The restriction of ESFCND where there is an upper bound on the node degree can be solved in polynomial time, since in that case the computation of (26) can be done in polynomial time. This implies that it is also polynomial when more parameters are fixed. Furthermore, we showed in Sect. 4.2 that the problem admits a FPTAS under some conditions. As for SFCND, its NP-hardness in a restricted setting implies its NP-hardness in the more general cases. These results are summed up in Table 1.

Table 1. Complexity of the two problems in different contexts.

Table 1 shows a theoretical difference in the complexities of the two problems ESFCND and SFCND. We assess the numerical aspect of this difference in the next section.

6 Results

We assessed the solution methods on real-life instances taken from the city of Arles (France).

The cables available have a size of 1, 2, 4, 6, 8, 12, 18 or 24 modules. The resolution algorithm for the MIPs was the Cplex 12.6 default branch-and-bound algorithm.

6.1 Models Comparison

The results of the numerical experiments regarding the SFCND and ESFCND problem are displayed respectively in Tables 4 and 5, “base model” always refers to the MIP without valid inequalities, and “enhanced model” to the MIP with valid inequalities. The columns of both tables are labeled as follows: “time” stands for the computation time; “CR” stands for the continuous relaxation as a ratio of the optimal solution; “Br” stands for the number of explored branches of the Branch and Bound algorithm.

Regarding SFCND, the valid inequalities have had a positive effect on the average computation time, which went down from 546 to 62 s. However, on most instances (8 out of 9), the MIP is solved faster without the valid inequalities. This suggest that they are more useful for instances that are hard to solve. Regarding the algorithm, the continuous relaxation goes from an average of 90.5% to 92.6%. The high relaxation of the base model can explain the mitigated impact of the inequalities on the performances (Table 2).

Table 2. Key features of the real-life instances.
Table 3. Key features of the fictive instances.
Table 4. Results for SFCND.

Regarding ESFCND, all instances were easier to solve (computation times are displayed in milliseconds). The valid inequalities have had a beneficial effect on the computation time, all instances are solved faster with the enhanced formulation. The average computation time goes from 1730 to 329 ms. On an algorithmic level, the initial relaxation goes from an average of 13.2% of the optimal solution cost to 87.3% of the optimal solution cost. This has a significant impact on the number of nodes of the branch-and-bound algorithm, which goes from an average of 1100 branches to an average of 4 branches; 7 instances out of 9 were solved without branching. The exact dynamic programming approach was more efficient than the enhanced integer programming formulation, it solved 7 out of 9 instances faster. The approximated algorithm was run with an approximation ratio of 2. It was longer than Algorithm 1 on 8 instances out of 9. Despite their similar structure, this can be explained by additional loops in the approximation algorithm, which can increase its computation time.

6.2 Sensitivity Analysis

Section 5 points to the maximal node degree as a key element of the problems complexity. Since the highest node degree of all real-life instances is between 4 and 7, we used fictive instances to assess the performances of each resolution technique when some of the nodes have a high degree. Their features are displayed in Table 3.

Table 5. Results for ESFCND.
Table 6. Computation time on fictive instances (ms).

As expected, the dynamic programming algorithm was very sensitive to the node degree, the computation time growing exponentially (it was multiplied by over 500 between the smaller and larger instance). On the other hand, the approximation algorithm was much less sensitive to the node degree, with an average computation time of 26 ms. There was a smaller growth on the instances considered (it was multiplied by less than 4 between the smaller and larger instance). The enhanced MIP formulation for ESFCND was able to solve all instances in less than one second, with an average of 200 ms. This is the opposite of the results obtained on real-life instances, where the dynamic programming was more efficient. As for SFCND, the MIP formulation proved to be efficient, with an average computation time of 900 ms. Although the instances with a higher degree are harder to solve, it stays tractable in practice. One should favor a MIP based approach, regardless of the problem, when dealing with high degree nodes (Table 6).

6.3 Operational Considerations

We compared the optimal solutions of both problems, as well as the approximated solutions found. The approximation ratio selected was still of 2. Results are displayed in Table 7, the column labeled “arcs with rule broken” denotes the number of arcs where the maintenance rule (illustrated in Fig. 4) is broken.

Table 7. Optimal solution costs and characteristics.

The ESFCND solutions provided by the approximation algorithm were in average 1% more expensive than the optimal solutions, with the two being equal for 4 instances out of 9. This can be seen as a good performance, and is much better than the worst case guarantee.

The optimal solution of ESFCND is in average 3.7% more expensive than the optimal solution of SFCND. This can be seen as an acceptable loss in capital expenditure if it is compensated by an easier maintenance, depending on the importance accorded to it.

The maintenance rule is broken in almost every real-life instance we tried (8 out of 9). In average, it is not respected in 6.2% of the arcs, which is significant. This suggests that the optimal solutions of SFCND will be much harder to repair in case of failure on one of the arcs. These elements can be taken into account to establish a strategy in case of node failure.

7 Conclusion

This chapter tackles two fiber cables network design problems, one unconstrained by maintenance consideration (SFCND) and the other one constrained (ESFCND). Regarding the unconstrained problem, one integer programming based solving algorithm was proposed. Associated valid inequalities make it more tractable in practice. We proposed two exact solution methods for the constrained problem. These methods are complementary, as they prove efficient in different contexts: the dynamic programming approach is generally faster in graphs where nodes have a small degree, whereas the mixed integer programming, embedding efficient valid inequalities, is generally faster otherwise. An FPTAS was also provided, which was faster in both cases, while providing good quality solutions.

On a theoretical level, the unconstrained problem seems much more complex to solve than the constrained problem. Fixing some parameters makes the constrained problem polynomial, or approximable, while the unconstrained problem stays NP-hard. Our numerical experiments confirmed this tendency on real-life instances.

As for the operational side, the maintenance rule can be considered as a reasonable compromise between capital expenditure for the network deployment and maintenance costs. Its implementation only increases the optimal solution cost by 3.7% on our test instances.