ieee transactions on computers, vol. 55, no. 7, july …yzchen/...primalsimplex_xiao_j2006.pdfindex...

15
QoS Routing in Communication Networks: Approximation Algorithms Based on the Primal Simplex Method of Linear Programming Ying Xiao, Member, IEEE, Krishnaiyan Thulasiraman, Fellow, IEEE, and Guoliang Xue, Senior Member, IEEE Abstract—Given a directed network with two integer weights, cost and delay, associated with each link, Quality-of-Service (QoS) routing requires the determination of a minimum cost path from one node to another node such that the delay of the path is bounded by a specified integer value. This problem, also known as the Constrained Shortest Path problem (CSP), admits an Integer Linear Programming (ILP) formulation. Due to the integrality constraints, the problem is NP-hard. So, approximation algorithms have been presented in the literature. Among these, the LARAC algorithm, based on the dual of the LP relaxation of the CSP problem, is very efficient. In contrast to most of the currently available approaches, we study this problem from a primal perspective. Several issues relating to efficient implementations of our approach are discussed. We present two algorithms of pseudopolynomial time complexity. One of these allows degenerate pivots and uses an anticycling strategy and the other, called the NBS algorithm, is based on a novel strategy which avoids degenerate pivots. Experimental results comparing the NBS algorithm, the LARAC algorithm, and general purpose LP solvers are presented. In all cases, the NBS algorithm compares favorably with others and beats them on dense networks. Index Terms—Constrained shortest path, linear programming, simplex method, graph algorithms, communication networks, routing protocols, QoS routing. Ç 1 INTRODUCTION R OUTING is a fundamental problem in communication networks. In traditional data networks, routing is achieved by best effort routing. Best effort routing is primarily concerned with providing connectivity. FIFO provides best-effort service. Here, flows are not differen- tiated and are serviced on a first-come, first-served basis. In best effort routing, the routing protocol usually charac- terizes the network with a single metric, such as hop-count or delay, and uses a shortest path algorithm for path computation. Whereas the best-effort routing paradigm is adequate to serve the needs for traditional applications such as FTP (File Transfer Protocol), it is quite inadequate in providing the stringent Quality of Service (QoS) guarantees demanded by popular multimedia applications such as real-time digital video or audio transmission. To support a broad range of QoS requirements, routing protocols need to consider more complex models that incorporate multiple metrics, such as cost, delay, delay variation, loss prob- ability, and bandwidth. This has triggered efforts toward proposals for QoS-based frameworks such as DiffServe and IntServ, QoS routing protocols that accommodate multiple QoS requirements, such as Q-OSPF and PNNI, and QoS routing algorithms (see [1], [9], [10], [31]). Despite these efforts, there is no standardized QoS routing protocol for the Internet. To the best of our knowledge, the only standardized QoS routing protocol is ATM PNNI [1]. Two activities are involved in routing: 1) Capturing the network state information and disseminating the informa- tion throughout the network. This requires detection of significant changes, topology updates, distributed broad- casting (flooding) of the information to each node in the network, etc. 2) Routing algorithms that compute the paths that satisfy certain performance guarantees. In this paper, we are concerned with the latter, namely, QoS routing algorithms. QoS measures can be classified into two types of metrics, nonadditive (also called bottleneck, e.g., bandwidth) and additive constraints. Each measure is modeled by associating a weight with each link. For a nonadditive measure, the QoS weight of a path is the minimum weight along the path. In the case of additive measures such as cost, delay, and delay-jitter, the QoS weight of a path is the sum of the QoS weights of the links on the path. Nonadditive measures can be handled easily by simply removing from the network the links that do not satisfy the required QoS measure. In this paper, we are concerned with finding paths that satisfy additive QoS metrics. In particular, we are interested in the QoS routing problem that requires the determination of a minimum cost path from a source node to a destination node in a network that satisfies a specified upper bound on the delay of the path. This problem is also known as the Constrained Shortest Path (CSP) problem. The CSP problem is NP-hard [33]. Thus, there have been many efforts to develop efficient approximation algorithms and heuristics. IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY 2006 815 . Y. Xiao and K. Thulasiraman are with the School of Computer Science, University of Oklahoma, 200 Felgar Street, Norman, OK 73019-6151. E-mail: [email protected], [email protected]. . G. Xue is with the Department of Computer Science and Engineering, Ira A. Fulton School of Engineering, Arizona State University, Tempe, AZ 85287-8809. E-mail: [email protected]. Manuscript received 23 Nov. 2004; revised 9 Oct. 2005; accepted 15 Feb. 2006; published online 22 May 2006. For information on obtaining reprints of this article, please send e-mail to: [email protected], and reference IEEECS Log Number TC-0372-1104. 0018-9340/06/$20.00 ß 2006 IEEE Published by the IEEE Computer Society

Upload: others

Post on 15-Mar-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

QoS Routing in Communication Networks:Approximation Algorithms Based on the Primal

Simplex Method of Linear ProgrammingYing Xiao, Member, IEEE, Krishnaiyan Thulasiraman, Fellow, IEEE, and

Guoliang Xue, Senior Member, IEEE

Abstract—Given a directed network with two integer weights, cost and delay, associated with each link, Quality-of-Service (QoS)

routing requires the determination of a minimum cost path from one node to another node such that the delay of the path is bounded by

a specified integer value. This problem, also known as the Constrained Shortest Path problem (CSP), admits an Integer Linear

Programming (ILP) formulation. Due to the integrality constraints, the problem is NP-hard. So, approximation algorithms have been

presented in the literature. Among these, the LARAC algorithm, based on the dual of the LP relaxation of the CSP problem, is very

efficient. In contrast to most of the currently available approaches, we study this problem from a primal perspective. Several issues

relating to efficient implementations of our approach are discussed. We present two algorithms of pseudopolynomial time complexity.

One of these allows degenerate pivots and uses an anticycling strategy and the other, called the NBS algorithm, is based on a novel

strategy which avoids degenerate pivots. Experimental results comparing the NBS algorithm, the LARAC algorithm, and general

purpose LP solvers are presented. In all cases, the NBS algorithm compares favorably with others and beats them on dense networks.

Index Terms—Constrained shortest path, linear programming, simplex method, graph algorithms, communication networks, routing

protocols, QoS routing.

Ç

1 INTRODUCTION

ROUTING is a fundamental problem in communicationnetworks. In traditional data networks, routing is

achieved by best effort routing. Best effort routing isprimarily concerned with providing connectivity. FIFOprovides best-effort service. Here, flows are not differen-tiated and are serviced on a first-come, first-served basis. Inbest effort routing, the routing protocol usually charac-terizes the network with a single metric, such as hop-countor delay, and uses a shortest path algorithm for pathcomputation. Whereas the best-effort routing paradigm isadequate to serve the needs for traditional applications suchas FTP (File Transfer Protocol), it is quite inadequate inproviding the stringent Quality of Service (QoS) guaranteesdemanded by popular multimedia applications such asreal-time digital video or audio transmission. To support abroad range of QoS requirements, routing protocols need toconsider more complex models that incorporate multiplemetrics, such as cost, delay, delay variation, loss prob-ability, and bandwidth. This has triggered efforts towardproposals for QoS-based frameworks such as DiffServe andIntServ, QoS routing protocols that accommodate multipleQoS requirements, such as Q-OSPF and PNNI, and QoS

routing algorithms (see [1], [9], [10], [31]). Despite theseefforts, there is no standardized QoS routing protocol forthe Internet. To the best of our knowledge, the onlystandardized QoS routing protocol is ATM PNNI [1].

Two activities are involved in routing: 1) Capturing thenetwork state information and disseminating the informa-tion throughout the network. This requires detection ofsignificant changes, topology updates, distributed broad-casting (flooding) of the information to each node in thenetwork, etc. 2) Routing algorithms that compute the pathsthat satisfy certain performance guarantees.

In this paper, we are concerned with the latter, namely,QoS routing algorithms. QoS measures can be classified intotwo types of metrics, nonadditive (also called bottleneck,e.g., bandwidth) and additive constraints. Each measure ismodeled by associating a weight with each link. For anonadditive measure, the QoS weight of a path is theminimum weight along the path. In the case of additivemeasures such as cost, delay, and delay-jitter, the QoSweight of a path is the sum of the QoS weights of the linkson the path. Nonadditive measures can be handled easilyby simply removing from the network the links that do notsatisfy the required QoS measure.

In this paper, we are concerned with finding paths thatsatisfy additive QoS metrics. In particular, we are interestedin the QoS routing problem that requires the determination ofa minimum cost path from a source node to a destination nodein a network that satisfies a specified upper bound on thedelay of the path. This problem is also known as theConstrained Shortest Path (CSP) problem. The CSP problemis NP-hard [33]. Thus, there have been many efforts todevelop efficient approximation algorithms and heuristics.

IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY 2006 815

. Y. Xiao and K. Thulasiraman are with the School of Computer Science,University of Oklahoma, 200 Felgar Street, Norman, OK 73019-6151.E-mail: [email protected], [email protected].

. G. Xue is with the Department of Computer Science and Engineering, IraA. Fulton School of Engineering, Arizona State University, Tempe, AZ85287-8809. E-mail: [email protected].

Manuscript received 23 Nov. 2004; revised 9 Oct. 2005; accepted 15 Feb.2006; published online 22 May 2006.For information on obtaining reprints of this article, please send e-mail to:[email protected], and reference IEEECS Log Number TC-0372-1104.

0018-9340/06/$20.00 � 2006 IEEE Published by the IEEE Computer Society

Page 2: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

Heuristics, in general, do not provide performanceguarantees on the quality of the solution produced, thoughthey are usually fast in practice. On the other hand,�-approximation algorithms deliver solutions within arbitra-rily specified precision requirements, but are usually veryslow in practice. References [12], [21], [29] and the referencestherein contain most of the current literature on approxima-tion algorithms for the CSP problem. As regards heuristics,the LHWHM algorithm [22] is a simple heuristic which is veryfast (requiring only one or two invocations of Dijkstra’sshortest path algorithm) and produces solutions which areusually found to be of acceptable quality in practice.Reference [30] also discusses further enhancements of theLHWHM algorithm. There are heuristics that are based onsound theoretical foundation. These algorithms are based onsolutions to the dual of the linear programming relaxation ofthe CSP problem. The first such algorithm was reported in[11] by Handler and Zang. This is based on a geometricapproach (what is also called the hull approach [23]). Morerecently, in an independent work, Juttner et al. [16] developedthe LARAC algorithm, which also solves the dual of the CSPproblem using the Lagrangian relaxation method. In contrastto the geometric method, they used an algebraic approach. In[40], Xue developed an algorithm that is similar to the LARACalgorithm. In [5], Blokh and Gutin defined a general class ofcombinatorial optimization problems of which the CSPproblem is a special case and proposed an approach to thisproblem. In [35], [39], Xiao et al. drew attention to the fact thatthe algorithms in [11] and [16] are equivalent. In view of thisequivalence, we shall refer to these algorithms simply as theLARAC algorithm. In [23], Mehlhorn and Ziegelmannprovided several insights on the QoS routing problem. In[15], Jutner established the strong polynomiality of theLARAC algorithm. Ziegelmann [43] provides a fairly com-plete list of references to the literature on the CSP problem.

Another problem, the Multi-Constrained Path (MCP)problem, has also been a topic of extensive study. In thisproblem, each link is associated with l > 1 additive weights.The MCP problem is to find an s-t path that satisfies all thel constraints. Key results and algorithms on the MCPproblem may be found in [7], [13], [14], [17], [18], [19], [20],[24], [25], [26], [41], [42]. Recent works on the QoS routingproblem may be found in [3], [6], [27], [37], [38].

In this paper, we present a novel approach to the QoSrouting problem, making a departure from currentlyavailable approaches. We study the problem using theprimal simplex method of linear programming and exploit-ing certain structural properties of networks. This is anextended and detailed version of our work in [36] andincludes proofs of all results and more extensive experi-mental results. The rest of the paper is organized as follows:In Section 2, we define the CSP problem and present itsInteger Linear Programming (ILP) formulation as well as itsLinear Programming (LP) relaxation. This formulation isthe same as the LP formulation of the minimum cost flowproblem [2] except for an additional constraint due to thedelay requirement. This additional constraint gives rise toseveral questions that need to be investigated to achieve anefficient implementation of the primal simplex method.This leads us to the definition in Section 3 of an equivalent

problem on a transformed network, called the TCSPproblem. Section 4 deals with the structure of the basicsolutions of the RELAX-TCSP problem, the relaxed form ofthe TCSP problem. Section 5 discusses the revised simplexmethod of linear programming, its application on RELAX-TCSP, and several strategies to achieve an efficient im-plementation. This results in an algorithm that allowsdegenerate pivots and uses an anticycling strategy devel-oped in Section 5.6. Another algorithm, called the NBSalgorithm, presented in Section 6 avoids degenerate pivotscompletely. Both of these algorithms are of pseudopolyno-mial time complexity. In Section 6.3.2, we show how toextract an approximate solution to the original CSP problemfrom the optimum solution to the RELAX-TCSP problemand derive bounds on the quality of this solution withrespect to the optimum solution. In Section 7, experimentalresults comparing the NBS algorithm with the LARACalgorithm [16], the LHWHM algorithm [22], and the generalpurpose LP solvers are presented. Section 8 concludes witha summary of the main contributions. To conserve space,the proofs of a few results are omitted.

2 THE CSP PROBLEM: LP FORMULATION AND THE

LARAC ALGORITHM

In this section, we first define the Constrained Shortest Path(CSP) problem and present an ILP formulation. Due tointegrality constraints in the ILP formulation, the problem isNP-hard. Relaxing the integrality constraints results inRELAX-CSP. We then present the LARAC algorithm of [16],which solves the dual of RELAX-CSP.

Definition 1. Consider a directed network GðV ;EÞ, where V isthe set of nodes and E is the set of links of the network. Eachlink ðu; vÞ 2 E is associated with two integer weights cuv > 0(representing cost, the expense imposed by using or installingthe link) and duv > 0 (transmission delay along the link). Forany path p (or cycle with a given orientation) define the costcðpÞ and delay dðpÞ of p as

cðpÞ ¼Xðu;vÞ2pþ

cuv �Xðu;vÞ2p�

cuv;

dðpÞ ¼Xðu;vÞ2pþ

duv �Xðu;vÞ2p�

duv;

where pþðp�Þ is the set of forward (backward) links on p as wetraverse p from the start node to the end node of p.

Notice that our assumption that link weights are integersdoes not involve any loss of generality because, in digitalsystems, all numbers are represented discretely and can bescaled and rounded to integers. In order to simplify ourpresentation, we assume all the values to be integers. Wealso assume that only links impose costs and delays. If thenodes impose costs and delays, we can use the nodesplitting technique to transform node costs and delays intolink costs and delays (see [2, chapter 2.4]).

We use the terms “link” and “arc” interchangeably.Without loss of generality, we assume that, for every node i,there is a directed path from i to the destination node t. Inthe rest of the paper, m ¼ jEj and n ¼ jV j.

816 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY 2006

Page 3: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

A path is called a directed path (cycle) if there are no

backward links in the path (cycle). Given two nodes s; t and

an integer � > 0, a directed s-t path p is said to be feasible if

dðpÞ � �. In the rest of the paper, a directed s-t path will be

referred to simply as an s-t path.CSP (Constrained Shortest Path) problem. Find an s-t

path popt ¼ arg minfcðpÞjp is a feasible s-t pathg. This is

illustrated with the example in Fig. 1.The CSP problem can be formulated as an integer linear

programming problem as below.

CSP:

MinimizeXðu;vÞ2E

cuvxuv ð1Þ

subject to

Xfvjðu;vÞ2Eg

xuv �X

fvjðv;uÞ2Egxvu ¼

1; for u ¼ s�1; for u ¼ t0; otherwise

8><>:

ð2Þ

Xðu;vÞ2E

�duvxuv � w ¼ �� ð3Þ

8ðu; vÞ 2 E; xuv ¼ 0 or 1: ð4Þ

In (3), w is the slack variable for the delay constraint.The main difficulty with the CSP problem lies with the

integrality condition that requires that the variables xuv be 0

or 1. Removing or relaxing this requirement from the above

integer linear program leads to RELAX-CSP, the relaxed

CSP problem.

RELAX-CSP:

MinimizeXðu;vÞ2E

cuvxuv ð5Þ

subject to

Xfvjðu;vÞ2Eg

xuv �X

fvjðv;uÞ2Egxvu ¼

1; for u ¼ s�1; for u ¼ t0; otherwise

8><>:

ð6Þ

Xðu;vÞ2E

�duvxuv � w ¼ �� ð7Þ

8ðu; vÞ 2 E; xuv � 0: ð8Þ

We will show later that, by using a transformation andapplying certain pivot rules, we can enforce xuv � 1 (thediscussion after Theorem 3, Section 5.5).

2.1 Dual-Based Approach: LARAC Algorithm

The dual of the CSP problem involves s-t paths and avariable � � 0. For each link ðu; vÞ, let the aggregated cost c�be defined as cuv þ �duv. For a given �, let c�ðpÞ ¼cðpÞ þ �dðpÞ denote the aggregated cost of the path p.Finally, define Lð�Þ as:

Lð�Þ ¼ minfc�ðpÞjp is an s-t pathg � ��: ð9Þ

Note that, in the above, minfc�ðpÞjp is an s-t pathg can beeasily obtained by applying Dijkstra’s algorithm usingaggregated link costs cuv þ �duv. Let the s-t path whichhas minimum aggregated cost with respect to a given � bedenoted as p�. Then, Lð�Þ ¼ c�ðp�Þ � �� and the dual of theRELAX-CSP can be presented as follows:

DUAL-RELAX-CSP : Determine maxfLð�Þj� � 0g:

The value of � that achieves the maximum Lð�Þ inDUAL-RELAX-CSP will be denoted by ��. Note that L�, theoptimum value of DUAL-RELAX-CSP, is a lower bound onthe optimum cost of the path that solves the correspondingCSP problem [16]. From the optimum solution to theRELAX-CSP problem, we can extract an approximatesolution to the original CSP problem. The key issue insolving DUAL-RELAX-CSP is how to search for the optimal�. The LARAC algorithm of [16] presented in Algorithm 1 isone such efficient search procedure. In this algorithm,Dijkstra(s; t; c), Dijkstra(s; t; d), and Dijkstra(s; t; c�) denote,respectively, Dijkstra’s shortest path algorithm using linkcosts, link delays, and aggregated link costs with respect tothe multiplier �.

Algorithm 1 LARAC(s, t, �) algorithm{Compute the minimum cost s-t path}

pc Dijkstraðs; t; cÞif (dðpcÞ � �) then return pc{Compute the minimum delay s-t path}

pd Dijkstraðs; t; dÞif (dðpdÞ > �) then return “no solution”

loop

� ðcðpcÞ � cðpdÞÞ=ðdðpdÞ � dðpcÞÞ{Compute minimum c� cost s-t path}

r Dijkstraðs; t; c�Þif (c�ðrÞ ¼ c�ðpcÞ) then return pdelse if (dðrÞ � �) then pd r else pc r

end loop

XIAO ET AL.: QOS ROUTING IN COMMUNICATION NETWORKS: APPROXIMATION ALGORITHMS BASED ON THE PRIMAL SIMPLEX METHOD... 817

Fig. 1. An example of the CSP problem.

Page 4: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

In [39], we have studied several aspects of the dual-based

approach, such as optimality conditions, and other ap-

proaches such as parametric search and binary search.

3 A TRANSFORMED PROBLEM AND BASIC

CONCEPTS

In contrast to most other approaches in the literature, we

study the CSP problem using the primal simplex algorithm.

In order to achieve an efficient implementation of the

approach, we transform the problem to an equivalent one

on a transformed network defined below.

1. the graph of the transformed network is the same asthat of the original problem, i.e., GðV ;EÞ,

2. for ðu; vÞ 2 E, d0uv and c0uv in the transformed problemare given by d0uv ¼ 2duv and c0uv ¼ cuv, and

3. the new upper bound �0 in the transformed problemis given by �0 ¼ 2�þ 1.

The transformed problem will be referred to as the TCSP

problem.

Theorem 1. An s-t path p� is a feasible solution (respectively, an

optimal solution) to the CSP problem iff it is a feasible solution

(respectively, an optimal solution) to the TCSP problem.

In view of the above result, we consider in the rest of the

paper only the relaxed form of the TCSP problem, namely,

RELAX-TCSP (the same as RELAX-CSP except that the

network is the transformed one as defined above). Also, we

use � (being odd) and duv (being even) to denote the delay

bound and link delay in the transformed problem, respec-

tively. Notice that the transformation does not change the

cost of any path in the network.In the rest of the section, we shall define certain

terminology leading to a matrix representation of RELAX-

TCSP. Let the links be labeled as e1; e2 . . . ; em and the nodes

be labeled as 1; 2 . . . ; n. We shall denote the delay of edge eias di and the cost of ei as ci. The incidence matrix of G has

m columns, one for each link, and n rows, one for each node

[8], [32]. The rank of this matrix is ðn� 1Þ and removing any

row of this matrix will result in a matrix of rank ðn� 1Þ. We

denote this resulting matrix as HH. We also assume that the

row removed from the incidence matrix corresponds to

node n. Also, we assume that the column of H correspond-

ing to link ek will be denoted by the vector hhk. For ek ¼ ði; jÞ,we have hhk ¼ ðh1;k . . . ; hi;k . . . ; hj;k . . . ; hn�1;kÞt with all its

components being 0 except for hi;k ¼ 1 and hj;k ¼ �1. Let

AA ¼ HH 0DD �1

� �¼ ðaa1; aa2 . . . ; aam; aamþ1Þ; ð10Þ

DD ¼ ð�d1;�d2 . . . ;�dmÞ; ð11Þ

aai ¼hhi�di

� �; i � m; and ð12Þ

aamþ1 ¼0�1

� �: ð13Þ

Also, let xx be the column vector of the m flow variablesxuv and the slack variable w and c be the row vector of thecosts ðc1 . . . ; cm; 0Þ. Note that the cost of the slack variable is0. The LP formulation of the RELAX-TCSP problem cannow be written in matrix form as follows:

RELAX-TCSP : Minimize ccxx

subject to AAxx ¼ bb:ð14Þ

In (14), xx � 0 and bb ¼ ðb1 . . . ; bn�1;��Þt with bs ¼ 1, bt ¼ �1,and bi ¼ 0 for i 6¼ s; t.

The rest of the paper deals with the primal simplex-based solution of RELAX-TCSP.

4 SIMPLEX METHOD: BASIC SOLUTIONS OF

RELAX-TCSP

The simplex method of linear programming starts with a

basic solution and proceeds by constructing one basic

solution from another. A basic solution consists of two sets

of variables, basic and nonbasic. For the RELAX-TCSP

problem under consideration, all the nonbasic variables in a

basic solution will have zero values. Given a basic solution,

we shall denote by Gb the subgraph of G corresponding to

the basic variables (except the slack variable if it is in the

basic solution) in this solution. Note that there is no link

associated with the slack variable. The subgraph Gb will be

called the subgraph of the basic solution or, simply, the

basis graph. The nonsingular submatrix of AA defined by the

basic variables is called a basis matrix or, simply, a basis. In

this section, we present certain important properties of the

basic solutions of the RELAX-TCSP problem.

Lemma 1. Let GðV ;EÞ be a directed network with at least onecycle W (not necessarily directed). Assigning an arbitraryorientation to W , let UUðW Þ ¼ ðu1; u2; u3 . . . ; umÞt, where

uj ¼

1; for ej 2W and the orientation of ejagrees with the orientation of W

�1; for ej 2W and the orientation of ejdisagrees with the orientation of W

0; otherwise:

8>>>><>>>>:

Then, HHUUðWÞ ¼ 0 [32].

We shall denote by dðW Þ the signed algebraic sum of thedelays of the links in a cycle W as we traverse around thecycle along the given orientation.

Lemma 2. The subgraph Gb of a basic solution contains at mostone cycle.

Lemma 3. If there is a cycle W in Gb, then dðW Þ 6¼ 0.

Proof. Let

BB ¼ EEn�1;n

DD1;n

� �

be a basis matrix (submatrix of AA), where HHn�1;n is an

ðn� 1Þ � n submatrix of HH and DD1;n is the vector of

n components (corresponding to the basic variables) of

the last row of AA. Then, EEn�1;nUUðW Þ ¼ 0 by Lemma 1. On

the other hand, DD1;nUUðWÞ ¼ �dðWÞ.

818 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY 2006

Page 5: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

Since rank (BBÞ ¼ n, we have

BBUUðW Þ ¼ EEn�1;nUUðWÞ�dðW Þ

� �¼ 0�dðWÞ

� �6¼ 0:

Thus, the lemma follows. tuLemma 4. If the basis subgraph Gb contains no cycle that is not a

directed cycle, then there are exactly two s-t paths in Gb.

Thus it follows from the above lemma that the transforma-

tion we introduced guarantees that the structure of the basis

subgraph will be one of the three forms shown in Fig. 2 (a

spanning tree or a spanning tree plus an extra link). In a later

section, we shall introduce a pivot rule which will ensure that

the basis subgraph will not contain any directed cycle,

thereby eliminating the structure in Fig. 2c.

5 REVISED SIMPLEX METHOD ON THE

RELAX-TCSP PROBLEM

In this section, we first briefly present the different steps in

the revised simplex method of linear programming that is

described in detail in [8]. We then derive formulas required

to identify the entering and the leaving variables.

5.1 Revised Simplex Method

Consider an arbitrary linear programming (LP) problem in

the standard form.

Minimize ccxx

Subject to AAxx ¼ bb; xx � 0:

Here, AA is an n� ðmþ 1Þ matrix with rank ðAAÞ ¼ n,

xx ¼ ðx1 . . . ; xmþ1Þt, cc ¼ ðc1 . . . ; cmþ1Þ, and bb ¼ ðb1 . . . ; bnÞt.Each feasible basic solution xx� is partitioned into two sets,

one set consisting of the n basic variables and the other set

consisting of the remaining mþ 1� n nonbasic variables.

This partition induces a partition of AA into BB and AAN , a

partition of xx into xxB and xxN , and a partition of cc into ccBand ccN , corresponding to the set of basic variables and the

set of nonbasic variables, respectively. The basis matrix BB is

nonsingular.Revised Simplex Method [8]

1. Step 1: Solve the system YY BB ¼ ccB, whereYY ¼ ðy1; y2 . . . ; ynÞ.

2. Step 2: Choose an entering column. It may be anycolumn aai of AAN such that YY aai is greater than the

corresponding component of ccN . The current solu-tion is optimal if there is no such column.

3. Step 3: Solve the system BBVV ¼ aai, whereVV ¼ ðv1; v2 . . . ; vnÞt.

4. Step 4: Find the largest t such that xxB � tVV � 0. Ifthere is no such t, then the problem is unbounded;otherwise, at least one component of xx�B � tVV isequal to 0 and the corresponding variable leaves thebasis.

5. Step 5: Set the value of the entering variable as t andreplace the values xx�B of the basic variables byxx�B � tVV . Replace the leaving column of BB by theentering column and, in the basis heading, replacethe leaving variable by the entering variable. Then,go to Step 1.

5.2 Initialization

To construct an initial basic feasible solution, we firstdetermine a spanning tree containing a feasible s-t path.This can be done by applying Dijkstra’s algorithm tocompute the shortest path tree with respect to the delayfrom all nodes to the destination node t. If the resulting s-tpath in the tree is infeasible, then no feasible path exists andthe algorithm terminates. Without loss of generality, weassume that the s-t path is feasible.

Clearly, in the basic solution corresponding to thespanning tree selected as above, the flows in all the linksin the s-t path in the spanning tree will be equal to one andflows in all other links will be zero. Since the delay of everylink in the TCSP problem is even and the upper bound � onpath delay is odd, the slack variable w > 0 and, so, it is inthe initial basic feasible solution.

In Sections 5.3 and 5.4, we solve the systems of equationsin Steps 1 and 3 and derive explicit formulas for Y and V .These results are from [37] and are repeated here for thesake of completeness. If a link flow variable is chosen as theentering variable, then the corresponding link is called thein-arc. Out-arcs are similarly defined.

5.3 Solving the System YY BB ¼ ccBLet YY ¼ ðy1 . . . ; yn�1; �Þ. Here, y1 . . . ; yn�1; � are calledpotentials (or dual variables) and YY is called the potentialvector. Each yi; i ¼ 1; 2 . . . ; n� 1 is the potential associatedwith node i (or the row i) and � is the potential associatedwith the last row (delay constraint row) of AA.

Now, consider

YY BB ¼ ccB: ð15Þ

XIAO ET AL.: QOS ROUTING IN COMMUNICATION NETWORKS: APPROXIMATION ALGORITHMS BASED ON THE PRIMAL SIMPLEX METHOD... 819

Fig. 2. Structure of basis graph: (a) tree basic solution, (b) basic solution with a cycle (not directed), and (c) basic solution with a directed cycle.

Page 6: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

This system of equations has n equations in n variables.We get the following from (15).

For each link ek ¼ ði; jÞ in Gb, ðy1 . . . ; yn�1; �Þhk ¼ cij.That is,

yi � yj � �dij ¼ cij; if i 6¼ n and j 6¼ n;yi � �din ¼ cin; if j ¼ n; and

� yj � �dnj ¼ cnj; if i ¼ n:ð16Þ

From the above, we can see that we can set the potentialof node n at any constant. In all computations that follow,we shall set the potential of node n equal to zero.

Definition 2.

1. For link ek ¼ ði; jÞ, cðek; �Þ ¼ �dij þ cij is called theactive cost of link ði; jÞ,

2. rði; jÞ ¼ yj � yi þ �dij þ cij is called the reduced costof link ði; jÞ,

3. the reduced cost of w is given by rðwÞ ¼ �, and4. the reduced cost of a path p is defined as

rðpÞ ¼Xði;jÞ2pþ

rði; jÞ �Xði;jÞ2p�

rði; jÞ:

It can be seen from (16) that, for any link ði; jÞ in Gb,

rði; jÞ ¼ yj � yi þ �dij þ cij ¼ 0: ð17Þ

From (17), we also have that, for any path p from i to jand any cycle W in Gb,

rðpÞ ¼ yj � yi þ �dðpÞ þ cðpÞ ¼ 0;

rðWÞ ¼ �dðWÞ þ cðWÞ ¼ 0:ð18Þ

Lemma 5. If Gb contains a cycle W , then � ¼ �cðWÞ=dðW Þ;otherwise, � ¼ 0.

Proof. If there is no cycle in Gb, then the slack variable wis a basic variable and the corresponding column½0; 0 . . . ; 0;�1�t will be a column of BB. Since the cost of theslack variable is zero, we get from (15) that � ¼ 0.Suppose that Gb contains a cycle W . By (18), we get�dðWÞ þ cðWÞ ¼ 0. B y L e m m a 3 , dðWÞ 6¼ 0. S o ,� ¼ �cðWÞ=dðWÞ. tu

Lemma 6. A link is eligible to enter the basis if its reduced cost isnegative and the slack variable is eligible to enter the basis if� < 0.

Proof. The proof follows from Step 2 of the revised simplexmethod. tu

Once we have computed the value of � as in Lemma 5,the other potentials yis can be calculated using (18) andselecting the path in Gb from node n to node i. Summarizingthe above, we have the following procedure for solvingYY B ¼ ccB and calculating the potentials:

1. Set the potential of node n to zero.2. Compute � as in Lemma 5.3. For each node i, let pi be a simple path in Gb from

node n to node i. If there are two paths in Gb due tothe cycle, we will get the same results no matterwhich path is selected.

4. Set

cðpÞ ¼Xðu;vÞ2pþ

cuv �Xðu;vÞ2p�

cuv

and

dðpÞ ¼Xðu;vÞ2pþ

duv �Xðu;vÞ2p�

duv;

where pþi and p�i are the sets of forward and

backward links on pi, respectively, as we traverse

the path from node n to node i.

Once the potentials are determined, an entering variable,

if it exists, can be selected as in Step 2 of the revised simplex

method.

5.4 Solving the System BBVV ¼ aakWe next show how to solve the system of equations

BBVV ¼ aak. We consider three cases:Case 1: Gb contains no cycle, that is, Gb contains only

n� 1 links and the slack variable w is a basic variable. The

link ek ¼ ði; jÞ is the entering variable.Case 2: Gb contains a cycle (that is, Gb has n links) and

the entering variable is ek ¼ ði; jÞ.Case 3: Gb contains a cycle (Gb has n links) and the

entering variable is the slack variable.Solutions in all the three cases are summarized in the

following theorem.

Theorem 2. 1) If Gb contains no cycle and the entering variable

is an in-arc ek ¼ ði; jÞ, then the vector VV ¼ ðv1 . . . ; vnÞtdefined below is the desired solution to BBVV ¼ aak, where W 0 is

the new cycle formed by adding the in-arc ek and the

orientation of W 0 is chosen to be the same as the direction of ek.

vi ¼

�1; for i < n and the link corresponding tothe ith column of B is on W 0 and itsorientation agrees with the cycle orientation

1; for i < n and the link corresponding tothe ith column of B is on W 0 and itsorientation disagrees with the cycle orientation

dðW 0Þ; for i ¼ n0; otherwise:

8>>>>>>>>>><>>>>>>>>>>:

ð19Þ

2) If Gb contains a cycle W and the entering variable is a link

ek ¼ ði; jÞ, then VV ¼ �VV 0p þdðW 0ÞdðW Þ VV 0, is the solution to

BBVV ¼ aak, where dðW 0Þ and dðW Þ are the delays of cycles

W 0 and W , respectively, and VV 0p and VV 0 are defined by the

cycles W 0 and W , respectively (see Lemma 1).

3) If Gb contains a cycle W and the entering variable is the

slack variable w, then VV ¼ VV 0

dðWÞ is the solution to BBVV ¼ aak,where VV 0 is defined by cycle W (see Lemma 1).

Proof. Case 1: Gb contains only n� 1 links, i.e., there is no

cycle in Gb and the slack variable w is a basic variable,

and the link ek ¼ ði; jÞ is the entering variable. In this

case,

BB ¼ HHn�1;n�1 0DD1;n�1 �1

� �;

820 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY 2006

Page 7: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

where HHn�1;n�1 is associated with the ðn� 1Þ links in Gb

and n� 1 nodes and DD1;n�1 is the vector of ðn� 1Þcomponents (corresponding to the basic variables exceptfor w) of the last row of matrix AA.

Let W 0 denote the new cycle formed by adding the in-arc ek ¼ ði; jÞ and let the orientation of W 0 be chosen to bethe same as the orientation of the in-arc. By Lemma 1, itis easy to verify that the vector VV ¼ ðv1 . . . ; vnÞt definedas in the theorem solves the system BBVV ¼ aak.

Case 2: The basic variables are associated with n linksand the entering variable is ek ¼ ði; jÞ. In this case,

BB ¼ HHn�1;n

DD1;n

� �;

where HHn�1;n is associated with the n links and n� 1nodes and DD1;n is the vector of the n components of thelast row of AA corresponding to these n links and

aak ¼hhk�dij

� �:

We need to solve the system of equations

HHn�1;n

DD1;n

� �VV ¼ hhk

�dij

� �: ð20Þ

First, let us consider

HHn�1;nVV ¼ hhk: ð21Þ

Because there are n links in Gb, there is exactly onecycle, denoted by W . Therefore, according to Lemma 1,

9VV 0; HHn�1;nVV 0 ¼ 0: ð22Þ

After adding link ek ¼ ði; jÞ, we get a new cycle W 0

and we choose the orientation of this cycle to be the sameas that of ek. Then, by Lemma 1,

9VV 0 ¼ VV 0p1

� �; ðHHn�1;n; hhkÞ

VV 0p1

� �¼ 0: ð23Þ

So,

HHn�1;nð�VV 0pÞ ¼ hhk: ð24Þ

Because rankðHHn�1;nÞ ¼ n� 1;�VV 0p þ uVV 0, u 2 R is thesolution space of (21). We can compute u as follows:

DD1;nð�VV 0p þ uVV 0Þ ¼ �dij: ð25Þ

Since DD1;nVV 0 ¼ �dðW Þ and DD1;nð�VV 0pÞ þ dij ¼ dðW 0Þ,we get from (25)

dðW 0Þ � udðWÞ ¼ 0 and; hence; u ¼ dðW 0Þ=dðWÞ:

Therefore, we have proven that

VV ¼ �VV 0p þdðW 0ÞdðWÞ VV 0 ð26Þ

is the desired solution to BBVV ¼ aak.Case 3: The basic variables are associated with n links

and the entering variable is the slack variable w.

Following the arguments in Case 2, we can show that

VV ¼ VV 0

dðWÞ is the solution to BBVV ¼ aak. Here, VV 0 is definedby the cycle W in Gb. tu

5.5 A Pivot Rule and Structure of Basic FeasibleSolutions

In this subsection, we present a pivot rule and study thestructure of subgraphs of basic solutions generated by the

simplex method. The subgraph Gb of the initial basic

feasible solution has ðn� 1Þ links and the nth variable inthis basic solution is the slack variable w > 0. At this initial

step, � ¼ 0 (Lemma 5). Define dðGbÞ ¼Pðu;vÞ2Gb

xuvduv. By

(7), dðGbÞ ¼ �� w. Now, one of the following two

possibilities occurs in the next pivot:

1. The simplex method constructs a new spanning treesolution with the slack variable w remaining nonzeroin the new solution.

2. The simplex method constructs a Gb that containsone cycle W (formed by adding the in-arc) and wbecomes nonbasic with respect to this solution. Thecycle W cannot be a directed cycle. If it were adirected cycle, then the reduced cost of the enteringlink will be equal to the sum of the costs of the linksin W . This sum is a positive number, contradictingthe requirement that the reduced cost of the enteringlink must be negative (Step 2 of the revised simplexmethod). By Lemma 4, there will be exactly two s-tpaths in Gb. Also, the flow values on all the links inW must be nonzero, for, otherwise, all the link flowswill be either 0 or 1, making w nonzero and, hence,basic.

Summarizing, the first time a Gb with a cycle is

encountered, it will necessarily be of the form shown inFig. 2b. Flows on the links in the cycle will be � or 1� �. The

simplex method will select the value of � > 0 in such a way

that dðGbÞ ¼ �.Though the cycle in the Gb encountered the first time

after initialization will not be a directed cycle, in a

subsequent step, a Gb with a directed cycle may be created.To achieve an efficient implementation of the simplex

method, we would like to avoid generating any Gb

containing a directed cycle. This can be achieved by thepivot rule P1 given next.

Pivot Rule P1. Select the slack variable w as the entering variable

if it is eligible to enter.

Theorem 3. If Pivot Rule P1 is followed and the simplex method

on the RELAX-TCSP problem is initialized as in Section 5.2,

then no basic solution subgraph Gb will contain a directed

cycle.

Proof. Assume that a Gb with a directed cycle W 0 is createdand let eij ¼ ði; jÞ be the in-arc with which this cycle is

created.Suppose W 0 ¼ eijejj1ej1j2

. . . ; ejki and pji is the directedpath from j to i in W 0.

Since eij is an in-arc and YY ¼ ðy1; y2 . . . ; yn�1; �Þ is thepotential vector, we have rði; jÞ ¼ yj � yi þ �dij þ cij < 0and rðpjiÞ ¼ yi � yj þ �dðpjiÞ þ cðpjiÞ ¼ 0.

Summing the above, we obtain �dðW 0Þ þ cðW 0Þ < 0.Since dðW 0Þ > 0 and cðW 0Þ > 0, � < 0. This implies

that the slack variable is eligible to enter the basis butwas not selected. This is a contradiction. tu

XIAO ET AL.: QOS ROUTING IN COMMUNICATION NETWORKS: APPROXIMATION ALGORITHMS BASED ON THE PRIMAL SIMPLEX METHOD... 821

Page 8: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

Theorem 3 implies that Pivot Rule P1 along with thetransformation introduced in Section 3 guarantees that Gb

will take only the structures shown in Fig. 2a and Fig. 2b.Under these conditions, we are also guaranteed that thevalues of the variables xuv will be restricted to the range0 � xuv � 1.

5.6 An Anticycling Strategy

A basic solution in which one or more basic variablesassume zero values is called degenerate. A degenerate basicsolution may result in a pivot that does not alter the basicsolution. Such pivots are called degenerate. Furthermore, abasic solution generated at one pivot and reappearing atanother will lead to cycling. Since degenerate pivots do notresult in any improvement of the solutions, they are also acause of inefficiency. We present two strategies to handledegeneracy. The first one to be presented in this subsectionis the anticycling strategy, which is a variation andextension of Cunningham’s anticycling strategy in [2], [4],[8]. The second strategy, to be presented in Section 6, isdesigned to avoid degenerate pivots completely.

Definition 3. Given a feasible basic solution subgraph Gb and a

node called the root, we say that the link ðu; vÞ 2 Gb is oriented

toward (respectively away from) the root if any path in Gb

from the root to u (respectively v) passes through v

(respectively u). A feasible basic solution Gb with correspond-

ing flow vector x is strongly feasible if every link ðu; vÞ of Gb

with xuv ¼ 0 is oriented toward the root.

If the out-arc ðu; vÞ is not a link of the cycle in the basicsolution, then Gb � ðu; vÞ contains exactly two componentsGbðuÞ and GbðvÞ such that u 2 GbðuÞ and v 2 GbðvÞ. If theroot is in GbðvÞ, link ðu; vÞ is oriented toward the root;otherwise, it is oriented away from the root. See Fig. 2a andFig. 2b for examples of a strongly feasible Gb. We shall selectnode t as the root node.

Lemma 7. For any degenerate pivot, the out-arc is not on the

cycle of the current Gb.

Proof. A degenerate pivot does not alter the basic solution.This means that each variable has the same value in thecurrent basic solution as well as in the basic solutionresulting from the degenerate pivot. The flow on eachlink in a cycle is nonzero. If a link on a cycle were to leavethe basis, then, after the degenerate pivot, it wouldbecome nonbasic with zero flow. But, that wouldcontradict that the current pivot is degenerate. tu

If the out-arc is not on the cycle in the current Gb, thenthe potentials can be updated easily as described next (see[4, chapter 5.1.2]). Let TT be the current Gb and e ¼ ðu; vÞ ande0 ¼ ðu0; v0Þ be the out-arc and the in-arc, respectively. LetTT 0 ¼ TT � eþ e0 be the subgraph of the new basic variables.If e is not on the cycle in the current Gb, the new potentialvector YY 0 associated with TT 0 can be obtained as follows(notice that � does not change in this case):

y0u ¼yu þ ru0v0 ; for u 2 Tu0yu; for u 2 Tv0 ;

�ð27Þ

where ru0v0 ¼ cðeu0v0 ; �Þ þ yv0 � yu0 and TTu0 ðTTv0 Þ is the compo-

nent of TT � e containing u0ðv0Þ.Theorem 4. If the subgraphs Gbs of feasible basic solutions

generated by the simplex method are strongly feasible, then the

simplex method does not cycle.

Proof. First observe that, in any sequence of degenerate

pivots, the value of the slack variable will remain the

same. So, the leaving and entering variables can only be

the links in the network. Let Gb be a feasible basic

solution subgraph and t be the root. We define two

unique values for Gb : CðGbÞ ¼Pðu;vÞ2E cuvxuv and

W ðGbÞ ¼P

u2V ðyt � yuÞ.Notice that, for a given Gb, the value of WðGbÞ is

unique even though the values of the potentials YY may

not be unique. Consider two consecutive basic solutions

Gib ¼ Gb and Giþ1

b ¼ Gib þ e� f , where e and f are the in-

arc and out-arc, respectively. We first show that either

CðGiþ1b Þ < CðGi

bÞ or WðGiþ1b Þ > WðGi

bÞ.Indeed, if the pivot that generates Giþ1

b from Gib is

nondegenerate, then CðGiþ1b Þ < CðGi

bÞ. If it is degenerate,

we have CðGiþ1b Þ ¼ CðGi

bÞ. In this case, we shall prove

W ðGiþ1b Þ > W ðGi

bÞ.Here, the in-arc e ¼ ðu; vÞ still has zero flow in Giþ1

b .

By Lemma 7, f is not a link on the cycle in Gib, so the

value of � does not change. Because Giþ1b is strongly

feasible, in Giþ1b , link e must be oriented toward the root

node t, which implies that node t belongs to GbðvÞ (the

component of Gib � f containing v). Now, we can obtain

the potentials using (27).Since ruv ¼ cðeuv; �Þ þ yv � yu < 0,

WðGiþ1b Þ ¼WðGi

bÞ � jGbðuÞjruv > W ðGibÞ:

If the simplex method cycles, then, for some i < j,

Gib ¼ G

jb. This means Gi

b ¼ Giþ1b � � � ¼ G

jb. But then,

W ðGibÞ > WðGiþ1

b Þ > � � � > WðGjbÞ ¼W ðGi

bÞ, contradict-

ing that W ðGibÞ ¼WðG

jbÞ. tu

6 A STRATEGY FOR AVOIDING DEGENERATE

PIVOTS AND THE NETWORK SIMPLEX-BASED

(NBS) ALGORITHM

In this section, we first present, in Section 6.1, a strategy for

avoiding degenerate pivots. We then show, in Section 6.2,

how to select a leaving variable. In Section 6.3, we present a

complete description of the new Network Based Simplex

(NBS) algorithm and its complexity analysis. We also show

how to extract an approximate solution to the TCSP (hence

the original CSP) problem and establish the performance

bounds on the approximate solution.

6.1 Avoiding Degenerate Pivots

In this subsection, we shall develop a strategy which avoids

performing degenerate pivots which is based on the

following pivot rule:

Enhanced Pivot Rule P2. If there is a choice for selecting the

entering variables, then select an entering variable in the

following order of preference:

822 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY 2006

Page 9: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

1. the slack variable if it is eligible to enter,2. eligible links whose tail nodes are on the directed s-t

path(s) in the current Gb.

As we discussed in Section 5, rule 1 above guarantees

that every Gb is of one of the two forms in Fig. 2a and

Fig. 2b. Both these subgraphs of basic solutions are strongly

feasible. Consider the next rule, 2. Suppose we can find an

in-arc e ¼ ðu; vÞ according to rule 2. Let W 0 denote the new

cycle in Gb þ e with its orientation defined as the direction

of e. It can be seen that the flows on all links in W 0 whose

directions disagree with that of W 0 are nonzero and, thus,

we can push positive amount of flow along the cycle until

the flows on some links of the s-t path (whose directions

disagree with the orientation of W 0) reach zero. By

removing one such link with zero flow, we obtain a new

Gb. In fact, we can select the out-arc in such a way that the

resulting Gb is also strongly feasible (see the next subsec-

tion). This pivot will not lead to degeneracy. On the other

hand, if no such link is eligible to enter the basis (note: in

this case, � is nonnegative), then we have no option but to

perform a degenerate pivot. To avoid performing degen-

erate pivots, we proceed as follows:Let P be the set of nodes on the s-t path(s) in the current

basis subgraph Gb. Assign costs to links in the network as

follows: Link cost cuv with u 62 P and v 2 P is set as

cðeuv; �Þ þ yv > 0; otherwise, cuv is set as cðeuv; �Þ (see Fig. 3).Now, condense all the nodes inP into a single node, say,R,

and reverse the directions of all the links. Let the resulting

network be calledN 0. Note that none of the links with both its

ends in P will be in N 0. Now, use Dijkstra’s algorithm on N 0

and obtain the shortest path tree with nodeRas the start node.

The links ofG corresponding to the links of the shortest path

tree ofN 0 and the links with both end nodes inP will be a new

basis subgraph G0b (notice that this operation preserves the

strong feasibility ofGb and will not change the value of �). Let

the shortest distance value of the node u computed by the

algorithm be dðuÞ. Then, we set the potentials of the nodes

with respect to G0b as follows: For each node u 62 P , yu ¼ dðuÞand, for all other nodes (all the nodes in P ), the potentials are

the same as in the previous Gb. Now, 8ðu; vÞ; u 62 P ,

yu ¼ dðuÞ � dðvÞ þ cðeuv; �Þ ¼ yv þ cðeuv; �Þ, which implies

that, for all such links, rðu; vÞ ¼ yv � yu þ �duv þ cuv � 0 and

those links whose tails are not inP are not eligible for choice as

in-arc. Since the above operation does not affect the value of �,

w is not eligible either. Thus, we can only consider arcs whose

tails are in P (part 2 of Enhanced Rule P2). If we still cannot

find an in-arc according to Enhanced Rule P2 after the above

operation, it implies that we have gotten the optimal basicsolution since no entering variable is available.

We will show in the following section how to choose aleaving variable using Theorem 2.

6.2 Finding a Leaving Arc (Out-Arc)

Suppose the current feasible basic solution Gb is stronglyfeasible and link e ¼ ðu; vÞ is the in-arc. If Gb contains acycle W , then the flow can be decomposed into exactly twos-t paths. We define the branching point as the first node onW as we traverse the paths from node s to t (see Fig. 2b). Inthis subsection, e and e0 always denote the in-arc and out-arc, respectively.

Claim 1. If the current basic solution Gb is strongly feasible and

is not optimal, then one of the arcs e0 incident to the branching

node or the tail node of the in-arc e is eligible for choice as out-

arc and Gb þ e� e0 is still strongly feasible.

We prove the claim by enumerating all possible casesand determining the leaving variable in each case usingTheorem 2 and Step 4 of the revised simplex method. Letthe cycle created by adding the in-arc be denoted by W 0,with its orientation defined as that of the in-arc.

Case 1: Slack variablew is in the basic solution (the currentGb is a tree, � ¼ 0 and w > 0). This corresponds to Theorem2.1. According to Step 4 of the revised simplex method, weneed to consider only the entries of VV that are 1 or dðW 0Þ ifdðW 0Þ > 0. Without loss of generality, assume dðW 0Þ > 0.These entries correspond to the links of W 0 that lie on the s-tpath of the current Gb or the slack variable w. Thecorresponding entries in the current basic solution xx�B are 1for the links and its current value forw. The minimum value oft satisfying the constraint xx�B � tVV � 0 will be determined bythe inequalities 1� t � 0 and w� tdðW 0Þ � 0. Thus, themaximum value of t will be minf1; w=dðW 0Þg. Since w ¼�� dðGbÞ is odd and dðW 0Þ is even, w=dðW 0Þ 6¼ 1. So, ifw < dðW 0Þ, w will leave the basis. Otherwise, the links in W 0

that lie on some s-t path in the current Gb are eligible toleave the basis. We shall select the unique link e0 on the s-tpath in Gb that is incident to the tail node of the in-arc. Thisguarantees that the new Gb, denoted as G0b, is stronglyfeasible.

Notice that if w leaves the basis, w ¼ 0 in G0b. This meansthat dðG0bÞ ¼ �. In this case, G0b contains two s-t paths p1 andp2 with flow � and 1� �, respectively (see Fig. 2).

The value of � can be calculated from the equation�dðp1Þ þ ð1� �Þdðp2Þ ¼ �.

Case 2: The basic solution consists of n links, i.e., there is acycleW with branching pointa in the basic solution. The slackvariable w is eligible to enter the basis if � < 0. Then,according to part 1 of Pivot Rule P2, we let w enter the basisand shall select one of the two links in the current Gb that areincident on the branching pointa to leave the basis. The choicecan be made using Theorem 2.3 of Section 5.4. Suppose � > 0.An in-arc will create a new cycle W 0. This corresponds toTheorem 2.2. We need to consider three subcases that captureall possibilities. Without loss of generality, we assume that theorientation ofW is clockwise and the orientation ofW 0 agreeswith the direction of the in-arc.

XIAO ET AL.: QOS ROUTING IN COMMUNICATION NETWORKS: APPROXIMATION ALGORITHMS BASED ON THE PRIMAL SIMPLEX METHOD... 823

Fig. 3. Link costs for network N 0.

Page 10: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

Case 2.1 (Fig. 4a): Possible out-arcs: (1, 2), (3, 5), and(3, 4). Here, ðx12; x35; x34Þ ¼ ð1; �; 1� �Þ and, thus, the out-arc corresponds to the first zero component in the followingformula as t increases from 0:

ð1; �; 1� �Þ � tð1; dðW 0Þ=dðWÞ;�dðW 0Þ=dðWÞÞ¼ ð1� t; �� tdðW 0Þ=dðWÞ; 1� �þ tdðW 0Þ=dðWÞÞ:

Case 2.2 (Fig. 4b): Possible out-arcs: (1, 2), (2, 7), and(2, 3). Link (7, 6) is not eligible for out-arc for, otherwise,w 6¼ 0 in the next basic solution due to the property of thetransformed network. The out-arc is decided by thefollowing formula as in Case 2.1:

ðx12; x27; x23Þ � tð1; 1þ dðW 0Þ=dðW Þ;�dðW 0Þ=dðWÞÞ¼ ð1; �; 1� �Þ � tð1; 1þ dðW 0Þ=dðW Þ;�dðW 0Þ=dðWÞÞ:

Case 2.3 (Fig. 4c): Possible out-arcs: (2, 3), (2, 9), and(4, 5). The out-arc corresponds to the first zero componentin the following formula when t increases:

ðx23; x29; x45Þ� tð�dðW 0Þ=dðWÞ; dðW 0Þ=dðW Þ; 1� dðW 0Þ=dðWÞÞ:

6.3 NBS Algorithm, Complexity Analysis, and anApproximate Solution

We now present a complete description of the NetworkBased Simplex (NBS) algorithm that uses the strategiesdeveloped in Sections 6.1 and 6.2 for the RELAX-TCSPproblem. We show in Section 6.3.1 that the algorithm is ofpseudopolynomial time complexity. In Section 6.3.2, weshow how to extract from an optimum solution to theRELAX-TCSP problem a feasible solution to the TCSPproblem and, hence, to the original CSP problem and derivebounds on the deviation of this solution from the cost of theoptimum solution.

Algorithm 2 NBS

Transform the original network as in Section 3

Find an initial feasible basic solution as in Section 5.2

loop

if � < 0 then

Let slack variable w be the entering variable (rule 1

of Pivot Rule P2 in Section 6.1)

else if an in-arc satisfying rule 2 of Pivot Rule P2 isavailable then

Choose one of them as the entering variable

else

Invoke Dijkstra’s algorithm on the active costs of

N 0 to update the potentials (see Section 6.1).

if an in-arc satisfying rule 2 of Pivot Rule P2 is

available then

Choose one of them as the entering variable

else

Stop

end if

end if

end loop

Determine a leaving variable as in Section 6.2

Update the flows and the potentials as in Section 5.3

6.3.1 Complexity Analysis

Fact 1. If there is no cycle in the basic solution subgraph, then, foreach link euv, the associated flow xuv is either 1 or 0. If there isa cycle W in Gb, xij is 0 or at least 1=jdðWÞj.

Proof. If there is no cycle, the proof is trivial. Assume thereis a cycle W . It can be seen that the flow on links not onthe two paths is 0 and the flows on the paths but not onthe cycle are 1. Since there is a cycle, the flow can bedecomposed into two paths, p1 and p2. Consider flows onthe cycle W . Suppose the flows on p1 and p2 are � and1� � with 0 < � < 1.

Assume dðp1Þ � dðp2Þ. Since dðp1Þ and dðp2Þ areboth even and � is odd, dðp1Þ 6¼ � and dðp2Þ 6¼ �.Also, by Lemma 3, dðWÞ 6¼ 0. So, dðp1Þ 6¼ dðp2Þbecause dðWÞ ¼ dðp1Þ � dðp2Þ.

We also have

�dðp1Þ þ ð1� �Þdðp2Þ ¼ �ðdðp1Þ � dðp2ÞÞ þ dðp2Þ ¼ �:

So,

minfdðp1Þ; dðp2Þg � � � maxfdðp1Þ; dðp2Þg and

� ¼ ð�� dðp2ÞÞ=ðdðp1Þ � dðp2ÞÞ:

Hence, � � 1=dðWÞ because �� dðp2Þ � 1 anddðWÞ ¼ dðp1Þ � dðp2Þ > 0.

Similarly, we can prove that 1� � � 1=dðWÞ. tuFact 2. If euv is the in-arc and W 0 and W are the newly created

cycle and the old cycle (if it exists), respectively, we have

0 < jyu � yv � �duv � cuvj ¼ j�dðW 0Þ þ cðW 0Þj

¼jcðW 0Þj; for � ¼ 0

jcðW 0ÞdðWÞ � dðW 0ÞcðW Þj=jdðW Þj; for � 6¼ 0:

Proof. Suppose the cycle W 0 is e1e2 . . . ek, where e1 ¼ euv.Since all the links but euv on W 0 are in the basic solution,the reduced costs on all these links but euv are 0. So,jyu � yv � �duv � cuvj ¼ j�dðW 0Þ þ cðW 0Þj. Recalling that

824 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY 2006

Fig. 4. Find leaving variable: (a) Case 2.1, (b) Case 2.2, and (c) Case 2.3.

Page 11: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

� ¼ �cðWÞ=dðWÞ, if there exists a cycle W in the basic

solution or � ¼ 0 if no such cycle exists, we get the

rightmost equality.Since euv is an in-arc, jyu � yv � �duv � cuvj > 0. tu

Fact 3. Let t be the maximal flow that can be pushed on the new

cycle W 0. Suppose that euv and xuv are a link and its flow in

the basic solution, respectively. Then, the strictest constraint

on t is given by xuv � tð1þ jdðW 0Þ=dðWÞjÞ � 0, t � 0 and

t � 1. Hence,

max t � min 1;1

jdðW Þj þ jdðW 0Þj

� �¼ 1

jdðWÞj þ jdðW 0Þj :

Proof. First assume there is a cycle W in the current basic

solution. If we push flow t on the new cycle W 0,

according to Theorem 2 and Step 4 of the revised

simplex method, in the worst case, the flow on all links

will be decreased by at most tð1þ jdðW 0Þ=dðWÞjÞ. Proof

follows if we recall that xuv � 1=dðWÞ. The proof is

similar if there is no cycle in the basic solution. tuFact 4. Let TT and TT 0 be two consecutive feasible basic

solutions in the simplex method and cðTT Þ denote the

cost of the flow associated with the basic solution TT . If

cðTT 0Þ < cðTT Þ and D is the maximal link delay, then

jcðTT 0Þ � cðTT Þj ¼ tjyu � yv � �duv � cuvj � 1=ð2n2D2Þ.Proof. Follows from jcðTT 0Þ � cðTT Þj ¼ tjyu � yv � �duv � cuvj

and Facts 2 and 3. tuTheorem 5. The NBS algorithm terminates within 2n3D2C

pivots, where n ¼ jVV j and D (respectively C) is the maximum

link delay (resptively cost) and, hence, its time complexity is

pseudopolynomial.

Proof. LetTT 0; TT 1 . . .TT l be the sequence of consecutive feasible

basic solutions. It suffices to show that l � 2ðnDÞ3.

According to Fact 4, cðTT 0Þ � cðTT lÞ � l=ð2ðnDÞ2Þ and

cðTT 0Þ � nC.This implies that l � 2n3D2C. Since each pivot

requires OðmÞ operations, the NBS algorithm is ofpseudopolynomial time complexity. tu

Using similar arguments, the revised simplex method

that allows degenerate pivots but only uses the anticycling

strategy of Section 5.6 can also be shown to be of

pseudopolynomial time complexity.

6.3.2 An Approximate Solution to the TCSP/CSP

Problem and Performance Bounds

If the optimal basic solution subgraph for the RELAX-TCSP

problem contains no cycle, then, clearly, the s-t path in this

subgraph is also the optimum solution to the original CSP

problem. On the other hand, if the optimal basic solution

graph contains a cycle, then the optimum flow can be

decomposed into flows along two directed s-t paths, p1 and

p2, with positive flow along each path.

Lemma 8. If cðp2Þ � cðp1Þ, then either cðp2Þ � cðp�Þ � cðp1Þand dðp2Þ � � � dðp1Þ, where p� is the optimal path of the

original CSP problem or one of the two paths p1 and p2 is

optimal.

Proof. Let 0 < � < 1 and 1� � be the flows on p1 and p2,

respectively. We have

�dðp1Þ þ ð1� �Þdðp2Þ ¼ �; ð28Þ

�cðp1Þ þ ð1� �Þcðp2Þ � cðp�Þ: ð29Þ

It follows from (28) that

minfdðp1Þ; dðp2Þg � � � maxfdðp1Þ; dðp2Þg: ð30Þ

By (29), cðp1Þ and cðp2Þ cannot both be greater thancðp�Þ. So, cðp2Þ � cðp�Þ.

If cðp2Þ ¼ cðp�Þ then, by (29), cðp1Þ � cðp�Þ, whichimplies p1 or p2 is an optimal solution.

Assume cðp2Þ < cðp�Þ. Now, minfdðp1Þ; dðp2Þg ¼dðp1Þ � � for, otherwise, p2 will be a feasible solutionto the CSP problem with cost smaller than cðp�Þ.

So, we have the required inequality dðp2Þ � � � dðp1Þ.Also, path p1 is feasible for the original CSP problem

by Theorem 1. So, cðp1Þ � cðp�Þ.Thus, we have the required inequality

cðp2Þ � cðp�Þ � cðp1Þ. tu

It follows from the above lemma that the path p1 is a

feasible solution to the TCSP problem. We may use this as

an approximate solution to the original CSP problem. We

next evaluate the quality of this approximate solution.

Theorem 6. Let p1 and p2 be the two paths derived from the

optimal solution to the RELAX-TCSP problem with

cðp1Þ � cðp2Þ, then

cðp1Þcðp�Þ � 1þ 1� �

�1� cðp2Þ

cðp1Þ

� �and

dðp2Þ�� 1þ �

1� � 1� dðp1Þ�

� �;

where � is the flow on path p1 at termination and � is the

delay bound.

Proof. From �cðp1Þ þ ð1� �Þcðp2Þ � cðp�Þ, we obtain

cðp1Þcðp�Þ �

cðp�Þ � ð1� �Þcðp2Þ�cðp�Þ ¼ 1

�� 1� �

cðp2Þcðp�Þ :

Because cðp�Þ � cðp1Þ,

1

�� 1� �

cðp2Þcðp�Þ �

1

�� 1� �

cðp2Þcðp1Þ

¼ 1þ 1� ��

1� cðp2Þcðp1Þ

� �:

Similarly, we can prove that

dðp2Þ�� 1þ �

1� � 1� dðp1Þ�

� �:

ut

Using a special example below, we can show that no

constant factor approximation solution based on the

relaxation approach (including NBS and the LARAC

algorithm) is possible (however, simulations show that the

approximate solution is very close to optimum). For closing

the gap between the optimum value and the approximate

value, see [39].

XIAO ET AL.: QOS ROUTING IN COMMUNICATION NETWORKS: APPROXIMATION ALGORITHMS BASED ON THE PRIMAL SIMPLEX METHOD... 825

Page 12: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

Let OPT , OPTS , and � denote the optimal cost, the costof the path returned by relaxation method, and the delayupper bound. In Fig. 5, the solid links correspond to thebasic variables in the optimal basis. Thus, OPTS ¼ �� 4.Since OPT ¼ 4, jOPTS �OPT j=OPT ¼ ð�� 8Þ=4, where �

can be specified arbitrarily.

7 SIMULATION AND COMPARATIVE PERFORMANCE

EVALUATION

We compared our NBS algorithm with the general purposeLP solvers, LARAC algorithm [16], parametric search-basedLARAC algorithm [39] (denoted as PARA), and theLHWHM algorithm [22]. The LARAC algorithm has timecomplexity of Oðm2 log4 mÞ [15], while the parametricsearch-based LARAC algorithm has better complexity,namely, Oððmþ n lognÞ2Þ [39]. However, the complexityresults are derived using the worst scenario and, thus, theymay not be an accurate indicator of the performance of thealgorithms on average basis. So, we compared the fourmethods using simulations.

We use three classes of network topologies: regulargraphs Hk;n (see [32]), Power-Law Out-Degree graph [28],and Waxman’s random graph [34]. For a network GðV ;EÞ,the nodes are labeled as 1; 2 . . . ; n ¼ jV j. Nodes n=2 and n

are chosen as the source and target nodes. For the Power-Law Out-Degree graph and Waxman’s random graph, the

hop number of feasible s-t paths is usually very small evenwhen the network is very large. This will bias the results infavor of the LHWHM algorithm. So, for Waxman’s randomgraphs, a link joining node u and v is added if ju� vj <jV j=50 besides other rules for generating random graphs.We keep the original version of Power-Law Out-Degreegraph as in [28]. Even though this kind of graph favors theLHWHM algorithm, the comparison of the performance ofthe LARAC and NBS algorithms is still an indicator of themerits of NBS. The link costs and delays are randomlyindependently generated even integers in the range from 1to 200. The delay bound is 1.2 times the delay of theminimum delay s-t paths in G.

The results are shown in Fig. 6, Fig. 7, Fig. 8, and Fig. 9.Experiments show that the NBS algorithm can usually findbetter solutions than the LARAC algorithm by selecting thebest feasible path encountered during the execution insteadof the optimum path to the RELAX-TCSP problem. We alsofind that, for sparse graphs (Fig. 6c), NBS takes more timethan the LARAC algorithm. However, when the network isdense (large out-degree, see Fig. 6d), NBS beats LARAC.Basically, the NBS algorithm is a neighbor search algorithmin which a better solution is derived from the currentsolution. At each pivot, the NBS algorithm tries all thenodes in the s-t path in the current basic graph in order tofind an in-arc emanating from a node in the path. When thegraph is dense, it is more likely that an eligible in-arc can befound in fewer tries. On the other hand, the LARACalgorithm invokes a series of Dijkstra’s shortest pathalgorithm. When the graph is denser, each step in Dijkstra’salgorithm takes more time since Dijkstra’s algorithm checksall the neighbors of the currently processed node.

We also compared the NBS algorithm with generalpurpose LP solvers: CPLEX 8.0 (www.ilog.com/products/cplex), QSopt (www2.isye.gatech.edu/~wcook/qsopt), andCLP (www.coin-or.org). Among all three solvers, CPLEX is

826 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY 2006

Fig. 5. An example demonstrating that the gap can be arbitrarily large.

Fig. 6. Simulation on regular graph: (a) quality of solutions on regular graph with out-degree = 6, (b) computational time on regular graph with number

of nodes = 2,000, (c) computational time on regular graph with out-degree = 6, and (d) computational time on regular graph with out-degree = 36.

Page 13: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

always the fastest (this is not surprising because CPLEX isrecognized as one of the best LP solvers). So, we only reportthe experiments with CPLEX. In our experiments withCPLEX, we have used the same graphs as above. Using theCPLEX package, we may choose different optimizers suchas the primal dual method, network simplex, etc. Ourexperiments show that the CPLEX using the primal dualuses the least time and, so, our comparison is with respectto this optimizer. Notice that CPLEX can also retrieve thenetwork structure underlying the CSP problem. But, wefound that this does not help decrease the running time.Actually, it takes a longer time to find the optimal solutionif CPLEX is directed to use the special structure of thenetworks. The numerical simulation results in Fig. 9 showthat the NBS algorithm is much faster.

8 SUMMARY

In this paper, we studied the QoS routing problem (or,equivalently, the CSP problem) from the primal perspectivein contrast to most of the currently available approachesthat studied the problem from a dual perspective. Specifi-cally, we applied the revised simplex method on the primalform of the RELAX-TCSP problem. Several strategies areemployed to achieve efficient implementation of the revisedsimplex method. These strategies include: explicit formulasto solve the systems of equations needed to find enteringand leaving variables, an anticycling strategy, and astrategy to avoid degenerate pivots. These result in twoalgorithms. One of these allows degenerate pivots and usesan anticycling strategy developed in this paper. The other

algorithm, called the NBS algorithm, avoids degeneratepivots. We show that both algorithms are of pseudo-polynomial-time complexity. We have also shown how toextract an approximate solution to the original CSP problemfrom the optimum solution to the RELAX-TCSP problemand derive bounds on the quality of this solution withrespect to the optimum solution. Extensive simulationresults are presented to demonstrate that our approachcompares favorably with the LARAC algorithm and isfaster on dense graphs. Also, our algorithm is faster thanthe general purpose LP solvers.

Besides providing insights into the structure of solutionsproduced, our approach based on the primal simplex offersa framework for studying other classes of problems such asthe disjoint QoS paths selection problem and the QoSrouting problem with multiple constraints. In [37], we havereported our results on the disjoint QoS paths selectionproblem. In the case of multiple constraints, the structure ofbasic solutions may contain up to l cycles for a problemwith l additive constraints. To apply our approach to thecase involving multiple constraints, we need to developefficient methods to solve the two systems of equationsstudied in Section 5. Our approach, in combination with theapproach developed in [24], is expected to lead to furtheradvances in this area.

ACKNOWLEDGMENTS

The work of K. Thulasiraman has been supported by USNational Science Foundation (NSF) ITR grant ANI-0312435.

XIAO ET AL.: QOS ROUTING IN COMMUNICATION NETWORKS: APPROXIMATION ALGORITHMS BASED ON THE PRIMAL SIMPLEX METHOD... 827

Fig. 7. Waxman’s random graph: (a) quality of solutions on Waxman’s

random graph with � ¼ 0:6 and � ¼ 0:9 and (b) computational time.

Fig. 8. Power-law out-degree graph.

Fig. 9. NBS and CPLEX comparison.

Page 14: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

The work of G. Xue has been supported by NSF ITR grant

ANI-0312635.

REFERENCES

[1] “Private Network-Network Interface Specification Version 1.0(PNNI 1.0),” technical report, ATM Forum Technical Committee,Mar. 1996.

[2] R.K. Ahuja, T.L. Magnanti, and J.B. Orlin, Network Flows. Prentice-Hall, 1993.

[3] Y. Bejerano, Y. Breitbart, A. Orda, R. Rastogi, and A. Sprintson,“Algorithms for Computing QoS Paths with Restoration,” IEEETrans. Networking, vol. 13, no. 3, pp. 648-661, 2005.

[4] D.P. Bertsekas, Network Optimization: Continuous and DiscreteModels. Belmont, Mass.: Athena Scientific, 1998.

[5] B. Blokh and G. Gutin, “An Approximation Algorithm forCombinatorial Optimization Problems with Two Parameters,”Australasian J. Combinatorics, vol. 14, pp. 157-164, 1996.

[6] A. Chakrabarti and G. Manimaran, “Reliability ConstrainedRouting in QoS Networks,” IEEE Trans. Networking, vol. 13,no. 3, pp. 662-675, 2005.

[7] S. Chen and K. Nahrstedt, “On Finding Multi-Constrained Path,”Proc. Int’l Conf. Comm. (ICC), pp. 874-879, 1998.

[8] V. Chvatal, Linear Programming. New York: W.H. Freeman, 1983.[9] E. Crawley, R. Nair, B. Rajagopalan, and H. Sandick, “A

Framework for QoS Based Routing in the Internet,” RFC 2386,Internet Eng. Task Force, Nov. 1997, fttp://fttp.ietf.org/internet-drafts/draft-ietf-qosr-framework-02.txt.

[10] R. Guerin, S. Kamat, A. Orda, and T. Przygienda, “QoS RoutingMechanisms and OSPF Extensions,” RFC 2676, Internet Eng. TaskForce, Mar. 1997.

[11] G. Handler and I. Zang, “A Dual Algorithm for the ConstrainedShortest Path Problem,” Networks, vol. 10, pp. 293-310, 1980.

[12] R. Hassin, “Approximation Schemes for the Restricted ShortestPath Problem,” Math. Operations Research, vol. 17, no. 1, pp. 36-42,1992.

[13] A. Iwata, R. Izmailov, B. Sengupta, D.-S. Lee, G. Ramamurthy, andH. Suzuki, “ATM Routing Algorithms with Multiple QoSRequirements for Multimedia Internetworking,” IEICE Trans.Comm., vol. 8, pp. 999-1006, 1996.

[14] J.M. Jaffe, “Algorithms for Finding Paths with Multiple Con-straints,” Networks, vol. 14, pp. 95-116, 1984.

[15] A. Juttner, “On Resource Constrained Optimization Problems,” inreview, 2003.

[16] A. Juttner, B. Szviatovszki, I. Mecs, and Z. Rajko, “LagrangeRelaxation Based Method for the QoS Routing Problem,” Proc.INFOCOM, pp. 859-868, 2001.

[17] T. Korkmaz and M. Krunz, “Multi-Constrained Optimal PathSelection,” Proc. INFOCOM, pp. 834-843, 2001.

[18] T. Korkmaz and M. Krunz, “A Randomized Algorithm forFinding a Path Subject to Multiple QoS Requirements,” ComputerNetworks, vol. 36, nos. 2/3, pp. 251-268, 2001.

[19] F.A. Kuipers, T. Korkmaz, M. Krunz, and P. Van Mieghem, “AnOverview of Constraint-Based Path Selection Algorithms for QoSRouting,” IEEE Comm. Magazine, vol. 40, pp. 50-55, 2002.

[20] G. Liu and K.G. Ramakrishnan, “A*prune: An Algorithm forFinding k Shortest Paths Subject to Multiple Constraints,” Proc.INFOCOM, pp. 743-749, 2001.

[21] D. Lorenz and D. Raz, “A Simple Efficient Approximation Schemefor the Restricted Shortest Paths Problem,” Operations ResearchLetters, vol. 28, pp. 213-219, 2001.

[22] G. Luo, K. Huang, J. Wang, C. Hobbs, and E. Munter, “Multi-QoSConstraints Based Routing for IP and ATM Networks,” Proc. IEEEWorkshop QoS Support for Real-Time Internet Applications, 1999.

[23] K. Mehlhorn and M. Ziegelmann, “Resource Constrained ShortestPaths,” Proc. Ann. European Symp. Algorithms (ESA), pp. 326-337,2000.

[24] P. Van Mieghem and F.A. Kuipers, “Concepts of Exact QoSRouting Algorithms,” IEEE/ACM Trans. Networking, vol. 12, no. 5,pp. 851-864, 2004.

[25] P. Van Mieghem, H. De Neve, and F.A. Kuipers, “Hop-by-HopQuality of Service Routing,” Computer Networks, vol. 37, nos. 3/4,pp. 407-423, 2001.

[26] H. De Neve and P. Van Mieghem, “Tamcra: A Tunable AccuracyMultiple Constraints Routing Algorithm,” Computer Comm.,vol. 23, pp. 667-679, 2000.

[27] A. Orda and A. Sprintson, “Efficient Algorithms for ComputingDisjoint QoS Paths,” Proc. INFOCOM, pp. 727-738, 2004.

[28] C.R. Palmer and J.G. Steffan, “Generating Network Topologiesthat Obey Power Laws,” Proc. IEEE GLOBECOM, pp. 434-438,2000.

[29] C.A. Phillips, “The Network Inhibition Problem,” Proc. Ann. ACMSymp. Theory of Computing (STOC), pp. 776-785, 1993.

[30] R. Ravindran, K. Thulasiraman, A. Das, K. Huang, G. Luo, and G.Xue, “Quality of Services Routing: Heuristics and ApproximationSchemes with a Comparative Evaluation,” Proc. Int’l Symp.Circuits and Systems (ISCAS), pp. 775-778, 2002.

[31] S. Shenkar, C. Patridge, and R. Guering, “Specification ofGuaranteed Quality of Service,” RFC 2212, Internet Eng. TaskForce, Sept. 1997.

[32] K. Thulasiraman and M.N. Swamy, Graphs: Theory and Algorithms.New York: Wiley Interscience, 1992.

[33] Z. Wang and J. Crowcroft, “Quality-of-Service Routing forSupporting Multimedia Applications,” IEEE J. Selected Areas inComm., vol. 14, no. 7, pp. 1228-1234, 1996.

[34] B.M. Waxman, “Routing of Multipoint Connections,” IEEEJ. Selected Areas in Comm., vol. 6, no. 9, pp. 1617-1622, Dec. 1988.

[35] Y. Xiao, K. Thulasiraman, and G. Xue, “Equivalence, Unificationand Generality of Two Approaches to the Constrained ShortestPath Problem with Extension,” Proc. Allerton Conf. Control, Comm. ,and Computing, pp. 905-914, 2003.

[36] Y. Xiao, K. Thulasiraman, and G. Xue, “The Primal SimplexApproach to the QoS Routing Problem,” Proc. Int’l Conf. Quality ofService in Heterogeneous Wired/Wireless Networks (QSHINE),pp. 120-129, 2004.

[37] Y. Xiao, K. Thulasiraman, and G. Xue, “Constrained Shortest Link-Disjoint Paths Selection: A Network Programming Based Ap-proach,” IEEE Trans. Circuits and Systems, to appear.

[38] Y. Xiao, K. Thulasiraman, and G. Xue, “GEN-LARAC: AGeneralized Approach to the Constrained Shortest Path Problemunder Multiple Additive Constraints,” Proc. Int’l Symp. Algorithmsand Computation (ISAAC), pp. 92-105, 2005.

[39] Y. Xiao, K. Thulasiraman, G. Xue, and A. Juttner, “TheConstrained Shortest Path Problem: Algorithmic Approachesand an Algebraic Study with Generalization,” AKCE Int’l J. Graphsand Combinatorics, vol. 2, no. 2, pp. 63-86, 2005.

[40] G. Xue, “Minimum-Cost QoS Multicast and Unicast Routing inCommunication Networks,” IEEE Trans. Comm., vol. 51, pp. 817-827, 2003.

[41] G. Xue, A. Sen, and R. Banka, “Routing with Many Additive QoSConstraints,” Proc. Int’l Computer Conf. (ICC), pp. 223-227, 2003.

[42] X. Yuan, “Heuristic Algorithms for Multiconstrained Quality-of-Service Routing,” IEEE/ACM Trans. Networking, vol. 10, no. 2,pp. 244-256, 2002.

[43] M. Ziegelmann, “Constrained Shortest Paths and Related Pro-blems,” PhD thesis, Max-Planck-Institut fur Informatik, 2001.

Ying Xiao received the BS degree in computerscience from the Nanjing University of Informa-tion Science and Technology (formerly NanjingInstitute of Meteorology), Nanjing, China, in1998, the MS degree in computer applicationfrom the Southwest Jiaotong University, Cheng-du, China, in 2001, and the PhD degree incomputer science at the University of Oklahoma,Norman, in 2005. His research interests includegraph theory, combinatorial optimization, distrib-

uted systems and networks, statistical inference, and machine learning.He is a member of the IEEE.

828 IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY 2006

Page 15: IEEE TRANSACTIONS ON COMPUTERS, VOL. 55, NO. 7, JULY …yzchen/...primalsimplex_xiao_j2006.pdfIndex Terms—Constrained shortest path, linear programming, simplex method, graph algorithms,

Krishnaiyan Thulasiraman received the ba-chelor’s degree (1963) and master’s degree(1965) in electrical engineering from the Uni-versity of Madras, India, and the PhD degree(1968) in electrical engineering from the IndianInstitute of Technology (IITM), Madras, India. Heholds the Hitachi Chair and is a professor in theSchool of Computer Science at the University ofOklahoma, Norman, where he has been since1994. Prior to joining the University of Oklaho-

ma, he was a professor (1981-1994) and chair (1993-1994) of theElectrical and Computer Engineering Department at Concordia Uni-versity, Montreal. He was on the faculty in the Electrical Engineering andComputer Science Departments of IITM during 1965-1981. His researchinterests have been in graph theory, combinatorial optimization,algorithms, and applications in a variety of areas in computer scienceand electrical engineering: electrical networks, VLSI physical design,systems level testing, communication protocol testing, parallel/distrib-uted computing, telecommunication network planning, fault tolerance inoptical networks, interconnection networks, etc. He has published morethan 100 papers in archival journals, coauthored, with M.N.S. Swamytwo textbooks Graphs, Networks, and Algorithms (1981) and Graphs:Theory and Algorithms (1992), both published by Wiley Inter-Science,and authored two chapters in the Handbook of Circuits and Filters (CRCand IEEE, 1995) and a chapter on “Graphs and Vector Spaces ” for theHandbook of Graph Theory and Applications (CRC Press, 2003). Hehas received several awards and honors: 2006 IEEE Circuits andSystems Society Technical Achievement Award, Endowed Gopalak-rishnan Chair Professorship in CS at IITM (summer 2005), electedmember of the European Academy of Sciences (2002), IEEE CASSociety Golden Jubilee Medal (1999), fellow of the IEEE (1990), and theSenior Research Fellowship of the Japan Society for Promotion ofScience (1988). He has held visiting positions at the Tokyo Institute ofTechnology, University of Karlsruhe, University of Illinois at Urbana-Champaign, and Chuo University, Tokyo. Dr. Thulasiraman has beenvice president (administration) of the IEEE CAS Society (1998, 1999),technical program chair of ISCAS (1993, 1999), deputy editor-in-chief ofthe IEEE Transactions on Circuits and Systems I (2004-2005), co-guesteditor of a special issue on computational graph theory: algorithms andapplications (IEEE Transactions on CAS, March 1988), associate editorof the IEEE Transactions on CAS (1989-1991, 1999-2001), andfounding regional editor of the Journal of Circuits, Systems, andComputers. Recently, he founded the Technical Committee on “GraphTheory and Computing” of the IEEE CAS Society.

Guoliang Xue received the PhD degree incomputer science from the University of Minne-sota in 1991. He is a professor in the Depart-ment of Computer Science and Engineering atArizona State University. He has held previouspositions at the Army High Performance Com-puting Research Center and the University ofVermont. His research interests include efficientalgorithms for optimization problems in network-ing, with applications to fault tolerance, robust-

ness, and privacy issues in networks ranging from WDM opticalnetworks to wireless ad hoc and sensor networks. He has publishedmore than 100 papers in this area. His research has been continuouslysupported by US federal agencies, including the NSF, ARO, and DOE.He is the recipient of an NSF Research Initiation Award in 1994 and anNSF-ITR Award in 2003. He is an associate editor of the IEEETransactions on Circuits and Systems-I, an associate editor of theComputer Networks Journal, and an associate editor of IEEE NetworkMagazine. He has served on the executive/program committees ofmany IEEE conferences, including Infocom, Secon, ICC, Globecom,and QShine. He is a TPC cochair of the IEEE Globecom 2006Symposium on Wireless Ad Hoc and Sensor Networks. He is a seniormember of the IEEE.

. For more information on this or any other computing topic,please visit our Digital Library at www.computer.org/publications/dlib.

XIAO ET AL.: QOS ROUTING IN COMMUNICATION NETWORKS: APPROXIMATION ALGORITHMS BASED ON THE PRIMAL SIMPLEX METHOD... 829