Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
A Variable Descent Search Algorithm for Delay-Constrained Least-Cost Multicast Routing Rong Qu1 , Ying Xu1,2 , and Graham Kendall1 1 The Automated Scheduling, Optimisation and Planning (ASAP) Group School of Computer Science, The University of Nottingham Nottingham, UK, {rxq,yxx,gxk}@cs.nott.ac.uk 2 School of Computer and Communication Hunan University, Changsha, CHINA Abstract. The rapid evolution of real-time multimedia applications requires Quality of Service (QoS) based multicast routing in underlying computer networks. The constrained Steiner Tree, as the underpinning mathematical structure, is a well-known NP-complete problem. In this paper we investigate a variant of variable neighborhood search, variable descent search, for the delay-constrained least-cost multicast routing problems. The neighborhood structures designed in the variable descent search approaches are based on the idea of path replacement in trees. They are simple, yet effective operators, enabling a flexible search over the solution space of this complex problem with multiple constraints. A large number of simulations demonstrate that our algorithm is highly efficient in solving the delay-constrained, least-cost multicast routing problem in terms of both the total tree cost and the execution time. To our knowledge, this is the first study of variable neighborhood search on the delay-constrained, least-cost multicast routing problem. It outperforms other algorithms and heuristics over a range of problem instances. 1 Introduction The general problem of multicast routing has received significant research attention in the area of computer networks and algorithmic network theory [1–3]. It is defined as sending messages from a source to a set of destinations that belong to the same multicast group. Many real-time multimedia applications (e.g. video conferencing, distance education) require the underlying network to satisfy certain quality of service (QoS) multicast communication. These QoS requirements include the cost, delay, delay variation, lost and hop count, etc. The most important QoS requirements for constructing multicast trees are the delay and cost. The end-to-end delay is the total delay along the paths from the source to each of the destinations. The cost of the multicast tree is the sum of costs on the edges in the multicast tree. To search for the minimum cost tree in the multicast routing problem is the problem of finding a Steiner Tree [4], which is known to be NP-complete [5]. The Delay-Constrained Least-Cost (DCLC) multicast routing problem is the problem 2 of finding a Delay-Constrained Steiner tree (DCST), which is also known to be NP-complete [6]. An early survey on multicast communication problems and related solutions was given in [7]. A recent overview on the multicast routing and associated optimization algorithms has been presented in [8]. A number of algorithms that construct low-cost multicast trees have been studied in the literature. Usually these algorithms can be classified as sourcebased and destination-based multicast routing algorithms. The source-based algorithms assume that each node has all the necessary information to construct the multicast tree (e.g. KPP [9], CAO [10], CKMB [11], CDKS [12] and BSMA [13]). The destination-based algorithms do not require that each node maintains the status information of the entire network , and multiple nodes are participating in constructing the multicast tree (e.g. DKPP [14], DDMC [15], DSPH [16] and QDMR [6]). The Kompella-Pasquale-Polyzos (KPP) heuristic is the first heuristic for the DCST problem. KPP extends the Kou-Markowsky-Berman (KMB) heuristic [17], an unconstrained Steiner tree algorithm, to compute constrained paths assuming that the link delay and delay bound are integers. Both KMB and KPP use Prim’s algorithm [18] to obtain a minimum spanning tree of a closure graph. The Constrained Adaptive Ordering (CAO) heuristic incrementally adds new tree branches by merging in delay-constrained low-cost unicast paths connecting to new destination nodes. It uses a constrained breadth-first search, whose computational time can be exponential in some cases. CKMB modifies KMB without assuming integer delay values. The Constrained Dijkstra (CDKS) heuristic constructs delay-constrained shortest path tree and was suggested to be a suitable algorithm for large networks by using Dijkstra’s heuristic [19]. A well known deterministic multicast algorithm for the DCST problem is BSMA (Bounded Shortest Multicast Algorithm) [13]. It iteratively refines the tree to lower costs until the tree cost cannot be further reduced. BSMA was regarded as the best algorithm in terms of its good performance on tree costs. Although developed in mid 1990s, it is still being frequently compared with many multicast routing algorithms in the current literature. However, it requires excessive execution time for large networks as it uses the k Shortest Path algorithm [20] to find lower cost paths. The second group of algorithms considers distributed multicast routing problems. The idea of Destination-Driven MultiCasting (DDMC) comes from Prim’s minimum spanning tree algorithm and Dijkstra’s shortest path algorithm, both using a similar greedy strategy. The Distributed Shortest Path Heuristic (DSPH) is a distributed algorithm of the delay-bounded multicast routing algorithm. It sequentially generates routing trees by extending the routing tree to one destination after another. Although DSPH performs well on tree costs, its computational time is extremely high, especially for large networks. The QoS Dependent Multicast Routing (QDMR) algorithm extends the DDMC algorithm by using a weight function to dynamically adjust how far a node is from the delay bound and adds the node with lowest weight to the current tree. 3 In recent years, metaheuristic algorithms such as simulated annealing [21, 22], genetic algorithm [23–26], tabu search [27–32], GRASP [33] and path relinking [34, 35] have been investigated for various multicast routing problems. Hamdan et al. [23] address the delay and delay-variation constrained multicast routing problem using genetic algorithms. In [24], a genetic local search is investigated with a logarithmic simulated annealing in a pre-processing step. An analysis of the landscape of multicast routing problems and the associated objective function are given. Youssef et al. [27] present a tabu search algorithm to construct the minimum cost delay bounded multicast tree. Their algorithm starts with an initial feasible solution, and builds a sink tree for each destination using Dijkstra’s shortest path algorithm. The algorithm refines the tree to a lower cost and stops after a certain number of iterations. Wang et al. [28] propose an efficient Delay-Constrained Low-Cost Multicast Routing algorithm based on tabu search. The main disadvantage of the algorithms proposed in [27, 28] is that they randomly select the paths to be added or deleted, which may lead to a disjointed multicast tree. Yang and Wen [29] apply tabu search to the problem of pre-planning delay-constrained backup paths for multicast trees to minimize the total cost of all the backup paths. In [33], a GRASP heuristic is developed for the DCST problem. Based on a randomized feasible solution constructed by Dijkstra’s shortest algorithm, a tabu search algorithm is applied to further improve the solution quality. Ghaboosi et al. [30] propose a tabu search based algorithm and a path relinking algorithm [34]. The tabu search algorithm creates initial solutions based on Dijkstra’s algorithm, and iteratively refines the initial solution by using a modified Prim’s algorithm to switch edges chosen from the backup path set. Their path relinking algorithm first generates a reference set of random solutions and then iteratively applies a path relinking method to improve pairs of solutions (the initial solution and guiding solution). In each iteration, the chosen solutions are converted to Prüfer numbers. During each path relinking phase, a repair procedure is used to repair any infeasible solution. If the relinking process produces a better solution than the worst solution in the reference set, the worst solution is replaced by the better one. After a given number of iterations, the best solution in the reference set is output as the final solution. In [34], the simulation results show that their path relinking algorithm is the best performing with regards to the tree cost compared with other algorithms. However, their path relinking algorithm is time consuming when the network size increases and many infeasible need to be repaired. So their path relinking algorithm is suitable for real-time small networks. In this paper we investigate variable descent search (VDS), a variant of variable neighborhood search (VNS), for DCLC multicast routing problems. Although VNS algorithms have been applied to Steiner tree problems (e.g. VNS as a post-optimization procedure to the prize collecting Steiner tree problem [36], and the bounded diameter minimum spanning tree problem [37]), as far as we are aware, no research has been carried out using VDS on DCST problems. Experimental results show that our VDS algorithms obtained the best quality solutions when compared against the algorithms discussed above. 4 The rest of the paper is organized as follows. In Section 2, we present the network model and the problem formulation. Section 3 presents the proposed VDS algorithms. We evaluate our algorithms by computer simulations on a range of problem instances in Section 4. Finally, Section 5 concludes this paper and presents possible directions for future work. 2 The Delay-Constrained Least-Cost Multicast Routing Problem We consider a computer network represented by a directed graph G = (V , E) with |V | = n nodes and |E| = l edges, where V is a set of nodes and E is a set of edges, respectively. Each edge e = (i, j) ∈ E is associated with two parameters, namely the link cost C(e): E 7→ ℜ+ and the link delay D(e): E 7→ ℜ+ , where ℜ+ is the set of nonnegative real numbers. The link is bidirectional, i.e. the existence of a link e = (i, j) from node i to node j implies the existence of another link e′ = (j, i) for any i, j ∈ V . Due to the asymmetric nature of computer networks, it is possible that C(e) 6= C(e′ ) and D(e) 6= D(e′ ). The nodes in V include a source node s, destination nodes which receive data stream from the source, denoted by R ⊆ V − {s}, called multicast groups, and relay nodes which are intermediate hops on the paths from the source to destinations. We define a path from node u to node v as an ordering set of links, denoted by P (u, v) = {(u, i), (i, j), . . ., (k, v)}. A multicast tree T (s, R) is a set of paths rooted from the source s and spanning all members of R. We denote by PT (ri ) ⊆ T the set of links in T that constitute the path from s to ri ∈ R. The total delay from s to ri , denoted by Delay[ri ], is simply the sum of the delay of all links along PT (ri ), i.e. Delay[ri ] = X D(e), ∀ri ∈ R (1) e∈PT (ri ) The delay of the tree, denoted by Delay[T ], is the maximum delay among all the paths from the source to each destination, i.e. Delay[T ] = max{Delay[ri ] | ∀ri ∈ R} (2) The total cost of the tree, denoted by Cost(T ), is defined as the sum of the costs of all links in the tree, i.e. Cost(T ) = X C(e) (3) e∈T Applications may assign different upper bounds δi for each destination ri ∈ R. In this paper, we assume that the upper bound for all destinations is the same, and is denoted by ∆ = δi , ri ∈ R. Given these definitions, we formally define the Delay-Constrained Steiner Tree (DCST) problem as follows [6]: 5 The Delay-Constrained Steiner Tree (DCST) Problem: Given a network G, a source node s, destination nodes set R, a link delay function D(·), a link cost function C(·), and a delay bound ∆, the objective of the Delay-Constrained Steiner Tree (DCST) Problem is to construct a multicast tree T (s, R) such that the delay bound is satisfied, and the tree cost Cost(T ) is minimized. We can define the objective function as: min{Cost(T ) | PT (ri ) ⊆ T (s, R), Delay[ri ] ≤ ∆, ∀ri ∈ R} 3 (4) The Variable Descent Search Algorithms Variable neighborhood search (VNS), jointly invented by Mladenović and Hansen [38] in 1996, is a metaheuristic for solving combinatorial and global optimization problems. Unlike many standard metaheuristics where only a single neighborhood is employed, VNS systematically changes the employment of different neighborhoods within a local search. The idea is that a local optimum defined by one neighborhood structure is not necessarily the local optimum of another neighborhood structure, thus the search can systematically traverse different search spaces which are defined by different neighborhood structures. This makes the search much more flexible within the solution space of the problem, and potentially leads to better solutions which are difficult to obtain by using single neighborhood based local search algorithms [39, 40]. The basic principles of VNS are easy to apply, parameters being kept to a minimum. Let us denote by Nk , k = 1, . . ., kmax , a finite set of pre-designed neighborhood structures, and by Nk (x) the set of solutions by employing the k th neighborhood operator upon an incumbent solution x. Our proposed algorithm is based on the basic variable descent search (VDS), a variant of VNS algorithm presented in Fig. 1. – Initialisation: Define the set of neighborhood structures Nk , k = 1, . . ., kmax ; Find an initial solution x; – Repeat 1. Set k = 1; 2. Repeat the following steps until k = kmax (a) Local search: Find a local optimum x′ by applying a simple steepest descent to x, x′ ∈ Nk (x); (b) Move or not: If x′ is better than x then x ← x′ , k = 1; otherwise, k = k+1; – Until no improvement is obtained Fig. 1. Pseudo-code of the basic Variable Descent Search [38] 6 3.1 Initialisation In our VNS Multicast Routing (VNSMR) algorithm, firstly we create an initial solution T0 and then iteratively improve T0 by employing three neighborhoods, defined in Section 3.2, until the tree cost cannot be reduced, while the delay constraint is satisfied. To investigate the effects of different initial solutions within the VNS algorithm, we design two variants of the algorithm (namely VNSMR0 and VNSMR1) with the same neighborhood structures, but starting from different initial solutions produced by using the following two heuristics: – Initialisation by DKSLD (VNSMR0): Dijkstra’s shortest path algorithm is used to construct the least delay multicast tree; – Initialisation by DBDDSP (VNSMR1): we extend the Destination-Driven Shortest Path (DDSP) algorithm in [41], which is a destination-driven shortest path multicast tree algorithm with no delay constraint. This modified DBDDSP (Delay-Bounded DDSP) algorithm is used as the initialisation method in VNSMR1. 3.2 Neighborhood Structures within the VNS Algorithms The neighborhood structures within our VNSMR algorithms are designed based on an operation called path replacement, where a path in a tree Ti is replaced by another new path not in the tree Ti , resulting in a new tree Ti+1 . In our algorithm, the delay-bounded path replacement operation guarantees that the tree Ti+1 is always a delay-bounded and loop free tree. To present the candidate paths chosen in the path replacement, we define superpath (based on [13], also called key-path in the literature [42, 43]) as the longest simple path in the tree Ti , in which all internal nodes, except the two end nodes of the path, are relay nodes. Each relay node connects exactly two tree edges. The pseudo-code of VNSMR is presented in Fig.2. The three neighborhood structures are described as below: 1. Neighbor1: the most expensive edges on each superpath in tree Ti are the candidates of the path replacement. At each step, one chosen edge is deleted, which divides the tree Ti into two subtrees Ti1 and Ti2 . Then Dijkstra’s shortest path algorithm is used to find a new delay-bounded shortest path that connects the two subtrees and reduces the tree cost; 2. Neighbor2: this operator operates on all superpaths in the tree Ti (either connecting or not connecting to a destination node). At each step, one superpath is replaced by a cheaper delay-bounded path using the same path replacement strategy in Neighbor1; 3. Neighbor3: all the superpaths connected to destination nodes in Ti are the candidate paths to be replaced. At each step, a superpath is deleted, which divides the tree Ti into a subtree Ti′ and a destination node ri . Then the same path replacement strategy is used to search for a new delay-bounded shortest path from ri which reconnects ri to Ti′ . 7 – VNSMR(G = (V , E), S, R, ∆, kmax , Nk , k = 1, . . ., kmax ) – //S: the source node; R: the destination nodes set; ∆ ≥ 0: the delay bound; kmax = 3: the number of neighborhoods structures; Nk : the set of neighborhoods by employing neighbor k • Create initial solution T0 ; // by using DKSLD or DBDDSP, see Section 3.1 • if T0 = N U LL then return F AILED; // a feasible tree does not exist • else ∗ Tbest = T0 ; k = 1; ∗ while k ≤ kmax · select the best neighbor Ti , Ti ∈ Nk (Tbest ); · if(((Cost(Ti ) < Cost(Tbest )) & (Delay(Ti ) ≤ ∆)) k ((Cost(Ti ) = Cost(Tbest )) & (Delay(Ti ) < Delay(Tbest ))) · then Tbest = Ti ; k = 1; · else k++; ∗ end of while loop • return Tbest Fig. 2. The Pseudo-code of the VNSMR Algorithm 3.3 An Illustrative Example For the ease of understanding, we present an example network in Fig.3.(a), where s = {0} (source node) R = {2, 3, 9} (destination nodes), ∆= 82 (delay bound) and the values a/b on each link e = (i, j) represent the Cost/Delay. The resulting tree by applying BSMA and the VNSMR algorithm are shown in Fig.3.(b) and Fig.3.(d), respectively. The initial solution constructed by DBDDSP for VNSMR is shown in Fig.3.(c). In Fig.3.(c), path P (0, 3) = {(0, 7), (7, 3)} is a superpath where internal node (7 here) is a relay node (see the definition in Section 3.2). By using our VNSMR, P (0, 3) is replaced by path P (9, 3) = {(9, 1), (1, 3)} (using either Neighbor2 or Neighbor3), which results into the tree in Fig.3.(d). The tree cost is reduced from 336 in Fig.3.(c) to 281 Fig.3.(d), while the tree delay (Delay(TV N SM R ) = 66) still satisfies the delay constraint ∆ = 82. Comparing the trees generated by BSMA and VNSMR in Fig.3.(b) and Fig.3.(d), we can see that the tree cost found by VNSMR (281) is lower than that of BSMA (285). This is due to the flexibility of the VNSMR search which explores the search space defined by different neighborhood structures. 3.4 Time Complexity of the VNSMR Algorithm Proof of the probability of transition from a spanning tree si to sj (see [11]): According to Cayley’s theorem [44], for a n node network, there are nn−2 possible spanning trees. Thus, the number of Steiner trees is bounded by nn−2 . Let us consider a Markov chain of nn−2 states, where each state corresponds to a spanning tree. We sort these states in a decreasing order with respect to the cost of the Steiner tree. Replace each state in the sorted list with n copies of 8 Fig. 3. An example network and solutions obtained from BSMA and VNSMR itself results into a total number of nn−1 states. In the Markov chain, transition edges from a state si go only to a right state of si . Assume that each possible transition is equally likely event. Thus the probability of a transition from si to sj is: 1 (1 ≤ j < i, P11 = 1) (5) i−1 We prove the time complexity of VNSMR based on the method used in [11]. Let mi be the number of transitions needed to go from state si to s1 , the expected value E[mi ] = log(i). Therefore, if the VNSMR algorithm starts from the most expensive state, i.e. nn−1 , then the expected number of transitions is O(log(nn−1 )) = O(nlog(n)). Thus the expected maximum number of iterations of the neighborhood structures in VNSMR is O(nlog(n)). The three neighborhoods of VNSMR use the same path replacement strategy. A path-replacement operation is dominated by Dijkstra’s shortest path algorithm which takes O(llog(n)), where l = |E| is the total links in the network. In the worst case, each neighborhood requires replacing at most O(l) superpaths. Thus the time complexity of VNSMR is: pij = O(nlog(n)(3 ∗ l ∗ llog(n))) = O(l2 nlog 2 (n)) 4 (6) Performance Evaluation To evaluate the efficiency of our VNSMR algorithm, we use a multicast routing simulator (MRSIM) implemented in C++ based on Salama’s generator [1]. 9 MRSIM generates random network topologies using a graph generation algorithm described in [45]. The positions of the nodes are fixed in a rectangle of size 4000 × 4000km2 . The simulator defines the link delay function D(e) as the propagation delay of the link (queuing and transmission delays are negligible) and the link cost function C(e) as the current total bandwidth reserved on the link in the network. Like many other network simulators, the Euclidean metric is also used to determine the distance l(u, v) between pairs of nodes (u, v). Edges connect nodes (u, v), with a probability P (u, v) = βexp(−l(u, v)/αL) α, β ∈ (0, 1] (7) where parameters α and β can be set to obtain desired characteristics in the graph. A large β gives nodes a high average degree, and a small α gives long connections. L is the maximum distance between two nodes. In our simulations, we set α = 0.25, β = 0.40, the average degree = 4 and the capacity of each link = 155Mb/s (in this paper we set the capacity to a large enough value so that such constraint is not considered in the problem). All simulations were run on a Windows XP computer with Pentium VI 3.4GHZ, 1G RAM. To encourage scientific comparisons, we have put problem details of all the instances tested at http://www.cs.nott.ac.uk/∼yxx/resource.html, with some example solutions obtained by the proposed algorithms. 4.1 VNSMR with Different Initialisations In the first set of experiments, we randomly generate 20 different network topologies for each size of 20, 50, 100, 200 and 300 nodes in the networks. For each network topology, the source node and the destination nodes are randomly selected. The delay bound in our experiments for each network topology is set to be 2 times the tree delay of the DKSLD algorithm, i.e. ∆ = 2 ×Delay(TDKSLD ). For each network topology, the simulation was run 50 times, where the average tree costs and execution times were reported. We investigate the performance of the VNSMR algorithm with two different initialization heuristics, e.g. VNSMR0 with DKSLD and VNSMR1 with DBDDSP (see Section 3.1 for more details). Both variants employ the same neighborhood structures as defined in Section 3.2. Fig. 4 presents the tree cost and execution time of VNSMR0 and VNSMR1 for problems of different network sizes with a group size (number of destinations) of 10. The tree cost of the initial solutions obtained from DBDDSP and DKSLD are also presented in Fig.4.(a), where we can see that both can be improved by the VNSMR algorithm employing the three neighborhoods we have defined. VNSMR1 (with initial solution from DBDDSP) performs better than VNSMR0 (with initial solution from DKSLD) in terms of both the tree cost and the computational time. Table 1 presents the tree costs of the two VNSMR algorithms with different initial solutions for networks of 50 nodes with different group sizes. In the table, the above observations still hold true. The initial solutions from DBDDSP for 10 Fig. 4. Tree cost and execution time vs. network size with group size = 10 by VNSMR with different initialisations VNSMR1 are better than that of DKSLD for VNSMR0. Both VNSMR algorithms can further reduce the tree cost, and VNSMR1 always performs better than VNSMR0 (best results in bold in Table 1). Fig.5. also shows that VNSMR1 requires less execution time than that of VNSMR0. Table 1. Tree cost vs. group size for problems of network size = 50 by VNSMR with different initialisations Group size DKSLLD 5 560.5 938.6 10 15 1242.7 25 1666.5 35 1944.45 45 2294.35 VNSMR0 287.3 497.9 682.95 867.7 1072 1235.65 DBDDSP 330.05 583.1 809.1 1077.75 1359.95 1591.45 VNSMR1 280.75 466.5 652.95 840.25 1055.75 1214.75 The above experiments show that our VNSMR algorithms can always improve the initial solutions when constructing the DCLC multicast trees. The quality of initial solutions affects the performance of the VDS algorithm. It is shown that better initial solutions from more intelligent heuristics lead to better final results, and also reduce the execution time of the VDS algorithm. 4.2 Comparisons with Existing Algorithms In the second set of experiments, we compare VNSMR1 with four other existing multicast routing algorithms in terms of both the solution quality and the computational time using the same simulation strategies as mentioned in Section 4.1. The four algorithms include BSMA, CDKS, QDMR, which are DCLC multicast 11 Fig. 5. Execution time vs. group size for problems of network size = 50 by VNSMR with different initialisations routing algorithms, and DKSLC which uses Dijkstra’s algorithm to construct the least cost multicast trees without the delay constraint. These algorithms have been reviewed in Section 1. Fig.6. presents the tree cost and execution time of these four algorithms and our VNSMR1 algorithm. It can be clearly seen in Fig.6.(a) that VNSMR1 outperforms the other four algorithms in terms of the tree cost. CDKS and DKSLD have the worst and similar tree cost; BSMA is better than QDMR but worse on the tree cost than VNSMR. In addition, Fig.6.(b) shows that VNSMR1 requires less execution time than BSMA. The other three algorithm CDKS, QDMR and DKSLC require lower computational time. However, the solution quality is of much lower quality than both BSMA and VNSMR1. Fig.7 presents the results of our VNSMR1 algorithm and other algorithms in terms of the tree cost and execution time for problems of different network sizes, where the group size is 10% of the overall network size. Again, it can be seen in Fig.7.(a) that VNSMR1 outperforms the other four algorithms when comparing the solution quality. Fig. 7.(b) shows that VNSMR1 requires less execution time than BSMA. The time complexity of the VNSMR1 is O(l2 nlog 2 (n)), while BSMA’s time complexity is O(kn3 log(n)) (n: the number of nodes, l: the number of edges, k: the k th shortest path between a source and a destination). In [34], Ghaboosi and Haghighat develop a path relinking algorithm and show that it outperforms a number of existing algorithms, including KPP, BSMA, GAbased algorithms [25, 26], tabu search based algorithms [28, 30–32] and another path relinking algorithm [35]. In order to compare our VNSMR1 algorithm with these algorithms, we generate three random networks for each size of 10 to 100 nodes with group size = 30% of the network size. The average tree cost over all problem instances are used to compare the algorithm’s performance. This is the same design as the simulations in [34]. 12 Fig. 6. Tree cost and execution time vs. network size with group size = 10 from different approaches Fig. 7. Tree cost and execution time vs. network size with group size = 10% of network size from different approaches 13 Table 2 shows that the VNSMR1 algorithm performs the best in terms of the average tree cost. As only the average tree cost over all problem instances of different sizes are reported in [34], we report the same in Table 2. The average tree costs for each size of the problems are also presented in Table 2. Table 2. Average tree costs from our VNSMR1 and existing heuristics and algorithms on random graphs of 10-100 nodes Heuristics Algorithms KPP1 [9] KPP2 [9] BSMA [13] GA-based Algorithms Wang et al. [25] Haghighat et al. [26] Skorin-Kapov and Kos [31] TS-based Youssef et al. [32] Algorithms Wang et al. [28] Ghaboosi and Haghighat [30] Path relinking Ghaboosi and Haghighat [34] VDS Algorithm VNSMR1 for problem of different sizes 10 20 30 40 50 60 70 80 90 100 95 282 415 518 727 812 805 922 1183 1041 Average Tree Costs 905.581 911.684 872.681 815.969 808.406 897.578 854.839 1214.75 739.095 691.434 680.067 Furthermore, Fig.8 also shows that VNSMR1 can find better solutions in a very short time (less then 5 seconds), which is much less than that of the path relinking algorithm. This indicates that the path relinking algorithm in [34] is less practical for solving real-time network routing problems of very large and densely connected networks due to its high time complexity. In summary, over a large number of simulations on instances of different network sizes and different group sizes, we have demonstrated that our VNSMR1 (VNS algorithm with DBDDSP as the initialization method) outperforms other existing heuristics and algorithms with regard to both the average tree cost and computational time. 5 Conclusions In this paper, we have investigated variable descent search (VDS) algorithms for solving multicast network routing problems, where delay-constrained least-cost multicast trees are constructed. The problem is a Delay-Constrained Steiner tree problem and has been proved to be NP-complete. The main characteristic of our VDS algorithm is that of using path replacement strategy in designing three simple, yet effective, neighborhood structures. Each neighborhood is designed to reduce the tree cost in different ways and at the same time satisfy the delay constraint. This enables a much more flexible search within the VDS algorithms 14 Fig. 8. Average execution time vs. network size of our VNSMR1 and the Path Relinking in [34] when compared with a local search with single neighborhood structure. A large number of simulations have been carried out to evaluate the proposed algorithm in comparison with the existing algorithms in the literature. Experimental results demonstrate that our VDS algorithms is the best performing algorithm when compared against other heuristics and algorithms in terms of both the total tree cost and the execution time. Many promising directions of future work are possible. The proposed algorithm is tested for the static case of multicast routing problems, where the nodes in the multicast groups are known and do not change. In reality, network scenarios are mostly dynamic with some nodes leaving and joining the multicast groups at various times. Additionally, real-time applications have other QoS requirements such as the delay variation and the packet loss rate, etc. This leads to the multi-objective optimization problem on constrained routing. The VDS algorithm can be easily adapted for solving a variety of network routing problems with different constraints. 6 Acknowledgement This research is supported by Hunan University, China, and the School of Computer Science at The University of Nottingham, UK. References 1. Salama H.F., Reeves D.S., Viniotis Y.: Evaluation of multicast routing algorithms for realtime communication on high-speed networks. IEEE Journal on Selected Areas in Communications. 15 (1997) 332–345 15 2. Yeo C.K., Lee B.S., Er M.H.: A survey of application level multicast techniques. Computer Communications. 27 (2004) 1547–1568 3. Masip-Bruin X., Yannuzzi M., Domingo-Pascual J., Fonte A., Curado M., Monteiro E., Kuipers F., Van Mieghem P., Avallone S., Ventre G., Aranda-Gutierrez P., Hollick M., Steinmetz R., Iannone L., Salamatian K.: Research challenges in QoS routing. Computer Communications. 29 (2006) 563–581 4. Hwang F.K., Richards D.S.: Steiner tree problems. IEEE/ACM Trans. Networking. 22 ( 1992) 55–89 5. Garey M.R., Johnson D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W.H. Freeman and Company, New York (1979) 6. Guo L., Matta I.: QDMR: An efficient QoS dependent multicast routing algorithm. In: Proceedings of the 5th IEEE RealTime Technology and Applications Symposium, 213–222, (1999) 7. Diot C., Dabbous W., Crowcroft J.: Multicast communication: a survey of protocols, functions, and mechanisms. IEEE Journal on Selected Areas in Communications. 15 (1997) 277–290 8. Oliveira C.A.S., Pardalos P.M.: A survey of combinatorial optimization problems in multicast routing. Computers & Operations Research. 32(8) (2005) 1953–1981 9. Kompella V.P., Pasquale J.V., and Polyzos G.C.: Multicast routing for multimedia communication. IEEE/ACM Transactions on Networking. 1, (1993) 286–292 10. Widyono R.: The design and evaluation of routing algorithms for realtime channels. Technical Report, ICSI TR-94-024, International Computer Science Institute, U.C. Berkeley (1994) 11. Sun Q., Langendoerfer H.: An efficient delay-constrained multicast routing algorithm. Technical Report, Internal Report, Institute of Operating Systems and Computer Networks, TU Braunschweig, Germany (1997) 12. Sun Q., Langendoerfer H.: Efficient multicast routing for delay-sensitive applications. In: Proceedings of the 2nd Workshop on Protocols for Multimedia Systems, 452–458, (1995) 13. Zhu Q., Parsa M., Garcia-Luna-Aceves J.J.: A source-based algorithm for delayconstrained minimum-cost multicasting. In: Proceedings of the 14th Annual Joint Conference of the IEEE Computer and Communication (INFOCOM 95), 377–385. IEEE Computer Society Press, Boston, Massachusetts (1995) 14. Kompella V.P., Pasquale J.C., Polyzos G.C.: Two distributed algorithms for the constrained steiner tree problem. In: Proceedings of the 2nd International Conference on Computer Communications and Networking, 343–349 (1993) 15. Shaikh A., Shin K.: Destination-driven routing for low-cost multicast. IEEE Journal on Selected Areas in Communications. 15 (1997) 373–381 16. Jia X.: A distributed algorithm of delay-bounded multicast routing for multimedia applications in wide area networks. IEEE/ACM Transactions on Networking. 6 (1998) 828–837 17. Kou L., Markowsky G., Berman L.: A fast algorithm for Steiner trees. Acta Informatica, 15 (1981) 141–145 18. Cormen T.H., Leiserson C.E., Revest R.L.: Introduction to Algorithms, MIT Press. (1997) 19. Betsekas D., Gallager R.: Data Networks (2nd edition). Englewood Cliffs, HJ: Prentice-Hall, (1992) 20. Eppstein D.: Finding the k shortest paths. SIAM Journal of Computing. 28 (1998) 652–673 16 21. Wang X.L., Jiang Z.: QoS multicast routing based on simulated annealing algorithm. In: Proceedings of International Society for Optical Engineering on Network Architectures, Management, and Applications, 511–516 (2004) 22. Zhang K., Wang H., Liu F.Y.: Distributed multicast routing for delay variationbounded Steiner tree using simulated annealing. Computer Communications. 28 (2005) 1356–1370 23. Hamdan M., El-Hawary M.E.: Multicast routing with delay and delay variation constraints using genetic algorithm. Canadian Conference on Electrical and Computer Engineering, 2363–2366 (2004) 24. Zahrani M.S., Loomes M.J., Malcolm J.A., Dayem Ullah A.Z.M., Steinhofel K., Albrecht A.A.: Genetic local search for multicast routing with pre-processing by logarithmic simulated annealing. Computer and Operations Research. 35 (2008) 2049– 2070 25. Wang Z., Shi B., Zhao E.: Bandwidth-delay-constrained least-cost multicast routing based on heuristic genetic algorithm. Computer communications. 24 (2001) 685– 692 26. Haghighat A.T., Faez K., Dehghan M., Mowlaei A., Ghahremani Y.: GA-based heuristic algorithms for bandwidth-delay-constrained least-cost multicast routing. Computer Communications. 27 (2004) 111–127 27. Youssef H., Al-Mulhem A., Sait S.M., Tahir M.A.: QoS-driven multicast tree generation using tabu search. Computer Communications. 25 (2002) 1140–1149 28. Wang H., Fang J., Wang H., Sun Y.M.: TSDLMRA: an efficient multicast routing algorithm based on tabu search. Journal of Network and Computer Applications. 27 (2004) 77–90 29. Yang C.B., Wen U.P. Applying tabu search to backup path planning for multicast networks. Computers & Operations Research. 32 (2005) 2875–2889 30. Ghaboosi N., Haghighat A.T.: A tabu search based algorithm for multicast routing with QoS constraints. In: 9th International Conference on Information Technology, 18–21 (2006) 31. Skorin-Kapov N., Kos M.: The application of steiner trees to delay constrained multicast routing: a tabu search approach. In: Proceedings of the seventh international Conference on Telecommunications, Zagreb, Croatia, 443–448, (2003) 32. Youssef H., Sait M., Adiche H.: Evolutionary algorithms, simulated annealing and tabu search: a comparative study. Engineering Applications of Artificial Intelligence. 14 (2001) 167–181 33. Skorin-Kapov N., Kos M.: A GRASP heuristic for the delay-constrained multicast routing problem. Telecommunication Systems. 32 (2006) 55–69 34. Ghaboosi N., Haghighat A.T.: A path relinking approach for Delay-Constrained Least-Cost Multicast routing problem. In: 19th International Conference on Tools with Artificial Intelligence, 383–390 (2007) 35. Bastos M.P., Ribeiro C.C.: Reactive tabu search with path relinking for the Steiner problem in graphs. In: Proceedings of the third Metaheuristics International Conference, Angra dos Reis, Brazil (1999) 36. Canuto S. A., Resende M.G.C., Ribeiro C.C.: Local search with perturbations for the prize collecting Steiner tree problem in graphs. Networks. 38 (2001) 50–58 37. Gruber M., Raidl G.R.: Variable neighborhood search for the bounded diameter minimum spanning tree problem. In: P. Hansen, N. Mladenović, J.A.M. Pérez, B.M. Batista, and J.M. Moreno-Vega (eds.), Proceedings of the 18th Mini Euro Conference on Variable Neighborhood Search, Tenerife, Spain (2005) 38. Mladenovic N., Hansen P.: Variable neighborhood search. Computers & Operations Research. 24 (1997) 1097–1100 17 39. Jari K., Teemu N., Olli B., Michel G.: An efficient variable neighborhood search heuristic for very large scale vehicle routing problems. Computers & Operations Research. 34 (2007) 2743–2757 40. Burke E.K., Curtois T.E., Post G., Qu R., Veltman B.: A hybrid heuristic ordering and variable neighbourhood search for the nurse rostering problem. European Journal of Operational Research. 2 (2008) 330–341 41. Zhang B., Mouftah, H.T.: A destination-driven shortest path tree algorithm. In: IEEE International Conference on Communications, 2258–2262 (2002) 42. Martins S.L., Resende M.G.C., Ribeiro C.C., Pardalos P.M.: A parallel GRASP for the Steiner tree problem in graphs using a hybrid local search strategy. Journal of Global Optimization 17(1-4) (2000), 267–283 43. Leitner M., Raidl G.R.: Lagrangian Decomposition, Metaheuristics, and Hybrid Approaches for the Design of the Last Mile in Fiber Optic Networks. In: Hybrid Metaheuristics 2008, LNCS 5296, 158–174, Malaga, Spain, October 2008. SpringerVerlag Berlin Heidelberg. 44. Cayley A.: A theorem on trees. Journal of Math. 23 (1989) 376–378 45. Waxman B.M.: Routing of multipoint connections. IEEE Journal on Selected Areas in Communications. 6 (1988) 1617–1622