## 1. Introduction

In a relatively short period of time, the Internet has become a critical information delivery infrastructure for global commerce and multimedia [

1]. Over the last decade, multicast routing trees for efficient one-to-many communications applications (e.g., web broadcasting, video teleconferencing, Voice over Internet Protocol (VOIP), and High Definition Television (HDTV) have emerged on the Internet in WMNs [

2]. Considering different quality-of-service (QoS) provisioning, one of the solutions is the minimal-cost multicast routing. This presents the problem of finding a tree in a graph from the source to a subset of vertices called terminals such that the total edge cost is minimal. Nevertheless, these days, more and more practical problems, including Very Large Scale Integration (VLSI) layout, network design, etc., can be modeled as multicast routing tree subject to multiple QoS constraints.

The challenge of multicast routing subject to multiple QoS constraints is usually known as the multiply constrained multicast routing (MCMR) problem. To the best of our knowledge, finding the minimal-cost multicast routing tree (or a Steiner tree) is Non-Deterministic Polynomial (NP)-hard [

3]. In that way, it is also NP-hard to find the minimal-cost multicast routing tree subject to multiple QoS constrains. On one hand, there has been much work involved in deterministic algorithms [

4], such as the genetic algorithm and the ant colony algorithm, which could finally find optimal solutions for this problem, while the time complexity grows exponentially with the increase of network nodes. On the other hand, there also has been much work involved in designing heuristic solutions for this problem [

5,

6,

7,

8,

9,

10,

11,

12,

13], and they can find multicast trees close to the optimal multicast tree in feasible time, which is more suitable for network multicast use, due to the computing and processing performance of network nodes.

Recently, it seems that much work has been turned to focus on approximation algorithms to deal with the multiply constrained multicast routing (MCMR) problem. The authors did research on the Steiner tree problem at the earliest, then put forward the MPH algorithm to deal with it [

14]. Based on Yuan’s study [

15], Xue et al. proposed various polynomial time algorithms for the multiply constrained optimal paths (MCOP) problem [

16,

17]. Feng and Korkmaz introduced a novel idea to show how a heuristic method can be used to boost the average performance of an approximation algorithm [

18]. Szymanski presented a Constrained Multicast-Max-Flow-Min-Cost algorithm to maximize the throughput of a multicast tree using network coding, subjected to routing cost constraints [

19]. At the same time, the authors did research on the optimal constrained path routing in WMNs in the previous paper [

20]; following that, the Fast Minimum Path Cost Heuristic (FMPH) algorithm was put forward to deal with the MCMR problem in WMNs. Recently, Athanasios Vasilakos and his co-authors proposed the cross-layer protocol to decrease the delay [

21,

22,

23,

24,

25] and devised a novel energy-saving algorithm. Alasaad and his co-authors argued for a ring-based multicast routing topology with support from infrastructure nodes for group communications in WMNs [

26], and then developed heuristic algorithms to deal with it. Other excellent research on QoS multicast in wireless networks could be found in this literature [

27,

28,

29,

30,

31,

32,

33,

34,

35].

Rather than the previous research model, in this paper, multiply constrained optimal multicast routing (MCOMR) is investigated from the perspective of approximation. As far as we know, Xue’s algorithm is currently the fastest for path establishment in unicast routing with multiple QoS constraints [

16], and the MPH algorithm is efficient for multicast routing [

14]. However, the solution to the MCOMR problem is rarely found or is found to be inefficient in the existing literature. In this study, a novel approximation algorithm is proposed to achieve a more excellent solution. The main contributions made in this paper are summarized as follows:

We present a model for the MCOMR problem from the approximate perspective. This model allows multiple QoS metrics to be considered in WMNs with guaranteed multicast service performance.

We formulate the problem of the MCOMR problem and develop a novel multicast heuristic approximation (NMHA) algorithm based on the technique of auxiliary graph construction, scaling, rounding and the MPH algorithm to solve the problem.

We analyze the theoretical properties of the proposed algorithm. Analytical results show that our algorithm is effective and achieves lower complexity and the approximate optimal solution for WMNs.

We conduct experiments to evaluate the performance of the proposed algorithm and compare the algorithm against variations of current best known algorithms. Obtained numerical results indicate that the proposed algorithm is efficient and accurate for multicast service in WMNs.

The rest of this paper is organized as follows:

Section 2 formally formulates the problem to be studied, along with notations, and describes the previous algorithms that will be used in later sections.

Section 3 presents the approximation algorithm for the optimal multicast routing with multiple QoS constraints and its theoretical analysis. Simulations obtained from special network are reported to verify the algorithm in

Section 4. Finally,

Section 5 summarizes this paper.

## 3. The Proposed NMHA Algorithm

#### 3.1. Description of NMHA Algorithm

According to the algorithm analysis above, it is concluded that Xue’s deterministic algorithm takes the lead in finding the optimal path for the unicast routing, and the MPH algorithm is fit for multicast routing problem subjected to one QoS constraint. Therefore, combining Xue’s deterministic algorithm with the MPH algorithm, the NMHA algorithm is presented in this paper to deal with MCOMR problem. The following are its steps:

**Step 1:** Convert the graph $G(V,E,\stackrel{\rightharpoonup}{W},\stackrel{\rightharpoonup}{L})$ to the new graph ${G}^{\mathrm{N}}(V,E,{W}^{\mathrm{N}},\mathsf{\tau})$ based on the technique of the scaling and rounding;

**Step 2:** Convert the graph ${G}^{\mathrm{N}}(V,E,{W}^{\mathrm{N}},\mathsf{\tau})$ to the new graph ${G}_{\mathrm{K}}^{\mathrm{N}}({V}_{\mathrm{K}}^{\mathrm{N}},{E}_{\mathrm{K}}^{\mathrm{N}},{W}_{\mathrm{K}}^{\mathrm{N}},\mathsf{\tau})$ based on the technique of the auxiliary graph construction;

**Step 3:** Choose any node ${d}_{1}$ from the set **D** of multicast destination nodes, let $j=1$, and initialize the generation of tree ${{T}_{0}}^{\text{opt}}=\left\{s\right\}$, ${V}_{{T}_{0}}=\left\{s\right\}$;

**Step 4:** Calculate the cost ${w}_{1}\left({d}_{k},{T}_{j-1}^{\text{opt}}\right)$ from ${d}_{k}(k\le q)$ in $\overline{D\cap {T}_{j-1}^{\text{opt}}}$ to ${T}_{j-1}^{\text{opt}}$ for all nodes ${d}_{k}(k\le q)$ by Xue’s deterministic algorithm;

**Step 5:** It can reach the minimum value by comparing formula (2):

By connecting the node ${d}_{j}$ to ${T}_{j-1}^{\text{opt}}$ through the shortest $\text{PATH}\left({d}_{j},{T}_{j-1}^{\text{opt}}\right)$, the updated tree can get the result of ${T}_{j}^{\text{opt}}=\text{PATH}\left({d}_{j},{T}_{j-1}^{\text{opt}}\right)\cup {T}_{j-1}^{\text{opt}}$; until $i>q$, go to **Step 4**;

**Step 6:** Until $i>q$, go to **Step 7**; otherwise, let $j=j+1$, then repeat **Step 5**;

**Step 7:** If ${w}_{1}^{\mathrm{N}}({T}_{j-1}^{opt})<\mathsf{\tau}$, find the Steiner generating tree; Else No feasible multicast routing tree.

#### 3.2. The Procedure of the NMHA Alogorithm

The detailed procedure of NMHA is presented as shown in Algorithm 1.

**Algorithm 1** NMHA algorithm |

**Input:** $G(V,E,\stackrel{\rightharpoonup}{W},\stackrel{\rightharpoonup}{L})$, the source node s and the set of destination nodes **D**, and the approximation ratio $\mathsf{\epsilon}$ **Output:** ${T}^{\text{opt}}$ 1. For each $e\in E$ in $G(V,E,\stackrel{\rightharpoonup}{W},\stackrel{\rightharpoonup}{L})$ 2. ${w}_{i}^{\mathrm{N}}(e)=\lfloor \frac{{w}_{i}(e)}{{\mathrm{L}}_{i}}.\frac{n-1}{\mathsf{\epsilon}}\rfloor $; 3. set $\mathsf{\tau}={\mathrm{L}}_{1}^{\mathrm{N}}=\mathrm{...}={\mathrm{L}}_{\mathrm{K}}^{\mathrm{N}}=\lceil \frac{n-1}{\mathsf{\epsilon}}\rceil $; 4. end for
5. $\to $ ${G}_{\mathrm{K}}^{\mathrm{N}}({V}_{\mathrm{K}}^{\mathrm{N}},{E}_{\mathrm{K}}^{\mathrm{N}},{W}_{\mathrm{K}}^{\mathrm{N}},\mathsf{\tau})$; 6. Choose any node
${d}_{1}$ from the set **D** of multicast destination nodes, initialize generating tree ${{T}_{0}}^{\text{opt}}=\left\{s\right\}$, ${V}_{{T}_{0}}=\left\{s\right\}$; 7. for every node
$v\in V$ and ${\mathrm{C}}_{i}=0$ to $\mathsf{\tau}$, $2\le i\le \mathrm{K}$, do 8. $P(v,{\mathrm{C}}_{2},{\mathrm{C}}_{i},\mathrm{...},{\mathrm{C}}_{\mathrm{K}})\leftarrow \infty $; $P(s,{\mathrm{C}}_{2},{\mathrm{C}}_{i},\mathrm{...},{\mathrm{C}}_{\mathrm{K}})\leftarrow 0$; 9. end for 10. for $j=1:q$ do 11. for every adjacent node $v(v\notin {T}_{j-1}^{\text{opt}})$ of node ${d}_{j}$, where ${d}_{j}\in {T}_{j-1}^{\text{opt}},v\notin {T}_{j-1}^{\text{opt}}$ and ${\mathrm{C}}_{i}\le \mathsf{\tau}$ do 12. if $P(v,{\mathrm{D}}_{2},{\mathrm{D}}_{i},\mathrm{...},{\mathrm{D}}_{\mathrm{K}})>P({d}_{j},{\mathrm{C}}_{2},{\mathrm{C}}_{i},\mathrm{...},{\mathrm{C}}_{\mathrm{K}})+{w}_{1}(u,v)$ where ${\mathrm{D}}_{i}={\mathrm{C}}_{i}+{w}_{i}({d}_{j},v),\u200a\u200a\u200a2\le i\le \mathrm{K}$ 13. then $P(v,{\mathrm{D}}_{2},{\mathrm{D}}_{i},\mathrm{...},{\mathrm{D}}_{\mathrm{K}})\leftarrow P({d}_{j},{\mathrm{C}}_{2},{\mathrm{C}}_{i},\mathrm{...},{\mathrm{C}}_{\mathrm{K}})+{w}_{1}(u,v)$ 14. $v\leftarrow {d}_{j}$; 15. ${T}_{j}^{\text{opt}}\leftarrow $ node $v$ and edge $\left({d}_{j},v\right)$; 16. end if 17. end for 18. ${w}_{1}({d}_{j},{T}_{j-1}^{\text{opt}})=\mathrm{min}\{{w}_{1}({d}_{k},{T}_{j-1}^{\text{opt}})|{d}_{k}\in \overline{D\cap {T}_{j-1}^{\text{opt}}}\}$; ${T}_{j}^{\text{opt}}=\text{PATH}\left({d}_{j},{T}_{j-1}^{\text{opt}}\right)\cup {T}_{j-1}^{\text{opt}}$ 19. end for 20. if ${w}_{1}^{\mathrm{N}}({T}_{j-1}^{opt})>\tau $ 21. then return. No feasible multicast routing tree, exit; 22. else, ${T}_{j}^{\text{opt}}=\text{PATH}({d}_{j},{T}_{j-1}^{\text{opt}})\cup {T}_{j-1}^{\text{opt}}$; $j=j+1$; 23. end if 24. end for 25. **OUTPUT** ${T}^{\text{opt}}$; |

#### 3.3. Analysis of the NMHA Algorithm

**Theorem 1.** NMHA obtains a feasible multicast routing ${T}^{\text{opt}}$ from source s to destination set **D,** which minimizes ${\mathrm{max}}_{1\le i\le \mathrm{K}}{w}_{i}^{\mathrm{N}}({T}_{j})$ among all multicast routing trees in ${G}_{\mathrm{K}}^{\mathrm{N}}({V}_{\mathrm{K}}^{\mathrm{N}},{E}_{\mathrm{K}}^{\mathrm{N}},{W}_{\mathrm{K}}^{\mathrm{N}},\mathsf{\tau})$. The worst case time complexity of the algorithm is O(qmn^{2}τ^{K−1}).

**Proof of Theorem 1.** NMHA consists of two major phases. In the first phase, it calculates the value after scaling and rounding for each edge and initializes the data structures (Lines 1–9), the time complexity of which is constant. In the second phase, it computes the optimal multicast routing tree (Lines 10–25), the time complexity of which is a crucial factor. Since it searches $P\left(v,{\mathrm{D}}_{2},{\mathrm{D}}_{i},\dots ,{\mathrm{D}}_{\mathrm{K}}\right)$ in lexicographic order for every adjacent node $v(v\notin {T}_{j-1}^{\text{opt}})$ of node ${d}_{j}\in {T}_{j-1}^{\text{opt}}$ in the NMHA algorithm (Lines 10–19), and guarantees that ${d}_{i}$ is not more than the largest integer $\mathsf{\tau}$, which means that NMHA searches a shortest path in the space of ${\mathrm{max}}_{1\le i\le \mathrm{K}}{w}_{i}^{\mathrm{N}}({T}_{j})$, the NMHA obtains a multicast routing tree ${T}^{\text{opt}}$ from source s to destination set **D** that minimizes ${\mathrm{max}}_{1\le i\le \mathrm{K}}{w}_{i}^{\mathrm{N}}({T}_{j})$ among all multicast routing trees in ${G}_{\mathrm{K}}^{\mathrm{N}}$.

During the running of NMHA, ${G}_{\mathrm{K}}^{\mathrm{N}}$ have $\mathrm{O}(n{\mathsf{\tau}}^{\mathrm{k}-1})$ vertices and $\mathrm{O}(2m{\mathsf{\tau}}^{\mathrm{k}-1}+n{\mathsf{\tau}}^{\mathrm{k}-1})$ edges, which confirm our observation that the space complexity is fairly large. Moreover, ${G}_{\mathrm{K}}^{\mathrm{N}}$ contains a directed edge from $P\left({d}_{j},{\mathrm{C}}_{2},{\mathrm{C}}_{i},\dots ,{\mathrm{C}}_{\mathrm{K}}\right)$ to $P\left(v,{\mathrm{D}}_{2},{\mathrm{D}}_{i},\dots ,{\mathrm{D}}_{\mathrm{K}}\right)$ with length of ${w}_{i}\left({d}_{j},v\right)$. Therefore, the optimal multicast routing tree ${T}^{\text{opt}}$ found in NMHA minimizes ${\mathrm{max}}_{1\le i\le \mathrm{K}}{w}_{i}^{\mathrm{N}}({T}_{j}^{\text{opt}})$ among multicast routing trees in ${G}_{\mathrm{K}}^{\mathrm{N}}$.

Since each ${w}_{i}\left(e\right)$ is a positive real-value for $2\le i\le \mathrm{K}$, $e\in E$, the existence of a directed edge from $P\left({d}_{j},{\mathrm{C}}_{2},{\mathrm{C}}_{i},\dots ,{\mathrm{C}}_{\mathrm{K}}\right)$ to $P\left(v,{\mathrm{D}}_{2},{\mathrm{D}}_{i},\dots ,{\mathrm{D}}_{\mathrm{K}}\right)$ in ${G}_{\mathrm{K}}^{\mathrm{N}}$ implies that ${\mathrm{C}}_{i}\le {\mathrm{D}}_{i}$ for $2\le i\le \mathrm{K}$, $e\in E$. Therefore, the graph ${G}_{\mathrm{K}}^{\mathrm{N}}$ is acyclic. For an acyclic graph, the worst-case time complexity of each running process is (Lines 11–17). As far as we know, the time complexity of the MPH algorithm is $\mathrm{O}\left(q{n}^{2}\right)$ (Lines 18). Therefore, the worst case time complexity of NMHA is O(qmn^{2}τ^{K}^{−}^{1}).

**Theorem 2.** To any feasible multicast routing tree ${T}_{j}$ in **G**, it is a feasible multicast routing tree in ${G}_{\mathrm{K}}^{\mathrm{N}}$.

**Proof of Theorem 2.** To a feasible multicast routing tree

${T}_{j}$ in

**G**, it has

According to Equations (4), (6) and (7), it has

Hence, any feasible multicast routing tree ${T}_{j}$ in **G** is a feasible multicast routing tree in ${G}_{\mathrm{K}}^{\mathrm{N}}$.

**Theorem 3.** The NMHA algorithm finds a 2(1+ε)(1−1/q)-approximation multicast routing tree to MCOMR.

**Proof of Theorem 3.** To the optimal multicast routing tree

${T}^{\ast}$ in

**G**, it has

On the other hand,

${T}^{\text{opt}}$ minimizes

${\mathrm{max}}_{1\le i\le \mathrm{K}}{w}_{i}^{\mathrm{N}}({T}_{j})$ among all multicast routing trees in

${G}_{\mathrm{K}}^{\mathrm{N}}$ and

${T}^{*}$ is a feasible multicast routing tree as mentioned in Theorem 1 and in Theorem 2, respectively, then it has

Since

${T}^{\text{opt}}$ have

$\left|V\right|-1$ hops at most, and there are

$\left|V\right|=n$ nodes in

**G**, it implies that

According to Equations (11), (12) and (14), it has

Let

$\frac{n-1}{\mathsf{\beta}}=\mathsf{\epsilon}\cdot {\mathsf{\theta}}^{*},\u200a\u200a\u200a\u200a\mathsf{\epsilon}>0$, then

Takahashi and Matsuyarna have proved in literature [

14] that there is corresponding relationship between each j and nodes pair

$\left({t}_{j-1},{t}_{j}\right)$, in which

$i,j=2,3,\dots ,q$ and

${v}_{1},{v}_{2},\dots ,{v}_{\mathrm{k}}$ are from 1 to k. Let

j and number pair

$\left[{t}_{q\left(j\right)-1},{t}_{q(j)}\right]$ be one-to-one relationship:

According to Equations (17) and (18), it has

Hence, the NMHA algorithm can finally find a $2(1+\mathsf{\epsilon})\left(1-1/q\right)$-approximation multicast routing tree to MCOMR, and the time complexity of the algorithm is O(qmn^{2}τ^{K−1}).

**Theorem 4.** The NMHA algorithm is a sub-optimal algorithm for the MCOMR problem, and the upper bound of approximation ratio is $1+\mathsf{\epsilon}$.

**Proof of Theorem 4.** The authors in the literature [

35] have shown that the total MOS problem was equivalent to generalize maximum coverage (GMC) problem, and then proved that for any

$\mathsf{\epsilon}>0$, it had no

$(1-1/e+\mathsf{\epsilon})$ approximation algorithm unless

**P** =

**NP**. The approximation algorithm NMHA proposed in this paper for the MCOMR problem is the same as that in [

35]. It has been proven in Theorem 3 that the NMHA algorithm can finally find a

$2(1+\mathsf{\epsilon})\left(1-1/q\right)$-approximation multicast routing tree to MCOMR. Thus, the upper bound of approximation ration should be discussed to evaluate the performance of NMHA. To the optimal multicast routing tree

${T}^{*}$ in

**G**, it has

According to Equations (19) and (20), it has

The multicast routing is discussed in this paper, which means that number of destination nodes are more than two, it has

Hence, the upper bound of approximation ration of the NMHA algorithm is $1+\mathsf{\epsilon}$, and thus the theorem is proven.

## 4. The Simulation Experiments

This section shall evaluate both the performance of NMHA and the performance of an experimentally obtained multicast routing tree. To evaluate its efficiency, NMHA is implemented and conducted in a performance study.

An example of the NMHA algorithm is shown in

Figure 1.

Figure 1a is a simple topology graph

**G** of a static undirected network, in which the nodes in blue are the set of destination nodes

**D** and others are non-multicast destination nodes. The numbers marked between two nodes are linked to cost or distance. The node is originally added to the generating tree

T_{0} = {A}. In order to find the multicast generating tree with the NMHA algorithm (Lines 10–11), the first node U

_{1} is selected, and then it is added to the tree A-U

_{1} in

Figure 1b (Lines 12–20) with the total cost of the generating tree 3. In the following phase of the algorithm, destination nodes U

_{2} and U

_{3} are added to the tree, respectively, and the multicast destination nodes are sorted as U

_{1}-U

_{2}-U

_{3}. The final multicast tree obtained, whose total cost is 7, is shown in

Figure 1c. According to the NMHA algorithm proposed in this paper, the generating graph is found.

To examine the performance of NMHA, we use the famous Waxman model to generate a large-size Random Network (RNET). The random static network RNET, is used in these experiments, which runs on an Intel Core Duo CPU 1.66 GHz PC with 2 GB memory (Lenovo, Beijing, China). There are 60 nodes and 100 edges in RNET as shown in

Figure 2, and other parameters for the network were produced randomly by Waxman model. Each link of RNET has three weights, which correspond to Cost, Delay and Jitter.

All the red points denote the nodes of the network, the black wires denote the links, the green circles denote the source node

s (No. 1) and the green stars denote the set of destination nodes

**D** (No. 30, 51 and 55) in the network RNET, which is shown in

Figure 3. Comparison with the costs from the source node

s to every destination node by Xue’s deterministic algorithm, the minimal-cost node (No. 30) is selected first.

Figure 4 shows the minimal-cost path from source node (No. 1) to destination nodes (No. 30), which is selected first by NMHA in the network. The blue paths in these figures indicate the minimal or the optimal paths from source to destination.

Figure 5 illustrates that the following node (No. 55) is added to the tree by NMHA. As expected, the optimal multicast routing tree with three constraints added by the algorithm NMHA can be found after the last node (No. 51) is added to the multicast tree. At last, the optimal multicast routing tree described in

Figure 6 shows the corresponding multicast tree from the source node (No. 1) to the set of destination nodes

**D** (No. 30, 51 and 55).

In these simulation experiments, the approximating Steiner tree could be found by the NMHA algorithm presented in this paper. Following that the efficiency of the NMHA algorithm would be verified.

Table 2 shows the comparisons of average time consuming for Steiner trees (ATCS) generated via the NMHA to Xue’s deterministic algorithm in the simulation experiments, respectively. With the two algorithms, q destination nodes in the RNET network are randomly generated, and then the Steiner trees are obtained and the corresponding times are recorded. The simulations experiments are made to calculate the average values for ten times. In order to evaluate the efficiency of two algorithms, we define the following metrics:

The units of ATCS in

Table 2 is in milliseconds. Analyzing the experimental results, it shows that the consuming time by Xue’s is larger than that by NMHA, no matter what the number of destination nodes is, because the novel NMHA algorithm in this paper is devised to deal with the MCOMR problem in feasible time, different from the previous Xue’s deterministic algorithm. At the same time, it could be easily found that when the value of

q is getting larger from 2 to 54, the ATCS by NMHA is multiplied with the increase of destination nodes, while the ATCS by Xue’s grows exponentially. The simulation experimental results also show that the NMHA algorithm has the lower time complexity level.

Following that, the performance of the NMHA algorithm would be verified, compared with the previous algorithm FMPH by the authors [

20], which is finding for the approximation solution for MCOMR problem in WMNs as fast as possible. As for random networks, the topologies are generated by Waxman model. Each link of random networks has the same three weights as the RNET network. Ten topologies for random networks are generated randomly, each of which has 50 nodes or 500 nodes. On each topology, 10 routing requests are also generated at the source node. It defines the metrics, Average Weigh Occupying (AWO) to evaluate the performance.

Table 3 and

Table 4 show the AWO of Steiner trees with different destination nodes generated via the NMHA and FMPH algorithm in the simulation experiments, respectively:

The results in

Table 3 show that when there are 50 nodes in the random network, no matter how many destination nodes are involved, the AWO obtained from NMHA is always less than that from FMPH. In

Table 4, when the total number of nodes in the random network reaches up to 500, the outcome is still the same. It is consistent with our analysis that the NMHA algorithm presented in this paper is looking for the approximate optimal solution in feasible time, while FMPH tends to find the approximate optimal solution as soon as possible according to the time-varying characteristics of wireless networks. From the above results and analysis, it could be concluded that, with certain destination nodes, the proposed NMHA can find a better solution compared with FMPH in feasible time.

Since the approximation factor 2(1 + ε)(1 − 1/

q) solely does not illustrate the quality of the proposed algorithm, the approximation ratio will be studied in the following simulations, where we pay attention to the approximation ratio as well as its distribution. The inverse of the approximation ratio (IAR) is adopted to evaluate the performance of NMHA [

35]. In other words, the ratio equal to 1 means that the solution found is the optimal solution. The ratio of less than 1 means that the solution found is sub-optimal, and the ratio of its objective to the optimal solution is represented by the value of the ratio to the optimal solution, represented by the value of the ratio. The experiments results of approximation ratio for the NMHA algorithm are shown in

Figure 7. Different numbers of destination nodes (from 2 to 59) were chosen each time to finish the simulation experiments, which were run to calculate the IAR ten times. From the results, it could be concluded that the lower bound of IAR is close to 0.63, and the upper bound is very close to 1. Over 80% of all scenarios have the approximation factor greater than 0.8, which means that our proposed NMHA algorithm found a solution very close to the optimal multicast routing tree.