Solving the Delay-Constrained Least-Cost routing problem using Tabu Search with Edge Betweenness

—Multicast routing consists of concurrently sending the same information from a source to a subset of all possible destinations in a computer network thus becomes an important technology communication. To solve the problem, a current approach for efﬁciently supporting a multicast session in a network consists of establishing a multicast tree that covers the source and all terminal nodes. This problem can be reduced to a minimal Steiner tree problem (MST) which aims to look for a tree that covers a set of nodes with a minimum total cost, the problem is NP-hard. In this paper, we investigate metaheuris-tics approaches for the Delay-Constrained Least-Cost (DCLC) problem, we propose a novel algorithm based on Tabu Search procedure with the Edge Betweenness (EB). The EB heuristic used ﬁrst to improve KMB heuristic, able to measure the edge value to being included in a given path. The obtained solution improved using the tabu search method. The performance of the proposed algorithm is evaluated by experiments on a number of benchmark instances from the Steiner library. Experimental results show that the proposed metaheuristic gives competitive results in terms of cost and delay compared to the optimal results in Steiner library and other existing algorithms in the literature.


I. INTRODUCTION
Depending on the number of destinations, network routing can be categorized into three basic types: unicast (one-toone), broadcast (one-to-all) and multicast (one-to-many). The multicast communication model has been defined firstly in [1]. Multicast, or selective streaming, is a communication approach for the transmission of datagrams to a group of zero or more hosts identified by a single destination group address [1]. The notion of a group is often associated with multicast communications. A host group is a set of network entities sharing a common identifying multicast address, all receiving any data packets addressed to this multicast address by senders (sources) that may or may not be members of the same group and have no knowledge of the groups' membership [2]. This definition implies that, from the sender's point of view, this model reduces the multicast service interface to a unicast one, moreover, multicast routing can utilize network resources more efficiently, as a data packet traverses each link only once, and some of the links are shared [2], [3].
As a major Internet activity, multicast is an appropriate medium for multimedia technologies, such as videoconferencing, distance learning and coordination, which require strict quality of service conditions such as bandwidth, delay, delay variation, etc. Multicast is assigned to a condition in which the sender wants to send its data packets to a group of networks or receivers that actually form a multicast group. It is obvious that the benefits of this task include less wastage of bandwidth and network resources, parallelism in the network, transmitter load and reduced network traffic.
The subject of multicast routing on QoS is an important issue for network research and a serious problem for future generations of high efficiency and performance networks. Multicast routing based on the quality of service, therefore, aims to find an optimized multicast routing tree, in order to meet service quality limitations, it is an NP-complete problem. Establishing a multicast tree could solve multicast routing problems. One of the most important issues for implementing multicast services is the type of tree structure designed to ensure increased quality and efficiency of the multicast tree. There are abundant methods for solving problems related to multicast routing. Among these methods are the exact methods that seek to find optimal solutions for the problems. Other methods are the approximate methods, where one was satisfied with the good quality solutions, without guaranteeing optimality to the port of reduced computation time. The disadvantage is to have in return no information on the quality of the solutions obtained. Thus, hybrid methods combine exact methods and/or approximate methods to create new methods that have given rise to a pseudo-class of methods. There are two ways to solve this problem: An optimal solution at the final moment and An optimal close solution by a heuristic algorithm. The first solution is an optimal solution, but the complexity of the NP-Complete problems makes it impracticable. On the other side, the second method is a possible way. Thus, the routing algorithm has a significant impact on the development and performance of computer communication networks.
In this paper, our objective is to find solutions to the problems related to multicast routing, the Delay-Constrained Least-Cost routing problem. Mathematically, the problems can be considered as Steiner tree problems (PST) in a graph. We propose a tabu search as a metaheuristic based on the EB heuristic as a initial solution and the movements of tabu search algorithm used to improve the solution. The remainder of this paper is structured as follows. Section II outlines the multicast routing and reviews the existing related work. Section III discusses the QoS multicast routing problem. Section IV defines the Delay-Constrained Least-Cost routing problem. Section V describes the proposed method for solving DCLC problem. Section VI shows simulation and tested experiments. Section VII summarizes the main contributions and results of this paper.

II. MULTICAST ROUTING: RELATED WORK
Since the 1990s, the rapid evolution of numerous realtime multimedia applications has been stimulating the demand for QoS based multicast routing in the underlying computer communication networks. The main goals of QoS multicast routing are to efficiently allocate network resources, balance the network load, reduce congestion hot spots and provide adequate QoS guarantees for end-users of multimedia applications [3].
The traditional unicast model is extremely inefficient for the group-based applications (videoconferencing, shared workspaces, distributed interactive simulations (DIS), software upgrading, and resource location) since the same data is unnecessarily transmitted across the network to each receiver, these applications require the underlying network to satisfy certain quality of service (QoS) multicast communication [2], [4]. These QoS requirements include the cost, delay, delay variation, lost and hop count, etc [4]. The multicast model was proposed to reduce the many unicast connections into a multicast tree for a group of receivers [2]. The phenomenal growth of group communications and quality of service (QoS) aware applications over the Internet has accelerated the need for scalable and efficient network support [2].
Multicasting has emerged as one of the most focused areas in the field of networking. As the technology and popularity of the Internet have grown, applications that require multicasting are becoming more widespread, where information needs to be sent to multiple end-users at the same time in the underlying computer networks [5]. Another interesting recent development has been the emergence of dynamically reconfigurable wireless ad hoc networks to interconnect mobile users for applications ranging from disaster recovery to distributed collaborative computing [5]. In this context, selforganized wireless mobile nodes that share a common wireless channel can work without the support of fixed infrastructure or centralized administration [6]. Multicasting is more complex than in wired networks, the main constraints in these networks are bandwidth limitation and unpredictable host mobility. The challenge is to propose multi-hop routes for multicast routing protocols [7], multi-hopping is usually required due to limited transmission power where each node participates in the network as both host and a router [6].
Many works were carried in the last decade for QoS multicast routing problem such as a method based on genetic algorithms (GA) proposed by Haghighat et al [8]. In this algorithm, the connectivity matrix of edges is used for genotype representation the matrix tells whether or not a specific edge connects the pair of nodes, the initial population is based on the randomized depth-first search algorithm. Also, different heuristics are proposed for reproduction process. The proposed GA-based algorithm overcomes existing algorithms such as BSMA heuristic [9], Sun-GA [10] and Wang-GA [11]. In addition, several heuristics have been developed with the GRASP heuristic by N. Skorin-Kapov et al [25] to solve the Delay-Constrained Multicast Routing (DCMR). Experiments on maximum nodes sized problems (100 nodes) from benchmark of the literature and comparison with existing algorithms have been done. Tseng et al [13] proposed an ant colony-based algorithm to solve the degree and delayconstrained broadcasting problem with minimum-cost. The algorithm consists of three mechanisms: the spanning tree construction, the local and global updating rules of the pheromone trail. Such a communication scheme can be regarded as a broadcasting problem with degree and delay constraints in the overlay network. Zhang et al [14] proposed a method for least-cost QoS multicast routing based on genetic simulated annealing algorithm NGSA, the genetic algorithm et simulated annealing algorithm are combined to improve the computing performance in this method. Recently as in [15], a multiobjective differential evolution algorithm named as MOMR-DE is proposed using the modified crossover and mutation operators to build the shortest-path multicast tree. Constraint handling scheme is used to handle QoS constraints. In addition, ranking technique, fast non-dominated sorting process and crowding distance sorting process were combined together in order to select the elitism and preserve the diversity of the solutions. In the last year, Zhang et al [16] Combine the solution generation process of Ant Colony Optimization (ACO) algorithm with the cloud model (CM). The cloud model enhances the performance of the ACO algorithm by adjusting the pheromone trail on the edges. In a recent paper by Hassan et al [24], and based on Ant Colonies, a multiobjective algorithm is developed to construct a multicast tree for data transmission in a computer network. This algorithm simultaneously optimizes the cost, delay and hop (total weight) of the multicast tree.

III. QOS MULTICAST ROUTING PROBLEM
The QoS multicast routing problem concerns the search of optimal routing trees in the distributed network, where messages or information are sent from the source node to all destination nodes while meeting all QoS requirements. A common approach constructs a multicast tree structure which covers the source and all terminals nodes, is to bring the problem towards the minimal Steiner tree problem (MST) which aims to look for a tree that covers a set of nodes with a minimum total cost. The Constrained Steiner tree is a wellknown NP-complete problem.
Let us represent a network with a graph G = (V, E), where V is a set of n nodes and E a set of m edges. e(i, j) ∈ E a link that associates a weighting function f W (e) between nodes i and j. 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). Due to the asymmetric nature of computer networks, it is possible that Let us define s a node called the destination node, R a set of nodes where R ⊆ V −{s} is the destination nodes that receive a data stream from source node s. The set R called multicast groups or terminal nodes, relay nodes which are intermediate hops on the paths from the source to destinations. The rest of the paper uses the following notations [4]: IV. DELAY-CONSTRAINED LEAST-COST MULTICAST ROUTING PROBLEM (DCLC) A variety of Quality of Service (QoS) constraints have been established in real-life applications, that is, cost, packet loss ratio, use of links, bandwidth, delay variation, etc. Multicast Routing Problems (MRPs) based on QoS become much more complicated multi-objective problems when various conflicting objectives are considered simultaneously, these problems are named a Multi-Objective Multicast Routing Problem (MMRP). The problems consist of finding a multicast tree noted T that minimizing the following objectives: Where: C(T): the cost of the multicast tree: DM(T): the maximal end-to-end delay : α(T): the maximal link utilization: DA(T): the average delay : The MMRP is subject to a link capacity constraint as follows: The DCLC problem is a particular case of MMRP problem. It concerns only the two QoS requirements the cost and delay of the multicast tree. The DCLC multicast routing problem is equivalent to the Delay-Constrained Steiner tree (DCST) problem, which is also NP-complete [17]. The objective of the Delay-Constrained Steiner Tree (DCST) Problem is to construct a multicast tree T such that the tree delay is within the delay bound, and the tree cost is minimized.
The end-to-end delay from the source to each destination is the sum of delays along the path, it plays a key role in obtaining feasible solutions in search algorithms, the smaller the delay bound is, the tighter the problem is constrained [3], [4]. The objective function of the DCLC can be rewritten as follow: Where ∆ is the delay bound, we note that in the majority of the literature papers and this one, the same delay bound is applied to all destinations. Otherwise different applications may have different upper bound for each destination.

V. RESOLUTION METHODOLOGIES
Based on the tabu search procedure combined with the EB heuristic as the initial solution, two algorithms for solving the multicast routing problem have been proposed in this paper. The first algorithm TSEB-MRP is dedicated to the problem of single-objective multicast routing, where the only constraint is the cost. Therefore, the second algorithm TSEB-DCLC is inspired by our first algorithm TSEB-MRP it is intended for the problem of multi-objective DCLC problem, where both constraints: cost and delay are considered.

A. Edge Betweenness Heuristic
The KMB heuristic [18], proposed by Kou, Markovsky and Bermann, is one of the most efficient approximate methods that used to construct the Steiner tree covering all terminals nodes, the problem is well known as an NP-hard. The method based on two main algorithms allowing the development of the shortest paths and minimal spanning tree. There is a practical interest in this heuristic due to its simple implementation, however, it is rarely enough to apply an algorithm such as KMB directly to a multicast routing problem [19]. The produced results by the KMB heuristics are not necessarily minimal.
M. Fujita et al have proposed a Steiner tree construction heuristic to improve the KMB algorithm [20]. The heuristic is called Edge Betweenness (EB) (Algorithm .1) based on information derived from the edges of the graph and has good performance for various types of Steiner tree problems. The EB heuristic is based on maximizing the use of low weight edges. This reduces the cost of the Steiner tree result. Therefore, in [20], the authors introduced a parameter allowing to calculate the rate of use of the edges, this parameter is called Edges Betweenness, it represents the centrality of the edges in the network. If an edge is used by many paths between nodes, then that edge has high betweenness [20]. The edge betweenness of the edge e is defined as follows: where |V | is the number of nodes, s is a starting node of the shortest paths, g is a terminating node of the shortest paths, I(s,g) is the number of shortest paths between s and g through the edge e and n(s,g) is the number of shortest paths between s and g. M.Fujita et al [20] define a new cost for the edge as follows, by using the edge betweenness: In (10), C (e) is the given cost of the edge e, eb (e) is the edge betweenness of the edge e, and α is a controlling parameter that determines the priority between cost and betweenness of the given edge. By using the new cost, an edge is susceptible to be included in the Steiner tree, if it has a low cost and a high edge betweenness. The heuristic gives better results than the conventional KMB algorithm. Algorithm .1: EB.
Input: an undirected distance graph G; Step1. Construct the G' graph from a given network using (10); Step2. Construct the complete undirected graph G1; Step3. Find the minimal spanning tree (MST1) according to Prim; Step4. The paths in MST1 are replaced by those from the original network to construct the Steiner tree; Step5. Remove from the tree all branches that contain only non-terminals; Output: a Steiner tree for G.;

B. Tabu Search Algorithm
The metaheuristic Tabu search (TS) is a global optimization method guides a local search procedure to explore the solution space beyond local optima using intensification and diversification strategy. The method tries to avoid trapping into local optima by using a special memory called tabu list. Any solution which has been recently selected from the best in neighborhood is putted into a tabu list so that it becomes for a short period of time, depending on the length of the list. The process minimizes the chance of cycling in the same solution and therefore creates more chances of improvement by moving into other space region. We apply the TS in order to resolve the Delay Constrained and Least-Cost problem. The procedure TSEB-MRP starts using the EB heuristic as the initial solution, it is done after a fixed number of iterations or a maximum number of continuous iterations without improvement of the best-known solution. The current solution is improved using the best in neighborhood. Furthermore, three movements are used to construct a neighborhood: random movement, path movement, and node movement: a. Random move (random position -random path): this movement consists of removing randomly a path between two terminals from its position and replacing it with another path that does not belong to the tree.
b. Steiner node move: a no-Steiner node is a node that does not belong to the multicast tree. Moving the Steiner node is a basic transformation that switches the status of one of the elements of the current solution from a Steiner node to a no-Steiner node or vice versa [21]. This movement is an exchange between two non-terminal nodes, the first node is a worse node (a non-Steiner node), but the second is a better node that minimizes the cost of the movement (a Steiner node). This movement was used in the TS-based algorithm for the problem of multicast routing at Delay Constrained and Least-Cost proposed by Skorin Kapov et al [22].
c. Path move (random position -selected path): this is a special case of random movement, it was used in the TSbased algorithm for the problem of multicast routing at DCLC proposed by Youssef et al [23]. In this paper, to find the alternative path, Dijkstra algorithm is used to calculate the path length between nodes, then Prim algorithm is used for Steiner tree construction. The neighborhood structure based on "Delete and Add" operations inspired from [23] have chosen for generating neighbors. This movement is a path change operation using two data structures, the solution is encoded as an array of |M | elements, the first represents the current solution, while the second represents a secondary solution. Furthermore, this move consists of inserting the selected path in a random position, the path is defined between a source s and the destination d terminal nodes. The choice of the source s at each iteration is random, and the destination d is one of the other multicast group nodes. At each iteration, we randomly delete one superpath from the encoding of the current solution and then generate different feasible solutions by adding superpaths from the secondary solution which can be at a low cost.
In the context of our paper, we will propose an algorithm TSEB-DCLC (Algorithm .3) based on the previously defined methods TS and EB (TSEB-MRP) for solving the DCLC problem. For this purpose, these algorithms will be adapted to take into account the end-to-end delays. In our proposed algorithm, the initial solution S is generated according to the EB heuristic. At each iteration, we generate a random number l ← length of taboo list; n ← number of movements; S ← the initial candidate solution is the tree resulting from the heuristic EB; nbrIterMax ← total number of iterations; nbrIterLocal ← 0; Best ← S; L ← { }; // L: taboo list with a maximum length equal to l repeat if (length (L) > l) then Remove old element from L; β in order to find a neighbor to S using Random, Steiner or Path mouvement, it is applied to diversify the incoming solution to the local search. Then, the solution obtained R entered into competition with another random local solution W in order to exploit the local search space . Furthermore, to prevent the TSEB-DCLC algorithm stuck into local optima, EB heuristic with α factor is incorporated to our algorithm. Concerning the EB heuristic, the control parameter α, whose optimal value depends on the topological characteristics of the considered network, determines the priority between the cost of the edge and the cost edge betweenness. The value of α can change the cost of the edges, and this changed the Steiner tree result. It is our mechanism for resetting the initial solution. This procedure is repeated several times until the ideal solution is achieved or following a maximum number of iterations. Beside that, the ideal solution is the optimal solution of benchmark instances from the Steiner library.

VI. EXPERIMENTAL RESULTS
To properly test and evaluate the implemented algorithms, we used the SteinLib instances library, which is a library of test instances of different sizes for the Minimum Steiner Tree Problem in Graphs. We generate class B instances and transform them into non-oriented graphs. For the DCLC problem, we generate instances class B in the SteinLib, because, there are no benchmark problem instances for DCLC problem in the literature. Based on Tabu Search method, combined with the Edge Betweenness heuristic, an approach is proposed in this paper for the first time to solve the DCLC problem. Computational results demonstrate the effectiveness of the proposed TSEB-DCLC algorithm for this problem. In TABLE I we presente the final results for the proposed algorithms. Concerning the EB heuristic, the control parameter α, whose optimal value depends on the topological characteristics of the considered network, determines the priority between the cost of the edge and the cost edge betweenness. In addition, we consider that the maximum cost of the edge is an important factor in determining the optimal value of α. OPT, denotes the cost of the optimal solution for each unconstrained Steiner tree instance, values marked with * indicate optimal solutions. All experiments have been implemented in JAVA.
From TABLE I, we can observe that the KMB heuristic has given good results, but it does not ensure optimal solutions for all instances. It is found that the EB method has obtained improved solutions than the KMB algorithm, which implies that several edges are shared by the paths in the Steiner tree obtained using the new cost calculated from the cost and the edge betweenness. In the column TSEB-MRP, we show that the results based on the TS method show good performance compared to the KMB and EB heuristics. The initial solution is based on EB heuristic and the choice of position in this neighborhood that minimizes cost. The mechanism consists in prohibiting the return to the last positions explored. The "Size of the taboo list" parameter can range between [10,30], and the number of iterations in our first tests can go up to 1000 iterations. Through the random part of the initial solution, based EB algorithm, allows to differ the solutions generated, but they are still of good quality since the random choice is made among a set of good candidates. The movements using in the TS method, applies to the realizable solution to see if it is still possible to improve this solution. In order to evaluate the performance of the proposed TSEB-DCLC algorithm, a large number of simulations have been conducted on the benchmark Steinb instances, then we show the results obtained in TABLE I for the DCLC problem where end-to-end delay is added. Those algorithms have been executed with a sufficiently high value of the delay bound ∆ to not play the role of constraint (The link delay cannot really be set to ∞). The solutions obtained are the solutions for the single-objective case. In the last, we compare the obtained results with the algorithms: TS−CST (Tabu Search-Constrained Steiner Tree) proposed in the literature [25] , and SSPR−TS (Scatter Search and Path Reli-Tabu Search) mentioned in [26]. The results demonstrate the efficiency and effectiveness of our proposed algorithm for solving the multicast DCLC routing problem compared to other existing algorithms in the literature. Moreover, TSEB-DCLC produces results that are better than those of the literature. However, some instances take a bit of time to run.

VII. CONCLUSION AND FUTURE WORK
In this paper, a new heuristic named TSEB is introduced for single-objective multicast routing problem (MRP) and adapted for multi-objective DCLC problem where both constraints: cost and delay are considered. Our TSEB-MRP proposition is based on the TS procedure which uses the Edge Betweenness heuristic to construct the initial solution, and uses the movements of TS to diversify the research space. The chosen algorithms are adapted, implemented, and tested via an extensive set of experiments on a number of benchmark instances from the Steiner library. The results obtained show that the EB algorithm gives improvements to the KMB algorithm. Furthermore, we compared these algorithms with the proposed TSEB-MRP method in order to study the efficiency of these algorithms in multicast routing to optimize the total cost of the constructed Steiner tree. In this study, the TSEB-MRP method gives good results by contributing to EB heuristic and the movements of TS. Finally, we test our proposal TSEB-DCLC on the DCLC problem, and we compare it to the optimal results and other existing algorithms in the literature. In our future work, we intend to investigate the influence of algorithm TSEB for solving MRPs with a wider range of realworld features. It is also interesting to extend our algorithms to solve other multi-objective optimization problems by taking into account the reduction in execution time.