• Aucun résultat trouvé

Approximation Algorithm for Minimum Cost Flow allocation with Varied Survivability

N/A
N/A
Protected

Academic year: 2021

Partager "Approximation Algorithm for Minimum Cost Flow allocation with Varied Survivability"

Copied!
9
0
0

Texte intégral

(1)

HAL Id: hal-00534356

https://hal.archives-ouvertes.fr/hal-00534356

Submitted on 9 Nov 2010

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of

sci-entific research documents, whether they are

pub-lished or not. The documents may come from

teaching and research institutions in France or

abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est

destinée au dépôt et à la diffusion de documents

scientifiques de niveau recherche, publiés ou non,

émanant des établissements d’enseignement et de

recherche français ou étrangers, des laboratoires

publics ou privés.

Approximation Algorithm for Minimum Cost Flow

allocation with Varied Survivability

Samer Lahoud, Géraldine Texier, Laurent Toutain

To cite this version:

Samer Lahoud, Géraldine Texier, Laurent Toutain. Approximation Algorithm for Minimum Cost

Flow allocation with Varied Survivability. 2nd Conference on Next Generation Internet Design and

Engineering, NGI ’06, 2006, Valencia, Spain, France. 8 pp. -299, �10.1109/NGI.2006.1678254�.

�hal-00534356�

(2)

Approximation Algorithm for Minimum Cost Flow

Allocation with Varied Survivability

Samer Lahoud, G´eraldine Texier and Laurent Toutain

GET/ENST Bretagne

D´epartement R´eseaux et Services Multim´edia

2 rue de la Chˆataigneraie - CS 17607 - 35576 Cesson S´evign´e Cedex - France samer.lahoud@enst-bretagne.fr, geraldine.texier@enst-bretagne.fr, laurent.toutain@irisa.fr

Abstract— In this work, we study the minimum cost flow

allocation problem with varied survivability. Given a set of demands and a capacitated network, the problem consists of allocating each demand to a set of primary paths that carry the flows realizing the demand volume in the normal operation mode. To ensure survivability, bandwidth is allocated over a disjoint set of backup links protecting the primary path. With the varied survivability concept, only a varied portion of the primary flow is guaranteed to be recovered in failure situations. The recovery ratio is predefined for a given demand and denotes the guaranteed quality of protection. We associate a unitary cost for using the installed bandwidth in core links. Thus, the problem provides a minimum cost solution for allocating the demands and ensuring their survivability. The main contribution of this paper is a new approximation algorithm using a primal-dual approach. This approximation algorithm computes a solution that is within a guaranteed factor of the optimal one and runs in time polynomial in the problem size.

I. INTRODUCTION

Providing minimum cost solutions is a crucial objective for many optimization tasks that are involved in the network design process. Particularly, network engineers solicit flow allocation solutions that induce minimum costs in terms of bandwidth consumption. This cost is strictly related to the capital expenditures spent at the capacity provisioning stage. In this work, we address the problem of finding a minimum cost flow allocation solution. Flow allocation refers to the routing and bandwidth allocation problem for a given set of demands over a capacitated network. Our approach is an off-line optimization that assumes the knowledge of a traffic demand matrix. This matrix defines the bandwidth requirements between network nodes and is generally based on statistical information. We provide support for the varied survivability concept where the backup capacity enables to recover a predefined portion of the primary traffic affected by failures. The recovery ratio is predefined for a given demand and denotes the guaranteed quality of protection.

In this paper, we provide a mathematical formulation for the problem as a Linear Program (LP). We study the complexity of the separation oracle and derive a new approximation algorithm. We prove that the solution cost computed by our approximation algorithm is within a guaranteed factor of the optimal cost and that the algorithm runs in time polynomial in the problem size. This paper is organized as the following. In section II, we state the key elements of this work. We introduce

the problem formulation in section III. Then we study the complexity of the problem and the relevant approaches in sec-tion IV, emphasizing the complexity of the oracle subproblem. Then, we give the approximation algorithm in section V. Fi-nally, we present the numerical results in section VI, where we evaluate the performance of our algorithm on a typical network topology. We conclude in section VII with a brief summary of the achievements and the open questions encountered in this paper.

II. CONTEXT ANDMOTIVATION

The flow allocation problem with varied survivability in-cludes many key elements that make the corresponding op-timization more challenging. In this section, we review the different concepts involved in flow allocation and motivate our approach.

The protection we provide in our work follows the varied survivability concept used in [1]. The basic idea is to offer different levels of protection for different customers while still providing best-effort services. For instance, a service classification can provide (i) guaranteed service quality under normal network operating conditions, i.e. no failure situations, (ii) full guarantee under normal situations plus a reduced level of service under failure situations and (iii) full guaranteed service both under normal or failure situations. Technically, we implement the varied survivability in our problem using a varied protection ratio for each demand: the backup bandwidth protecting the active path of the cycle is computed as a portion of the active bandwidth, and this portion varies form 0% to 100%.

We use a general technique based on duality in LP in order to develop an approximation algorithm for the MCost-MCF problem. In essence, using duality, an optimization problem

P given in a particular form, called primal problem, can be

transformed to a related problem called its dual problem, so that the optimal solutions to both problems are closely related. Particularly, considering thatP is a maximization problem, the objective value of any feasible solution to the primal problem is at most the objective value of any feasible solution of its dual. Hence, when these solutions are equal then they are optimal. Therefore, by comparing the objective values of the primal and dual formulations, we can measure the closeness of a solution (for the primal problem) to the optimal one. The

(3)

V set of vertices

E set of undirected links

D set of demands

Kd set of cycles realizing demandd

Ce capacity of linke

hd volume of demandd

ϑd partial protection ratio for demandd

ξep unitary cost for allocating primary flow over linke

ξeb unitary cost for allocating backup flow over linke

αpedk binary constant that equals1 if link e belongs to the primary path of cyclek; 0, otherwise αbedk binary constant that equals1 if link e belongs

to the backup path of cyclek; 0, otherwise fdk flow allocated to cyclek realizing demand d

TABLE I BASIC PROBLEM NOTATION

approach we present in this paper is particularly innovative in the sense that it provides fast and efficient solutions to the minimum cost problem:

for any predefined 0 < ρ < 1, our algorithm computes a solution that is within a ρ/2 factor of being optimal

and our algorithm runs in time polynomial in the network size and the number of demands.

Our contribution is even more relevant since solving directly the initial problem is time consuming in practice and the best practice methods does not perform better (more details are provided in section VI)

III. MATHEMATICALFORMULATION

In the following, we consider a capacitated network repre-sented by an undirected graph G = (V, E). All the notation is described in Table I. Using this notation, we provide a mathematical formulation for the flow allocation problem, referred to as MCost. This formulation is a Linear Program (LP) described in LP 1. Note that in our approach, we use the cycle formulation, where one cycle refers to a pair of disjoint paths. Using disjoint paths ensures the resistance to single link failures. As we allow splittable flows, the demand volume for one demand can be allocated to more than one cycle. Note also that for each unit of primary flow allocated on the primary path of one cycle realizing demand d, a ϑd

fraction is allocated on the corresponding backup set of links. Particularly, the objective in (1) consists of minimizing the total cost of allocating the demands. It takes into account the two unitary costs of allocating bandwidth for primary and backup flows. Moreover, constraint (2) ensures that the total demand volume for each demand d is allocated on cycles

k ∈ Kd, while constraint (3) ensures that the total flow on link e does not exceed its capacity.

Now let us proceed to a basic reformulation of MCost in order to obtain an elementary problem similar to the problems reported in [2]. The MCost problem formulated in LP 1 consists of minimizing the cost of allocating all the demands subject to capacity constraints. Thus, MCost can be reformulated such that to maximize the portion of allo-cated demands subject to capacity constraints and a maximal

LP 1 MCost problem Minmize  d∈D  k∈Kd  e∈E (αp edkξpe+ αbedkξbeϑd)fdk (1) Subject to:  k∈Kd fdk≥ hd, ∀d ∈ D (2)  d∈D  k∈Kd (αp

edk+ αbedkϑd)fdk≤ Ce, ∀e ∈ E (3)

fdk≥ 0, ∀d ∈ D, ∀k ∈ Kd (4)

cost bound, and then finding the minimum cost bound that enables to allocate all the demands (details are provided in section V-C). We note that the MCost formulation in LP 1 is a generalization of the minimum cost multicommodity flow problem. Now, we provide in LP 2 an equivalent maximum concurrent flow formulation with a cost bound. This will be referred to as MCost-MCF. In LP 2, constraint (6) ensures that a minimum portion of all demands is allocated to the network: this minimum value is denoted by λ and is subject to maximization in the objective (5). Moreover, constraint (8) denotes the maximum cost, denoted by S, that bounds the solution of allocating a portion of the demands. Finally, constraint (7) denotes the capacity limit on each link.

LP 2 MCost-MCF problem Maximize λ (5) Subject to:  k∈Kd fdk≥ λhd, ∀d ∈ D (6)  d∈D  k∈Kd (αp

edk+ αbedkϑd)fdk≤ Ce, ∀e ∈ E (7)

 d∈D  k∈Kd  e∈E (αp edkξep+ αbedkξebϑd)fdk≤ S (8) fdk≥ 0, ∀d ∈ D, ∀k ∈ Kd (9)

In order to design an approximation problem, let us begin by introducing the dual of the MCost-MCF problem in LP 3. In the dual problem, πd, ωe and φ denote the dual variables

associated with constraints (6), (7) and (8) respectively in the primal problem. In order to follow the same approach adapted from [2], we consider that the generalized weight of one cycle is given by the left-hand-side expression of constraint (12). Then, we need to find an oracle that computes the minimum weight cycle. Unfortunately, this appears as a difficult task, and the related problem deserves a loser look. In the following, we start by reviewing the relevant approaches to the MCost-MCF problem, then we point out the complexity of the oracle in

(4)

order derive our approximation.

LP 3 Mcost-MCF: dual problem

Minmize φS+ e∈E Ceωe (10) Subject to:  d∈D hdπd≥ 1 (11)  e∈E αpedk(ωe+ ξepφ) + αedkb ϑd(ωe+ ξbeφ) ≥ πd, ∀d ∈ D, ∀k ∈ Kd (12) ωe≥ 0, ∀e ∈ E (13) φ≥ 0 (14)

IV. COMPLEXITYSTUDY ANDORACLEAPPROXIMATION A large set of optimization tools can be used in order to pro-vide efficient solutions to the MCost problem. Notably, a sim-ilar problem is studied in [1] in the context of network traffic engineering problem for tunnel provisioning. The authors pro-vide a cycle formulation that enables to easily model the varied protection level. The allocation is constrained by bandwidth and tunnel constraints. In order to provide integral solutions to the problem, the authors use two heuristics. The first one consists of solving continuous relaxations of the problem ans then successively rounding the variables to the nearest integer. The second one uses a stochastic meta-heuristic approach by extending the simulated allocation approach introduced in [3]. Another approach consists naturally in adapting the column generation approach as in [4], where no polynomial oracle was found. However, this approach requires maintaining a large set of candidate cycles and thus suffers from computational complexity (as we see in the numerical results in section VI). Therefore, the complexity of the problem is somehow related to the complexity of the oracle. Then, let us investigate the complexity of the oracle in order to get deeper insights on the related problem.

A. Oracle Discussion

1) General Formulation: In order to find a most violated

constraint, an efficient subroutine, called oracle, computes the cycle that minimizes the left-hand-side expression of constraint (12) for a given demand d. This is equivalent to finding the minimum weight cycle realizing demand d under the weight function ωep = (ωe+ ξepφ) for the links in the

primary path and ωb

e = ϑd(ωe+ ξebφ) for the links in the

backup path. Note that link costs ξp

e and ξeb are related to

the capital expenditures in the capacity provisioning phase. Moreover, our problem supports cost differentiation: different unitary costs can be chosen for bandwidth units whether it is used for a primary or backup flow. Typically, we choose the cost for backup bandwidth to be lower as this bandwidth can

be used to carry Best-Effort preemptible traffic. Thus, at his level, we make the assumption that ξep ≥ ξeb,∀e ∈ E. Since

0 ≤ ϑd ≤ 1, we get ωep≤ ωeb,∀e ∈ E. As we will see in the

following study, this assumption plays an important role in the oracle design.

2) Related Work: A similar problem that consists of finding

a pair of disjoint paths with minimum weight has been largely investigated recently. In [5], the authors present a general review of the relevant work. They summarize in the table in section 2 the computational complexity of various problems related to finding a pair of disjoint paths. Particularly, the problem of computing a minimum weight disjoint path pair with different weights for the primary and backup paths, called dual weights, is studied in [6] and proved to beN P -complete. A special case is to have ordered dual weights, e.g. ωep ≥ ωbe,∀e ∈ E. This problem of ordered dual weights

is studied in [7] and also proved to be N P -complete. Even when weights are uniformly ordered, i.e. there exists a constant 0 < κ < 1 such that for all links we have ωb

e= κωpe,∀e ∈ E,

the problem is still N P -complete. For directed graphs, the proof is provided in [8], while the proof for undirected graphs is provided in [5].

3) Efficient Algorithms: Given theN P -completeness of the

above presented problems, the idea is to find a procedure that efficiently computes a good solution. However, when reviewing the work oriented in this direction, we realize that no existing approach suits our needs for the oracle. In [6], an algorithm with a worst-case guarantee is provided for the arbitrary dual weights problem. The idea is to average the weights on the links and then compute a disjoint pair of paths using the averages weights. Particularly, the algorithm computes a solution that is within a guaranteed factor of the optimal one. The factor depends on the maximal ratio between ωepand ωb

e. Take for instance, the simple case where

0 ≤ ϑd ≤ 1, ∀d ∈ D and ξep = ξbe,∀e ∈ E, then this ratio

depends on 1/ϑd and the approximation factor is large for small ϑd values. Thus, this algorithm is not suitable as an oracle. The authors of [9] consider the same problem and provide an approximation algorithm based on a sophisticated primal-dual approach. Particularly, they formulate the problem as an integer linear program. Then, they relax the integrality and generate a lower bound of the optimal solution. Hence, the algorithm consists of tightening the lower and upper bounds for the problem and evaluating the guaranteed approximation ratio. The authors claim that their algorithm runs fast and the quality of the obtained approximation is less 5%. However, no guarantee for the computation time, nor the number of itera-tions, is given. Therefore, this approach is not fully suitable for our guaranteed approximation with a desired polynomial running time.

4) Oracle Approximation: After this discussion, we

con-clude that finding a good oracle that computes a minimum weight pair of paths with dual ordered weights is not an easy task. Therefore, we introduce a new approximation to the oracle with dual ordered weights. This approximation achieves a guaranteed optimality factor of 2 and runs in time

(5)

polynomial in the problem size. However, we note that this approximation will induce a structural modification on the basic problem formulation. Let us start by describing the approximation. Our approach is based on the famous algorithm in [10]. Algorithm 1 begins by computing a shortest path form source to destination using weights ωp

e,∀e ∈ E. This will be

the primary path of the output. Then, we construct a residual graph: Each link e on the computed shortest path is replaced by a directed link oriented toward the source and a zero weight. Each other link e is replaced by two directed links in opposite directions with the same weight ωb

e. On the residual directed

graph, we compute a shortest path denoted by q form source to destination. Then, going back to the original graph, we remove the interlacing links between q and the primary path and obtain the backup set of links q. Finally, the weight of the set of links in (p, q) is at most two times the weight of the minimum weight cycle realizing demand d. The formal approximation result is provided in Theorem 1.

Theorem 1: Algorithm 1 computes a 2-approximation for

the minimum weight cycle problem with ordered dual weights.

Proof: Let k∗ denote the minimum cycle realizing demand d and let ζk be its weight, given by ζk =



e∈Eα

p

edk∗ωpe + αbedk∗ωeb = ωp∗ + ωb∗, where ωp

(re-spectively ωb∗) denotes the weight of the primary path

(re-spectively, the backup path) of the minimum weight cycle. According to Algorithm 1, p is the minimum weight path realizing demand d, with respect to weights ωp

e. Therefore,

the weight of path p, denoted by ωp, verifies ωp≤ ωp∗ ≤ ζk∗.

Moreover, considering the algorithm in [10]: the aim of the second step is to compute a minimum cost path on the residual graph (obtained by removing the forward edges on path p). This is a minimum cost flow problem and any cycle is a feasible solution to this problem. Particularly, k∗ is a feasible solution, which gives us ωq e∈E(αpedk + αbedk∗)ωeb



e∈Eα

p

edk∗ωpe + αbedk∗ωeb (using the assumption that ωeb

ωp

e, ∀e ∈ E). Hence ωq ≤ ωq ≤ ζk∗, which finally gives us

that the weight ζk of k = (p, q) verifies ζk= ωp+ ωq ≤ 2ζk.

However, we note that the output of Algorithm 1 is not a cycle! In fact, when pruning the interlacing links, we get a set of backup links and not a disjoint backup path. Still, this set of backup links ensures the survivability in single failure situations. Thus, we consider that we use obtain a generalized form of protection and we call the pair of primary path and the set of disjoint backup links a survivable structure or simply a structure. To some extent, the structure and the generalized protection concept were used in a similar approach to our work, introduced in [11]. The approach formulates a back-tracking concept for on-line routing of bandwidth guaranteed tunnels i.e. for a single commodity problem. Backtracking enables to bound the protected entity scope. Particularly, in the no backtracking case, the backup path must originate at the node at which the failed link originates. This case represents true local restoration. In the bounded backtracking case, the backup path can originate at a node on the primary path up to a predefined number of hops away from the node that owns

input : graphG = (V, E), demand d = (sd, td), {ωp

e, ∀e ∈ E} and {ωeb, ∀e ∈ E}

output : approximate minimum weight structure k∈ Kd assume : ωp

e ≥ ωeb, ∀e ∈ E

foreach e∈ E do assign a weight ωp e;

p← shortest path realizing demand d;

foreach e∈ p do

replace e with a directed link oriented toward the source and let the weight of this link be zero;

foreach e∈ E − p do

replace e with two directed links in opposite directions and let the weight of these links be ωeb;

q← shortest path realizing demand d in the modified

directed graph;

q← {set of links in the original graph that are in q and not in p};

k← (p, q);

Algorithm 1: Oracle Approximation

(a) Primary path and disjoint set of backup links

(b) Two link-disjoint paths

Fig. 1. Examples of survivable structures

the link. Moreover, in the infinite backtracking case, unlimited backtracking is allowed and therefore, in the worst case may result in backup paths that originate at the source node. The end-to-end restoration can be considered a special case of this where the maximum backtracking allowed is equal to the length of the primary path. The last case is very similar to the generalized approach we introduce in our work. The authors in [11] show that joint optimization of primary and backup paths is N P-hard in all cases and they consider algorithms that compute primary and backup paths in two separate steps. In the following we formalize the definition of the output structure of the oracle approximation.

B. Structures and Cycles

We have noted above that a structure obtained by Algo-rithm 1 consists of a primary path going from source to destination and a set of backup links that are disjoint from the primary path and ensure the survivability. More formally, a structure k realizing demand d = (sd, td) is a set of links

that consists of a primary path p from sd to td and a set of backup links b the are disjoint from p. For each single failure situation the set (p∪ b) contains a path from sd to td. Thus, in a structure, backup links together with the primary links that are not failing are required to provide connectivity from source to destination in failure situations.

(6)

Mathematically, we can define a structure using basic proper-ties of graph theory [12]. Recall that an (s− t) cut, denoted by C(s−t), in graph G = (V, E) is a partition of the set of vertices V into disjoint sets S and T = V − S, such that

s ∈ S and t ∈ T . The links of the cut are those that have

precisely one endpoint in bothV and T . Let us denote the set of links of the cut byEC(s−t). Therefore, a structure k realizing demand d = (sd, td) verifies that there are more than 2 links

belonging to k∩ EC(sd−td), for any (sd, td)-cut C(sd−td). In

Figure 1, we provide two examples that enable to illustrate the new concept of structures. Figure 1(a) is a general case of a structure obtained by the oracle approximation. However, in some cases and depending on the output of the approximation algorithm, a structure consists of two disjoint paths, as in Figure 1(b). Thus, we consider that the cycle formulation is a special case of the structure formulation.

V. APPROXIMATIONALGORITHM

Now that we have an approximate oracle, we continue the design of the global approximation to the MCost-MCF problem by adapting the approach introduced in [13].

A. Algorithm Presentation

Algorithm 2 computes an approximation to the MCost-MCF problem. This algorithm works as follows: we start with initial link weights ωe = Cδe,∀e ∈ E and φ = Sδ. The quantity

δ depends on the approximation guarantee (particularly on a

parameter introduced later) and will be stated later in the algorithm analysis section. The algorithm proceeds in phases. Each phase is composed of D iterations. In iteration d, we allocate hdunits of flow for demand d. This flow is allocated in

a sequence of steps. In each step, a cycle k∗(realizing demand

d) that minimizes the left-hand-side expression of constraint

(12) should be computed. However, as we have shown in the oracle study we can compute an approximate structure denoted by k. Now, we will compute the flow we allocate to this structure. Considering the varied survivability concept, k consists of a primary path p and a backup set of links b with bottleneck capacities denoted by cp and cb respectively. The

bottleneck capacity of structure k is given by the minimum of (i) cp, and (ii) cb/ϑd. This is due to the fact that we allocate a

ϑd fraction of bandwidth on the backup links for each 1 unit

of flow on the primary path. Therefore, the maximum amount of flow allocated to structure k in this step is denoted by c and is the minimum of:

1) the bottleneck capacity of structure k given by min{cp, cb/ϑd},

2) the remaining amount of flow that need to be allocated for demand d to make a total of hd.

However, we should ensure that the cost of allocating c units of flow to structure k does not exceed S, otherwise the flow should be scaled appropriately. Particularly, let us denote by

sk the cost of allocating 1 unit of flow to structure k. Recall that this is equivalent to allocating 1 unit to the primary path and a ϑd fraction of unit to the backup links. Thus, sk =



e∈E(α

p

edkξep+ αbedkξebϑd). Similarly, the cost of allocating

c units of flow to structure k is given by csk. Therefore, we ensure that:

1) if csk > S, we scale c according to c = csSk,

2) if else, the value of c remains unchanged.

Finally, we get a value of c that denotes the amount of flow to be allocated to the structure k computed in this step. The primal variables are updated correspondingly and the dual weights are updated as follows (using the parameter that will determine the approximation ratio):

1) for each e∈ p, ωe= ωe(1 + c Ce),

2) for each e∈ b, ωe= ωe(1 + ϑCdec),

3) and φ = φ(1 + csk

S ).

The algorithm terminates when the dual objective function value becomes bigger than one. At termination, dual feasibility constraints will be satisfied. However, link capacity constraints in the primal solution will be violated, since we use the original (and not the residual) link capacities at each stage. The full details are provided in the following section, where we study the global performance of the algorithm and the corresponding approximation ratio.

input : Capacitated graphG, set of demands D, cost bound S and output : ˜λ= logt−1 1+(1δ) , S˜=log s 1+(1δ) initialize: t = 0; s= 0; ωe= Cδe,∀e ∈ E; φ = Sδ; whileΩ < 1 do ford= 1, . . . , D do r← hd; whileΩ < 1 and r > 0 do

k= (p, b) ← structure realizing demand d given by

Algorithm 1; c← min{r, cp, cb/ϑd}; sk←  e∈E(α p edkξep+ αbedkξebϑd; ifcsk > S then c sck; s← s + csk; ∀e ∈ p : ωe← ωe(1 + Cce); ∀e ∈ b : ωe← ωe(1 + ϑCdec); φ← φ(1 + csk S ); r← r − c; t← t + 1;

Algorithm 2: MCost-MCF approximation algorithm

B. Algorithm Analysis

Let us denote by ωe(i, d, j − 1) the weight of link e and

φ(i, d, j − 1) the value of φ at the beginning of step j of

iteration d in phase i. Let k∗(i, d, j − 1) denote the minimum weight cycle in Kd in step j of iteration d of phase i, using weights ωe(i, d, j − 1), and let ζk(i,d,j)(i, d, j − 1) be its

weight. We know that the weight of the computed structure

ζk(i,d,j)(i, d, j − 1) does not exceed 2ζk(i,d,j)(i, d, j − 1). Let

also Ω(i, d, j) be the objective of the dual problem LP 3 at the end of the iteration. Assuming that there are J = J (i, d)

(7)

steps executes at iteration d of phase i, let us consider that Ω(i) = Ω(i, D, J) and Γ(i) =D

d=1hdζk∗(i,d)(i, D), where

ζk(i,d)(i, D) denotes the weight of the minimum weight

cycles (computed originally with respect to ωe(i, d−1, J) and

φ(i, d − 1, J)) at the end of phase i. Then, the dual problem

is an assignment of weights ωeto links e∈ E and a scalar φ, which we view as a weight associated with a pseudo-link of capacity S, such that Ω(i)Γ(i) is minimized. Moreover, the optimal dual objective is given by ψ := mini Ω(i)Γ(i). In the algorithm analysis, we assume that ψ ≥ 1 but we shall remove this assumption later after.

We start by computing the ratio between the optimal dual objective ψ and the primal objective obtained at the end of the algorithm. Knowing that we allocate hd units of flow for each demand d in each phase, then the primal objective is given by t− 1, where t denotes the total number of phases. Lemma 1 gives the corresponding intermediate result. Note that this primal solution does not necessarily correspond to a feasible solution, and thus need to be scaled properly in order to become feasible. Therefore, Lemma 2 and Lemma 3 give the proper scaling that yields a feasible solution to the primal problem and the corresponding cost. For clarity, the full mathematical proof is left for the Appendix. Hereafter, we provide the main results of the algorithm analysis.

Lemma 1: At the end of Algorithm 2, the ratio between

the optimal dual objective and the number of phases verifies

ψ

t−1 (1−2) ln2 1−2

δ(E+1)

.

Lemma 2: At the end of Algorithm 2, ˜λ=logt−1

1+(1δ)

yields a feasible primal solution.

Lemma 3: At the end of Algorithm 2, ˜S= log s

1+(1δ)

is the cost of the feasible primal solution.

Theorem 2: Assuming that 0 < ρ < 1, = 1−ρ

1 3

2 and δ= (1−2E+1)−1/, Algorithm 2 computes a ρ/2-approximation to the MCost-MCF problem in time O

 (2D log D + E + 1)1 log1+1−2E+1  Tmws 

, where Tmws is the time required

to compute a minimum weight structure.

The running time for computing a minimum weight structure as in Algorithm 1 is dominated by two minimum weight path computation that can be performed in O(E + V log V ) [14].

C. Finding the Minimum Cost Solution

With a ρ/2-approximation to the MCost-MCF problem, we can obtain a ρ/2-approximation to the MCost problem introduced in LP 1. For this purpose, we can use an efficient search method such as binary search to find the smallest value of S for which MCost-MCF has a solution of ˜λ≥ 1.

Furthermore, the binary search can be improved by using an interpolation search as in [15]. This improvement consists of estimating the next value using a linear interpolation as in the following:

if MCost-MCF with a bound S returns a value ˜λ ≥ 1,

then the final cost bound is at most S/˜λ;

if MCost-MCF with a bound S returns a value ˜λ ≤ 1,

then the final cost bound is at least S/˜λ.

1 2 3 4 5 6 6000 7000 8000 9000 10000

Binary search step

cost bound solution cost

Fig. 2. Cost evolution

1 2 3 4 5 6 1 1.02 1.04 1.06 1.08 1.1 1.12 1.14 1.16

Binary search step

λ

Fig. 3. Objective of MCost-MCF

This interpolated search enables to quickly converge to the smallest value of S for which MCost-MCF has a solution of ˜λ ≥ 1. This value is a ρ/2-approximation to the MCost

problem. Note finally that a simple upper bound for the solution cost, given for instance by e∈Eξp

eCe, can be used

to start the binary search.

VI. NUMERICALRESULTS

We present a typical numerical result corresponding to the KL topology [9]. KL is a 15-node 28-link topology. We associate a capacity of 200 bandwidth units with each link and consider that demands are defined between each node pair of the network, each having have a volume of 10 bandwidth units. We associate a unitary cost of 2 for the links in the primary path and 1 for the links in the backup path. For this typical simulation, the binary search ends in 6 steps. Note that we start with the simple upper cost bound as indicated in section V-C. In Figure 2, we evaluate the cost of the solution for the MCost-MCF problem throughout the binary search steps. Let us analyze simultaneously Figure 3 that gives the value of λ (the objective of the MCost-MCF problem) during the binary search process. At the first two steps, the cost bound is very

(8)

1 2 3 4 5 6 100

150 200 250

Binary search step

time (seconds) number of phases

Fig. 4. Time performance

loose, and the value of λ is around 1.15. Then, using the linear interpolation we start strengthening the bound in order to make

λ converge toward 1. Thus, in the third step, the cost of the

solution goes down from 7500 to 6500, while λ is still around 1.15. This is due to the fact that the solution of the problem is not unique and two allocations of the same bandwidth volume can lead to different costs. However continuing the interpolated binary search, we obtain two steps further (step 5) a solution with λ around 1.01 and a cost bound of 6500. We note that at this level, smaller reductions in the cost bound has bigger impact on the value of λ. Finally at the sixth step, the desired accuracy is reached for a cost of 6300 and λ around 1.0001.

Finally, in Figure 4, we assess the time performance of the algorithm. We provide for each binary step the number of phases, and the total time spent in the algorithm. We can see that the total number of phases in each run of the algorithm decreases with the steps. This is due to the fact that λ is decreasing and less flow is allocated, then a smaller number of phases is needed. Similarly, the running time is decreasing with the binary steps. An important remark is that the total running time (the sum for the six steps) is very competitive with the running time for the column generation approach. A complete study and further comparison is provided in [16].

VII. CONCLUSION

The advent of Next Generation Internet (NGI) networks has launched many services related to survivability. Therefore, the need for efficient algorithmic tools that enable network engineers to implement their provisioning strategies is be-coming urgent. In this work we have designed an efficient algorithm for the flow allocation problem. Our problem takes into account varied survivability levels in terms of guaranteed protection and enables to minimize the network costs. An extension of this work encompasses multiple failure surviv-ability is reported in [16]. Moreover, detailed comparison with the best practice methods, especially with column generation, is provided in [16]. Future work will include rounding the

fractional solution to get integral flows and comparing the results with stochastic meta-heuristics.

APPENDIXI

ANALYSIS OFALGORITHM2

In the following, we highlight the basic steps in the algo-rithm analysis. In [16] a complete version is provided.

A. Proof of Lemma 1

As we have noted, Algorithm 2 proceeds in phases: each phase is composed of D iterations. In iteration i, we allocate

hd units of flow of demand d and the flow is allocated in a sequence of steps. Using the notation introduced in section V-B, we have: Ω(i, d, j) = φ(i, d, j)S + e∈E Ceωe(i, d, j) =φ(i, d, j − 1)(S + csk) +  e∈E Ceωe(i, d, j − 1) + c e∈E

αpedkωe(i, d, j − 1) + αbedkϑdωe(i, d, j − 1).

Using the fact that sk=



e∈E(α

p

edkξpe+ αbedkξbeϑd), we get:

Ω(i, d, j) = Ω(i, d, j − 1) + cζk(i,d,j)(i, d, j − 1)

≤ Ω(i, d, j − 1) + 2 cζk∗(i,d,j)(i, d, j − 1) (15)

Assume that there are J = J (i, d) steps executed in it-eration d in phase i. Adding the inequalities in (15) for demand d of phase i and noting that ζk(i,d,j)(i, d, j − 1) ≤

ζk(i,d,j)(i, d, J), we get

Ω(i, d, J) ≤ Ω(i, d, 0) + 2 hdζk∗(i,d,j)(i, d, J).

Adding the above inequalities over all demands in phase i, and using the fact that weights are monotonically increasing over iterations, we get

Ω(i) ≤ Ω(i − 1) + 2 Γ(i). where Ω(i, D) = Ω(i). Since Ω(i)Γ(i) ≥ ψ, we have

Ω(i) ≤ Ω(i − 1) 1 −2

ψ

and with Ω(0) = δ(E + 1), we have for i≥ 1 Ω(i) ≤ δ(E + 1) (1 −2 ψ)i =δ(E + 1) 1 − 2 ψ (1 + 2 ψ− 2 ) i−1 ≤δ(E + 1) 1 − 2 ψ e2(i−1)ψ−2 ≤δ(E + 1)1 − 2 eψ(1−2)2(i−1)

where we assume that ψ≥ 1 in the last inequality. At phase

t, we get Ω(t)≥ 1 and the procedure stops. Therefore,

(9)

which implies ψ t− 1 2 (1 − 2 ) ln 1−2 δ(E+1) . B. Proof of Lemma 2

Considering edge e and associated weight ωe. The value of

ωe is updated when flow is allocated on edge e. Particularly, this is done when e belongs to the active or backup set of links of a chosen structure. In either cases, ωeis updated by a factor

of at most 1+ . Let the sequence of flow allocation that require an update of ωe be ∆1,∆2, . . . ,∆l. Let

l

i=1i= κCe, i.e.

the total flow allocated to edge e exceeds its capacity by a factor of κ. Scaling t−1 (the allocated portion at the end of the algorithm) by κ lead to a feasible solution (satisfying capacity constraints). Since the algorithm terminates when Ω(t) ≥ 1, we have Ω(t− 1, D, J) < 1 and Ω(t, D) < 1 + . Therefore, we have Ceωe(t − 1, D, J) < 1 and ωe(t − 1, D, J) = δ Ce l  i=1 (1 + i ce ).

Knowing that (1+ax)≥ (1+x)a,∀x ≥ 0 and any 0 ≤ a ≤ 1,

we get 1 > Ceωe(t − 1, D, J) ≥ δ l  i=1 (1 + )∆ice = δ(1 + )κ

Therefore κ < log1+1δ and scaling t− 1 by κ gives the result in the lemma. For scaling the computed value of the total cost

s, the proof follows the same sketch as the one provided for λ. Note that φ(t− 1, D, J) < 1/S, φ(1, 0, 0) = δ/S and

that every time we allocate a flow whose total cost is S, we increase φ by a factor of 1 + .

C. Proof of Theorem 2

Let η be the ratio of the values of the optimum dual and primal solutions. Then, η verifies

η < ψ

t− 1log1+(

1

δ).

By substituting the bound value given by Lemma1, we get

η≤ 2

(1 − 2 ) ln 1−2

δ(E+1)

log1+(1

δ)

For δ = (1−2E+1)−1/, we obtain

η 2 (1 − )(1 − 2 ) ln(1 + ) ≤ 2(1 − 2 )−3. Therefore, choosing = 1−ρ 1 3 2 will lead to a

ρ/2-approximation algorithm with 0 < ρ < 1. By weak duality we have

1 ≤ η ≤ ψ

t− 1log1+(

1

δ)

hence the number of phases, t, is strictly less than 1 +

ψlog1+(1δ) which implies that t =



ψ

log1+1−2E+1



. Follow-ing the analysis provided in [13], we can scale the capacities so that ψ≥ 1 and the total number of phases is T log D (refer to [16] for more details). Moreover, in each step, except the last step in an iteration, we increase either the weight of some edge or the value of φ by a factor 1 + . Hence, the weights of the edges and φ can be increased by a factor 1 + at most log1+1+

δ times. Therefore the number of steps exceeds the

number of iterations by at most (E + 1)  1 log1+1−2E+1  . REFERENCES

[1] S. Srivastava, S.R.Thirumalasetty, and D. Medhi, “Network traffic en-gineering with varied levels of protection in next generation internet,”

GERAD 25th Anniversary Issue for Performance Evaluation and Plan-ning Methods for the Next Generation Internet, 2005.

[2] L. Fleischer, “Approximating fractional multicommodity flow indepen-dent of the number of commodities,” SIAM J. Discret. Math., vol. 13, no. 4, pp. 505–520, 2000.

[3] M. Pi´oro and P. Gajowniczek, “Simulated allocation: a suboptimal solution to the multicommodity flow problem,” in Teletraffic Symposium

on Performance Engineering in Telecommunications Networks, I. Press,

Ed., 1994.

[4] B. Krithikaivasan, S. Srivastava, D. Medhi, and M. Pioro, “Backup path restoration design using path generation technique,” in Design of

Reliable Communication Networks, Alberta, Canada,, 2003.

[5] D. Xu, Y. Chen, Y. Xiong, C. Qiao, and X. He, “On finding disjoint paths in single and dual link cost networks,” in INFOCOM 2004. Twenty-third

AnnualJoint Conference of the IEEE Computer and Communications Societies, vol. 1, 2004, pp. –715.

[6] C.-L. Li, S. McCormick, and D. Simchi-Levi, “Finding disjoint paths with different path costs: Complexity and algorithms,” Networks, vol. 22, pp. 653–667, 1992.

[7] Y. Liu, “Spare capacity allocation method, analysis and algorithms,” Ph.D. dissertation, School of Information Sciences, University of Pitts-burgh, 2001.

[8] P. Laborczi et al., “Solving asymmetrically weighted optimal or near-optimal disjoint path-pair for the survivable optical networks,” in Third

International Workshop On Design of Reliable Communication Net-works, DRCN’01, October 2001.

[9] M. Kodialam and T. Lakshman, “Dynamic routing of restorable bandwidth-guaranteed tunnels using aggregated network resource usage information,” Networking, IEEE/ACM Transactions on, vol. 11, no. 3, pp. 399–410, 2003.

[10] J. W. Suurballe and R. E. Tarjan, “A quick method for finding shortest pairs of disjoint paths,” Networks, vol. 14, pp. 325–336, 1986. [11] L. Li, M. M. Buddhikot, C. Chekuri, and J. K. Guo, “Routing bandwidth

guaranteed paths with local restoration in label switched networks,” in

ICNP ’02: Proceedings of the 10th IEEE International Conference on Network Protocols. Washington, DC, USA: IEEE Computer Society, 2002, pp. 110–121.

[12] R. Diestel, Graph theory, 3rd ed.

Springer-Verlag, 2005. [Online]. Available: http://www.math.uni-hamburg.de/home/diestel/books/graph.theory/GraphTheoryII.pdf [13] N. Garg and J. Koenemann, “Faster and simpler algorithms for

multi-commodity flow and other fractional packing problems.” in FOCS ’98:

Proceedings of the 39th Annual Symposium on Foundations of Computer Science. Washington, DC, USA: IEEE Computer Society, 1998, p. 300.

[14] M. L. Fredman and R. E. Tarjan, “Fibonacci heaps and their uses in improved network optimization algorithms,” J. ACM, vol. 34, no. 3, pp. 596–615, 1987.

[15] L. Fleischer, A. Meyerson, I. Saniee, B. Sheperd, and A. Srinivasan, “A scalable algorithm for the minimum expected cost restorable flow problem,” CORC, Tech. Rep. TR-2003-10, 2004.

[16] S. Lahoud, “Survivable routing and flow allocation in next generation internet networks,” Ph.D. dissertation, GET/ENST Bretagne, 2006.

Figure

TABLE I B ASIC PROBLEM NOTATION
Fig. 1. Examples of survivable structures
Fig. 2. Cost evolution
Fig. 4. Time performance

Références

Documents relatifs

This is about the national British average but according to a recent survey, British children receive the highest pocket money in Europe.. And of course, they’re absolutely

• the WRMC algorithm through Propositions 2.1 (consistency of the estimation), 2.2 (asymptotic normality), and 2.3 (a first partial answer to the initial question: Does waste

Figure 2: Variation of the word error rate WER with the physical error for a hypergraph product code formed as a product of 3, 4-regular graphs with the Iterative BP + SSF

More precisely, if the CHSH score exceeds this value, there exists local extraction maps which output a state, when applied to the actual state, with a fidelity larger than 1/2 with

The proof of theorem 4.1 actually shows that the heat kernel associated to the Lichnerowicz operator is positivity improving in case (M n , g 0 (t)) t≥0 is an expanding gradient

joli (jolie), pretty mauvais (mauvaise), bad nouveau (nouvelle), new petit (petite), little vieux (vieille), old.. ordinal

• Resident work-hour restrictions have been in place for nearly a decade in the United States, and a wealth of evidence has failed to demonstrate improved patient safety.. If

This fact is recognized by the Accreditation Council for Graduate Medical Education, with train- ees in specialties such as cardiothoracic surgery being permitted to work more than