# An Efficient Approximate Algorithm for Disjoint QoS Routing

Authors: Zhanke Yu; Feng Ma; Jingxia Liu; Bingxin Hu; Zhaodong Zhang
Journal: Mathematical Problems in Engineering
 (2013)

---

## Abstract

Disjoint routing is used to find the disjoint paths between a source and a destination subject to QoS requirements. Disjoint QoS routing is an effective strategy to achieve robustness, load balancing, congestion reduction, and an increased throughput in computer networks. For multiple additive constraints, disjoint QoS routing is an NP-complete class that cannot be exactly solved in polynomial time. In the paper, the disjoint QoS routing problem was formulated as a 0-1 integer linear programming. The complicating constraints were included in the objective function using an adaptive penalty function. The special model with a totally unimodular constraint coefficient matrix was constructed and could be solved rapidly as a linear programming. An efficient algorithm using an adaptive penalty function and 0-1 integer linear programming for the disjoint QoS routing problems was designed. The proposed algorithm could obtain the optimal solution, considerably reducing the computational time consumption and improving the computational efficiency. Theoretical analysis and simulation experiments were performed to evaluate the proposed algorithm performance. Through the establishment of random network topologies using Matlab, the average running time, the optimal objective value, and the success rate were evaluated based on the optimal values obtained in Cplex. The simulation experiments validated the effectiveness
of the proposed heuristic algorithm.


---

## Body

## 1. Introduction

In recent years, disjoint QoS routing has been given much attention because of its practical significance to various applications, such as reliable routing, load balancing, congestion reduction, and enhanced throughput [1–7]. This study determines the QoS-aware k disjoint paths from a source to a destination. These paths must be subjected to QoS constraints. The paths may be node-disjoint or edge-disjoint, and the network may be directed or undirected. Li et al. proved that all four disjoint QoS routing versions are strongly NP-complete, even for k=2 [8]. In general, a link-disjoint path algorithm can be extended to a node-disjoint algorithm through the concept of node splitting [9]. Accordingly, we assume that the paths are edge-disjoint paths unless specified otherwise. The QoS metrics of a path can either be additive, multiplicative, or min./max. The path weight of the additive metrics (e.g., delay) is equal to the sum of the QoS weights of the links on the path. The multiplicative metrics (e.g., packet loss) can be transformed into additive measures using a logarithmic function. The path weight of the min./max. metrics (e.g., bandwidth) presents the minimum/maximum of the QoS weights defining the path. Constraints on the min./max. QoS metrics can be easily settled by omitting all links (or disconnected nodes) that do not satisfy the requested QoS constraints. In practice, the constraints on additive QoS metrics are more difficult, and therefore, without loss of generality, the QoS metrics are assumed to be additive.Numerous approaches for solving disjoint QoS routing problems have been proposed [10–19]. Almost all of the existing approaches for solving disjoint QoS routing are based on the classical methods for solving the shortest path problem, such as Dijkstra and Ford-Bellman algorithms [10]. Some approaches are polynomial ϵ-approximate solution methods [11–13], and others are based on integer linear programming [14–16, 18, 19]. In addition, several intelligent algorithms are used for these problems [17]. We aim to use the algorithm based on 0-1 integer linear programming (ILP).Suurballe proposed an algorithm that finds thek disjoint paths with a minimal total length using the path augmentation method [20]. The main idea is to construct a solution set of two disjoint paths based on the shortest path and shortest augmenting path. The k disjoint paths can be obtained by augmenting the k-1 optimal disjoint paths using this algorithm. Bhandari made an extension to Suurballe's algorithm to solve the span-disjoint path problem in more complex structured networks [10]. Carlyle considered the constrained shortest path problem as an integer program and presented a Lagrangian dual method to solve the ILP problems [14]. The main idea is Lagrangianizing those constraints, optimizing the resulting Lagrangian function, and then closing the duality gaps by enumerating the near-shortest paths, measured with respect to the Lagrangianized length. However, adjusting the Lagrangian multiplier is difficult. Son et al. formulated the QoS routing problems in the form of ILP problems and proposed a routing algorithm that solved the ILP problems based on the difference of convex function (DC) programming and DC algorithms (DCA) [15]. DC programming and DCA are efficient approaches for a nonconvex continuous optimization. The objective and constraint functions are written as the difference of two convex functions. Xiong et al. propose design principles of the exact algorithm for multiconstrained shortest link-disjoint paths based on analyzing the properties of optimal solutions and design an exact algorithm, called the link-disjoint optimal multiconstrained paths algorithm (LIDOMPA). The proposed algorithm can reduce the search space without loss of exactness by introducing three concepts, namely, the candidate optimal solution, the contractive constraint vector, and structure-aware nondominance [5].In this paper, we propose an efficient approach using an adaptive penalty function and 0-1 ILP to solve the disjoint QoS routing problems. Compared with the exact algorithm designed in Xiong's paper, our algorithm is a heuristic algorithm and aims to obtain high-quality feasible solutions in short time. We formulate the disjoint QoS routing problem as a 0-1 ILP, labeled as DQSR. This formulation is computationally intractable because of integrality. We relax the problem by performing a partial Lagrangian relaxation, such that we exploit the special network structure of the relaxed problem for efficient algorithms. The algorithm includes the complicated 0-1 ILP constraints in the objective function as penalty terms and obtains the Lagrangian relaxation 0-1 integer linear problem. After constructing the special model with a totally unimodular constraint coefficient matrix, the relaxed 0-1 integer linear problem can be solved rapidly as linear programming. The numerical results show the effectiveness of the proposed algorithm.The rest of the paper is organized as follows. In Section2, we define the DQSR problem. In Section 3, we introduce the linear relaxation of DQSR. An algorithm based on an adaptive penalty function and 0-1 ILP for the problem is described in Section 4. The numerical simulation is reported in Section 5. Finally, conclusions and future works are presented in Section 6.


## 2. Problem Formulation

LetG=(V,E) be the directed graph representing a network topology having the set of nodes V and the set of links E. The links are assumed to be bidirectional. The number of nodes, the number of links, and the number of QoS measures are denoted, respectively, by n, m, and p. Let (u,v)∈E be the link from node u to node v, where u,v∈V. Each link is characterized by a p-dimensional link weight vector. Each vector is composed of p nonnegative QoS weight components as wi(u,v), where i=1,…,p,(u,v)∈E.Definition 1 (disjoint QoS routing).
Considering a networkG=(V,E), each link (u,v) is specified by p additive QoS weights wi(u,v)≥0, where i=1,…,p. Given that p constraint bounds Li, the disjoint QoS routing problem is finding a set of k disjoint paths from a source to a destination P1,P2,…,Pk, such that the total cost of the k paths is the minimum, and each path satisfies the QoS constraints. These constraints are stated as follows [15].
The binary variableyuvl is defined as
(1)yuvl={1,(u,v)∈Pl,l=1,…,k,0,otherwise.
Every disjoint pathPl(l=1,…,k) from a source node s to a destination node t should satisfy the following constraints:
(2)∑{v∣(u,v)∈E}‍yuvl-∑{v∣(v,u)∈E}‍yvul=1,foru=s,∑{v∣(u,v)∈E}‍yuvl-∑{v∣(v,u)∈E}‍yvul=0,∀u∈V∖{s,t},∑{v∣(u,v)∈E}‍yuvl-∑{v∣(v,u)∈E}‍yvul=-1,foru=t.
Moreover, the following constraint ensures that each link belongs to at most one pathPl(l=1,…,k):
(3)∑l=1k‍yuvl≤1,∀(u,v)∈E.
The QoS constraints for each pathPl(l=1,…,k) are expressed as
(4)∑(u,v)∈E‍wi(u,v)yuvl≤Li,i=1,2,…,p.
Using constraint (4), every path Pl(l=1,…,k) is ensured to satisfy the QoS constraints Li(i=1,2,…,p).
If the value ofwi(u,v) is fixed to each link (u,v)∈E (e.g., the cost of sending one message or one unit data on the link (u,v) or the time delay on the link (u,v)), then the QoS constraints are linear constraints. When wi(u,v) is also a variable, the problem becomes more complex.
Disjoint QoS routing can be formulated as a 0-1 integer linear programming as follows.
DQSR:
(5)
Min.
∑
l
=
1
k
‍
∑
(
u
,
v
)
∈
E
c
(
u
,
v
)
y
u
v
l
subject
to
for
l
=
1,2
,
…
,
k
,
∀
u
∈
V
∑
{
v
∣
(
u
,
v
)
∈
E
}
‍
y
u
v
l
-
∑
{
v
∣
(
v
,
u
)
∈
E
}
‍
y
v
u
l
=
1
,
for
u
=
s
∑
{
v
∣
(
u
,
v
)
∈
E
}
‍
y
u
v
l
-
∑
{
v
∣
(
v
,
u
)
∈
E
}
‍
y
v
u
l
=
0
,
∀
u
∈
V
∖
{
s
,
t
}
,
∑
{
v
∣
(
u
,
v
)
∈
E
}
‍
y
u
v
l
-
∑
{
v
∣
(
v
,
u
)
∈
E
}
‍
y
v
u
l
=
-
1
,
for
u
=
t
∑
l
=
1
k
‍
y
u
v
l
≤
1
,
∀
(
u
,
v
)
∈
E
,
∑
(
u
,
v
)
∈
E
‍
w
i
(
u
,
v
)
y
u
v
l
≤
L
i
,
i
=
1,2
,
…
,
p
y
u
v
l
∈
{
0,1
}
,
(
u
,
v
)
∈
E
.
In general, the solutions to the above problem may not be integral. However, every integer solution defines a set ofk disjoint s-t paths. Thus, an integer solution Yl={yuvl}(u,v)∈E for l=1,2,…,k is the flow vector corresponding to the lth path Pl that is, the link (u,v) is on the path Pl if and only if yuvl=1.


## 3. Linear Relaxation of DQSR

DQSR is a 0-1 ILP formulation. This formulation is computationally intractable because of integrality. For networks involving a small number of nodes and links, these problems can be solved using any general-purpose 0-1 ILP package. For larger networks, faster algorithms are desired. Thus, we are interested in solving these problems after relaxing the integrality requirement and exploiting the special network structure of these problems for efficient algorithms.Theorem 2 (see [21]).
The following statements are equivalent.(i)
A is a totally unimodular matrix.(ii)
For everyQ⊆M={1,2,…,m}, a partition to Q1 and Q2 of Q exists such that
(6)|∑i∈Q1‍aij-∑i∈Q2‍aij|≤1,forj=1,2,…,n.Theorem 3 (see [21]).
Consider the following integer linear programming(P1):
(P1)Min.cxsubjecttoAx≤b,wherex≥0,andxanintegervector.
Relaxing the integrality constraints one gets the following relaxed version (P2):
(P2)Min.cxsubjecttoAx≤b,wherex≥0.
IfA is totally unimodular and b is an integer vector, then one can neglect the integer constraints of (P1) and solve the remaining (P2) as an ordinary linear programming using the simplex method. The obtained optimum basic feasible solution of (P2) is actually an optimum solution of (P1).Theorem3 shows that without the integrality condition, we can obtain the integral values of the variables because matrix A is totally unimodular.


### 3.1. Adaptive Penalty Function

We use a penalty function to deal with the constraint matrix in (4). The QoS constraints are added as penalty terms to the objective of DQSR. The penalty function is defined as follows:
(7)∑l=1k‍∑i=1p‍λit(∑(u,v)∈E‍wi(u,v)yuvl-Li).The elements of the nonnegative vectorλit=(λ1,λ2,…,λp) are called Lagrangian multipliers, where t is the number of iterations.If no violation occurs,λit is zero; otherwise, it is positive. If the penalty is either too large or too small, the problem could be very hard. A large penalty causes the algorithm to converge to a feasible solution very quickly, even if the solution is far from the optimal solution, whereas a small penalty causes too much time spent in searching for an unfeasible region. We design an adaptive penalty function to solve this problem as follows.The Lagrangian multipliers are updated using the following formula:(8)λit+1=λit+βiΔλit,
where Δλit is the value of violation and βi is adaptive penalty coefficient for constraint i. Δλit is defined as follows:
(9)Δλit=max(0,max(∑(u,v)∈Pl‍wi(u,v)-Li))(l=1,2,…,k;i=1,2,…,p).If the inequality holds,max(∑(u,v)∈Pl‍wi(u,v)-Li)≤0, Δλit is zero. Therefore, the constraint does not effect λit. If the constraint is violated, that is, Δλit>0, a large term is added to the function, such that the solution is pushed back toward the feasible region. The severity of the penalty depends on the adaptive penalty coefficient βi. βi is described as follows:
(10)βi={0,γi≤0,1α,0<γi≤0.2,1,0.2<γi≤0.5,α,γi>0.5,
where α is a constant greater than 1 and γi is the degree of violation. γi is defined as follows:
(11)γi=Δλitmax(∑(u,v)∈Plwi(u,v)),(l=1,2,…,k;i=1,2,…,p).The penalty coefficientβi is updated according to the information gathered from the solution, the degree of violation γi. The objective is to avoid a penalty that is too large or too small.


### 3.2. Linear Relaxation of DQSR

Based on Theorem3, we relax the integrality constraints of DQSR to solve the DQSR problem using (4) in the penalty function, constructing the following Lagrangian relaxed form.RELAX-DQSR:
(12)
Min.
∑
l
=
1
k
‍
∑
(
u
,
v
)
∈
E
‍
c
(
u
,
v
)
y
u
v
l
+
∑
l
=
1
k
‍
∑
i
=
1
p
‍
λ
i
t
(
∑
(
u
,
v
)
∈
E
‍
w
i
(
u
,
v
)
y
u
v
l
-
L
i
)
subject
to
for
l
=
1,2
,
…
,
k
,
∀
u
∈
V
2
Q
1
{
∑
{
v
∣
(
u
,
v
)
∈
E
}
‍
y
u
v
l
-
∑
{
v
∣
(
v
,
u
)
∈
E
}
‍
y
v
u
l
=
1
,
for
u
=
s
∑
{
v
∣
(
u
,
v
)
∈
E
}
‍
y
u
v
l
-
∑
{
v
∣
(
v
,
u
)
∈
E
}
‍
y
v
u
l
=
0
,
∀
u
∈
V
∖
{
s
,
t
}
,
∑
{
v
∣
(
u
,
v
)
∈
E
}
‍
y
u
v
l
-
∑
{
v
∣
(
v
,
u
)
∈
E
}
‍
y
v
u
l
=
-
1
,
for
u
=
t
Q
2
⟶
∑
l
=
1
k
‍
y
u
v
l
≤
1
,
y
u
v
l
≥
0
,
∀
(
u
,
v
)
∈
E
.Theorem 4.
The constraint matrix of RELAX-DQSR is totally unimodular.Proof.
PartitionQ⊆M={1,2,…,m} of the constraint matrix into Q1 and Q2, as shown in the above RELAX-DQSR. For Q1 and Q2, we have
(13)|∑i∈Q1‍aij-∑i∈Q2‍aij|≤1,forj=1,2,…,n.
Based on Theorem2, the constraint matrix is totally unimodular.Theorem 5.
The optimum solution of RELAX-DQSR is a 0-1 integer vector.Proof.
Based on Theorem4, the constraint matrix of RELAX-DQSR is totally unimodular. Based on Theorem 3, the optimum solution of RELAX-DQSR is an integer vector. Given that ∑l=1k‍yuvl≤1 and yuvl≥0, the optimum solution of RELAX-DQSR is a 0-1 integer vector.Theorem 6.
Letyuvl be an optimum solution of RELAX-DQSR; one has the following.(i)
Ifyuvl satisfies (4), then the paths P1,P2,…,Pk obtained by using (1) are the feasible solutions of DQSR.(ii)
Ifyuvl satisfies (4), and
(14)(∑(u,v)∈E‍wi(u,v)yuvl-Li)λi=0,i=1,2,…,p;l=1,2,…,k,then the paths P1,P2,…,Pk obtained by using (1) are the optimum solution of DQSR.Proof
(i)
Every 0-1 integer solution defines a set ofk disjoint paths. Given that yuvl is an optimum solution of RELAX-DQSR and satisfies (4), thus the paths P1,P2,…,Pk obtained by using (1) are the feasible solutions of DQSR.
(ii)
LetP={P1,P2,…,Pk}. Given that yuvl satisfies (4), thus P is the feasible solution of DQSR. Given that yuvl satisfies (14) and P is the optimum solution of RELAX-DQSR, letting P′={P1′,P2′,…,Pk′} be a feasible solution of DQSR, we have
(15)∑l=1k‍∑(u,v)∈P′‍c(u,v)yuvl≥∑l=1k‍∑(u,v)∈P′‍c(u,v)yuvl+∑l=1k‍∑i=1p‍λit(∑(u,v)∈P′‍wi(u,v)yuvl-Li)≥∑l=1k‍∑(u,v)∈P‍c(u,v)yuvl+∑l=1k‍∑i=1p‍λit(∑(u,v)∈P‍wi(u,v)yuvl-Li)=∑l=1k‍∑(u,v)∈P‍c(u,v)yuvl.
Hypothesizing thatP is not the optimum solution of DQSR, hence, an optimum solution P* exists, such that
(16)∑l=1k‍∑(u,v)∈P*‍c(u,v)yuvl<∑l=1k‍∑(u,v)∈P‍c(u,v)yuvl.
This statement contradicts (15). Hence, P={P1,P2,…,Pk} is the optimum solution of DQSR.
Applying Theorems3, 5, and 6, RELAX-DQSR can be easily solved as a linear programming, and the optimum solution obtained is a 0-1 integer vector. Hence, DQSR can be solved by iterating the calculation of RELAX-DQSR.


## 3.1. Adaptive Penalty Function

We use a penalty function to deal with the constraint matrix in (4). The QoS constraints are added as penalty terms to the objective of DQSR. The penalty function is defined as follows:
(7)∑l=1k‍∑i=1p‍λit(∑(u,v)∈E‍wi(u,v)yuvl-Li).The elements of the nonnegative vectorλit=(λ1,λ2,…,λp) are called Lagrangian multipliers, where t is the number of iterations.If no violation occurs,λit is zero; otherwise, it is positive. If the penalty is either too large or too small, the problem could be very hard. A large penalty causes the algorithm to converge to a feasible solution very quickly, even if the solution is far from the optimal solution, whereas a small penalty causes too much time spent in searching for an unfeasible region. We design an adaptive penalty function to solve this problem as follows.The Lagrangian multipliers are updated using the following formula:(8)λit+1=λit+βiΔλit,
where Δλit is the value of violation and βi is adaptive penalty coefficient for constraint i. Δλit is defined as follows:
(9)Δλit=max(0,max(∑(u,v)∈Pl‍wi(u,v)-Li))(l=1,2,…,k;i=1,2,…,p).If the inequality holds,max(∑(u,v)∈Pl‍wi(u,v)-Li)≤0, Δλit is zero. Therefore, the constraint does not effect λit. If the constraint is violated, that is, Δλit>0, a large term is added to the function, such that the solution is pushed back toward the feasible region. The severity of the penalty depends on the adaptive penalty coefficient βi. βi is described as follows:
(10)βi={0,γi≤0,1α,0<γi≤0.2,1,0.2<γi≤0.5,α,γi>0.5,
where α is a constant greater than 1 and γi is the degree of violation. γi is defined as follows:
(11)γi=Δλitmax(∑(u,v)∈Plwi(u,v)),(l=1,2,…,k;i=1,2,…,p).The penalty coefficientβi is updated according to the information gathered from the solution, the degree of violation γi. The objective is to avoid a penalty that is too large or too small.


## 3.2. Linear Relaxation of DQSR

Based on Theorem3, we relax the integrality constraints of DQSR to solve the DQSR problem using (4) in the penalty function, constructing the following Lagrangian relaxed form.RELAX-DQSR:
(12)
Min.
∑
l
=
1
k
‍
∑
(
u
,
v
)
∈
E
‍
c
(
u
,
v
)
y
u
v
l
+
∑
l
=
1
k
‍
∑
i
=
1
p
‍
λ
i
t
(
∑
(
u
,
v
)
∈
E
‍
w
i
(
u
,
v
)
y
u
v
l
-
L
i
)
subject
to
for
l
=
1,2
,
…
,
k
,
∀
u
∈
V
2
Q
1
{
∑
{
v
∣
(
u
,
v
)
∈
E
}
‍
y
u
v
l
-
∑
{
v
∣
(
v
,
u
)
∈
E
}
‍
y
v
u
l
=
1
,
for
u
=
s
∑
{
v
∣
(
u
,
v
)
∈
E
}
‍
y
u
v
l
-
∑
{
v
∣
(
v
,
u
)
∈
E
}
‍
y
v
u
l
=
0
,
∀
u
∈
V
∖
{
s
,
t
}
,
∑
{
v
∣
(
u
,
v
)
∈
E
}
‍
y
u
v
l
-
∑
{
v
∣
(
v
,
u
)
∈
E
}
‍
y
v
u
l
=
-
1
,
for
u
=
t
Q
2
⟶
∑
l
=
1
k
‍
y
u
v
l
≤
1
,
y
u
v
l
≥
0
,
∀
(
u
,
v
)
∈
E
.Theorem 4.
The constraint matrix of RELAX-DQSR is totally unimodular.Proof.
PartitionQ⊆M={1,2,…,m} of the constraint matrix into Q1 and Q2, as shown in the above RELAX-DQSR. For Q1 and Q2, we have
(13)|∑i∈Q1‍aij-∑i∈Q2‍aij|≤1,forj=1,2,…,n.
Based on Theorem2, the constraint matrix is totally unimodular.Theorem 5.
The optimum solution of RELAX-DQSR is a 0-1 integer vector.Proof.
Based on Theorem4, the constraint matrix of RELAX-DQSR is totally unimodular. Based on Theorem 3, the optimum solution of RELAX-DQSR is an integer vector. Given that ∑l=1k‍yuvl≤1 and yuvl≥0, the optimum solution of RELAX-DQSR is a 0-1 integer vector.Theorem 6.
Letyuvl be an optimum solution of RELAX-DQSR; one has the following.(i)
Ifyuvl satisfies (4), then the paths P1,P2,…,Pk obtained by using (1) are the feasible solutions of DQSR.(ii)
Ifyuvl satisfies (4), and
(14)(∑(u,v)∈E‍wi(u,v)yuvl-Li)λi=0,i=1,2,…,p;l=1,2,…,k,then the paths P1,P2,…,Pk obtained by using (1) are the optimum solution of DQSR.Proof
(i)
Every 0-1 integer solution defines a set ofk disjoint paths. Given that yuvl is an optimum solution of RELAX-DQSR and satisfies (4), thus the paths P1,P2,…,Pk obtained by using (1) are the feasible solutions of DQSR.
(ii)
LetP={P1,P2,…,Pk}. Given that yuvl satisfies (4), thus P is the feasible solution of DQSR. Given that yuvl satisfies (14) and P is the optimum solution of RELAX-DQSR, letting P′={P1′,P2′,…,Pk′} be a feasible solution of DQSR, we have
(15)∑l=1k‍∑(u,v)∈P′‍c(u,v)yuvl≥∑l=1k‍∑(u,v)∈P′‍c(u,v)yuvl+∑l=1k‍∑i=1p‍λit(∑(u,v)∈P′‍wi(u,v)yuvl-Li)≥∑l=1k‍∑(u,v)∈P‍c(u,v)yuvl+∑l=1k‍∑i=1p‍λit(∑(u,v)∈P‍wi(u,v)yuvl-Li)=∑l=1k‍∑(u,v)∈P‍c(u,v)yuvl.
Hypothesizing thatP is not the optimum solution of DQSR, hence, an optimum solution P* exists, such that
(16)∑l=1k‍∑(u,v)∈P*‍c(u,v)yuvl<∑l=1k‍∑(u,v)∈P‍c(u,v)yuvl.
This statement contradicts (15). Hence, P={P1,P2,…,Pk} is the optimum solution of DQSR.
Applying Theorems3, 5, and 6, RELAX-DQSR can be easily solved as a linear programming, and the optimum solution obtained is a 0-1 integer vector. Hence, DQSR can be solved by iterating the calculation of RELAX-DQSR.


## 4. Proposed Algorithm

### 4.1. Algorithm Solvingk-Disjoint QoS Routing

The proposed heuristic algorithm based on an adaptive penalty function and ILP for disjoint QoS routing problem can be finally summarized as follows.Algorithm 7.
Step
1 (initialize). The initial values are as follows: t=0, the maximum iterate number T, the initial Lagrangian multipliers λi0=0(i=1,2,…,p) and the penalty parameter α=2.
Step
2 (formulate). The disjoint QoS routing problem is formulated as DQSR.
Step
3 (relax). The integrality constraints of DQSR, including the penalty term, are relaxed, and then RELAX-DQSR is obtained.
Step
4 (solve). RELAX-DQSR is solved, and k paths Pl(l=1,…,k) are obtained using yuvl and (1).
Step
5 (evaluate). For p constraints and k paths, Δλit is computed according to (9). If Δλit=0(i=1,2,…,p), then the computation is stopped with the solution k paths Pl(l=1,…,k). Otherwise, Step 6 is performed.
Step
6 (penalize and update). If t<T, multipliers λit+1 are computed according to (8), t:=t+1. RELAX-DQSR is updated, and step 3 is repeated.
The proposed algorithm can make the computation more efficient because solving the relaxation linear programming of a 0-1 ILP is much easier than solving a 0-1 integer linear programming. Using a penalty function can guarantee the feasibility of a solution, thus obtainingk paths that satisfy the QoS requirements. Evidently, based on Theorem 6, we have the following.Theorem 8.
LetPl(l=1,…,k) be a solution obtained by using our algorithm; thus,(i)
if our algorithm stops in Step 5 andPl satisfies (4) and (14), then Pl is the optimum solution of DQSR;(ii)
if our algorithm stops in Step 5 andPl only satisfies (4), then Pl is the feasible solution of DQSR.


### 4.2. Illustration with an Example

We consider the following example to provide a clear description of the proposed algorithm. Figure1 shows a network topology consisting of 8 nodes and 13 links. Each link is denoted by the notation (c,d), representing the cost and delay of the link, respectively.Figure 1
Topology and parameters of the networks.Assuming that the source node is 1 and the destination node is 8, the QoS requirements consist of only the delayL1, where L1=15. We find two disjoint paths from the source node 1 to the destination node 8, having a minimum total cost and satisfying the QoS requirement.The iterative process is as follows.(1)
Initialize. Set t=0, T=20, λ10=0, and α=2.(2)
Formulate, Relax, and Solve. The disjoint QoS routing is formulated as DQSR, and the relaxation form RELAX-DQSR is solved. The solution indicates that the two paths are V1→V5→V8 and V1→V2→V6→V7→V8, as shown in Figure 2.(3)
The two paths are evaluated with constraintL1. The cost and delay of the first path are 7 and 9, respectively. The cost and delay of the second path are 15 and 20, respectively. The total cost of the two paths is the minimum. However, the delay of the second path destroys the delay constraint L1.(4)
Penalize and Update. The multiplier is computed according to (8) and λ11=5 is obtained. RELAX-DQSR is updated. Step 3 is repeated, and two new paths, V1→V5→V8 and V1→V3→V4→V8, are obtained, as shown in Figure 3. The cost and delay of the first path are 7 and 9, respectively. The cost and delay of the second path are 17 and 12, respectively. Both paths are feasible paths, satisfying the two QoS requirements.Figure 2
The first solution.Figure 3
The second solution.


## 4.1. Algorithm Solvingk-Disjoint QoS Routing

The proposed heuristic algorithm based on an adaptive penalty function and ILP for disjoint QoS routing problem can be finally summarized as follows.Algorithm 7.
Step
1 (initialize). The initial values are as follows: t=0, the maximum iterate number T, the initial Lagrangian multipliers λi0=0(i=1,2,…,p) and the penalty parameter α=2.
Step
2 (formulate). The disjoint QoS routing problem is formulated as DQSR.
Step
3 (relax). The integrality constraints of DQSR, including the penalty term, are relaxed, and then RELAX-DQSR is obtained.
Step
4 (solve). RELAX-DQSR is solved, and k paths Pl(l=1,…,k) are obtained using yuvl and (1).
Step
5 (evaluate). For p constraints and k paths, Δλit is computed according to (9). If Δλit=0(i=1,2,…,p), then the computation is stopped with the solution k paths Pl(l=1,…,k). Otherwise, Step 6 is performed.
Step
6 (penalize and update). If t<T, multipliers λit+1 are computed according to (8), t:=t+1. RELAX-DQSR is updated, and step 3 is repeated.
The proposed algorithm can make the computation more efficient because solving the relaxation linear programming of a 0-1 ILP is much easier than solving a 0-1 integer linear programming. Using a penalty function can guarantee the feasibility of a solution, thus obtainingk paths that satisfy the QoS requirements. Evidently, based on Theorem 6, we have the following.Theorem 8.
LetPl(l=1,…,k) be a solution obtained by using our algorithm; thus,(i)
if our algorithm stops in Step 5 andPl satisfies (4) and (14), then Pl is the optimum solution of DQSR;(ii)
if our algorithm stops in Step 5 andPl only satisfies (4), then Pl is the feasible solution of DQSR.


## 4.2. Illustration with an Example

We consider the following example to provide a clear description of the proposed algorithm. Figure1 shows a network topology consisting of 8 nodes and 13 links. Each link is denoted by the notation (c,d), representing the cost and delay of the link, respectively.Figure 1
Topology and parameters of the networks.Assuming that the source node is 1 and the destination node is 8, the QoS requirements consist of only the delayL1, where L1=15. We find two disjoint paths from the source node 1 to the destination node 8, having a minimum total cost and satisfying the QoS requirement.The iterative process is as follows.(1)
Initialize. Set t=0, T=20, λ10=0, and α=2.(2)
Formulate, Relax, and Solve. The disjoint QoS routing is formulated as DQSR, and the relaxation form RELAX-DQSR is solved. The solution indicates that the two paths are V1→V5→V8 and V1→V2→V6→V7→V8, as shown in Figure 2.(3)
The two paths are evaluated with constraintL1. The cost and delay of the first path are 7 and 9, respectively. The cost and delay of the second path are 15 and 20, respectively. The total cost of the two paths is the minimum. However, the delay of the second path destroys the delay constraint L1.(4)
Penalize and Update. The multiplier is computed according to (8) and λ11=5 is obtained. RELAX-DQSR is updated. Step 3 is repeated, and two new paths, V1→V5→V8 and V1→V3→V4→V8, are obtained, as shown in Figure 3. The cost and delay of the first path are 7 and 9, respectively. The cost and delay of the second path are 17 and 12, respectively. Both paths are feasible paths, satisfying the two QoS requirements.Figure 2
The first solution.Figure 3
The second solution.


## 5. Performance Evaluation

We demonstrate the effectiveness of our algorithm by comparing the results with the optimal values obtained by solving the 0-1 ILP formulation using the Cplex 12 solver. Three main performance metrics are considered, namely, average running time, optimal objective value, and the success rate. Our algorithm was coded in Matlab 2009 and implemented on an Intel Core 2, 2.53 GHz CPU with 2 GB RAM running on Windows XP.


### 5.1. Network Topology

We consider random network topologies generated using Waxman's model [22]. For a topology G=(V,E), the number of nodes, links, disjoint paths, and QoS metrics is, respectively, denoted as n, m, k, and p. Nodes 1 and n are chosen as the source and target nodes, respectively. The link costs, delays, and other QoS metrics are uniform randomly generated integers in the range from 1 to 20. For each QoS metric i∈p, the metric bounds are Li=αLmax,i+(1-α)Lmin,i, where Lmin,i denotes the total value of the minimum-metric path with respect to the metric i, and Lmax,i denotes the total values, with respect to the metric i, of the shortest path (with respect to cost). We examine α, set to the low (L), medium (M), and high (H) values of 0.05, 0.50, and 0.95, respectively; “L-instances” are tightly constrained, “H-instances” are loosely constrained, and “M-instances” are in between.


### 5.2. Results and Discussion

We generate ten random datasets using Waxman's model with 400, 800, 1200, 1600, and 2000 nodes. Table1 lists the number of nodes, links, disjoint paths, and QoS constraints, denoted by n, m, k, and CON, respectively. The QoS metrics are loosely constrained. The numerical results obtained from our algorithm for these datasets are also listed in Table 1. These results include the objective value, solution type, average running time, and number of iterations, denoted by OBJ, OBJ-type, time, and ITE, respectively. The solution can be classified into three types, namely, optimal solution (O), feasible solution (F), and null (N). The average running times are the average values over twenty iterations. The numerical results obtained from Cplex are also given in Table 1.Table 1
Comparative results between our algorithm and Cplex.
Dataset
Metrics
Our algorithm
Cplex
CON
OBJ
OBJ-type
Time (in s)
ITE
OBJ
Time (in s)
Dataset 1
n
=
400 m=3694 k=2
1
100
O
0.016
0
100
0.078
3
100
O
0.016
0
100
0.125
5
100
O
0.015
0
100
0.188
7
113
F
0.016
1
109
0.281
9
113
F
0.016
1
109
0.344
Dataset 2
n
=
800 m=6666 k=2
1
117
F
0.047
1
117
0.171
3
128
F
0.046
1
120
0.313
5
120
F
0.048
1
120
0.484
7
120
F
0.046
1
120
0.641
9
120
F
0.046
1
120
0.843
Dataset 3
n
=
1200 m=9838 k=2
1
117
O
0.031
0
117
0.266
3
118
F
0.246
4
118
0.594
5
143
F
0.405
8
123
1.015
7
146
F
0.187
3
123
1.359
9
136
F
0.157
3
136
3.516
Dataset 4
n
=
1600 m=12902 k=2
1
165
F
0.109
0
151
0.485
3
167
F
0.094
0
154
2.266
5
162
F
0.11
0
155
2.422
7
155
O
0.109
0
155
2.907
9
155
O
0.078
0
155
3.891
Dataset 5
n
=
2000 m=18352 k=2
1
132
O
0.094
0
132
0.688
3
135
F
0.156
1
135
1.641
5
135
F
0.172
1
135
2.469
7
158
F
0.328
3
143
3.672
9
158
F
0.266
2
143
4.562From the numerical results, our algorithm is much faster than the commercial quality Cplex package for the randomly generated topologies and converges after only a few iterations. In some cases, the objective values given by our algorithm and the optimal values obtained by Cplex are the same, that is, 15 out of 25 problems for the randomly generated datasets. For the remaining cases, the difference is small.Figure4 shows a comparison of the average running times between our algorithm and Cplex for the datasets in Table 1. Our algorithm is much faster than Cplex. With an increase in the number of nodes, the average running time of both algorithms also increases. However, the increase rate of our algorithm is far less than Cplex.Figure 4
Comparison of the average running times and the variation in the average running time with the number of nodes.Figure5 plots the average running time against the number of constraints. The average running time of our algorithm was not significantly affected by the number of constraints p.Figure 5
Comparison of the average running times and the variation in the average running time with the number of constraints.Figure6 shows the comparison of the objective values obtained by the two algorithms. Some objective values are the same, whereas others are just close.Figure 6
Comparison of the objective values.Finally, we analyse the success rate of the proposed algorithm under three different constraint conditions, namely, tightly constrained, generally constrained, and loosely constrained. In the simulations, the number of network nodesN is assumed to be 400, 800, 1200, 1600, and 2000. For each N, 20000 random topologies are generated under three different constraint conditions. Figure 7 plots the success rate of the proposed algorithm against the three different constraint conditions and shows a comparison of the success rate between our algorithm and Cplex. The results show that the success rates of our algorithm is significantly higher than Cplex under three different constraint conditions. The success rate is relatively low under tight constraint condition because tight constraints resulting feasible solution may not exist. With the relaxation of constraint conditions, the success rate gradually increased. The success rate is close to 100% under loose constraint condition.Figure 7
Comparison of the success rates.


## 5.1. Network Topology

We consider random network topologies generated using Waxman's model [22]. For a topology G=(V,E), the number of nodes, links, disjoint paths, and QoS metrics is, respectively, denoted as n, m, k, and p. Nodes 1 and n are chosen as the source and target nodes, respectively. The link costs, delays, and other QoS metrics are uniform randomly generated integers in the range from 1 to 20. For each QoS metric i∈p, the metric bounds are Li=αLmax,i+(1-α)Lmin,i, where Lmin,i denotes the total value of the minimum-metric path with respect to the metric i, and Lmax,i denotes the total values, with respect to the metric i, of the shortest path (with respect to cost). We examine α, set to the low (L), medium (M), and high (H) values of 0.05, 0.50, and 0.95, respectively; “L-instances” are tightly constrained, “H-instances” are loosely constrained, and “M-instances” are in between.


## 5.2. Results and Discussion

We generate ten random datasets using Waxman's model with 400, 800, 1200, 1600, and 2000 nodes. Table1 lists the number of nodes, links, disjoint paths, and QoS constraints, denoted by n, m, k, and CON, respectively. The QoS metrics are loosely constrained. The numerical results obtained from our algorithm for these datasets are also listed in Table 1. These results include the objective value, solution type, average running time, and number of iterations, denoted by OBJ, OBJ-type, time, and ITE, respectively. The solution can be classified into three types, namely, optimal solution (O), feasible solution (F), and null (N). The average running times are the average values over twenty iterations. The numerical results obtained from Cplex are also given in Table 1.Table 1
Comparative results between our algorithm and Cplex.
Dataset
Metrics
Our algorithm
Cplex
CON
OBJ
OBJ-type
Time (in s)
ITE
OBJ
Time (in s)
Dataset 1
n
=
400 m=3694 k=2
1
100
O
0.016
0
100
0.078
3
100
O
0.016
0
100
0.125
5
100
O
0.015
0
100
0.188
7
113
F
0.016
1
109
0.281
9
113
F
0.016
1
109
0.344
Dataset 2
n
=
800 m=6666 k=2
1
117
F
0.047
1
117
0.171
3
128
F
0.046
1
120
0.313
5
120
F
0.048
1
120
0.484
7
120
F
0.046
1
120
0.641
9
120
F
0.046
1
120
0.843
Dataset 3
n
=
1200 m=9838 k=2
1
117
O
0.031
0
117
0.266
3
118
F
0.246
4
118
0.594
5
143
F
0.405
8
123
1.015
7
146
F
0.187
3
123
1.359
9
136
F
0.157
3
136
3.516
Dataset 4
n
=
1600 m=12902 k=2
1
165
F
0.109
0
151
0.485
3
167
F
0.094
0
154
2.266
5
162
F
0.11
0
155
2.422
7
155
O
0.109
0
155
2.907
9
155
O
0.078
0
155
3.891
Dataset 5
n
=
2000 m=18352 k=2
1
132
O
0.094
0
132
0.688
3
135
F
0.156
1
135
1.641
5
135
F
0.172
1
135
2.469
7
158
F
0.328
3
143
3.672
9
158
F
0.266
2
143
4.562From the numerical results, our algorithm is much faster than the commercial quality Cplex package for the randomly generated topologies and converges after only a few iterations. In some cases, the objective values given by our algorithm and the optimal values obtained by Cplex are the same, that is, 15 out of 25 problems for the randomly generated datasets. For the remaining cases, the difference is small.Figure4 shows a comparison of the average running times between our algorithm and Cplex for the datasets in Table 1. Our algorithm is much faster than Cplex. With an increase in the number of nodes, the average running time of both algorithms also increases. However, the increase rate of our algorithm is far less than Cplex.Figure 4
Comparison of the average running times and the variation in the average running time with the number of nodes.Figure5 plots the average running time against the number of constraints. The average running time of our algorithm was not significantly affected by the number of constraints p.Figure 5
Comparison of the average running times and the variation in the average running time with the number of constraints.Figure6 shows the comparison of the objective values obtained by the two algorithms. Some objective values are the same, whereas others are just close.Figure 6
Comparison of the objective values.Finally, we analyse the success rate of the proposed algorithm under three different constraint conditions, namely, tightly constrained, generally constrained, and loosely constrained. In the simulations, the number of network nodesN is assumed to be 400, 800, 1200, 1600, and 2000. For each N, 20000 random topologies are generated under three different constraint conditions. Figure 7 plots the success rate of the proposed algorithm against the three different constraint conditions and shows a comparison of the success rate between our algorithm and Cplex. The results show that the success rates of our algorithm is significantly higher than Cplex under three different constraint conditions. The success rate is relatively low under tight constraint condition because tight constraints resulting feasible solution may not exist. With the relaxation of constraint conditions, the success rate gradually increased. The success rate is close to 100% under loose constraint condition.Figure 7
Comparison of the success rates.


## 6. Conclusion

In this paper, we study the NP-complete disjoint QoS routing. An efficient algorithm based on an adaptive penalty function and 0-1 ILP is proposed for solving the disjoint QoS routing problem. The computational results obtained indicated that the proposed algorithm is efficient and much faster than the commercial quality Cplex package for the randomly generated topologies.



---

*Source: 489149-2013-12-04.xml*