COLUMN GENERATION BASED ALGORITHMS FOR THE CAPACITATED MULTI-LAYER NETWORK DESIGN WITH UNSPLITTABLE DEMANDS

We investigate a variant of the Multi-Layer Network Design problem where minimum cost capacities have to be installed upon a virtual layer in such a way that (i) a set of traffic demands can be routed AND (ii) each capacity (subband) is assigned a route in the physical layer. The traffic demands cannot be splitted along several paths (nor even several capacities installed on the same link), which makes the problem even more difficult. In this paper, we present new non-compact ILP formulations to model the problem and provide column generation procedures, based on different Dantzig-Wolfe decomposition schemes to solve it. More precisely, an arc-flow formulation is given for the problem and used to derive two different paths formulations: non-aggregated and aggregated. The former contains two families of path variables and requires a double column generation procedure to solve it, while the latter relies on a single path variable with a specific structure. These alternative modeling approaches induce two Branch-and-Price algorithms that allow to solve the problem efficiently for several classes of instances.


Motivations
The emergence of multi-technology communication networks along with a continuous growth in traffic have driven many works in the field of multi-layer network optimization these past few years.In particular, recent trends observed in the optical fibers communications show up the so-called Orthogonal Frequency Division Multiplexing (OFDM) as a very promising technology, allowing for high and very high capacitated signals to reach long distances without being regenerated.An OFDM-based network usually consists in a set of optical devices (ROADMs1 ) that are interconnected by optical channels.The OFDM infrastructure thus formed is called "virtual" layer, and lies on a "physical" layer that embeds and transports the signal carried out by the optical channels.The physical layer is composed by a set of transmission nodes, interconnected by optical fibers.
In fact, a specific feature of OFDM technology is precisely the opportunity to use only part of the optical channel in order to carry traffic from one point to another.An optical channel is then said to be divided into several units called "subbands", each of which has a capacity (in terms of bandwidth) and a cost installation.The subbands can be set up and processed separately, which allows flexibility in the routing along with a more effective use of the whole capacity of the network.In this context, we consider the Capacitated Multi-Layer Network Design with Unsplittable demands (CMLND-U) problem.Given a two-layer network and a set of traffic demands, this problem consists in installing minimum cost subbands on the upper (OFDM) layer so that each demand is routed along a unique "virtual" path (even using a unique subband on each link) in this layer, and each installed subband is in turn associated a "physical" path in the lower layer.
Example 1.1.Figure 1 shows a bilayer network.The virtual layer includes four ROADMs denoted R 1 , R 2 , R 3 and R 4 , while physical layer contains six transmission nodes denoted T 1 to T 6 .We can see that R 1 , R 2 , R 3 and R 4 are connected to T 1 , T 2 , T 3 and T 4 via Optical-Electrical-Optical (OEO) interfaces.In addition, there exists a link between each pair of installed ROADMs.Remark that nodes R 5 and R 6 have not been represented in the figure, as they do not carry any ROADM.Furthermore, three subbands are represented in the figure, respectively installed on the links (R 1 , R 2 ), (R 1 , R 3 ) and (R 1 , R 4 ).The traffic using these virtual links is in fact transmitted through paths made of optical fibers in the physical layer.Indeed, the link (R 1 , R 2 ) is associated with the path (T 1 , T 2 ), while (R 1 , R 3 ) is assigned the path (T 1 , T 4 ), (T 4 , T 3 ) and (R 1 , R 4 ) is physically routed by (T 1 , T 6 ), (T 6 , T 4 ).
It should be pointed out that there are two levels of routing in such networks.The traffic is routed using subbands installed on the virtual links, and the subbands themselves may be seen as demands for the physical layer.Thus, when given those two layers of network and a traffic matrix, one may determine the set of virtual links that will receive the subbands, and the set of physical links involved in the routing of those subbands, and establish the traffic commodities routing.

State-of-the-art
Actually, the problem of designing layered networks have been studied first by Dahl and Stoer in Dahl et al. (1999).The authors wish to set up a set of virtual links referred to as "pipes" on the physical layer.They propose an integer linear programming formulation based on cut constraints for the problem.They study the associated polytope and provide several classes of valid inequalities that define facets under some conditions which are described.They also provide a cutting planes based algorithm embedding their theoretical results.Earlier works on this topic address the problem of designing virtual layer over an existing infrastructure.They take into account engineering constraints such as traffic multiplexing and assignment of wavelengths to the virtual links.In Zhu & Mukherjee (2002), Hu & Leida (2004), the authors give decompositions of the problem in several subproblems solved sequentially.In Holler & Voß(2006), the authors provide a heuristic approach to solve SDH over WDM network design.They develop several procedures based on greedy algorithms, random start heuristic as well as a metaheuristic based on a GRASP (greedy randomized adaptive search procedure) algorithm.
Additional works consider exact methods for different variants of the multilayer network design.In fact, Orlowski et al. (2007) propose a cutting plane approach for solving two-layer network design problems, using different MIP-based heuristics allowing to find good solutions early in the Branch-and-Cut tree.Belotti et al. (2008) investigate the design of multilayer networks in the context of MPLS networks.They propose a mathematical programming formulation based on paths, that takes into account technical operations in MPLS technology for processing traffic demands, called statistical traffic multiplexing.They apply a Lagrangian relaxation working with a column generation procedure to solve their model.We also cite a more recent work of Raghavan & Stanojević (2011) that study the two-layer network design arising in WDM optical networks.They consider the non-splittable traffic demands and propose a path based formulation for the problem.They provide an exact Branch-and-Price algorithm which solves simultaneously the WDM topology design and the traffic routing.Orlowski et al. (2010) address the problem of planning multilayer SDH/WDM networks.They consider the minimum cost installation of link and node hardware for both layers, under various practical constraints such as heterogeneity of traffic bit-rates, node capacities and survivability issues.They propose a mixed integer programming formulation and develop a Branch-and-Cut algorithm using strong inequalities, from the single-layer network design problem, to solve it.Fortz & Poss (2009) study the multi-layered network design problem.They propose a Branch-and-Cut algorithm to solve a capacity formulation based on the so-called metric inequalities, enhancing the results obtained by Knippel & Lardeux (2007) for the same formulation.Mattia (2013) studies two versions of the two-layer network design problem.The author was particularly interested in capacity formulations for both versions and investigates the associated polyhedron.Some polyhedral results are provided for both versions of the problem, specifically proving that tight metric inequalities define all the facets of the considered polyhedra (Avella et al., 2007).Also the author shows how to extend these polyhedral results to an arbitrary number of layers.Borne et al. (2006) study the problem of designing an IP-over-WDM network with survivability against failures of the links.They conduct a polyhedral study of the problem and give several facet defining valid inequalities along with a Branch-and-Cut algorithm to solve the problem.

Our contribution
The CMLND-U has been specifically addressed in Benhamiche et al. (2017).The authors propose a cut-based formulation for the problem and study the associated polyhedron then they use the obtained results within a Branch-and-Cut algorithm.In this work, we also focus on the CMLND-U, and present new non-compact ILP formulations to model it.We provide two column generation procedures, based on different Dantzig-Wolfe decomposition schemes for the problem.More precisely, an arc-flow formulation is given for the problem and used to derive two different paths formulations: non-aggregated and aggregated.The former contains two families of path variables and requires a double column generation procedure to solve it, while the latter relies on a single path variable with a specific structure.These alternative modeling approaches induce two Branch-and-Price algorithms that allow to solve the problem efficiently for several classes of instances.

Paper organization
The rest of the paper is organized as follows.We first introduce the problem formally in Section 2, and propose three ILP formulations to model it along with two column generation procedures for the path-based formulations.Then we describe our Branch-and-Price algorithms in Section 3 and present a set of experiments in Section 4. Finally, some concluding remarks are given in Section 5.

Notations
In terms of graphs, the CMLND-U problem can be stated as follows.We associate with the virtual layer, a directed graph G 1 = (V 1 , A 1 ).G 1 is a complete graph where V 1 is the set of nodes and A 1 the set of arcs.Each node v ∈ V 1 corresponds to a ROADM and each arc e ∈ A 1 corresponds to a virtual link between a pair of ROADMs.In addition, G 1 is a bi-directed graph, i.e. there exists two arcs (u, v) ∈ A 1 and (v, u) ∈ A 1 , connecting each pair of nodes u and v of V 1 .Consider the directed graph G 2 = (V 2 , A 2 ) that represents the physical layer of the optical network.V 2 denotes the set of nodes and A 2 is the set of arcs.Each node v ∈ V 2 corresponds to a transmission node and each arc a ∈ A 2 corresponds to an optical fibre.Every node u in V 1 has its corresponding node u in V 2 .The graph G 2 is such that if there exists an arc (u , v ) between two nodes u and v of V 2 , then (v , u ) is also in A 2 .In this way, the link can be used in both directions between u and v .
Suppose that we have n ∈ Z + available subbands.We denote by W = {1, 2, . . ., n}, the set of indices associated with these subbands.Every subband w ∈ W has a certain capacity C and a cost c(w) > 0.Moreover, a subband installed over an arc e ∈ A 1 can be seen as a copy of this arc.Each pair (e, w) such that w is installed over the arc e = (u, v), is associated with a path in G 2 connecting nodes u and v .The same path in G 2 may be assigned to different subbands of W .Nevertheless, an arc a ∈ A 2 can be assigned at most once to a given subband w.In other words, if the subband w is installed p times, p ∈ Z + , over different arcs e 1 , . . ., e p of A 1 , then the pairs (e i , w), i = 1, . . ., p, have to be assigned p paths in G 2 that are arc-disjoint.This comes from an engineering restriction and will be called disjunction constraints.In addition to the design cost, we will also attribute a physical routing cost denoted b ew (a) for every arc a of A 2 involved in the routing of a pair (e, w) such that w is installed on e.Now let K be a set of commodities in G 1 .Each commodity k ∈ K has an origin node o k ∈ V 1 , a destination node d k ∈ V 1 and a traffic value D k > 0. We suppose, that D k ≤ C, for all k ∈ K .Note that there might exist different commodities with the same origin and destination.A routing path in G 1 has to be assigned to each commodity k ∈ K connecting its origin and its destination.Every section of a routing path uses the subbands installed over the arcs of A 1 .Thereby, we will say that a pair (e, w), e ∈ A 1 , w ∈ W is used by a commodity k, if w is installed on e and (e, w) is involved in the routing of k.Furthermore, several commodities are allowed to use the same subband (e, w), if they fit in its capacity.However, one commodity can not be split into several subbands or several paths.A feasible routing for a commodity k is a path in G 1 between the origin o k and the destination d k that has enough capacity to carry the traffic value of k.Definition 2.1.Capacitated Multi-Layer Network Design with Unsplittable demands (CMLND-U) problem: Given two bi-directed graphs G 1 and G 2 , a set of subbands W , the installation cost c(w) for each subband w, and a set of commodities K , determine a set of subbands to be installed over the arcs of G 1 such that 1. the commodities can be routed in G 1 using these subbands, 2. paths in G 2 , respecting the disjunction constraint, are associated with the installed subbands,

the total cost is minimum.
In what follows, we first introduce a compact (arc-flow) formulation for the CMLND-U problem, that will be the starting point of two Dantzig-Wolfe decomposition schemes to get path formulations.

Compact formulation
Let us first introduce some necessary notations.We introduce the design variables y ∈ {0, 1} |A 1 ||W | that are such that y ew takes the value 1 if the subband w is installed on the arc e and 0 otherwise, for all e ∈ A 1 and w ∈ W . Also, let z ∈ R A 1 ×W × A 2 and x ∈ R K × A 1 ×W be two flow variables defined as follows.z ew a takes the value 1 if a belongs to a path in G 2 associated with the pair (e, w) and 0 otherwise, for all e ∈ A 1 , w ∈ W and a ∈ A 2 .Moreover, x k ew takes the value 1 if the commodity k uses the pair (e, w) for its routing and 0 otherwise, for all k ∈ K , e ∈ A 1 and w ∈ W .
We will denote by m 1 and m 2 the number of arcs of G 1 and G 2 , respectively.That is to say, m 1 = |A 1 | and m 2 = |A 2 |.Furthermore, for each node s in V 1 , we let δ + (s) (resp.δ − (s)) be the set of arcs in A 1 outgoing (resp.incoming) from s.Similarly, we denote by δ + (s ) (resp.δ − (s )) the set of arcs in A 2 outgoing (resp.incoming) from s , for each node s in V 2 .
Consider the following integer programming formulation: In this formulation, there are m 1 |W | binary design variables, |K |m 1 |W | flow variables for the routing of the commodities in G 1 , and m 1 |W |m 2 flow variables for the routing of the installed subbands in G 2 .The objective is to minimize the total cost of the design, which is the overall cost driven by the subbands installation.Equalities (1) are the flow conservation constraints for the commodities of K .They will be referred to as commodities routing constraints.They ensure that a path is associated with each commodity between its origin and its destination, using the subbands installed over the arcs of A 1 .Inequalities (2) are the capacity constraints for the installed subbands.They guarantee that the flow using an arc does not exceed the capacity of any subband installed over that arc.Equalities (3) are the flow conservation constraints for the installed subbands.They ensure that a path in G 2 is associated with each pair (e, w) ∈ A 1 × W , between nodes corresponding to the extremities of e. Inequalities (4) are the disjunction constraints for the subbands of W .They express the fact that an arc of G 2 can be used by at most one path associated to a given subband w ∈ W . Finally, (5) to (7) are the trivial and integrality constraints associated with the variables of the formulation.
Note that the linear relaxation of this formulation is obtained by considering inequalities instead of inequalities ( 5)- (7).It is straightforward to see that formulation (1)-( 7) is equivalent to the CMLND-U problem.Formulation (1)-( 7) will be referred to as compact formulation since both, the variables and the constraints of the model, are in polynomial number.
This model suffers from many symmetries due to the large number of possible subbands location, and routing alternatives for both commodities and subbands.Thus, it is unlikely that handling the compact formulation by using a Branch-and-Bound approach will allow to solve the problem efficiently for realistic instances.In fact, the compact formulation rather suggests that underlying structures in the problem would benefit from being exploited.Furthermore, a solution of the CMLND-U problem is essentially given by a set of paths in both graphs G 1 and G 2 (corresponding to virtual and physical layer respectively), which leads naturally to a reformulation of the problem using path variables.In what follows, we apply Dantzig-Wolfe decomposition to the compact formulation (1)-( 7) in order to obtain a first path formulation.

Path formulation
The Dantzig-Wolfe decomposition was originally introduced by Dantzig and Wolfe, in 1960, for solving large scale integer linear programming problems (Vanderbeck, 1994).This technique becomes now widely used for providing reformulations of ILP problems having specific structure, and tighter linear relaxation bounds (see Vanderbeck, 1994;2000) and references therein for more details on this approach).In what follows, we will introduce some necessary notations in order to describe our Dantzig-Wolfe decomposition.
Recall that the subbands installed over G 1 are used independently by the commodities for their routing.In other words, every subband set up on an arc is considered as a copy of that arc.Consequently, G 1 is such that there exists |W | parallel arcs between each pair of nodes u, v ∈ We will re-use the notation (e, w) ∈ A 1 × W to designate a pair such that w may be installed on e. (e, w) also denotes the copy having index w, of arc e.Throughout the paper, we will consider a path in G 2 between two nodes u , v ∈ V 2 as a sequence of arcs {a 1 , a 2 , . . ., a r }, Similarly, we define a path in G 1 between nodes u and v as a sequence of pairs {(e 1 , w 1 ), (e 2 , w 2 ), . . ., (e r , w r )}, where and w 1 , w 2 , . . ., w r are the copies of e 1 , e 2 , . . ., e r used (see Fig. 2).
We let then k be the set of paths associated with the routing of the commodity k.The elements of k are computed in G 1 and use pairs (e, w) ∈ A 1 × W .By the same way, we denote by P ew the set of paths in G 2 associated with (e, w), and using arcs of A 2 .We define the coefficients , that are such that: 1, if a is involved in the path p in G 2 associated with (e, w), 0, otherwise.
For each commodity k ∈ K and each path π ∈ k , we define the variable x k (π), that takes the value 1 if π is used for the routing of k, and 0 otherwise.x k (π) will be referred to as commodity path variables.Also, for each pair (e, w)∈ A 1 path p ∈ P ew , we define the binary variable z ew ( p) that takes the value 1 if p is selected to be assigned to (e, w), and 0 otherwise.z ew ( p) will be referred to as subband path variables.Both families of path variables are linked with the original "arc" variables.This relationship is given by Replacing x k ew and z ew a by the right hand-side of equalities ( 11) and ( 12) in formulation ( 1)-( 7), yields a new formulation, given in what follows min By a commonly admitted result in network flow theory, inequalities ( 13) and ( 15) are equivalent to inequalities (1) and (3), respectively (see Ahuja et al., 1993), while ( 14) and ( 16) express the capacity and disjunction constraints, respectively.Inequalities ( 13)-( 19) constitute a path formulation for CMLND-U problem, and replacing inequalities ( 17)-( 19) by the following yields the linear relaxation of the path formulation.The formulation thus obtained holds a polynomial number of constraints with the same structure as in formulation (1)- (7).However, the number of variables may possibly be exponential.Indeed, there is a huge number of candidate paths in both graphs G 1 and G 2 .In what follows, we describe a column generation procedure and show how it can be applied to solve the problem given by ( 13)- (22).

Double column generation
Column generation is a technique for solving linear programming formulations having a huge (exponential) number of variables.This approach consists in solving iteratively the problem with a subset of columns (path variables).We start the process by solving the linear program restricted to a subset of variables.Then at each iteration, an auxiliary (pricing) problem identifies the variables that should enter the current basis.If the auxiliary problem fails to identify additional variables, then the current solution is optimal for the linear program with all the variables.
In our case, formulation ( 13)-( 22) holds two families of path variables that cannot appear explicitly in the formulation due to their very large number.Those families of variables correspond to paths computed in two different graphs, namely G 1 and G 2 , by considering different weights on the arcs of both graphs.Therefore, we use two pricing problems, each one providing a subset of paths belonging to one of the families.In what follows, we describe the procedure that is used to generate the subset of variables that will appear in the initial linear program.

Initial solution
We use a greedy heuristic procedure in order to obtain a feasible solution for the CMLND-U problem.Briefly, this consists in building iteratively a graph denoted by H = (V H , A H ) that corresponds to the final topology of the virtual layer.In other words, H is a subgraph of G 1 such that A H contains the pairs (e, w) associated with the solution in terms of design variables.The idea is to start with A H = ∅, then for a given commodity k, either find a feasible route in H using existing pairs (arc, subband) or add the arc (o k , d k ) to A H and set a subband, say w k , to the created arc.Every pair (e, w) thus added to the solution is assigned a path in G 2 that satisfies the disjunction constraints.If such a path does not exist, then we replace w by the first subband that is not yet used.
We assume that the set of available subbands W is large enough so that a feasible solution, even expensive, can be identified.Let us denote by P 1 and P 2 , the set of paths identified in H and G 2 , respectively.We then start the column generation procedure with a subset of variables corresponding to paths of P 1 ∪ P 2 .The linear programming formulation ( 13)-( 16)-( 20)-( 22), restricted to the design variables along with the path variables induced by P 1 ∪ P 2 , will be referred to as Restricted Master Problem (RMP).

Pricing problems
Now, let us denote by (x * , y * , z * ) a solution given by the restricted master problem.We will denote by α, β, γ and δ the dual variables associated with inequalities ( 13)-( 16) of the path formulation, respectively.These dual variables are such that , is then given by the following expression while the reduced cost related to each path variable z ew ( p), where (e, w) ∈ A 1 × W , p ∈ P ew denoted by rc ew ( p), is given by Therefore, we define for each commodity k ∈ K and each path π ∈ k the pricing problem as looking for a path such that rc k = min{rc k (π) : π ∈ k } and rc k < 0, or concluding that no such path exists.Observe that, for each k ∈ K , and for each path π ∈ k , rc k (π) is composed by a fixed term, namely −α k that depends only of k, and a second term, which is related to (e, w) ∈ A 1 × W . Recall that a path in G 1 is supposed to be formed by a sequence of pairs (e, w) ∈ A 1 × W , such that w is installed on e.Thus, one may consider every dual variable β ew as a weight assigned to the pair (e, w).Accordingly, e∈A 1 w∈W β ew might be viewed as the length of the path π.Since we are looking for a path in k that minimizes the function rc k (π), this problem can be seen as a shortest path problem in the graph G 1 .
In a similar fashion, we define the pricing problem related to subband path variables as follows.
For each pair (e, w) ∈ A 1 × W , we wish to identify a path such that rc ew = min{rc ew ( p) : p ∈ P ew } and rc ew < 0, or concluding that no such path exists.Again, for each pair (e, w) ∈ A 1 ×W , and for each path p ∈ P ew , rc ew ( p) is composed by a fixed term −γ ew , and a term depending on the arcs of A 2 .Dual variables δ may be viewed as weights impacted on arcs of A 1 .Thus, the pricing problem in this case is also equivalent to a shortest path problem in the graph G 2 .
Remark 1.Both pricing problems for commodity and subband path variables can be solved in polynomial time.
Indeed, since β ew < 0 for all (e, w) ∈ A 1 × W , and δ aw < 0, for all a ∈ A 2 , the weights on pairs (e, w) and arcs a are non-negative.Thus, both pricing problems can be solved efficiently using Dijkstra's algorithm (Dijkstra, 1959) for example.
If the value of the shortest path in G 1 is such that rc k < 0 for some k ∈ K , then, at least one commodity path variable should be added to the RMP.Similarly, if the shortest path in G 2 is such that rc ew < 0 for some (e, w) ∈ A 1 × W , then at least one subband path variable has to enter the current basis.If no path variable is identified by pricing problems (rc k > 0, for all k ∈ K , and rc ew > 0, for all (e, w) ∈ A 1 × W ), then the optimal solution of the current linear program is also optimal for the linear relaxation of path formulation.Figure 3 shows an example of solution obtained by solving linear relaxation of the path formulation.This instance includes a unique commodity going from node v 1 to node v 3 .The path in G 1 associated with this commodity is given by {(e 1 , w 2 ), (e 2 , w 1 )}.First section of this routing path, namely (e 1 , w 2 ), is itself assigned the path {a 5 , a 6 , a 7 } in G 2 , while the pair (e 2 , w 1 ) is assigned the path {a 2 } in G 2 .Now suppose that we are looking for new path variables to be added to the current linear programming formulation.Then, Figure 4 shows how dual variables may be distributed on both graphs G 1 and G 2 to solve the pricing problems.Observe that, in G 1 , the pairs (e 1 , w 2 ), (e 2 , w 1 ) that are involved in the routing of our commodity receive the weights −D k β e 1 w 2 and −D k β e 2 w 1 .The path {(e 1 , w 2 ), (e 2 , w 1 )} then has a length given by −D k β e 1 w 2 −D k β e 2 w 1 .Note that only dual variables related to pairs (e, w) ∈ A 1 ×W are distributed on G 1 since the fixed term −α k can be considered after shortest path computation.
Similarly, the section (e 1 , w 1 ) for example is assigned a path in G 2 having weights −δ a 5 w 2 , −δ a 6 w 2 and −δ a 7 w 2 .Again, the weights of arcs in G 2 are only given by dual variables related to arcs of A 2 , while the fixed term given by −γ ew is added to the length of the shortest path, after it has been identified.

Aggregated paths formulation
In this section, we describe an alternative modeling approach for the CMLND-U problem whose purpose is to bypass the utilization of two pricing problems that operate independently.Instead, we attempt to get benefits from the relationship between G 1 and G 2 to express a double information within a unique path variable.We introduce a two-stage procedure to price out those path variables, and present how the obtained column generation can be integrated within a Branch-and-Price framework.
We will introduce a new notation, say k , for the set of feasible paths associated with the commodity k.Now consider the design variables y ew , e ∈ A 1 , w ∈ W and the commodity path variables x k (λ), k ∈ K , λ ∈ k defined in the previous section.For any commodity k of K , an element λ ∈ k is actually composed by a path π ∈ k AND by a path in P ew for each (e, w) ∈ π.In order to describe this specific column, we will define a set of coefficients, denoted ϕ such that for each pair (e, w) ∈ A 1 × W and each arc a ∈ A 2 ϕ ew a (λ) = 1 if λ uses the pair (e, w) in G 1 and it is assigneda path in G 2 using a, 0 otherwise.
Example 2.1.Figure 5 depicts a path in G 1 between nodes v 1 and v 4 , that will be denoted λ.This path is composed by the pairs (e 1 , w 2 ), (e 2 , w 1 ) and (e 3 , w 2 ).Each section of λ is itself associated with a path in G 2 .For example, (e 2 , w 1 ) is assigned the path {a 2 , a 3 }.In this example, coefficients ϕ will take the following values: = 1, while ϕ ew a (λ) = 0 for the remaining entries.Using this new coefficient, together with the design and commodity path variables, we give the following integer linear programming formulation for the CMLND-U problem: min In this formulation there is a polynomial number of constraints and design variables, but a huge number of path variables.Observe that all the constraints of the problem are expressed by formulation (25)-(29).Indeed, inequalities (25) are the commodity routing constraints.They ensure that a path in G 1 is associated with each commodity for its routing.Inequalities (26) are the capacity constraints for every pair (e, w) of A 1 × W . Remark that they also appear for each a ∈ A 2 , since a is involved in the definition of ϕ.Inequalities (27) express indirectly the disjunction constraints for every arc a ∈ A 2 and every subband w ∈ W .In fact, each arc a used in a path associated with some section of λ (λ ∈ k , for k ∈ K ) is assigned at most once with subband w.This formulation will be referred to as aggregated path formulation, and replacing inequalities (28)-(29) by the following Yields the linear relaxation of the problem.Notice that, since we projected out subband path variables z, the solution will be given by a set of subbands to install on the arcs of G 1 (given by the design variables y) as well as a set of paths for commodities routing (given by the variables x).However, it is possible to recover a complete description of the solution for the CMLND-U problem, as coefficient ϕ will somehow bring out the path in G 2 associated with each pair (e, w) ∈ A 1 × W such that w is installed on e. Similarly to formulation ( 13)-( 19), the number of commodity path variables here may be exponential.Therefore, using column generation to solve the linear relaxation of (25)-( 29) is required.In what follows, we describe the details of the column generation procedure that we propose for the aggregated path formulation.

Column generation
In this procedure, we solve the linear relaxation of ( 25)-( 29) with an initial subset of paths (RMP).These paths are computed in G 1 and generated using the procedure described in Section 2.3.2.
Then we look for the missing paths with negative reduced cost by solving a two-stage pricing problem that we describe here.If such paths are identified, we add them to the RMP and repeat the process until no additional path may be generated.
Let us denote by α, β and δ the dual variables associated with the constraints (25)-( 27), respectively.The dual variable α is such that for each k ∈ K , α k is in R − , β is such that β ewa ∈ R + , for each e ∈ A 1 , w ∈ W and a ∈ A 2 .Finally, dual variables δ are such that δ aw ∈ R + .Therefore, the reduced cost related to each commodity path variable x k (λ), k ∈ K , λ ∈ k , is given by the following expression Hence, we define for each commodity k ∈ K , the pricing problem, as trying to identify a path such that rc k = min{rc k (λ) : λ ∈ k } and rc k < 0. Note that here, this operation can be performed in two stages.First, dual variables δ are distributed on the arcs of G 2 , so that for each (e, w), every arc a ∈ A 2 receives −δ aw .Then, for each (e, w), we compute the shortest path in G 2 using the weights δ.Let us denote by p this path, and l(e, w) its length.The second step consists in setting on each pair (e, w) ∈ A 1 × W , a weight given by −D k β ew a + l(e, w), where a ∈ p.This weight is therefore used in order to compute the shortest path in G 1 between nodes o k and d k .If the length of the identified path is such that rc k (λ) < 0, then the corresponding commodity path variable should be added to the current linear program.
Note that, even though the generated variable expresses a path in the graph G 1 , the associated reduced cost takes into account the dual information impacted on both graphs G 1 and G 2 .In this way, we merge both path variables within a single pricing problem and we still can reconstruct the complete solution thanks to the indicator ϕ.
Example 2.2. Figure 6 shows an example of instance where each set of arcs carries its corresponding weight in terms of dual variables.In fact, we can see in Figure 6 (a) the first step of the pricing process, which consists in reporting the weights based on dual variables δ on each arc of A 2 .

(b)). It remains then to compute the shortest path in G 1 , using weights based on the first step, together with dual variables β.
Notice that all the weights based on the dual variables distributed on the arcs of G 1 and G 2 are positive, hence we can use Dijkstra's shortest path algorithm for both steps of the pricing procedure.Again here, the column generation procedure does not necessarily allow to get a feasible solution for the CMLND-U problem, since this solution might not be integer.In what follows, we describe how both column generation procedures are embedded within a Branch-and-Bound framework, to get the so-called Branch-and-Price algorithm, and to solve the CMLND-U problem efficiently.

Overview
Consider given two graphs G 1 , G 2 , a set of commodities K and a set of available subbands W . Also recall that a cost c(w) > 0 along with a capacity denoted C are associated with each subband of W .In both path formulations, we consider that this cost increases with the index of the subband.Typically, we let c(w 1 ) ≤ c(w 2 ) ≤ c(w 3 ) ≤ . . .≤ c(w r ), where r = |W |.This assumption comes from a practical requirement, that is subbands i + 1 should not be installed before subband i is installed.In some sense, this assumption is helpful for the model handling, since it also allows to break some symmetries on pairs (e, w) whose total number can be very large in comparison with the few pairs that are actually used in the solution.
To start the optimization, we set up both linear relaxations of ( 13)-( 19) and ( 25)-( 29), restricted to a subset of path variables.The initial subset of path variables is generated using the procedure described in Section 2.3.2 for both formulations.Let us denote by (x , y, z) (respectively (x, y)) the optimal solution of the restricted linear relaxation of path formulation (respectively aggregated path formulation).We solve the two pricing problems (respectively the two stage pricing problem), and add the generated path variables to the current LP, if any.
The main steps of the Branch-and-Price algorithm for path formulation ( 13)-( 19) are summarized in Algorithm 1.Note that for the aggregated path formulation, steps 3 to 9 are replaced by solving the two stage pricing problem for every commodity k ∈ K .
Algorithm 1: Branch-and-Price algorithm for the path formulation go to 2; 16: return the best optimal solution for all sub-problems.

Branching
Let (P) denote the linear program at a given node of the Branch-and-Bound tree.Suppose that the optimal solution of linear relaxation of (P) is fractional.Let (x , y, z) be this fractional solution.The branching phase, consists in choosing a fractional variable say x 1 among those in (x, y, z), and create two sub-problems (P 1 ) and (P 2 ) by adding either constraint x 1 ≤ x 1 or x 1 ≥ x 1 to (P).In our problem, it is to fix x 1 either to 0 or 1.
Several branching strategies have been developed to choose efficiently a fractional variables to branch on.In particular, most of the branching strategies proposed for path-based formulations are defined on original (arc flow) variables.Barnhart et al. (2000) propose a generalization of Ryan & Foster (1981) branching rule for origin-destination integer multicommodity flow problems.This strategy consists in forbidding the use of some specific arcs in the considered paths.Such operation may be performed either by adding branching constraints that correspond to the forbidden arcs, or by removing those arcs from the graph when computing the shortest path (see Feillet (2010) for a good tutorial on column generation and branch-and-price applied to vehicle routing problems).We refer the reader to Vanderbeck (1994Vanderbeck ( , 2000Vanderbeck ( , 2005) ) for more details on branching schemes in IP column generation.
In our case, we have observed that branching first on design variables was very effective in practice, and only few path variables remain fractional after that, for both formulations.This can be explained by the strong relationship between those families of variables in both formulations.Thus, we have used the following strategy.First we perform branching on fractional design variables y by choosing the variable with fraction close to 0.5 and high absolute objective function coefficient.Fixing design variables helps to get few remaining path variables that still fractional.If all the design variables are integer, then we perform branching on path variables by setting their value either to 0 or 1.
Based on these features, we have implemented our Branch-and-Price algorithms for the CMLND-U problem by solving both the path and aggregated path formulations.We have tested our approaches on a set of random and SNDlib based instances.The obtained results are shown and reviewed in the coming section.

Implementation's feature
We have implemented the Branch-and-Price algorithms described in the previous section in C++ using ABACUS 3.2 [1] to handle the Branch-and-Price tree, and CPLEX 12.5 [2] as LP solver.Our approach was tested on a processor Intel Core i5-3210M CPU 2.50 GHz × 4 with 3.7 Gb RAM, running under ubuntu 12.10 platform.We fixed the maximum CPU time to 3 hours.Both algorithms were tested on random and realistic instances.The realistic instances are obtained from SNDlib data for instances dfn bwin, dfn gwin, newyork and france.The entries of the different tables presented in the sequel are the following: : number of arcs, K : number of commodities, Gap : the relative distance between the best upper bound (optimal solution if the problem has been solved to optimality) and the lower bound obtained provided by the compact formulation, columns : number of generated path variables, nodes : number of nodes in the Branch-and-Cut tree, TT : total CPU time in h:m:s TTpricing : CPU time spent in pricing out path variables (in %).

Managing infeasibility
Branching by setting variables to 0 or 1 may induce an infeasible linear program at a given level of the Branch-and-Price tree in ABACUS.Therefore, to avoid such situation, we have considered a set of "artificial" variables appearing in the critical constraints.We denote by τ and θ these variables and we let τ k ∈ R + , 0 ≤ τ k ≤ 1, for each k ∈ K , and θ ew ∈ R + , 0 ≤ θ ew ≤ 1, for each (e, w) ∈ A 1 × W . Variables τ are involved in inequalities (13) (path formulation) and (25) (aggregated path formulation), while θ appears in inequality (15) in path formulation.
Notice that we do not use such variables in inequalities ( 14), ( 16), (26), and (27), since fixing variables to 0 does not affect feasibility of those constraints.We associate with all the artificial variables a large cost in the objective function, so as to avoid using them unnecessarily in the solution.However, these variables ensure that a feasible solution, even costly, can always be identified.

Computational results
Our first series of experiments involve random instances, whose topologies as well as the commodities were randomly generated.We have considered connected graphs with 6 to 14 nodes, and at most 18 commodities per instance.Tables 1 and 2 report the results given by the column generation and the Branch-and-Price approaches on solving both path and aggregated path formulations, for random instances.The reported results concern 35 instances with a number of nodes in the physical layer (graph G 2 ) varying from 6 to 14 nodes, and a number of arcs varying from 16 to 40.We have considered up to 18 commodities for each kind of graph, and the number of available subbands is |W | = 4 except for the 14 nodes instances where |W | = 5.
Table 1 shows in particular the results obtained by both column generation procedures for linear relaxation of formulations ( 13)-( 19) and ( 25)-( 29).The two last columns contain results provided by the compact formulation, namely the gap and CPU time computation.Note that the compact formulation is solved by Branch-and-Bound procedure.It appears from this table that the gap provided by the path formulation is equivalent to the one of the compact formulation.Indeed, this is predicted by theory, since we are replacing flow constraints in the compact formulation by their equivalent representation in terms of paths.We also remark that for most of the instances, the gap provided by the path formulation is better than the one of the aggregated path formulation.In fact, except for instances with |V 2 | = 6, |K | = 8, 10 and 11, and |V 2 | = 14, |K | = 8, the gap value for the path formulation is smaller than the one of the aggregated path formulation.
We can see that our column generation procedures do not behave the same way for both path formulations.Indeed, although the number of generated variables in the first procedure is not so important (less than 100 path variables, except for the last instance), it is significantly higher for the second procedure.This can be due to the fact that the aggregated approach might somehow induce a loss of information provided by the bi-layer structure of the problem, and the interaction between the path variables in both graphs G 1 and G 2 .
Table 2 summarizes the results obtained by both Branch-and-Price algorithms for solving path and aggregated path formulations.We can see that all the instances presented in this table were solved to optimality by our Branch-and-Price algorithms within the time limit.In particular, note that the CPU time for both algorithms is smaller then the one of the Branch-and-Bound algorithm (last column of Table 1).We can see for example that, even instances with |V 2 | = 14 and |K | = 6 to 16, for which the Branch-and-Bound algorithm could not prove the optimality of the identified solution within 3 hours, we could reach the optimal solution in only few minutes by solving the path formulations.This clearly shows that a column generation based approach performs much better than a Branch-and-Bound algorithm on the compact formulation.Note  that, except for some instances, the number of variables generated within the second Branchand-Price algorithm is still higher than the one in the first Branch-and-Price.Also we can remark that most of the added variables are generated at the root node of the Branch-and-Price tree for both algorithms.It should be pointed out that the number of nodes in the first Branch-and-Price tree is more important than in the second Branch-and-Price tree.In other words, we can observe that in the second algorithm, most of the columns are generated in the upper level nodes of the tree.By contrast, there is a sparsity in the first Branch-and-Price tree where fewer columns are generated along a large-size tree.
Our second series of experiments concern realistic instances based on data from SNDlib for networks dfn bwin, dfn gwin, newyork and france.Those instances have graphs with 10 to 25 nodes, while the number of commodities varies between 4 and 30 for dfn gwin and newyork (we have considered up to 18 commodities for dfn bwin and 16 commodities for france).The results of the Branch-and-Price algorithm based on the double column generation are summarized in Table 3. Table 4 shows the results provided by the Branch-and-Price algorithm using the twostage column generation.
It appears from Table 3 that all the considered instances have been solved to optimality using the Branch-and-Price approach, within the fixed time limit.In fact, 30 instances have been solved to optimality in less than 10 minutes.Moreover, note that 11 among the 40 tested instances were solved to optimality at the root node.This can show that our data-preprocessing performs well on realistic instances.Due to the size and structure of some instances, we can observe that the CPU time spent by the algorithm in pricing operations increases compared to its average value for random instances (see Table 1).However, the number of generated columns in the whole tree is not so important regarding to the size of the instances.This is allowed by our procedure to generate initial paths, that helps to identify a first set of interesting variables and thus to form a good initial basis.For the remaining instances, the number of generated path increases with the size of the instance, except for some instances where our algorithm may have atypical behavior.Basically, more path variables are generated for instance newyork with |K | = 25, than for instance newyork with |K | = 30.We can explain such a result by the fact that the routing of some commodities may be challenged by the size (traffic amount) of other commodities.Indeed, the more commodities will induce "conflicts" due to their size and the subband capacity, the more an instance will be difficult to solve.Indeed, in this case many arcs might be saturated, thus requiring further path to be explored in order to identify feasible (and good) solutions.
Table 4 shows the results of Branch-and-Price algorithm for the aggregated path formulation.We can see from this table that this algorithm, similarly to the previous one, allowed to solve to optimality all the tested instances within the CPU time limit.Observe that the gap values are quite comparable to those presented in Table 3.Also remark that, similarly to column generation procedures, both Branch-and-Price algorithms do not work in the same way.
In fact, the number of generated columns remains generally higher in the latter algorithm.However, it seems that from to a certain threshold of instance size and difficulty, the second Branchand-Price tree becomes slightly easier to manage than in the first algorithm.Basically, instance dfn gwin with |K | = 20 for example, where the number of nodes in the first Branch-and-Price tree is 2755, while it is 101 in the second Branch-and-Price tree.Also the two last rows given by instances france with |K | = 14 and 16, that are solved to optimality using the second approach, while the first algorithm could not complete the process within 3 hours.This can be explained by the fact that, in aggregated path formulation, a good trade-off between the number of generated columns and the size of the tree, can be achieved.Also, the branching scheme here induces some decisions that directly affect the size and the shape of the tree.Indeed, the relationship between families of variables might make difficult to perform an efficient branching on the variables, and induce a large and unbalanced tree.In some sense, the aggregated formulation could help us to translate an explicit definition of path variables associated with both physical and virtual layer, to an embedded definition of variables.In other words, the aggregated path formulation performs better, since we handle a unique family of "double" path variables (defined in G 1 but implicitly related to a path in G 2 ), instead of two families, which is somehow easier.

CONCLUDING REMARKS
In this paper we have introduced a compact formulation for the CMLND-U problem.Based on this formulation, we have derived two different path formulations for the problem.The first one considers an explicit decomposition approach, and induces a column generation procedure requiring two pricing sub-problems.The second model, namely aggregated path formulation, attempts to give an implicit decomposition of the problem, where the virtual layer includes informations of the physical layer.This is allowed by a new family of path variables that have a specific structure and can be priced out with a unique subproblem.We have devised a Branchand-Price algorithm to solve each of the formulations and compared the obtained results to show empirically that they are more efficient than a Branch-and-Bound for the compact formulation.
Finally, we have presented some experiments to show the effectiveness of our approach and to compare both algorithms.
We could see that both Branch-and-Price algorithms perform generally well on the tested instances but can be still enhanced.Indeed, Several interesting perspectives can be considered to boost their performances.For instance, we could consider more sophisticated branching strategy to handle the size of Branch-and-Price tree concerning the first path formulation.Besides, a deeper investigation of the pricing problem for the aggregated formulations should enable to better control the column generation procedure.Finally, a good primal heuristic should allow to prune much more efficiently the nodes of the tree whose exploration is not relevant.

Figure 3 -
Figure 3 -A solution of the path formulation.

Figure 4 -
Figure 4 -Graphs G 1 and G 2 with dual variables.

Figure 6 -
Figure 6 -Graphs G 1 and G 2 with dual variables (from the aggregated path formulation).
a set of commodities K , a set of available subbands W , and a cost vector c ∈ IR W .If for all (e, w) ∈ A 1 × W , p ∈ P ew , rc ew > 0 then 5:If for all k ∈ K , π ∈ k , rc k > 0 then

Table 2 -
Branch-and-Price results for random instances.

Table 3 -
Branch-and-Price results for SNDlib-based instances -Path formulation.