Exact Algorithm to Solve the Minimum Cost Multi-Constrained Multicast Routing Problem

The optimal solution of the multi-constrained QoS multicast routing problem is a tree-like hierarchical structure in the topology graph. This multicast route contains a feasible path from the source node to each of the destinations with respect to a set of QoS constraints while minimizing a cost function. Often, it is a tree. In other cases, the hierarchies can return several times to nodes and links of the topology graph. Si-milarly to Steiner problem, finding such a structure is an NP-hard problem. The usual tree and topology enumeration algorithms applied for the Steiner problem cannot be used to solve the addressed problem. In this paper, we propose an exact algorithm based on the Branch and Bound principle and improved by the Lookahead technique. We show relevant properties of the optimum hierarchy permitting efficient pruning of the search space. To our knowledge, our paper is the first to propose an exact algorithm for this non-trivial multi-constrained optimal multicast route computation. Simulations illustrate the efficiency of the proposed pruning operations. The analysis of the execution time shows that in simple topologies and with tight QoS constraints the exact algorithm requires relatively little execution time. With loose constraints the computation time cannot be tolerated even for off-line route computation. In these cases, the solution is close to a Steiner tree and heuristics can be applied. These results can serve as basis for the design of efficient, polynomi-al-time routing algorithms.


Introduction
Quality of Service (QoS) multicasting needs the computation of a multi-constrained multicast route connecting a source node to a set of destinations. The objective of network operators (and transitively of users) is to minimize the network resource consumption. To find an appropriate solution within the feasible solutions, a cost function can be used. The minimum cost solution can minimize for instance the hop count or an additive cost on the links. As it is discussed in [1], guaranteeing QoS and optimizing resource utilization may be two conflicting interests. We are interested in finding the best cost solution with respect to a set of QoS constraints.
Without QoS constraints, the minimum cost multicast route computation corresponds to the well known NP-hard Steiner problem. In our study, we consider the constrained multicast routing with multiple QoS constraints. As it is shown in [2], the multi-constrained routing problems are NP-hard even if there is only one destination.
Often, in works talking about QoS aware multicast routing, authors suppose that the optimal solution is a partial spanning tree. Section 2.2 gives an overview of the most important related works. In some cases, the optimal multicast route is neither a tree, nor a set of trees, nor a set of optimal QoS paths.
In [3], it has been mentioned that a feasible/optimal solution of the problem may be different from a tree. Indeed, the authors suggest that it corresponds to a sub-graph containing feasible paths and eventually minimizing a length/cost function. Unfortunately, the sub-graph concept is not sufficient to define the optimal solution. Paper [4] shows that a generalization of the tree concept called hierarchy defines accurately the optimum. Furthermore, hierarchies can also describe feasible solutions approaching the optimal one.
To our knowledge, there is no algorithmic solution proposed in the literature to compute the optimal route, which is a hierarchy. In this work, we investigate on finding the optimal solution (the partial minimum spanning hierarchy) of the corresponding multi-constrained partial spanning problem. The problem is NP-hard. Since hierarchies are different from trees and do not obligatory correspond to any sub-graph, the known tree computation algorithms cannot be applied to find the optimal hierarchy. Indeed, hierarchies can contain the same graph node/edge multiple times, and the algorithms based on tree and node enumeration are not suitable for hierarchy computation.
Therefore, we propose a particular Branch and Bound algorithm permitting returns to the nodes several times.
Our paper is organized as follows. Section 2 presents the multi-constrained partial spanning problem for multicast QoS routing and provides an overview of the previously proposed approaches to solve the routing problem. Section 3 briefly presents the hierarchy concept generalizing spanning trees as well as the relevant properties of the multi-constrained minimum cost hierarchies. These properties as well as the Lookahead concept (cf. [2]) are useful to design the exact algorithm described in Section 4.
The computation results can be found in Section 5.

The Multi-Constrained QoS Multicast Routing Problem
Often, multimedia applications require multi-constrained multicast routes. For each destination of a given multicast group, the route should meet a set of QoS requirements such as limited delay, jitter, bandwidth, loss rate etc. Indeed, generally the source based QoS multicast routing aims to compute routes by satisfying the given QoS constraints at the destinations and minimizing the network resource consumption or cost.

Problem Formulation
The network topology is represented by an undirected graph ( ) The multicast QoS routing aims at finding a multicast route where W is a multi-set of node occurrences (the visited nodes) and F is a multi-set of edge occurrences (the used edge occurrences) in the route 1 . If W and F are simple sets, the route is a sub-graph. In our constrained routing problem, M is not always a sub-graph and due to the constraints, the route can visit nodes and edges multiple times [3] [4].
Consequently, a node or an edge may be present multiple times in the multi-sets W and F respectively. We propose to refer to occurrences of nodes and edges/arcs in spite of referring to nodes and edges themselves. This multicast route Since the structure M may be different from a sub-graph (the sets W and F are multi-sets with possible repetitions of graph elements), if an edge e E ∈ of G is present twice in F (because it is used twice to forward the multicast messages), its cost must be added twice to ( ) c M .
The following formulation of the optimal QoS multicast routing has been proposed in [4].  (3) As it has been demonstrated, the solution is a directed minimum cost partial spanning hierarchy [4]. Section 3 recalls the definitions. Finding the optimum is NP-hard.

Related Works
For solving the QoS multicast routing problem, several propositions aim to compute spanning trees. The reason for basing multicast structures on multicast trees is that the tree structure avoids redundancies (thus minimizes the cost for instance).
Without constraint, the basic problem is known as the Steiner problem. Two large overviews on this well known NP-hard problem are presented in [5] and [6]. The most known exact algorithms are based on the enumeration of the Steiner nodes 2 and Steiner trees. The solution of the Steiner problem is always a sub-graph (a tree).
If only one constraint (usually on the end-to-end delay) is given, the addressed problem is the Constrained Steiner Tree (CST) problem that is also NP-hard [7]. To solve it, the authors propose a Branch and Bound algorithm by using the Lagrangian Relaxation and heuristics to get lower and upper bounds in the Branch and Bound tree. A compact Mixed-Integer Program formulation with efficient reduction techniques can be found in [8]. In [9] the diameter-constrained minimum spanning tree variant (DM-STP) is defined. In this problem a natural number D is given, and the goal is to find a spanning tree of the graph with minimum total cost such that the unique path from any node i to any node j has no more than D edges. A Branch and Cut algorithm is proposed using heuristics to cutting plane generation. Several heuristics have also been proposed to solve approximately the problem. In [10], a heuristic that constructs a low cost spanning tree, with respect to a bounded delay on each multicast destination is described. In [11], an algorithm that approaches the minimum cost spanning tree solution with respect to the delay constraint has been presented. The authors in [12] proposed a heuristic algorithm called The Bounded Shortest Multicast Algorithm (BSMA). The BSMA algorithm always finds a delay constrained tree, if such a tree exists, since it begins with the least-delay spanning tree.
When more than one QoS constraint are considered, the problem becomes more complex, and different tree based solutions are proposed [12] [13] [14] [15]. A rendezvous point based tree computation has been presented recently in [16]. Three different formulations can be found in [3]. The Multiple Constrained Multicast (MCM) problem aims to compute a sub-graph that contains a feasible path from the source to each destination. Since the sub-graph can be arbitrarily large and the paths are not explicitly identified in this sub-graph, this formulation is not interesting. The Multiple Parameter Steiner Tree (MPST) problem searches for a partial spanning tree minimizing an arbitrary length function. Since the solution of this problem is a tree, it can be configured and used for multicasting. The drawback of this formulation is that in some cases this kind of solution does not exist. The authors say that the MPST, although optimal in terms of resource utilization, does not always satisfy the constraints. A third formulation is given by the combination of the two cited ones above; the Multiple Constrained Minimum Weight Multicast (MCMWC) problem searching for a sub-graph with minimum cost. Meta-heuristics have also been applied for solving QoS multicast routing. The papers in [17] and [18] propose genetic algorithm based solutions even for networks with uncertain parameters and for energy minimization respectively. The thesis work in [19] presents several metaheuristics (e.g., swarm optimization). An original computation of multicast trees based on a Chemical Reaction Optimization Algorithm for QoS Multicast Routing can be found in [20]. Let us notice that these algorithms compute trees and not the optimal solution presented in our paper.
In the literature, few proposed algorithms allow solutions that are different from spanning trees. The Multicast Adaptive Multiple Constraints Routing Algorithm (MA-MCRA) [3] is one of the most relevant algorithms that looks for multicast routes that are different from spanning trees. MAMCRA solves the multi-constrained mul-ticast routing problem by computing a special routing structure in two steps: 1) In the first step, the algorithm computes a set of optimal (multi-constrained) paths 2) In the second step, it tries to eliminate the useless redundancies that are produced in the first step.
The result may be a hierarchy (cf. its definition in the next section).

Instead of multiple constraints, different QoS objectives can be established on the
QoS values: minimizing the delay, the jitter, the packet losses, etc. A survey on multiobjective minimum spanning tree problem is available in [21]. Our approach is based on multiple constrained formulation.

Hierarchies to Solve the Optimal QoS Multicast Routing
Usually, spanning trees are considered as the minimum cost solutions for partial spanning in graphs. However, they have some limitations. Trees can not always satisfy the end-to-end constraints and in some cases there is no tree solution for the problem.
As it has been demonstrated in [4] the solution is a connected, graph related structure called hierarchy.

Hierarchies
Trees are connected (sub-) graphs without cycles. To solve our problem, a structure permitting the graph nodes to be visited several times has been proposed. A hierarchy is a graph-related structure defined as follows [22].
be an arbitrary graph and let ( ) fines a hierarchy in G. 3 A homomorphism preserves the adjacencies of nodes; 1 w W ∈ and 2 ∈ w W can be adjacent if the corresponding nodes 1 ∈ v V and 2 ∈ v V are also adjacent. Figure 1 illustrates a hierarchy. In our case, the graph G is the topology graph of the network and the tree ( ) , T W F = represents the routing information (the succession of nodes in the route).
For multicast routing, the route is rooted at the source and we consider rooted hierarchies (the tree T is rooted). A non-empty rooted hierarchy can be considered as a connected route containing occurrences of the graph elements, where each node occurrence has at most one parent node.
Trivially, a hierarchy is not a sub-graph, but (similarly to walks) a graph-related structure. In the example of Figure 1, the nodes c and d are present twice in the hierarchy.
Since the different occurrences of the same element can play different roles, the distinction and the identification of the occurrences is substantial.
Even though a hierarchy is not a sub-graph, it generates a sub-graph in the graph G.
This sub-graph is the image of the hierarchy and may contain cycles. To facilitate the use of the hierarchies, we propose to retain some tree related terms.
A sub-hierarchy of a (rooted) hierarchy H is a hierarchy only containing elements of H.
A branching node occurrence is a node occurrence having at least a degree three in the hierarchy.
A leaf is a node occurrence with a degree one in the hierarchy. In Figure 1, there are three leaves (one occurrence of c, e and f), the second occurrence of d is a branching node occurrence and the reader can easily detect the sub-hierarchy rooted at b.
Hierarchies can be directed or undirected. A directed hierarchy can be related to an undirected graph G. In this case, an arc relies two node occurrences in the hierarchy iff there is an edge between the corresponding nodes in the graph G. If the graph G is not directed, we suppose that each edge can be replaced by a pair of arcs.
Moreover, we suppose that the weights of the edge correspond to the weights of the arcs in both directions. The directed rooted partial spanning hierarchy concept allows an accurate and exact definition of the solution of the multi-constrained partial minimum spanning problem. These rooted hierarchies are directed from the source to the destinations. As it has been proved in [4], the optimal multicast route M, with respect to multiple constraints on positive additive metrics, is always a directed partial spanning hierarchy. In the following, we refer to this solution as the Multi-Constrained Minimum Partial Directed Spanning Hierarchy, abbreviated by MC-MPDSH. Using the hierarchy concept, the MCMCM problem can easily be re-formulated as follows.
The MCMCM problem consists in finding the multi-constrained minimum partial directed spanning hierarchy containing at most one directed path ( ) , j p s d from the source to each destination j d D ∈ , with respect to the constraints:

Properties of the MC-MPDSH
We summarize properties that permit the design of our Branch and Bound algorithm by detecting infeasible "solutions" ASAP. The proofs of these properties are generally trivial and omitted in this paper.
1) The leaves in the optimal spanning hierarchy * M are destinations. Consequently, in an MC-MPDSH there are at most D leaves.
2) The directed path from the source s to any arbitrary node occurrence v is a feasible path. Figure 2. The cost optimal solution of a multi-constrained multicast routing problem.
3) The edges of the topology graph G can be used multiple times and in both direction. 4) In a directed path from the source s to an arbitrary destination j d in the MC-MPDSH, any node v V ∈ has at most one occurrence (a node can not be repeated in a path, paths are elementary). This property is also true regarding the source node itself: no directed path in an MC-MPDSH can return to the source node. Consequently, the source is present only once in an MC-MPDSH.
5) Due to Properties 1 and 4, in an MC-MPDSH, the number of the occurrences of a node v V ∈ is upper bounded by D . 6) If a destination corresponds to a leaf node in the optimal solution, then it has only one occurrence (the leaf occurrence).
For the occurrences of the node v, the following inequality always holds: Remember that the metrics in the graph are positive and additive. The following property enables to establish an important relation between the QoS constraints and gives a sub-optimality property. 10) Several paths from the source to different destinations can use an edge. We say that two paths share an edge in a hierarchy if the same occurrence of the edge belongs to both paths. Let 1 P and 2 P be two paths from the source to two distinct destinations both containing an edge a. The edge a is shared by 1 P and 2 P in the MC-MPDSH, iff the prefix of 1 P and 2 P from the source to the edge a is the same: i.e. this prefix is empty), but they cannot share the edge { } This study of the properties of the optimal solution is very useful to design exact algorithms and heuristics. Our proposal for an exact Branch and Bound algorithm follows. 4 This property corresponds to the well known Bellman's principle of optimality [23] and permits to search the optimal solution with dynamic programming. Unfortunately, the computation of all the smallest and possible sub-hierarchies is expensive. Remember that the problem is NP-hard.

MC-MPDSH Computation by Branch and Bound Algorithm
The multi-constrained multicast routing problem is NP-hard. Unfortunately, the algorithms proposed to solve the Constrained Steiner Problem such as the Steiner Tree Enumeration Algorithms and the Topology Enumeration Algorithms cannot be applied here, because of the allowed multiple occurrences of the graph elements in the solution.
In the following, we present a Branch and Bound algorithm that exactly solves the MCMCM problem. The efficiency of this kind of algorithms depends strongly on the applied pruning operations. In our algorithm, two ways are proposed to reduce the search space and accelerate the computation: • pruning based on properties of the possible optimum as presented in the previous section.
• pruning based on the Lookahead concept.
We will demonstrate that the proposed pruning operations accelerate significantly the computation.

Main Algorithm
Despite the fact that there are repeated nodes and edges in a hierarchy, the Branch and Bound algorithm can easily be adapted for the spanning hierarchy computation. The

Computation of the Successors
To enumerate the candidate hierarchies, we propose the following construction. Like trees, hierarchies can always be decomposed into layers. In our case, we consider that the source corresponds to layer 0. When new edges are added to a selected hierarchy in   In the first step, it selects the set of fringe edges (indicated by A) of the hierarchy H. (Non empty combinations of these edges can be added to H to create successors in the second step.) Trivially, if a fringe edge f leads to a new leaf that violates the QoS constraints, f is not added to the set A (the QoS constraints must be respected in the new leaves of the successor hierarchies, cf. Properties 2 and 9). Moreover, a node can not be repeated twice in a path from the source in the optimal solution (Property 4). Consequently, a fringe edge from a given leaf a is not added to the candidate set A if its other extremity already belongs to the set of parents of a.
Step 2: Combination of the fringe edges computed in Step 1 for all combination ( ) In the second step, the algorithm combines the selected fringe edges (enumerated in the first step) for construction of valid successors. Since the optimal hierarchy can have at most D leaves, only successors corresponding to this limitation are enumerated (Property 1). Following Property 7, the branching node occurrences of a given node

Application of the Lookahead
The Lookahead is originally used in Artificial Intelligence [25] [26] to accelerate the computation by applying upper bounds and reducing the search space. The concept was successfully applied in the computation of optimal paths under multiple constraints [2]. In our case, in a node reached on a path from the source, one can consider the remaining information of any path toward the destinations and decide if this node can be usefull and considered for the computation or not. More precisely, the Lookahead concept can be applied in the computation of the optimal hierarchy as follows.
This vector is constant and cannot be reconsidered.
Trivially, the first method consumes more memory but it is more precise and efficient for pruning. In this study, we implemented the simpler second solution: only one Lookahead vector per node was used.
It is important to state that the computation of the Lookahead vectors is held off-line, before the construction of the candidate hierarchies. Then these vectors can be used at the computation of valid successors. For each fringe link selection (first step of Algorithm 2), the following additional test can be performed.
• Let f be a fringe edge from node a in the hierarchy to a newly examined node b.

Exactness of the Proposed Branch and Bound Algorithm
It is important to state that Algorithm 2 computes all valid hierarchies without skipping any of these hierarchies, even if it considers the proposed pruning operations. Lemma 1. Algorithm 2 does not create duplication.
Proof. Remember, the successors are created following the layers of the hierarchies.
Starting from a hierarchy 1 H selected by Algorithm 1, non-empty combinations of fringe edges are added to create successors. A given combination is added only once to 1 H . Two identical successors can not be produced from the hierarchy 1 H . It is not sure that a "reachable" destination can be reached using the proposed test. What is sure is that it cannot be reached if the condition is not satisfied. H ′ ) contains the fringe edges. By deleting these fringe edges, the previous hierarchies can be obtained. These previous hierarchies are the same by deleting the same fringe edges both from 1 H ′ and from 2 H ′ . The contradiction is trivial. Lemma 2. Algorithm 2 enumerates all valid candidate hierarchies without skipping any of them.
Proof. Let us suppose that there is a hierarchy H ′ with less cost than the optimum and this hierarchy is skipped. By deleting the fringe edges from H ′ , the hierarchy H ′′ is obtained, which is also valid and of less cost. Since H ′ is not enumerated, H ′′ can not be enumerated because there is no filter from H ′′ to H ′ . In this way, recursively we can arrive in the route hierarchy, which can not be enumerated by the algorithm. It is absurd. Theorem 1. The proposed Branch and Bound algorithm returns the MC-MPDSH if it exists.
Proof. The algorithm enumerates all the valid candidate hierarchies before arriving at the solution (Lemma 2). The valid candidates are selected by Algorithm 1 in an increasing order of costs. If a hierarchy H is selected, then there is no solution H ′′ with less cost than the cost of H (otherwise H ′′ is selected to examine). The first selected hierarchy spanning all the destinations is the MC-MPDSH.

Performance Evaluation of the Branch and Bound Algorithm
To analyze its performance, the algorithm have been executed in two benchmark networks. The first is the DARPA CORONET CONUS topology with 75 nodes and 99 links (illustrated by the first topology in Figure 7). The second is the NTT (Nippon Telephone Telegraph of Japan) network topology. This network contains 55 nodes and 144 links (the second topology in the figure).
In the presented simulations, three or four metrics were associated with each link and the link values were randomly generated from the same integer set (for example from { } 1, 2,3, 4,5 ) for each metric. We also considered the cost as a random value (corresponding to the first metric). Different constraint vectors are generated from tight to loose ones. For a given destination d, we can consider the tightness of constraints as follows. For each metric i, a shortest path i p with length ( ) i i l p can be computed. This length is a lower bound for the feasible solutions from the source to this destination regarding this metric. A vector of constraints can be considered as tight, when the constraints are close to the upper bounds but there is at least a feasible solution. Contrarily, when the constraints are far from the upper bounds, feasible solutions are easier to find, we consider the constraint vector as loose.
The execution time of the algorithm is quasi proportional to the number of computed hierarchies in the search tree. In this study, we use this number as a fundamental performance metric. A second metric can be the number of iterations before obtaining the solution. Figure 7. Topology CORONET CONUS [27] and NTT [28].

Relevance of the Pruning and Lookahead
Due to the possible repetitions of nodes and edges in the spanning hierarchies, their enumeration by the Branch and Bound exact algorithm is more expensive than the enumeration of the more restricted spanning trees. However, the presented properties of the optimal hierarchy allow to implement efficient pruning. In addition to the pruning operations, we expect that the application of the Lookahead concept will also reduce considerably the search space.

The Impact of the Tightness
The value of the constraint vector influences strongly the computation time. The tightness of the constraints is relative to metrics and destinations. With a given constraint vector and for some destinations, one can find several QoS routes satisfying the constraints whereas it is not possible for some other destinations. Since the solution (the spanning hierarchy) should cover all the destinations, we consider that the tightness always concerns the most critical destination. 6 The selected constraints were neither tight nor loose. In the DARPA CORONET CONUS topology, we tested the algorithm (the proposed BBPwLA version) for an arbitrarily configured multicast session with different constraint vectors. The (randomly selected) source was in Austin and five destinations were (also randomly) selected at nodes Abilene, Buffalo, Los Angeles, Billings and El Paso. In this computation, three metrics were associated with each link and the values were generated randomly from the integer set { } 1, 2,3, 4 . The cost corresponded to the first metric.
We computed the optimal solution for several QoS requirements. Since the link values were generated from the same range, we used the same end-to-end constraint for the three metrics. Table 1 resumes the results on the number of iterations and com- The progression of the computation is illustrated by Figure 9. This experience shows that the computation becomes longer with loose constraints (curves are stopped quickly in tight environment).
Why not compute the optimal solution with tighter constraints, if the computation is faster? Unfortunately, the response is negative.  Table 3).  way, the number of computed successors increases rapidly. But, as it illustrated in this example, the computation can be terminated using less iterations. The progression is shown by Figure 11. Our summary concerning the results is as follows.
The investigated simulations corroborate our intuitions. In the case of loose constraints, the exact algorithm is very expensive, even if the pruning operations limit the search space. In this case, the solution is close to the Steiner tree. The enumeration of the candidate hierarchies can not be tolerated in real route computations. Steiner heuristics can offer solutions. Contrarily, in the case of tight constraints, due to the pruning, the number of computed candidate hierarchies is lower and the proposed algorithm or a somewhat modified variant of this algorithm can be used.

Conclusions and Perspectives
The exact solution of the multi-constrained QoS multicast routing problem corresponds to a directed rooted hierarchy. However, finding feasible and/or minimum cost