ieee transactions on computers, vol. 55, no. 7, july …yzchen/...primalsimplex_xiao_j2006.pdfindex...
TRANSCRIPT
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
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
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.
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
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.
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
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
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
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.
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.
� ¼ �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
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.
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.
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
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