Design of ef ﬁ cient node p -cycles in WDM mesh networks

p -cycles have been extensively studied under a single link failure scenario. Even though not as common, single node failures may occur as well, and the resulting consequences can be devastating. Failure-Independent Path-Protecting (FIPP) p -cycles provide end-to-end path protection, and thereby protection against node failures, assuming that pre-cautions are taken. In this paper, we propose enhanced p -cycles, called node p -cycles, different from the FIPP p -cycle scheme, which can guarantee 100% protection against any single node failure. We design a scalable optimization model, which relies on a column generation formulation, in order to design the enhanced node p -cycles. Extensive comparative experiments have been conducted after designing a column generation framework for all compared protection schemes, in order to guarantee scalable models for each of them. Experiments include the (link) p -cycles, the node p -cycles of Onguetou and Grover (2009) [16], our enhanced node p -cycles and the FIPP p -cycles. We show that node p -cycles offering node and link protection only require slightly more spare capacity than link p -cycles, while requiring sometimes less, sometimes more spare capacity than FIPP p -cycles. For the comparison with the work of Grover and Onguetou (2009) [2], results show that our new node p -cycle scheme clearly outperforms their design in terms of capacity ef ﬁ ciency.


Introduction
WDM techniques enable a single fiber to carry multiple non-overlapping channels, and each channel can operate at the speed of up to 100 Gbps.This translates to huge amounts of traffic carried on a WDM network.As optical WDM networks are prone to a single failure of network infrastructure (e.g., a fiber cut or a node failure), survivability is a critical requirement for WDM networks.
Various types of protection approaches have been proposed for ensuring the survivability of WDM mesh networks.Among these approaches, p-cycles (Pre-configured Pre-cross-Connected Protection Cycles) [1] hold the unique characteristic of ring-like recovery speed and mesh-like capacity efficiency.The last decade has seen numerous research studies on p-cycles.The overwhelming majority of these studies explored the protection of WDM networks against single link failures, the dominant failure scenario in WDM mesh networks, and did not worry about single node failures.
However, the failure of a single node can occur, even though not so often, as a result of disasters such as fires or floods.A single node failure is equivalent to the failure of all its incident fiber links and their connections through that node.The consequences of a node failure are therefore devastating.
In this paper, we investigate the design of p-cyclebased schemes for 100% node protection and propose a new scheme for node protection using p-cycles.Note that, for the end nodes of a working path, traffic-rerouting protection approaches, e.g., p-cycles, cannot be used to recover their failures.The underlying idea comes from the observation that any intermediate node v on a working path p can be protected if its two adjacent nodes on the working path sit on the same p-cycle.It resembles the two hop approach of Grover and Onguetou [2], with one additional feature, detailed in Section 4. We develop a new Column Generation (CG) model to design p-cycles with node protection in order to adequately address the scalability issue afflicting the classical design of p-cycles.In order to make a quantitative comparison of the proposed node-protecting p-cycles with Failure-Independent Path-Protecting (FIPP) p-cycles [3], we adapt the CG model for the design of FIPP p-cycles of [4] so as to guarantee 100% protection against a single node or link failure.
Extensive experiments have been carried out over six network instances with diverse topology characteristics for the evaluation of the solution performances of four pcycle-based schemes, including the newly proposed nodeprotecting p-cycles.Comparisons are made with respect to several parameters, such as required spare bandwidth, dual failure protection capability, and lengths of the cycles.
The paper is organized as follows.In Section 2, we survey the key literature papers on link, node, segment and path p-cycles.The motivation and the original contributions of the paper with enhanced node p-cycles are presented in Section 3 with a comprehensive example for illustrating the distinctive characteristics of the four pcycle-based protection schemes, which will be quantitatively compared in Section 8.In Section 4, we develop an original and scalable optimization model for the design of node p-cycles, i.e., p-cycles ensuring 100% node protection.In Section 5, we re-use the same optimization model framework to design a scalable model for the node p-cycle scheme of Grover and Onguetou [2].In Section 6, we then adapt the column generation model of [4,5] for the design of FIPP p-cycles in order to guarantee 100% node protection.In Section 7, we present the solution methods to the column generation models developed in Sections 4-6.
Intensive comparative numerical results are presented in Section 8. Conclusions are drawn in Section 9.

Link p-cycles
We briefly recall below the original p-cycle protection scheme [1], to be called link p-cycles in the sequel in order to avoid confusion, due to the comparison of several pcycle-based protection schemes.
Link p-cycles correspond to a shared link protection scheme with pre-configured pre-cross-connected structures.Upon the failure of a link, the end nodes of the failing link switch the disrupted traffic automatically onto the p-cycle which protects the link, without any additional signaling requirement.Thereby, p-cycles can achieve ringlike fast recovery speed.Note that the protection of a given link, depending on the number of units to be protected, can be provided by more than one p-cycle.
An illustration of the link p-cycle scheme is provided in Fig. 1(a).Therein, a working path (v 5 -v 3 -v 8 -v 9 -v 7 -v 11 ) and two p-cycles, c 1 ¼ ðv 1 -v 9 -v 10 -v 11 -v 7 -v 8 -v 1 ) and c 2 ¼ ðv 2 -v 9 -v 8 -v 3 -v 5 -v 2 ), are drawn.As in ring-like networks, on-cycle links, such as fv 7 ; v 11 g on p-cycle c 1 , can be protected.Moreover, straddling links, such as link fv 7 ; v 9 g, which are not lying on p-cycle c 1 , but with its two endpoints on c 1 , can also be protected.Thus, p-cycles can achieve mesh-like capacity efficiency.

Segment and path p-cycles
In order to provide node protection, p-cycles have been generalized to path-segment-protecting p-cycles (flow pcycles for short) in [6], where a flow p-cycle can protect on-cycle and straddling working segments.Thus, the intermediate nodes of the working segments can be inherently protected but not the end nodes of the working segments.An improved version, call segment p-cycles, which guarantees the protection of the intermediate endpoints of the segments, can be found in [7].
Later, Kodian and Grover [3] proposed Failure-Independent Path-Protecting (FIPP) p-cycles, and Jaumard et al. [8] Failure-Dependent Path-Protecting (FDPP) pcycles to provide end-to-end path protection.If node disjointness is required instead of only link disjointness for all the paths to be protected by a single unit FIPP p-cycle, 100% node protection (excluding the endpoints of the working paths) can be guaranteed.Note that flow p-cycles and FIPP p-cycles are usually more capacity efficient than link protection schemes [6,3].However, optical recovery is slower as for any path or segment protection schemes.
Several studies conducted some comparisons of the different p-cycle protection schemes.Most of them were performed with heuristics as the classical model for the design of p-cycle-based schemes relies on an Integer Linear Program (ILP) model where each variable is associated with a potential cycle.Then, the solution of such an ILP model involves the off-line generation of either the whole set of potential p-cycles [1,9,10], or a restricted set of promising candidate p-cycles [11,12].In the first case, only small problem instances can be solved, while in the second case, larger instances can be solved, but then the resulting solution is a heuristic one with unknown accuracy.It has been shown, in the case of FIPP p-cycles [13], that heuristics may provide quite inaccurate solutions in some cases.
Most studies on FIPP p-cycles did not pay attention to node protection, but merely to path versus link protection with respect to bandwidth requirements, as in [13,5,14].FIPP p-cycle design may vary from one study to the next (see [4] for a thorough analysis of their differences).Indeed, as a path protection scheme, FIPP p-cycles can inherently provide node protection assuming that protection and working paths are pairwise node disjoint, and the set of working paths which are protected by the same unit FIPP p-cycle is node disjoint.An illustration of that condition is shown in Fig. 2. Observe that the working path v 1 -v 2 -v 5 -v 3 can be protected against the node failure of v 2 and v 5 only if the protection path differs from one failure to the next, i.e., node failure dependent.Note that, however, in order to simplify signaling and design, we here investigate FIPP p-cycles which are node independent, i.e., for any intermediate node of a working path, the end-toend protection path is identical.
To simplify notations and to improve the readability of the paper, we will talk about link, segment, path p-cycles instead of p-cycles, flow p-cycles and FIPP p-cycles.Link p-cycles with node protection capability will be referred to as node p-cycles.

Grover and Onguetou's node p-cycles
Given the above facts, one may wonder whether it is possible to provide full node protection using the original link p-cycles without necessarily going up to the FIPP pcycles.A few studies investigated this question.Stamatelakis and Grover [15] proposed node-encircling p-cycles (NEPCs), which are rather spare capacity consuming.Schupke [9] proposed and evaluated an Automatic Protection Switching (APS) protocol enhancement to provide means for node protection with p-cycles.Onguetou and Grover [16] proposed a new insight of node protection with overlapping p-cycles providing partial or full protection of all the intermediate nodes of the working paths.The same authors later restrict in [2] the segments to be two-hop segments in order to retain the simplicity of p-cycle switching operations.We next outline this last proposal.
Grover and Onguetou [2] proposed a node p-cycle scheme where p-cycles are constructed in such a way that the two adjacent links ℓ and ℓ 0 of a node v on a given working path p are protected by the same p-cycle.We denote such link pairs by ðℓ; ℓ 0 Þ v;p , or equivalently by ω p ðvÞ, i.e., the co-cycle of v restricted to the links of p.
Consider a link pair ðℓ; ℓ 0 Þ v;p , and a cycle c protecting node v, each of the two links adjacent to node v can be protected according to one of the following four cases: (i) both links are on-cycle links, (ii) one link is an on-cycle link, the other one is a straddling link, (iii) both links are straddling links, (iv) v is a straddling node, i.e., v belongs to a working path that contains a 2-hop chord of p-cycle c, with v lying in the middle of the 2-hop chord.In such a case, the links adjacent to v will be protected together or one at a time by another p-cycle(s): they cannot be protected by the same p-cycle as node v as they are neither oncycle, nor straddling links of that cycle.In cases (i), (ii) and (iii), node v is an on-cycle node of c, and its two adjacent links on p are on-cycle or straddling links of c.However, this does not mean that these links are necessarily protected by c, except with regard to incentives, such as an objective for minimizing the bandwidth requirements.
Upon the failure of a node, the two closest (adjacent) nodes on the working path can detect the failure and switch the disrupted traffic automatically onto the p-cycle (s), as in the link failure scenario.Then, one (cases (i), (ii) and (iii)) or two (case (iv)) traffic unit(s) through such an on-cycle intermediate node can be protected.
An illustration of the on-cycle node protection is provided in Fig. 1(a).In order to offer node and link protection to the request demand between nodes v 5 and v 11 , one needs two p-cycles c 1 (short dashes) and c 2 (long dashes).All links of the working path are protected as each of them is either an on-cycle link or a straddling link of c 1 or c 2 .Each intermediate node v, as an on-cycle node, is also protected as the two adjacent links on its working path are either on-cycle or straddling links of the p-cycle protecting v.In addition, tho adjacent links to v are protected by the same p-cycle protecting v.For instance, node v 7 has its two adjacent links fv 7 ; v 9 g and fv 7 ; v 11 g protected by c 1 .It follows that, if node v 7 fails, the subpath v 9 -v 7 -v 11 is rerouted on, e.g., v 9 -v 10 -v 11 .
Fig. 1(b) illustrates protection of a straddling node.Demand v 1 -v 5 is routed on path v 1 -v 2 -v 3 -v 4 -v 5 , with pcycle c 1 built to protect node v 3 .If v 3 fails, its adjacent nodes v 2 and v 4 can switch the disrupted traffic on c 1 , which can offer two protection paths.However, note that neither link v 2 -v 3 nor v 3 -v 4 can be protected by c 1 .
3. An enhanced node p-cycle scheme

A first contribution
We propose an enhanced node p-cycle scheme, which is more general than the one in [2], as it allows the protection of a node lying on several working paths by the same p-cycle if the working paths use link disjoint protection entities following the failure of that node.As we will see in the numerical results, this allows reducing the spare bandwidth requirement.
Fig. 3 illustrates the idea with a network topology comprising eight nodes and three demands routed on primary paths w 1 , w 2 and w 3 .Fig. 3 (a) shows the solution of the design strategy proposed in [2].Therein, three p-cycles, c 1 , c 2 and c 3 , are required to provide full node protection.The resulting spare capacity requirement amounts to 12 channel units.However, with our enhanced node p-cycle scheme, as shown in Fig. 3(b), only one p-cycle, c 4 , is required in order to provide full node protection.Upon the failure of node v 1 , on-cycle protection paths v 2 -v 6 -v 3 ; v 3 -v 7 -v 4 and v 4 -v 8 -v 5 can be used to recover the three disrupted demands routed on w 1 , w 2 and w 3 respectively.The associated spare capacity cost is eight units of channels.Compared with the strategy of [2], our solution reduces by 33% the amount of required bandwidth.

A second contribution
Path p-cycles are known to be more capacity efficient than link p-cycles in the context of protection against a single link failure [5,14].With respect to single node failures, to the best of our knowledge, comparisons can only be found in [2], where the solution methods are heuristics.Therein, the conclusion is that node p-cycles hold a capacity efficiency comparable to path p-cycles and, therefore, are an attractive approach for link and node protection.As will be seen in Section 8, our conclusions are slightly different, depending on the data instances.
The first motivation of this paper is to go one step further with our enhanced node p-cycle scheme and an exact solution of the resulting ILP model, rather than a heuristic solution or an exact solution which can only scale on very small network and traffic instances [2].The second motivation is to provide an exhaustive set of numerical experiments in order to evaluate and compare four p-cycle based protection schemes: p-cycles, the node p-cycles of [2], our enhanced node p-cycles and path p-cycles, which will be both link and node failure independent.

A comprehensive example
Before going into the details of the optimization models, we propose to first explore the distinctive characteristics between the various protection schemes on a small example.Extensive computational experiments will be done in Section 8. We use the BELLCORE network topology with two unit demand requests, see Fig. 4(a).Therein, the number on each link is the link geographical length [17], expressed in thousands of kilometers.Three protection schemes are illustrated: link p-cycles in Fig. 4(b), i.e., the classical p-cycle protection scheme, node p-cycle in Fig. 4 (c) as per our newly proposed node p-cycle scheme described in Section 2.3, and path p-cycle in Fig. 4(d), i.e., the so-called FIPP p-cycle with the required adaptations in order to guarantee node protection, as discussed in Section 6.Note that, on that simple example, both our node pcycle protection scheme and that of Grover and Onguetou give the same results.For differences, see the example illustrated in Fig. 3 or to Section 8.
The protection schemes, which are illustrated in Fig. 4, can be described as follows.To protect traffic against a single link failure, two link p-cycles, c 1 and c 2 , as shown in Fig. 4(b) are used, with a spare capacity requirement of Fig. 3. Comparison of our node p-cycle scheme with that of Grover and Onguetou [2].(a) Grover and Onguetou [2] node p-cycle Scheme.(b) Our node pcycle scheme.
14.5.To provide protection not only against single link failures, but also against single node failures, we need again two node p-cycles, c 3 and c 4 , different from c 1 and c 2 , as depicted in Fig. 4(c).Their overall spare capacity is equal to 31.5.If, instead of link p-cycles, we now consider path pcycles, again two p-cycles c 5 and c 6 are needed, as shown in Fig. 4(d), with a spare capacity equal to 38.8.This example shows that, as expected, the node pcycles require more spare capacity than the link p-cycles for node protection.On the other hand, while it would have been expected that node p-cycles might have required more spare bandwidth than path p-cycles, it is not the case for the above example.As will be seen in the sequel, node p-cycles are sometimes more bandwidth efficient, sometimes less bandwidth efficient than path pcycles, depending on the network topologies.

Notations
Let us represent a WDM mesh network by a graph G ¼ ðV; LÞ, where V is the set of nodes indexed by v, and L is the set of fiber links indexed by ℓ.Let d ℓ be the number of traffic units routed on link ℓ.For a given working path p A P, let D p be the number of connection requests carried on it, and let V ⋆ p be the set of its intermediate nodes.The model that is proposed relies on p-cycle configurations, where a p-cycle configuration consists of a one unit p-cycle and the set of links and nodes it protects.
Before setting the details of the model, we need to introduce some notations: Sets ωðV 0 Þ co-cycle of V 0 DV, i.e., the set of links with exactly one end node belonging to V 0 .Note that a co-cycle corresponds to a cut in an undirected graph ω(v) set of links adjacent to node v (particular case of We propose a Column Generation (CG) optimization model for the design of the enhanced node p-cycles according to the description given in Section 3. Following a CG modelling (see, e.g., [19,18]), the design problem is decomposed into two subproblems: the master problem and the pricing problem.The master problem selects the best combination of p-cycles in order to guarantee the node/link protection while the pricing problem dynamically generates new p-cycles, which iteratively contribute to the improvement of the current value of the objective of the (continuous relaxation of the) master problem.This way, the number of generated cycles remains reasonable without jeopardizing the solution optimality.See Section 7 for the details.

The master problem
The master problem relies on the concept of configurations, where a p-cycle configuration c is represented by Recall that, for a configuration (an enhanced node p-cycle) c and the protected node v, multiple working paths across node v can have a c pv value of 1 as long as the related protection paths along p-cycle c are link disjoint.
The mathematical model can then be written as follows: Constraints (2) ensure that the overall traffic is protected against a single link failure.Constraints (3) ensure that all demands are protected against a single failure at node v with respect to working path p, for all intermediate nodes on all working paths.Constraints (4) define the domains of variables z c .

The pricing problem
The role of the pricing problem is to generate a promising p-cycle that, once added to the master problem, will improve the value of the current solution of the linear relaxation of the master problem.Its objective corresponds to the minimization of the so-called reduced cost subject to a set of constraints for the generation of not only a pcycle but also of the set of its protected links/nodes.Readers who are not familiar with linear programming are referred to, e.g., Chvatal [19].
The objective function can be written as follows: where u ℓ and u pv are the dual variables associated with constraints ( 2) and ( 3) respectively.Before presenting the set of constraints of the pricing problem, we need to introduce the following notations: Parameters if ℓ is an on-cycle link of the cycle under construction, 0 otherwise y v ¼ 1 if node v lies on the cycle under construction; 0 otherwise The objective function of the pricing problem can then be re-written as follows: The set of constraints can be subdivided into two groups of constraints.The first group of constraints is associated with the generation of a simple cycle and the identification of the set of links which are protected by this cycle.The second group takes care of determining pairs (p, v), made of a working path p and one of its intermediate node v, such that node v is protected by the cycle with respect to p.
The first group of constraints can be written as follows: Each node on a given cycle must have two incident links on that cycle.This is ensured by constraints (7).Constraints ( 8) and ( 9) are used to identify straddling links.A link straddles a cycle if its two end nodes are on the cycle, but the link itself is not.Constraints (10) are a variant of the classical sub-tour elimination constraints of the Travelling Salesman Problem (TSP) (see in [20, pp. 273, 487]), with the difference that a p-cycle does not necessarily include all nodes while a TSP tour must include all nodes exactly once.These sets of constraints are used to forbid the generation of a configuration including multiple cycles.The existence of multiple cycles in a configuration will make it the identification of straddling links too complex.
Before describing the second group of constraints, we introduce one more notation: P ⋆ v , the set of working paths going through node v A V, with v being an intermediate node of the path: Constraints (11) ensure that only on-cycle links are eligible for protecting an intermediate or a straddling node of working path p against a single node failure.Constraints (12) say that, if a link is adjacent to an intermediate node v of working path p, the link cannot be used for protection of node v, i.e., cannot be on a protection path going around node v. Constraints ( 13)-( 15) are flow conservation constraints for defining the protection paths.Constraints (13) say that a protection path, which protects node v, must go through the two nodes which are adjacent to node v on working path p. Constraints ( 13), together with (14), ensure that a p-cycle can provide at most two protection paths for the protection of a node lying on a working path.Consider an intermediate node v of working path p, and node v 0 which belongs to V⧹fv 1 pv ; v 2 pv g.Constraints (15) together with constraints (14) ensure that no flow is terminated at node v 0 , i.e., the number of incoming/ outgoing flows must be either 0 (the protection path of node v of working path p does not use node v 0 ) or 2 (the protection path traverses node v 0 and two incident links such that x pv ℓ ¼ 1; ℓ A ωðv 0 Þ).Upon the failure of a node, working paths passing through the failing node are all disrupted.Constraints (16) say that a link channel can only be used for recovering one unit of disrupted working paths.The last sets of constraints ( 17), ( 18) and ( 19) define the domains of the variables.

A column generation reformulation of the model of Grover and Onguetou [2]
In order to compare our node p-cycle scheme with the one by Grover and Onguetou [2], we next rewrite their integer linear program in a column generation (CG) framework so as to obtain a scalable model which can solve larger instances than in their original paper.Note that instead of a two step process as in [2] (firstly, identify the best p-cycles; secondly, decide for each node which pcycle protects it), the proposed CG model corresponds to an equivalent one step solution process.
We first recall their original ILP model with unified notations, and then reformulate it in a column generation framework.

ILP model by Grover and Onguetou [2]
While re-using notations of the previous section, we need two additional sets of variables, which are defined as follows: Roman symbols z c pv number of copies of p-cycle c to protect intermediate node v of path p t c pv number of demand units of node v in path p, which are protected by p-cycle c in the event of a failure of node v The mathematical model of [16] can be written as follows (with unified notations): The objective is to minimize the spare capacity requirements.Constraints (21) ensure 100% guaranteed protection against a single link failure.Constraints (22) determine the units of protection that a p-cycle can provide for a single intermediate or straddling node of a working path upon the node failure.Constraints (23) ensure that all intermediate nodes of all working paths are protected against a single node failure.Constraints (24) indicate that a p-cycle can be used to protect an intermediate (resp.straddling) node if ðℓ; ℓ 0 Þ v;p link pair is on the cycle (resp.straddle the cycle, as illustrated in Fig. 1(b)).Constraints (25) say that, for a given path p going through node v, if node v is protected by pcycle c with respect to p, the reserved copies of unit p-cycle c should be enough to recover all impaired traffic on p against node v failure.Constraints ( 26) and ( 27) define the domains of the variables.
Set of constraints ( 21)-( 27) can be equivalently rewritten in the following more compact way, reducing the number of variables (eliminating variables t pv c ), and eliminating the constraints ( 24) with the M constraint, which usually slow down the solution of the linear programming relaxation: In this compact mathematical model, for a p-cycle c and node v, multiple working paths across node v can have the a c pv value of 1.However, according to the node p-cycle scheme of Grover and Ongueton, it is required that each pcycle only protects one of these working paths, which is essential difference with the proposed enhanced node pcycle scheme.This requirement leads to constraints (29) and (30).

CG reformulation of the model by Grover and Onguetou [2]
In order to reformulate the above ILP in a column generation framework, the design problem is decomposed into two problems which will be solved alternately: the master problem and the pricing problem.The master problem selects p-cycles which are calculated on the fly by the pricing problem at each iteration of the CG algorithm.The p-cycle candidates are associated with configuration set C. A configuration c consists of a cycle that protects a set of links and a set of intermediate (possibly straddling) nodes of working paths.Unlike the p-cycle configuration defined in Section 4.2.1, a node p-cycle configuration can only be used to protect a given node for a single impaired working path.
The CG reformulation leads to a master problem, which is the same as the model ( 1)-( 4), i.e., our newly proposed model.However, note that, for a p-cycle c and the protected node v, only ONE working path p across node v can hold the a c pv value of 1.In this perspective, this CG reformulation of Grover and Onguetou is equivalent to the compact optimization model present in Section 5.1.
However, while the objective of the pricing problem is the same as (5), its constraints differ.Before presenting it, we need to introduce the following sets and variables: Set Using these notations, the objective (5) can then be rewritten as follows: Again, the pricing problem contains two blocks of constraints.The first one consists of the constraints for defining a cycle, which are identical to constraints ( 7)- (10).The second block of constraints is as follows: Constraints (34) say that an intermediate node on a working path p can be protected in an on-cycle manner, i.e,. the node belongs to the cycle under construction, if its two adjacent links on p are also protected by the cycle under construction.Constraints (35) and (36) together say that the cycle under construction can protect a straddling node v on a working path p if its two adjacent nodes on p belong to the cycle (i.e., are on-cycle nodes), but not v itself.Upon node failure of v, all working paths transmitting the failed node are disrupted, but the cycle under construction can offer node protection only for a single path with respect to node v, which is stated by constraints (37).This last CG-ILP model, through its pricing problem, is not fully equivalent to the model of Grover and Onguetou [16], but corresponds to where they aim at with their two phase process.Details follow.
Firstly in the above pricing problem of the CG-ILP model, we directly generate a unique p-cycle for the protection of a given node, as obtained with the two step process in [2].Indeed, a candidate p-cycle consists of a unit cycle, the protected links and the potential protected intermediate nodes of working paths, in such a way that a node can be protected by a p-cycle for a unique working path.As shown in Fig. 5, two candidates, c 1 and c 2 , are generated respectively for protecting node v of path p 1 and for v of p 2 .The master problem then determines how many units of c 1 and c 2 are required in the solution.
Fig. 6(a) presents a network topology, and two demands carried respectively on paths p 1 and p 2 .Both paths pass through node v. Fig. 6(b) illustrates a candidate p-cycle, which is made up of a unit cycle c, the protected (on-cycle and straddling) links and the potential protected node v of p 1 and of p 2 .The CG-ILP reformulation of Grover and Onguetou model then determines in turn how many units of cycle c are allocated for node v of p 1 and for node v of p 2 .

Column generation model for the design of FIPP pcycles
We re-use the column generation formulation of [4,8] and adapt it in order to guarantee 100% node protection.Note that we consider here, as in [4], a decomposition of the pricing problem in order to further enhance the CG model scalability as path p-cycles are more costly (with respect to computing times) to compute than link p-cycles.
As for the models in Sections 4 and 5, the master problem selects path p-cycles for protection of all working paths against single link or node failures so that the overall spare capacity is minimized.A configuration c is made of a cycle and the set of working paths it protects against single node/link failures, represented by vector a c .The vector element a c p A f2; 1; 0g encodes the number of protection paths provided by this configuration c for working path p.Note that, for mutually node-disjoint working paths p A P, they can protected by the same path p-cycle c, i.e., a c p ¼ 1.In addition, for mutually non-node-disjoint working paths p, they can also be protected by the same path p-cycle (configuration) c (a c p ¼ 1) as long as their protection paths along the p-cycle are link disjoint.
The mathematical model is next formulated: Constraints (41) express that all working paths should be protected against a single link or node failure.Constraints (42) define the domains of the variables.
The goal of the pricing problem is to generate a valid augmenting configuration, i.e., a unit path p-cycle with the set of requests it protects against single node/link failures.We are discussing below the changes to the previous model of [4] so as to guarantee protection against single node failures.
The first one is due to the fact that link disjoint paths are not necessarily node disjoint, as shown in Fig. 7. Therein, node v 7 cannot be protected if both working paths v 3 -v 11 (blue path) and v 6 -v 10 (green path) are protected by the path p-cycle c 1 (in red in Fig. 7).The second one deals with the case of (partially) straddling working paths with one intermediate node belonging to a path pcycle.For instance, see working path v 3 -v 11 (blue path) in Fig. 7. Indeed, for protection against single link failures, it is required that working and backup paths to be pairwise link disjoint.Similarly, in order to guarantee node protection, working and backup paths must be pairwise node disjoint.Back to the example with working path v 3 À v 11 , The pricing problem generates a promising configuration for the master problem in each iteration of the CG algorithm such that the value of the current solution (linear relaxation) may be improved.Its objective corresponds to the minimization of the so-called reduced cost of the linear relaxation subject to the configuration constraints, and can be written as follows: where u p are the dual variables related to constraints (41).Before describing the constraints of the pricing problems, we need to define some additional notations.Previously defined notations still hold: Parameters β p;p 0 ¼ 0 if working paths p and p 0 are node disjoint (and hence, link disjoint); 1 otherwise Using these notations, the reduced cost (43) can then be rewritten: x p ℓ zfflfflfflfflffl ffl}|fflfflfflfflffl ffl{ \Àt\Àta c p Once more, constraints can be subdivided into two subsets.The first subset takes care of the generation of a cycle: Constraints (44) and (45) ensure on-cycle flow circulation, i.e., these constraints address the cycle construction by saying that, at all nodes, the number of incoming/outgoing flows must be either 0 (the current p-cycle under construction does not go through node v) or 2 (the current pcycle contains node v and two incident links such that b ℓ ¼ 1; ℓ A ωðvÞ).Constraints (46) have the same functionality of constraints (10), i.e., prevent producing a configuration which includes multiple cycles, as otherwise identification of (partially) straddling paths is difficult.
The second subset of constraints deals with the identification of the protected working paths by the current cycle: x p ℓ þx p 0 ℓ r 2 À β p;p 0 p; p 0 A P; ℓ A L ð52Þ Note that constraints (52) can be equivalently rewritten: with the advantage of reducing the number of constraints.Constraints (47) say that only on-cycle links are eligible for protection of working paths.Constraints (48) ensure that a working path and its corresponding protection path are node disjoint.Constraints (49) say that, for any working path, its protection path(s) must end at its two end nodes.Constraints (49) and (50) ensure that the configuration under construction can provide at most two protection paths for any working path.At node v which is distinct from the source and destination nodes of working path p, constraints (51) and constraints (50) together ensure flow conservation, i.e., the number of incoming/outgoing flows must be either 0 (the protection path of working path p does not use node v) or 2 (the protection path traverses node v and two adjacent links such that x p ℓ ¼ 1; ℓ A ωðvÞ).
Constraints (52) ensure that only link-and-node-disjoint working paths can share protection paths.

Solution of the optimization models
We expose here the details of the solution process for all the optimization models described in the last three sections.The solution process includes two steps, as illustrated in Fig. 8(a).The first step consists in solving the linear relaxation of the optimization model with the column generation (CG) technique.The inner loop (Step 1) illustrates the iterative process of the CG algorithm.Regarding initialization of the master problem, we have no need for generation of any initial p-cycles.Instead, the master problem is initialized using the artificial (dummy) configurations such that all traffic in a given network is protected against any single link or node failure.Given that these artificial configurations are with the very large cost, they will not appear in the final solution.
The outcome of the first step is a lower bound z ¼ z ⋆ lp (i.e., the optimal value of the linear relaxation) on the optimal integer solution of the model that is solved.The second step consists in building an integer solution of value zilp , as shown by the outer arrow (Step 2).In case an optimal solution is not reached ðz ilp 4z ⋆ ilp Þ, the solution process provides the accuracy of the integer solution ðε ¼ ðz ilp À z ⋆ lp Þ=z ⋆ lp Þ.For the solutions present in Section 8, even if not all solutions are optimal, they are all ε-optimal with ε less than 1%.

Column generation technique
We first briefly recall the classical column generation algorithm, and then explain the features we have added in order to enhance the original algorithm, while taking into account the characteristics of the models for the design of link or node or path p-cycles.
In order to deal with the optimization models arising in the design of p-cycle-based schemes, decomposition techniques are required in order to overcome their large number of variables.They allow an iterative solution scheme where (link/node/path) p-cycle configurations are on-line generated as long as there exists an augmenting configuration, i.e., a configuration such that its addition means an improvement of the current solution of the linear relaxation of the master problem.
In order to speed up the CG algorithm, based on the observation that we may have the same cycle belonging to different configurations, we first generate the augmenting configurations using the cycles which have already been used in the previously generated configurations.This iterative process is illustrated by Step 1a in Fig. 8(b).Note that the search of a configuration is advantageously speeded up if a cycle has been already selected, meaning that the first group of constraints of the pricing problems disappear.If no augmenting configuration can be generated with the last generated cycles, then we solve the complete pricing problem, which includes the first group of constraints, i.e., the search of a cycle.This iterative process is illustrated by Step 1b in Fig. 8(b).The resulting cycle can either be a brand new one, or one of the cycles generated with one of the earliest configurations.We observe, in practice, that very few complete pricing problems need to be solved, usually the number is of the order of the number of distinct cycles among the overall set of configurations.
Column generation algorithms which are described in the early papers often assume that we eliminate at each iteration the columns associated with nonbasic variables in order to keep the size of the constraint matrix as small as possible.However, in practice, this often entails regenerating several times some columns (or managing a column buffer), and therefore, the most efficient strategy is to "price out columns" only when the constraint matrix becomes too large, so say every 50-100 iterations in practice.Column pricing is conducted looking at the variables/columns with the largest reduced cost.This technique corresponds to the box entitled "Column pricing operations" in Fig. 8(b).

How to get an optimal (near optimal) integer solution
Once the optimal solution of the linear relaxation of an ILP model has been reached, the next step consists in computing an integer solution, ideally an optimal one.However, in order to guarantee reaching an optimal integer solution, one must use a branch-and-price method (see, e.g., [21]) when a column generation model is used.It requires some effort in order to identify an efficient and scalable branching scheme.Instead, let zilp be the optimal integer solution of the ILP model such that its constraint matrix is associated with the last solved restricted master problem.It is well known that zilp is not necessarily the value z ⋆ ilp of an optimal integer solution of the master problem.However, z ⋆ lp , the optimal value of the linear relaxation of the master problem provides a lower bound on z ⋆ ilp .It follows that the accuracy ε of zilp can be measured by the following optimality gap (in percentage): In this study, we used the so-called rounding up method.It consists in an iterative algorithm, which, at each iteration, selects the configuration variable with the largest fractional value, round it up, and set the variable to that rounded value.The linear relaxation of the resulting problem is updated, and then the algorithm iterates.This process is illustrated by Step 2 in Fig. 8(b).

Computational results
In this section, we evaluate the performances of the newly proposed scheme for node protection using p-cycles (node p-cycles), and compare it with three other schemes: (i) the OG p-cycle scheme of [2] (OG p-cycle) using a column generation reformulation as described in Section 5; (ii) the path p-cycle scheme using the model of Section 6; (iii) the link p-cycle scheme corresponding to the original p-cycles using the column generation model of [5].Note that the column generation does not change the models initially proposed (in relation with the constraint set), but only the scalability of the solution process.In addition, they allow an exact and scalable solution of the models, and hence make their comparison more efficient and equitable (Table 1).
All mathematical models have been implemented in C þ þ with their linear (restricted master problems) and ILP (pricing problems) programs solved by CPLEX 11.0.1 solver [22].
We estimate the bandwidth cost in two different ways, the number of link channels on the one hand, and the sum of the geographical distances of the links on the other hand, while assuming the cost to be proportional to these parameters.For performance evaluation and comparison, we use three metrics: Capacity redundancy -R p=w , i.e., the ratio of spare capacity cost over working capacity cost.
Dual link failure recovery ratio -R 2 (as in Grover [23] (formula (8.3), p. 510 and [24]): where d ℓ is the number of traffic units carried on link ℓ (see notations in Section 4.1), lossðℓ; ℓ 0 Þ is the total number of unprotected traffic units under the dual failure of links ℓ and ℓ 0 .
Number of distinct p-cycles which need to be configured upon the deployment of a p-cycle scheme, a measure of the complexity of the protection management overhead.(Two p-cycles are distinct if they cross different links.)

Data instances
We use six different network instances, which are described in Table 2, together with some key characteristics of the traffic instances.For each network instance, we provide the number of nodes, the number of edges, the nodal degree (average and standard deviation values) as an indicator of the regularity of the network connectivity, and the link length (minimum, average, maximum).
In order to go one step further in the analysis of the results, we added three more characteristics for the network instances.They are all expressed in two units, number of hops and km.We therefore computed the network diameter, i.e., the length of the longest path among the shortest paths for any node pair in the network.
At last, we added two parameters for characterizing the network connectivity in the context of path p-cycles and node p-cycles, which are defined below.
For a path p-cycle protection scheme, we define the DP parameter as the average number of node disjoint protection paths (for construction of path p-cycles) over the set SD of node pairs, i.e., the set of node pairs with some traffic: where DP sd is the maximum number of node disjoint protection paths for a node pair fs; dg.For a node p-cycle scheme, we define the DV parameter as the average number of node disjoint paths (for definition of node p-cycles to protect intermediate nodes and links) over the intermediate node set V Ã p and the link set L. Note that one-hop working paths, each of which includes only one link, also need to be protected against any single link failure.Therefore, when calculating the DV parameter, we also take into consideration one-hop working paths.DV is calculated as follows: where DV p;v and DL ℓ denote the maximum number of node disjoint protection paths for the ðℓ; ℓ 0 Þ v;p link pair and for link ℓ (a one-hop working path) respectively.These two parameters DP and DV indicates the possible shareability of protection paths for protecting working paths and ðℓ; ℓ 0 Þ v;p link pairs respectively.Traffic instances are described by their number of demand requests and working capacity (i.e., number of link wavelength channels which are required for the primary paths), in the last two lines of Table 2.For each network, the number of demand units between a given node pair is randomly generated (uniform distribution) in the interval [1..20] for the first five networks, and in the interval [1..3] for EON2004.Working paths are computed in such a way as to guarantee that they are of minimum length subject to the condition that there exists at least one potential protection path that is link and node disjoint with the working path.For the connection demands between each node pair, they are routed along the same path in order to evaluate the intrinsic quality of the pcycles based schemes under investigation.

Comparison of capacity redundancies
We first compare the four protection schemes, link pcycle (LpCycle), OG p-cycle (OGpCycle), node p-cycle (LNpCycle) and path p-cycle (PpCycle), with respect to capacity redundancy.Results are summarized in Fig. 9 (a) and (b) for the hop and the geographical distance (km) metrics respectively.Except for Germany instance, the behavior (ranking of the four protection schemes according to the capacity redundancy) is identical for the two bandwidth cost metrics.
As expected, extra spare capacity is required by p-cycles for node protection compared with those providing only link protection for each network instance.As for node pcycle with hop metric (resp.for the geographical distance metric), from 1.3% to 25.3% (from 1.7% to 28.7%) more bandwidth is required than link p-cycle, while providing 100% protection against single link and node failures.
Node p-cycle is more capacity efficient than OG p-cycle for all network instances, keeping in line with the comparison of these two protection schemes in the example presented in Section 2 (see Fig. 3).The redundancy differences vary from 7% to 18% for the hop metric, and from 5% to 11% for the geographical distance metric.[25] GERMANY [25] BELLCORE [17] NJLATA [17] COST239 [26] EON2004 [25] nodes For path p-cycle vs. node p-cycle, for NSF and COST239 with the small deviation of node degree (0.6 shown in Table 2), the path p-cycle scheme has an advantage over the node p-cycle one in terms of capacity efficiency, following the belief that a shared path protection approach is more capacity efficient than a shared link one.The difference ranges from 7.8% to 17.1% for the channel metric, and from 7.7% to 14.9% for the geographical distance metric.However, for the four other instances with a high node degree deviation, node p-cycle outperforms path p-cycle, with respect to capacity efficiency.This is in accordance with the example illustrated in Section 3.3.The differences vary from 0.5% to 10.2% (resp.1.1% to 8.6%) for the hop (resp.distance) metric.
In order to understand the impact of the network topologies, we calculate the average distance of the shortest node disjoint protection paths for all working paths.The average distance is provided in the row with the header of Avg.alter.distance in Table 2. Also, for all ðℓ; ℓ 0 Þ v;p link pairs, we calculate the average distance of their shortest node-disjoint protection paths, see the row entitled by Avg.link pair distance in Table 2.
Avg. alter.distance (resp.Avg.link pair distance) provides an estimation the level of the average length of path (resp.node) p-cycles for protection of working paths (resp. of links and link pairs) against any single failure under the minimum capacity design of path (resp.node) p-cycles.In this aspect, with respect to a network, in comparison of Avg.alter.distance with Avg.link pair distance, the longer the Avg.alter.distance (resp.Avg.link pair distance) is, the less capacity efficient the path p-cycles (resp.node pcycles) could be for protection of working paths (resp.links and link pairs).
We can observe from Table 2 that, for NSF and COST239, the average path distance for the intermediate node protection is equal to or longer than that for the path protection.However, for the other four instances, the average path distance for the node protection is shorter than that for the path protection.Note that, in the optimal solution of node p-cycles (resp.path p-cycles), the shortest protection paths are most probably used for the construction of node p-cycles (resp.path p-cycles) in order to keep spare capacity usage minimal.As a result, node pcycles require less spare capacity, and therefore are more capacity efficient than path p-cycles in these four instances.Thereby, the experimental results shown in Fig. 9(b) are verified.

Impact of the network topology
We next investigate further how the capacity efficiency of path p-cycles (resp.node p-cycles) varies with the topology characteristics, and on which kind of topology path p-cycles (resp.node p-cycles) can achieve better performance.To this end, we calculate the indicator DP (resp.DV) for each working path (resp.each ðℓ; ℓ 0 Þ v;p link pair with respect to an intermediate node of each working path), and present its value in Table 2.
The parameter DP (resp.DV) suggests the possible shareability of spare capacity for protection of working paths (resp.links and link-pairs).The larger DP (resp.DV) suggests that there exist more path p-cycles (resp.node pcycles) available for protection of working paths (resp.links and link-pairs); thereby, there are more chances for mutually node-disjoint working paths (resp.links and link-pairs) to share path p-cycles (resp.node p-cycles) for protection against a single failure.The resulting path pcycles (resp.node p-cycles) are more capacity efficient.Therefore, the parameter DP (resp.DV) has an impact on the capacity efficiency of path p-cycles (resp.node pcycles).
The relationship of DP (resp.DV ) with the capacity redundancy is shown in Fig. 10(a) (resp.Fig. 10(b)) for path p-cycles (resp.node p-cycles) respectively.Fig. 10(a) and (b) suggests that the average number DP (resp.DV ) of alternate paths in a network is a key factor impacting the performance of path p-cycles (resp.node p-cycles) with respect to the capacity efficiency.In general, the more the protection paths, the more efficient the path p-cycles (resp.node p-cycles) are in the context of protection against a single link/node failure.The reason is as follows.For each working path (resp.ðℓ; ℓ 0 Þ v;p link pair), if more protection paths, and thereby more p-cycles are available, more opportunities then exist for the sharing of spare bandwidth with other node-disjoint working paths.

Number and length of the cycles
Assuming no restriction on the length of the p-cycles, in Fig. 11, we present the number and length of the cycles in the optimal solutions of link p-cycle (LpCycle), OG pcycle (OGpCycle), node p-cycle (LNpCycle) and path pcycle (PpCycle).Since the excessive length of p-cycles has been often criticized (see, e.g., [6,27]), we will study, in Section 8.2.5, the impact of shortening the p-cycles on the performance metrics.
Here, we observe more differences when comparing the four protection schemes, depending on the selected bandwidth metric.With respect to the number of distinct cycles, comparative performance (ranking of the four protection schemes) is the same for BELLCORE, NJLATA and EON2004.With respect to the average length of the cycles (weighted with the number of cycle occurrences), comparative performance (the protection scheme ranking) is the same for the GERMANY, BELLCORE and EON2004 instances, while it differs for the other three instances.A first observation is therefore that the number of hops is not necessarily a good approximation of the geographical length depending on the network structure (the variance of the link length is not enough to predict the different ranking).
From Fig. 11(a) and (b), we can observer that, among the schemes for full node protection, in generally, the node p-cycle scheme asks for the smallest number of distinct cycles.This suggests a possible advantage of the node  p-cycle scheme for the cycle management over the others two schemes (OG p-cycle and path p-cycle).Regarding OG p-cycle versus path p-cycle, the ranking varies with the network topologies, and there is no systematic ranking between them.The link p-cycle scheme requires the smallest number of distinct cycles among the four protection schemes for all instances (independent of the topologies).However, node protection cannot be guaranteed by using classical link p-cycles.
From the perspective of the average length of the pcycles ensuring node protection, node p-cycle is equal to or larger than the other two protection schemes (OG p-cycle and path p-cycle).In contrast with link p-cycle, the average length of node p-cycle is larger in the GERMANY, NJLATA and EON2004 instances.

Protection against dual link failures
We next compare the four protection schemes with respect to the dual link failure restoration ratio (R 2 ) over the six network instances.Note that here the protection against dual link failures comes for free from the solutions ensuring 100% link or link/node protection.Results are displayed in Fig. 12(a) and (b) with the hop and distance metrics respectively.
The ranking of the four schemes with the hop metric is similar to the one with the distance metric except for NSF and GERMANY instances.OG p-cycle holds the largest value of R 2 for all instances except for GERMANY.This comes from the fact that OG p-cycle is the most capacity redundant among these four schemes.The R 2 differences between node p-cycle and OG p-cycle range from 3.1% to 15% (resp.from 0.1% to 9.1%) for the hop metric (resp.the distance metric).
Except for EON2004 instance, node p-cycle outperforms path p-cycle.Node p-cycle can provide from 8% to 27.9% (resp.6.5% to 22.4%) more R 2 than path p-cycle for the hop (resp.distance) metric.In contrast with link p-cycle, the node p-cycle scheme provides comparable R 2 value for all instances except for BELLCORE and NSF.This can be explained by the fact that the average length of the cycles in the solutions based on node p-cycle is larger than those based on link p-cycles.In BELLCORE, however, node p-cycles can provide 10% more R 2 than link p-cycles for both bandwidth metrics.

Impacts of cycle length limitation on performance metrics
The numerical results in the previous paragraphs have been obtained without any limitation on the p-cycle length (whether for link, node or path protection), as for most of the related studies in the literature.However, length restrictions may have to be taken into account, if the delay of a connection is limited, especially if we assume that wavelength conversion is available at each node (the assumption of this study).For those reasons, we next investigate further the performance of the node protection schemes (node p-cycle and path p-cycle), while some restrictions are applied on the length of the p-cycles.We where length is the length limit on the p-cycles.
Experiments are carried out on the COST239 and EON2004 instances, and the numerical results are summarized in Figs. 13 and 14 respectively.For COST239 (resp.EON2004) network, length value ranges between 3000 km (resp.7000 km) and þ1 (no limit on the length of the p-cycles).Those values have been selected in order to guarantee that solutions exist for node p-cycle with 100% node protection.Note that for values slightly smaller, neither of these two instances can be fully protected by any of these two protection schemes.
Figs. 13(a) and 14(a) show the decrease of the redundancy ratio as the length of the p-cycles increases for COST239 and EON2004 respectively.Note that for both instances, especially, for EON2004, there is no path p-cycle protection ensuring full link/node protection much earlier than for the node p-cycle scheme (length ¼ 7000 vs. 12,000) as the length limit of p-cycles decreases.The reason is as follows.
For path p-cycles, the length limit on the cycle length should be at least twice as much as the network diameter (1660 km for COST239 and 5051 km for EON2004, as shown in Table 2) to ensure 100% guaranteed link and node protection for all demands.With respect to node p-cycle, however, there is no such restriction, and the length limit on cycles only needs to be larger than the size of any cycle ensuring 100% link protection.This implies that, node p-cycle is an interesting scheme for link and node protection in the context of the existence of very restricted length limit.
For both instances, there is a length threshold (5000 for COST239 and 12,000 for EON2004) beyond which the redundancy of these two protection schemes does not decrease significantly.One of the advantages of short p-cycles, both for path and node p-cycles, but more so for node p-cycles, is the protection for dual link failures which reaches, e.g., 83% for node p-cycles when length ¼ 3000, as shown in Fig. 13(b).Although here, we evaluate the protection against dual failures which comes for free when ensuring protection against a single node/link failure, it shows that it should be rather easy to ensure protection against targeted dual failures (e.g., shared risk link group (SRLG) failures) while ensuring protection against a single link/node failure without requiring extra bandwidth.
For the overall number of p-cycles, there is a sharp increase of their number as the length limit decreases, especially for the node p-cycles, as shown in Figs. 13  (d) and 14(d).However, the number of distinct cycles (with respect to the links they use) remains rather stable.This suggests that the length limit has a minor impact on the management overhead.

Summary and conclusions
In this paper, we have studied the comparison of four p-cycle-based schemes in WDM mesh networks for single link or node failures.It includes an enhanced node p-cycle scheme, which improves the first node p-cycle of Onguetou and Grover [16].Unified column generation models have been written and developed for all compared protection schemes.
Numerical results show that ensuring node protection in addition to link protection against a single failure is not significantly more costly in terms of spare capacity than for link protection against a single failure.
Contrary to a wild belief that path p-cycles have an advantage of capacity efficiency over p-cycles for link and node protection, numerical results reveal that, in some network instances with high standard deviation for the node degree, p-cycles ensuring node protection hold comparable capacity efficiency as path p-cycles.In some network instances, node p-cycles are even more capacity efficient than path p-cycles.In addition, results show that p-cycles with node protection can achieve higher recovery ratio of dual link failures than path p-cycles.In the context of restricted length cycles, node p-cycle solutions exist for much smaller cycles than path p-cycle for full link and node protection.The above observations suggest that pcycles with node protection are a promising alternative of path p-cycles for full link and node protection.

Fig. 2 .
Fig. 2. Nodes v 2 and v 5 cannot be both protected by FIPP p-cycle c 1 .

4 . 2 .
2g number of working capacity units on link ℓ protected by p-cycle c. a c ℓ ¼ 1 (resp.2) if link ℓ is an on-cycle (resp.a straddling) link, 0 otherwise a c pv A f0; 1; 2g number of protection paths provided by pcycle c for working path p against the failure of node v Variables z c number of copies of configuration c An enhanced optimization model for node p-cycles

v 1 pv ; v 2 pv
the two nodes adjacent to node v on path p Variables s ℓ ¼ 1 if link ℓ straddles the cycle under construction; 0 otherwise b ℓ ¼ 1 ω p ðvÞ pair of links on a working path p which are adjacent to an intermediate or a straddling node v.Those link pairs will be denoted by ðℓ; ℓ 0 Þ v;p in the sequel V p;v pair of nodes that are adjacent to node v on working path p Variables b v p ¼ 1 if the cycle under construction protects node v in path p, with v lying on the cycle; 0 otherwise s v p ¼ 1 if the cycle under construction protects node v in path p, with v being a straddling node; 0 otherwise

Fig.
Fig. Candidate examples for the CG model.(a) A candidate for node v of path p 1 and (b) a candidate for v of path p 2 .

Fig. 6 .
Fig. 6.An example candidate for the ILP model by Grover and Onguetou.(a) An example instance and (b) a candidate.

Fig. 7 .
Fig. 7. Link disjoint paths which are not node disjoint.(For interpretation of the references to color in this figure, the reader is referred to the web version of this paper.)

Fig. 8 .
Fig. 8. Solution of the optimization models.(a) Classical CG and ILP solutions, and (b) enhanced CG and ILP solutions.

Fig. 11 .
Fig. 11.Number and length of the cycles.(a) Number of distinct cycles (hops), (b) number of distinct cycles (km), (c) average number of links/cycle (hops), and (d) average length of a cycle (km).

Table 1
Objective values and computation times of node p-cycle design methods.

Table 2
Data instances.