Performance Evaluation 57 (2004) 261–278
Optimal and heuristic algorithms for quality-of-service routing with multiple constraints Wen-Lin Yang Department of Information Technology, National Pingtung Institute of Commerce, No. 51, Ming-Sheng East Road, Pingtung City, Taiwan, ROC Received 25 July 2002; received in revised form 30 October 2003 Available online 24 January 2004
Abstract The multi-constrained path (MCP) selection problem occurs when the quality-of-services (QoS) are supported for point-topoint connections in the distributed multimedia applications deployed on the Internet. This NP-complete problem is concerned about how to determine a feasible path between two given end-points, so that a set of QoS path constraints can be satisfied simultaneously. Based on the branch-and-bound technique and tabu-searching strategy, an optimal algorithm and a tabu-search based heuristic are developed in this paper for solving the MCP problem with multiple constraints. The experimental results show that our tabu-search based heuristic not only outperforms the previous method published in literature, but also demonstrates that it is indeed a highly efficient method for solving the MCP problem in large-scale networks. © 2003 Published by Elsevier B.V. Keywords: Quality-of-service; Branch-and-bound; Tabu-search; Multi-constrained path; Cognitive packet networks
1. Introduction Traditionally, the Internet’s network-layer protocol, IP, provides a best-effort service. IP packets on Internet are moved from source-to-destination as quickly as possible, and they are routed independently of each other. The best-effort service does not make any promises on end-to-end delay for each packet, that is, quality-of-service (QoS) is not supported. However, multimedia applications involved in real-time applications require multiple classes of QoS guarantees. For example, real-time interactive multimedia applications, such as Internet phone and real-time video conferencing, are acutely sensitive to packet delay, jitter and loss. Thus, several integrated network services, such as ATM [22], MPLS [30], Intserv [1] and Diffserv [2] are developed to provide different levels of QoS guarantees for the real-time multimedia applications. E-mail address:
[email protected] (W.-L. Yang). 0166-5316/$ – see front matter © 2003 Published by Elsevier B.V. doi:10.1016/j.peva.2003.11.002
262
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
For reservation-based services such as ATM and Intserv, a call admission control (CAC) mechanism is implemented to control traffic congestion and satisfy users’ QoS request [20–22]. It is a process to determine whether a call setup should be accepted or rejected. To establish a point-to-point communication, a call setup message must be sent out to reserve sufficient resources (e.g., bandwidth, buffer) at each switch (or router) on a source-to-destination path to ensure that QoS requirements are satisfied. If no sufficient resource can be reserved at any intermediate node, then the call setup process fails. A message is sent back, hop by hop, to the source node. An alternate path is then considered to establish the call. We assume that an outgoing link state of a node is represented by several QoS parameters such as bandwidth, delay, jitter, loss, etc. Based on the broadcasting, the state information of each link can be received and saved in the network-state table (NST) [20] for each node. By consulting the network-state table, a routing algorithm is used to determine a feasible path from source-to-destination such that a set of given QoS constraints is satisfied simultaneously. This QoS routing problem is referred as a multi-constrained path selection problem (MCP) [3,28], which is known to be NP-complete [5,17]. Since almost all the multimedia applications require a QoS routing mechanism, a class of QoS routing problems involving finding a path or a multicast tree has been extensively studied [3–16]. In this paper, we propose an efficient algorithm named tabu-search based heuristic for solving the MCP problem. Recently, a new network architecture called “cognitive packet networks” (CPNs) has been proposed [23–26]. CPNs carry three types of packets: cognitive packets (CPs), dumb packets (DPs) and acknowledgements (ACK). CPs route themselves, and discover a routing path to a destination. They are assigned QoS goals before entering the network, and search for a best route satisfies user’s QoS requirements and adapt their decisions to the change of the network. When a CP arrives at a destination, an ACK packet is then sent back to the source along the reverse path. As the ACK packet arrives at the source, dumb packets carry data and follow the path discovered by CP to the destination. In paper [23], a QoS goal G is formulated as a function of delay and loss based on an assumption that packet losses are only the result of congestion, that is, delay and loss are correlated. A reinforcement learning algorithm [27] stored at “executable code” field of a CP is used to minimize the G value. However, for a MCP problem with general multiple QoS measures, such as delay, jitter and loss, it is not easy to define a single QoS goal, since these QoS measures may be not correlated and our aim is to find a path such that the value of each QoS measure is bounded by a given constraint. For a MCP problem with multiple QoS goals in CPNs, our tabu-search based heuristic can be implemented in a CP to determine a path. One of four fields of a CP packet is the “cognitive map” (CM) section, which is used to collect the global network-state information. Before a CP leaving the source, our tabu-based based heuristic stored in “executable code” field of the CP can be used to compute a feasible path by consulting the link state information stored at the CM field. The CP then follows the path, hop by hop, to the destination. If a CP arrives at an intermediate node and discovers the next outgoing link is not available because the link state is changed, it may repeatedly apply our heuristic to compute an alternate path from the current node to destination. If no alternate path can be found, an ACK packet is then sent back to source with the latest state information of all the links which the original CP has traversed. As a result, the up-to-date link state information of entire network can be obtained at the source, and an alternate source-to-destination path is then computed for a new CP. The above path-probing process is repeated until a feasible path satisfying the given QoS constraints is found. The goal of this study is to develop an optimal algorithm and a heuristic algorithm for solving the MCP problems with multiple constraints. The optimal algorithm is developed based on the branch-and-bound technique. According to the simulation carried out in paper [19], performance of the branch-and-bound
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
263
based optimal algorithm is much more efficient than the extended Bellman–Ford based optimal algorithm [3]. As for the heuristic algorithm, it was developed based on the tabu-searching strategy and the branch-and-bound based optimal algorithm. Based on experimental results given in Section 6, it is shown that our tabu-search based heuristic method not only performs very well on a number of different network topologies, but also demonstrates that it is indeed a highly efficient method for solving the large-scale MCP problems. The rest of the paper is organized as follows. In Section 2, previous work on the MCP is reviewed. The MCP problem is formulated in Section 3. An optimal algorithm and a tabu-search based heuristic are presented in Sections 4 and 5, respectively. In Section 6, numerical simulations of our proposed algorithms are given, and performance comparisons with a previously published method are also provided. Finally, in Section 7, we will present our conclusions.
2. Previous work Since the MCP is an NP-complete problem, a number of heuristic methods were developed in the past [3–8,28]. In [6,7], the MCP problem with only two independent additive QoS constraints was studied, and polynomial-time heuristic algorithms were proposed. In [8], a heuristic is developed for three constraints: delay, jitter and bandwidth, where bandwidth is a non-additive constraint. For the MCP problem with multiple additive QoS constrains, two heuristic methods have been published in [3,4]. A limited path heuristic modified from extended Bellman–Ford algorithm [9] was developed in [3], where the simulation results show that this method works well for a small mesh of 64 nodes. However, since it requires O(N 2 ln(N)) space in each node to store all the legal partial paths, the required running space could be enormous for networks with a large amount of nodes. Hence, this approach is not suitable for the MCP problem in large-scale networks. In [4], a randomized heuristic algorithm with O(N 2 ) time complexity and O(N) storage complexity was proposed for the MCP problem with multiple constraints. Although this heuristic algorithm can efficiently solve small-size MCP problems, its performance degrades very fast as the distance between two given end-points is increased. A simulation study of this algorithm is presented in Section 6.
3. The MCP problem Consider a network that is modeled by a directed graph G(V, E), where V is a set of nodes and E a set of links. Each link (u, v) ∈ E is associated with k positive additive QoS measures: wi (u, v), where i = 0, 1, . . . , (k − 1). For any link e from u to v, the following k-dimensional link weight vector: w(u, v) = w(e) = (w0 (e), . . . , wk−1 (e)), is defined to represent k QoS parameters assigned on link e. In addition, for a path P and a QoS measure i, the path weight Wi (P) is defined as the summation of wi (e) on every link e along the path P. For non-additive QoS measures like bandwidth, a pre-processing procedure can be invoked to remove links with bandwidth less than requirement. As for multiplicative measures (e.g. packet loss), they can be transformed into additive weights by using the logarithm [29]. Hence, only positive additive QoS measures (e.g. delay, jitter) are considered in this study. Given k constraints Ci , 0 ≤ i ≤ (k − 1), and a pair of nodes S and T representing a source node and a destination node, respectively, the goal of the MCP
264
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
problem is to find a path P from S to T such that Wi (P) = (u,v)∈P wi (u, v) ≤ Ci , where 0 ≤ i ≤ (k −1). A path that can simultaneously satisfy all the QoS constraints is called a feasible path.
4. The optimal algorithm In this section, we present an optimal algorithm for the MCP problem. The algorithm is developed based on the branch-and-bound technique and given in Fig. 3. In Section 5, the optimal algorithm is modified to be a heuristic named BBH, which is used as a kernel function for developing our tabu-search based heuristic algorithm for solving MCP problem. 4.1. The branch-and-bound based algorithm In order to solve the MCP problem optimally, a data structure called state-space tree is generated from a given network G to record all the feasible paths. Based on the state-space tree, a branch-and-bound based algorithm is applied to search for a feasible path. The state-space tree is constructed in the following ways. Let the source node of network G be the root of the state-space tree. As shown in Fig. 2, for each state node Sj in the state-space tree, two labels mark it: one is the node number j in the original network G and another one is an attribute vector. Let Yj denote the attribute vector of state node Sj . Let k denotes the number of QoS constraints, and Yi can then be defined as follows: 1. Yj = (obj valuej , Wj,0 , . . . , Wj,k−1 ), where Wj,i = (u,v)∈P wj,i (u, v), 0 ≤ i ≤ (k − 1). 2. In Fig. 3, obj valuej is the attribute vector Yj is computed based on the following equation: obj valuej =
k−1 [Wi (s → j) − Ci ],
(1)
i=0
where obj valuej = 1, if [Wi (s → j) − Ci ] > 0, for any QoS parameter i. In the above equation, we use Wi (s → j) representing the summation of wi (e) on every link e along the path from source node s to node j. For any state node Su with node-label u, a new state node Sv is created for each downstream node v, if the link (u, v) is in the network G. In addition, these new state nodes are made to be children of Su , and they are at the same level in the state-space tree. For any intermediate state node Sj with node-label j, downstream nodes of node j cannot be added in the state-space tree if the Wj,i > Ci , where Ci is a given constraint and 0 ≤ i ≤ (k − 1). Since one of the QoS constraints is violated, the path from root to state node Sj is not a feasible path for the MCP problem. As a result, the state node Sj becomes a leaf node in the state-space tree. By applying the above branching process recursively, the entire state-space tree is then obtained for the MCP problem. The destination node must appear at some of the leaf nodes of the state-space tree. Since the goal of our problem is to find a feasible path that satisfies all the path constraints, we may speed up this searching process by giving priorities to the state nodes that are eligible for branching. That is, the state node j with the smallest obj valuej should have the highest priority to be selected for branching. This searching strategy is based on an observation that a state node with smaller obj value would have
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
265
source (1,2)
0
(1,1)
(1,1)
1
(1,1)
(1,1)
2
3
(2,4)
(2,2)
(3,4)
4
5
destination
Link attribute vector=(weight0, weight1)
Fig. 1. An example of six-node network.
more chance to lead to a feasible path. A priority heap maintained in Fig. 3 is used to keep all the state nodes, where the node with the smallest obj value should be always on the root of the heap. As shown in lines 21 and 22 of Fig. 3, only state nodes that contain non-destination nodes and their obj value are not greater than zero, are eligible for further branching, and are thus stored in the heap. The time complexity of our branch-and-bound algorithm is bounded by O(d h ), where h denotes the number of hops of the desired path and d represents the largest node-degree in the network, since at the worst case the height of the state-space tree is at most h and the number of children of any state node is not greater than the largest node-degree. 4.2. An example To illustrate our branch-and-bound method for the MCP problem, a numerical example is given in Figs. 1 and 2. Based on a six-node network given in Fig. 1, the nodes 0 and 5 are assumed to be the source and destination, respectively, and all the paths between these two nodes must satisfy two QoS constraints, C0 and C1 , which are not more than 5. A state-space tree is then constructed in Fig. 2, where all the state nodes are numbered based on their creating sequence. For example, state nodes s4 and s5 are created earlier than state nodes s6 and s7 , because the obj value of s3 is −6 and the obj value of s2 is −7. The branching process occurs on state node s2 is earlier than (0,0,0) (_8,1,1)
0
(_7,1,2)
s0 (_6,2,2)
2 s1
1 (1,3,6)
4 s3 _ 1 ( 4,3,3) s6
4 s4 5 (1,5,6) s7
s2
(_5,2,3) 3
s5 _ ( 1,4,5)
5 s8
node attribute vector=(obj_value, w0, w1) C0=5, C1=5 Fig. 2. State-space tree construction based on branch-and-bound algorithm.
266
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
state node s3 . For the same reason, the branching process occurs on state node s3 is earlier than state node s5 . Note that the path (s0 → s1 → s3 → s7 ) is not feasible. The branching process stops after the first feasible path (s0 → s2 → s5 → s8 ) is found.
5. A tabu-search based algorithm Since the MCP problem is NP-complete, the optimal algorithm presented in the previous section performs well only for networks with a small number of hops between source and destination. For large-scale networks, it may take too much CPU time to traverse the whole state-space tree to find a feasible path. Hence, a tabu-search based heuristic algorithm is developed in this section to solve the MCP problem for large-scale networks (Fig. 3).
Fig. 3. The branch-and-bound based optimal algorithm.
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
u
S
v
267
T
L
Fig. 4. A partial path of length L.
For an infeasible path P from node S to node T as shown in Fig. 4, our tabu-search based algorithm was designed to iteratively reduce the cumulative link weights on randomly selected partial paths R of ¯ of lower cost, where P. This reduction is achieved by replacing old path R with a new partial path R cost is computed by a cost function defined in Eq. (2) given in this section. The searching process of our heuristic algorithm can be outlined as follows: (a) To find an infeasible path P from S to T , where P ∈ M and M is defined as follows: M = Ψi |Ψi represents a path with the smallest value of Wi (P) among all paths from S to T, where Wi =
wi (e) and 0 ≤ i ≤ (k − 1) .
e∈P
The set M can be determined by finding a set of the shortest paths between source and destination nodes, where each shortest path is found based on a criterion that is to minimize the summation of all link weights along the path based on a single QoS parameter. Hence, the cardinality of set M is equal to the number of QoS parameters. The heuristic procedure stops if there is a feasible path found in the set M. Otherwise, a path P in M with the longest partial path that satisfies the given set of QoS constraints is selected to be the initial solution for next step. −−−→ −→ −→v + −− (b) A pair of nodes u and v is selected on path P, where P = S → u + − u−→ v → T . All the links on −→v are then removed. Note that the length of the selected path − −→v should not be greater path − u−→ u−→ than a given integer L. When the value of L is set to be a small integer, the BBH procedure presented in step (c) can rebuild a new path from u to v in a short time. (c) A branch-and-bound based heuristic (BBH) procedure given in Fig. 5 is applied to search for a new ¯ from u to v. The BBH procedure is modified from the branch-and-bound based optimal partial path R algorithm given in Fig. 3. In the state-space tree built by the BBH procedure, the goal of searching ¯ with the least cost. The cost of all paths R ¯ is determined by the process is to find a new path R ¯ following cost function Y(R): k−1 ¯ = Minimization ¯ , Y(R) Ai (R) (2) i=0
where
¯ − Ci (R) ¯ ¯ ≤ Ci (R), ¯ Wi (R) if Wi (R) ¯ − Ci (R)) ¯ ¯ > Ci (R), ¯ 10(Wi (R) if Wi (R) −−−→ −−−→ −−−→ ¯ = Ci (− S → T ) − Ci (S → u) − Ci (v → T ), 0 ≤ i ≤ (k − 1). Ci (R)
¯ = Ai (R)
268
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
Fig. 5. The branch-and-bound based heuristic procedure.
¯ represents the residual value of QoS constraint i for the path R. ¯ Since In the above equations, Ci (R) our goal is to rebuild a complete feasible path P¯ from node S to node T at step (d), it is not necessary ¯ obtained at this step must be feasible with respect to Ci (R). ¯ In fact, we to require the partial path R ¯ ¯ only need a ‘good’ partial path R, which can lead to a path P found at step (d), where P¯ could be infeasible. Hence, based on the cost function defined in Eq. (2), the BBH procedure is developed to ¯ whose cost value Y is minimal. Note that for the case that Wi (R) ¯ > Ci (R), ¯ search for a new path R we make the path undesirable by multiplying the cost value of the path by 10. At line 2 in Fig. 5, the ¯ may initial value of “Best cost” is Y(R) where R is the original path from u to v. An empty set of R ¯ be returned by BBH procedure, if no any new path with Y(R) that is less than Y(R) is found. −−−→ ¯ −−−→ (d) Let P¯ = S → u + R + v → T . If P¯ is not a feasible path, then P = P¯ and jump back to step (a). Otherwise, the procedure stops. (e) The steps from (b) to (d) can be put together to form a path-rebuilding procedure, which is embedded into a tabu-search based iteration loop, where a circular queue is implemented as a tabu list for storing −→v. Only selected partial path that are not in the tabu list are eligible for all the selected paths − u−→ path rebuilding. The tabu-searched based procedure stops when a feasible path is found or a fixed number of iterations have elapsed.
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
269
Fig. 6. Tabu-search based heuristic procedure.
Based on the above ideas, the complete pseudo-code of our heuristic algorithm is developed in Fig. 6. At line 7 in Fig. 6, the initial value of L is set to be Lmin , and the value is increased by 1 at line 24 if path ¯ cannot be obtained after a certain number of iterations. Since the function BBH is developed based on R the branch-and-bound technique, it is efficient only for small-size networks. Its performance degrades as the number of hops between source and destination nodes exceeds some threshold value, which is usually a small integer. Hence, the maximum value of L is set to be a small integer, Lmax . The value of L is reset ¯ is found. In Section 6.4, a set of simulations is carried out to show that back to Lmin at line 15 if a path R the values of Lmin and Lmax may affect the performance of our tabu-search based method.
270
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
At line 20 in Fig. 6, a newly found path P¯ is always used for next iteration. To avoid the searching paths being too far away from the optimal solutions, a restart strategy is implemented. This strategy is implemented in the following way: an old path orig path is used to replace the current path P for next ¯ was found for a number of iterations. In Fig. 6, lines 17 and 27 are used iteration, if no new partial path R to for this purpose. One may use the branch-and-bound based optimal algorithm shown in Fig. 3 to search for a feasible ¯ for nodes u and v. According to our simulation results, the heuristic algorithm developed based on path R the BBH procedure performs much better than the one developed based on the optimal algorithm. This ¯ for nodes u and v; as a phenomenon is due to the fact that it is too hard to obtain a feasible partial path R result, a large amount of iterations in the tabu-searching process are wasted and the probability of finding a feasible path is low. On the other hand, although the goal of the BBH procedure is to find a “good” ¯ and the rebuilt path P¯ based on R ¯ may be infeasible, however, the tabu-search based procedure path R can be prevented from being stuck into some searching area by accepting an infeasible path P¯ at line 20 in Fig. 6. Hence, the searching space explored by BBH procedure is much larger and the probability of finding a feasible path by the tabu-search based procedure is much higher. The time complexity of heuristic procedure in Fig. 6 is bounded by the number of times of the BBH procedure at line 13 being executed. Hence, it is O(d h ITERATIONS) at the worst case. 6. Simulation results In this section, we have several sets of experiments to compare performance and efficiency for the optimal and heuristic algorithms presented in this paper for the MCP problem. All the simulations are done with the following experimental parameters: PIII 866 MHz CPU, 512MB RAM, Linux OS. The simulation programs were developed by C++. For all benchmarks, the values of k QoS parameters on each link are randomly selected from 0 to 10. For the MCP problem, a heuristic method may not find a feasible path; even at least one feasible path exists in the network. Hence, in this study, a parameter named “success ratio” is used to evaluate the performances of the heuristic algorithms. Based on a certain number of benchmarks, the “success ratio” is defined as follows: number of feasible paths found by a heuristic algorithm success ratio (%) = × 100. number of feasible paths found by an optimal algorithm Three algorithms are studied in this simulation. The first one is the branch-and-bound based optimal algorithm presented in Fig. 3. The other two are the tabu-search based heuristic algorithm given in Fig. 6 and the TK MK heuristic algorithm proposed in paper [4]. 6.1. Benchmark generation In order to measure the performance more accurately, two network topologies: ANSNET and mesh given in Figs. 7 and 8 are used in the simulations. For each network topology, two different methods for generating benchmarks are designed to do performance comparisons for our tabu-search based heuristic and TM heuristic. These two methods are described as follows: (a) Based on a given pair of source and destination nodes of a network, a number of benchmarks are generated by randomly selecting values for k QoS parameters assigned on each link of the network.
W.-L. Yang / Performance Evaluation 57 (2004) 261–278 source
23
21 1 10
271
22
18
2 24 19
11
25
3 20
12 8
27
4 7
9
15 26 29 14 28
13
5 6
31
16 17
30 32
destination
Fig. 7. A network topology.
The source and destination nodes are chosen in a way that the number of hops of the path between them is as largest as possible. In Fig. 7, for example, nodes 1 and 32 are selected to be source and destination, respectively for the ANSNET. As for the meshes shown in Fig. 8, the source and destination nodes are located at the two ends of the longest diagonal line of a mesh. (b) This method is similar to the first one except that a pair of source and destination is randomly selected for each benchmark generated using method (a). That is, at most N distinct pairs of source and destination nodes may exist for N benchmarks generated. Given a set of different number of nodes, two sets of benchmarks using the above two methods are generated for simulations carried out in Section 6.2. For simulations done in Sections 6.3–6.5, the benchmarks tested are generated by method (a) only. 6.2. Performance 6.2.1. ANSNET A network topology shown in Fig. 7 is modified from ANSNET [18], which was studied in [3,4]. In Tables 1 and 2, each data is obtained based on 1000 benchmarks. The constraints, C0 /C1 , are chosen in a way that the number of feasible paths found by the optimal algorithm can be spanned in a wide range. source
destination
Fig. 8. A 16-node mesh.
272
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
Table 1 The first set of success ratio comparisons for ANSNET C0 /C1
Number of feasible paths found by optimal algorithm
Tabu (success ratio) (%)
TK MK (success ratio) (%)
28/30 28/28 24/28 28/20 24/20 20/20
916 890 754 534 395 230
99.6 99.4 99.5 99.3 98.2 100.0
98.9 99.1 99.6 100.0 99.8 100.0
99.3
99.6
Average
The number of feasible paths found by all algorithms is based on 1000 benchmarks, which are generated by method (a) in Section 6.1. w0 , w1 = 0–10; Lmax /Lmin = 10/5.
As shown in Tables 1 and 2, the average success ratios of two heuristics are more than 99% based on different values of QoS constraints. The experimental results show that our tabu-search based heuristic algorithm is almost as good as the TK MK method for the ANSNET. 6.2.2. Mesh Like the ANSNET, for an N × N mesh, two sets of benchmarks are used to compare performance between two heuristic algorithms. The experimental results are shown in Tables 3 and 4, where each data is computed based on 1000 benchmarks. Since optimal solutions cannot be found for meshes with more than 81 nodes, the largest benchmark simulated is a 9 × 9 mesh in Tables 3 and 4. In Table 4, two heuristic methods give more than 99% success ratios for all benchmarks. While in Table 3, the tabu-search based heuristic method outperforms the TK MK method for all cases. In Table 3, two end-nodes of the longest diagonal line of a mesh are used to be the source and destination (see Fig. 8). The number of hops between these two nodes on an N ×N mesh is at least 2(N −1). Since benchmarks in Table 3 are generated based on the same pair of source and destination nodes, the length of each feasible path found in Table 3 is at least 2(N − 1). While in Table 4, the average length of a feasible path is around N. As a result, it is much harder to find a feasible path for the benchmarks used in Table 3. Table 2 The second set of success ratio comparisons for ANSNET C0 /C1
Number of feasible paths found by optimal algorithm
Tabu (success ratio) (%)
TK MK (success ratio) (%)
28/28 20/24 16/16 16/12 10/12 8/10
989 872 605 463 332 210
99.8 99.8 99.3 99.6 99.7 100.0
100.0 99.7 100.0 100.0 100.0 100.0
99.7
99.9
Average
The number of feasible paths found by all algorithms is based on 1000 benchmarks, which are generated by method (b) in Section 6.1. w0 , w1 = 0–10; Lmax /Lmin = 10/5.
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
273
Table 3 The first set of success ratio comparisons for N × N meshes Nodes
C0 /C1
Number of feasible paths found by optimal algorithm
Tabu (success ratio) (%)
TK MK (success ratio) (%)
81
64/56 56/56 48/56 48/48
966 872 606 313
96.6 93.1 89.9 92.0
69.2 57.7 58.4 50.2
92.9
58.9
96.7 94.3 93.1 91.7
77.2 66.9 70.3 70.9
94.0
71.3
96.5 96.9 95.0 89.4
83.1 81.3 84.7 87.7
94.5
84.2
Average 64
56/49 49/49 42/49 42/42
940 818 553 289
Average 49
48/42 42/42 36/42 36/36
880 712 444 236
Average
The number of feasible paths found by all algorithms is based on 1000 benchmarks, which are generated by method (a) in Section 6.1. w0 , w1 = 0–10; Lmax /Lmin = 10/5. Table 4 The second set of success ratio comparisons for N × N meshes Nodes
C0 /C1
Number of feasible paths found by optimal algorithm
Tabu (success ratio) (%)
81
48/40 32/24 24/24 16/16
984 663 546 287
99.8 98.9 98.9 92.0
98.4 98.3 99.5 99.7
99.3
99.0
99.9 99.4 99.2 99.6
98.6 99.0 99.7 100.0
99.5
99.3
99.7 99.5 99.2 99.6
98.9 99.5 100.0 100.0
99.5
99.6
Average 64
42/42 28/35 28/21 14/14
995 866 621 259
Average 49
Average
36/36 30/24 18/18 12/12
984 846 483 227
TK MK (success ratio) (%)
The number of feasible paths found by all algorithms is based on 1000 benchmarks, which are generated by method (b) in Section 6.1. w0 , w1 = 0–10; Lmax /Lmin = 10/5.
274
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
Table 5 Efficiency comparisons based on N × N meshes Nodes
81 81 81 100 100 100 900 900 900 1600 1600 1600 2500 2500 2500 6400 6400 6400 10000 10000 10000
C0 /C1
65/65 60/50 50/50 70/70 70/55 55/60 220/200 160/200 190/160 310/280 250/250 220/250 400/300 350/300 300/300 550/600 550/500 500/500 750/700 700/600 650/650
Optimal
Tabu
α (%)
TK MK
Number of feasible paths
CPU (s)
Number of feasible paths
CPU (s)
Number of feasible paths
CPU (s)
100 79 50 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a
4522 1170 464.1 n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a n/a
100 72 44 100 84 58 100 92 61 100 90 55 100 96 57 100 92 66 100 92 76
0.4 5.6 5.2 1.9 17.2 34.7 5.7 17.2 135.2 13.4 45.1 171.2 27.2 35.4 162.5 182.9 192.4 212.5 435.2 442.9 449.1
86 53 28 73 56 21 19 2 0 11 0 0 4 0 0 0 0 0 0 0 0
0.2 0.2 0.1 0.3 0.3 0.2 13.1 13.2 13.7 68.8 72.6 65.6 265.0 269.4 272.0 2117.0 2384.0 2413.0 5132.0 5166.0 5404.0
86.0 73.6 63.6 73.0 66.7 36.2 19.0 2.2 0.0 11.0 0.0 0.0 4.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0
The number of feasible paths found by all algorithms is based on 100 benchmarks, which are generated by method (a) in Section 6.1. Each CPU time is a summation of all the executing times of 100 benchmarks. The CPU time is marked as “n/a”, if it is over 7200 s. α (%) = (number of feasible paths by TK MK method)/(number of feasible paths by Tabu method) × 100.
When the size of a mesh is increased from 49 nodes to 81 nodes, the average success ratio of the tabu-search based method is changed from 94.5 to 92.9%, while the average success ratio of the TK MK method is decreased from 84.2 to 58.9%. Obviously, the performance of our tabu-search based method is much better and stable than the TK MK method for N × N meshes. 6.3. Efficiency In order to compare the executing time for two heuristic methods, several large meshes are used for experiments. The benchmarks tested in this set of experiments are generated by method (a) described in Section 6.1. The experimental results are shown in Table 5. Each CPU time in Table 5 is a summation of the executing time of 100 different benchmarks. Several experimental results derived from Table 5 are summarized as follows: • The optimal solutions cannot be obtained within a reasonable amount of time by the branch-and-bound based optimal algorithm when the mesh size is greater than 81.
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
275
• For two heuristic algorithms, the executing time is increased when the values of QoS constraints are decreased. This phenomenon is due to the fact that it becomes harder for two heuristic algorithms to find a feasible path when the given QoS constraints become tight. • For meshes with 81 nodes, the executing speed of TK MK method is faster than the tabu-search based method. However, when the number of nodes of meshes is greater than 1600, our tabu-search based method is much more efficient than the TK MK method. For the number of nodes of meshes is in the range between 100 and 900, the efficiency of TK MK is due to its extreme low “success rate”. • Let α (%) = (number of feasible paths by TK MK method)/(number of feasible paths by Tabu method) × 100. Since the α values are much less than 1 for most of the benchmarks used in Table 5, the performance of our tabu-search based method is much better than the TK MK method. In addition, the α value is decreased as the mesh size is increased. In particular, for the 1600-node meshes, when the QoS constraints are so loose that the success ratio of the tabu-search based method is 100%, the probability for the TK MK method to find a feasible path is only 11%.
CPU(secs) 100 90 80
success ratio 98%
70
Lmax / Lmin = 12/7
97%
60
96%
50
95%
40
94%
30
93%
Lmax / Lmin = 12/7
20
Lmax / Lmin = 10/5
92%
10
49
64
81
nodes
Lmax / Lmin = 10/5
49
64
81 nodes
*The success ratio and CPU time obtained for the tabusearch based heuristic are based on 1000 benchmarks, which are generated by the method (a) in section 6.1. Fig. 9. The success ratio and CPU time versus the Lmax /Lmin for the tabu-search based algorithm.
276
W.-L. Yang / Performance Evaluation 57 (2004) 261–278 success ratio 1.0
Tabusearch based method
0.9 0.8 0.7 0.6 0.5 0.4 TK_MK method 0.3 0.2
5
4
3
2
Number of constraints
Fig. 10. The success ratio versus the number of constraints for an 8 × 8 mesh.
• For a mesh as large as 10 000 nodes, it takes only around 4 s for our tabu-search based method to find a feasible path with at least 198 (i.e., 2(100 − 1)) hops. Hence, it is a highly efficient method for the MCP problem of a large network. 6.4. The success ratio versus the Lmax /Lmin for the tabu-search based heuristic algorithm Based on meshes, the same set of 1000 benchmarks generated using method (a) described in Section 6.1 is used for two sets of simulations, which are with Lmax /Lmin = 10/5 and 12/7, respectively. As shown in Fig. 9, the success ratio is improved when the values of Lmax and Lmin are increased. However, this improvement is at the expense of consuming more CPU executing time. 6.5. The success ratio versus the number of QoS constraints As shown in Fig. 10, the success ratio is decreased as the number of constraints is increased for two heuristic algorithms. However, the performance of the TK MK method affected by the number of constraints is much more serious than the tabu-search based method. This set of simulations is based on 1000 benchmarks generated for an 8 × 8 mesh using method (a) described in Section 6.1. 7. Conclusions Based on the branch-and-bound technique and tabu-searching strategy, an optimal algorithm and a tabu-search based heuristic algorithm are developed in this paper for solving the MCP problem with
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
277
multiple constraints. The experimental results show that our tabu-search based heuristic algorithm not only outperforms the previous method published in literature [4], but also is a very efficient approach for solving the MCP problem in large-scale networks. Acknowledgements This work was supported by the National Science Council, Taiwan, ROC, under grant No. NSC-912213-E-251-001. The author would like to thank Prof. Erol Gelenbe and Prof. Shih-Chung Lin for their valuable comments. References [1] D. Clark, S. Shenker, L. Zhang, Supporting real-time applications in an integrated services packet network: architecture and mechanisms, in: Proceedings of the SIGCOMM, 1992, pp. 14–26. [2] S. Blake, D. Black, M. Carlson, E. Davies, Z. Wang, W. Weiss, An Architecture for Differentiated Services, RFC-2475, December, 1998. [3] X. Yuan, Heuristic algorithms for multiconstrained quality-of-service routing, IEEE/ACM Trans. Network. 10 (2) (2002) 244–256. [4] T. Korkmaz, M. Krunz, A randomized algorithm for finding a path subject to multiple QoS constraints, in: Proceedings of the IEEE Global Telecommunications Conference, IEEE, 1999, pp. 1694–1698. [5] J.M. Jaffe, Algorithms for finding paths with multiple constraints, Networks 14 (1984) 95–116. [6] S. Chen, K. Nahrstedt, On finding multi-constrained paths, in: Proceedings of the ICC’98 Conference, IEEE, 1998, pp. 874–879. [7] T. Korkmaz, M. Krunz, S. Tragoudas, An efficient algorithm for finding a path subject to two additive constraints, Comput. Commun. 25 (2002) 225–238. [8] Q. Ma, P. Steenkiste, Quality-of-service routing for traffic with performance guarantees, in: Proceedings of the IFIP Fifth International Workshop on Quality of Service, May 1997. [9] R. Widyono, The Design and Evaluation Algorithm for Real-time Channels, TR-94-024, International Computer Science Institute, UC Berkeley, 1994. [10] S. Verma, R.K. Pankaj, A. Leon-Garica, QoS based multicast routing algorithms for real time applications, Perform. Eval. 34 (1998) 273–294. [11] A. Orda, Routing with end-to-end QoS guarantees in broadband networks, IEEE/ACM Trans. Network. 7 (3) (1999) 365–374. [12] Z. Wang, J. Crowcroft, QoS routing for supporting resource reservation, IEEE J. Selected Areas Commun. 14 (7) (1996) 1228–1234. [13] J.-J. Wu, R.-H. Hwang, H.-I. Lu, Multicast routing with multiple QoS constraints in ATM networks, Inform. Sci. 124 (2000) 29–57. [14] D.H. Lorenz, A. Orda, Optimal partition of QoS requirements on unicast paths and multicast trees, IEEE/ACM Trans. Network. 10 (1) (2002) 102–114. [15] R.A. Guerin, A. Orda, QoS routing in networks with inaccurate information: theory and algorithms, IEEE/ACM Trans. Network. 7 (3) (1999) 350–364. [16] D.H. Lorenz, A. Orda, QoS routing in networks with uncertain parameters, IEEE/ACM Trans. Network. 6 (6) (1998) 768–778. [17] M.R. Garey, D.S. Johson, Computers and Intractability, A Guide Theory of NP-completeness, W.H. Freeman, San Francisco, 1979. [18] D.E. Comer, Internetworking with TCP/IP, vol. I, Prentice-Hall, Englewood Cliffs, Englewood Cliffs, NJ, 1995. [19] W.-L. Yang, A comparison of two optimal approaches for the MCOP problem, J. Network Comput. Appl. 27 (3) (2004) 151–162.
278
W.-L. Yang / Performance Evaluation 57 (2004) 261–278
[20] E. Gelenbe, S. Kotia, D. Krauss, Call establishment overload in large ATM networks, Perform. Eval. 31 (1997) 33–49. [21] V. Srinivasan, A. Ghanwani, E. Gelenbe, Block loss reduction in ATM networks, Comput. Commun. 19 (1996) 1077–1091. [22] E. Gelenbe, X. Mang, R. Onvural, Bandwidth allocation and call admission control in high-speed networks, IEEE Commun. Mag. 35 (5) (1997) 122–129. [23] E. Gelenbe, M. Gellman, P. Su, Self-awareness and adaptivity for quality of service, in: Proceedings of the Eighth IEEE International Symposium on Computers and Communication (ISCC’03), 2003, pp. 3–9. [24] E. Gelenbe, R. Lent, Z. Xu, Design and performance of cognitive packet networks, Perform. Eval. 46 (2001) 155–176. [25] E. Gelenbe, R. Lent, A. Montuori, Z. Xu, Cognitive packet networks: QoS and performance, in: Proceedings of the 10th IEEE International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunications Systems (MASCOTS’02), 2002, pp. 3–9. [26] E. Gelenbe, R. Lent, Z. Xu, Measurement and performance of cognitive packet networks, Comput. Networks 37 (2001) 691–701. [27] E. Gelenbe, Z.-H. Mao, D.-L. Yang, Function approximation with spiked random networks, IEEE Trans. Neural Networks 10 (1) (1999) 3–9. [28] F. Kuipers, P. Van Mieghem, T. Korkmaz, M. Krunz, An overview of constraint-based path selection algorithms for QoS routing, IEEE Commun. Mag. 40 (12) (2002) 50–55. [29] F.A. Kuipers, P. Van Mieghem, The impact of correlated link weights on QoS routing, in: Proceedings of the IEEE INFOCOM, 2003, pp. 1425–1434. [30] MPLS Charter. http://www.ietf.org/html.charters/mpls-charter.html.
Wen-Lin Yang received his Ph.D. degree in computer science from the Pennsylvania State University, University Park, in 1993. He is an Associate Professor in the Department of Information Technology at the National Ping-Tung Institute of Commerce, Taiwan, ROC. His primary research interests are in the areas of multimedia communication, network optimization and computer-aided design.