# Evolutionary Algorithm Optimization of Edge Delivery Sites in Next Generation Multi-service Content Distribution Networks

Ioannis M. Stephanakis, Dimitrios Logothetis

► To cite this version:

Ioannis M. Stephanakis, Dimitrios Logothetis. Evolutionary Algorithm Optimization of Edge Delivery Sites in Next Generation Multi-service Content Distribution Networks. 12th Engineering Applications of Neural Networks (EANN 2011) and 7th Artificial Intelligence Applications and Innovations (AIAI), Sep 2011, Corfu, Greece. pp.192-202, 10.1007/978-3-642-23957-1_22. hal-01571335

HAL Id: hal-01571335

https://inria.hal.science/hal-01571335

Submitted on 2 Aug 2017

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

<figure><img src="image_1.png" /></figure>

Distributed under a Creative Commons Attribution 4.0 International License
Evolutionary Algorithm Optimization
of Edge Delivery Sites in Next Generation
Multi-Service Content Distribution Networks

Ioannis Stephanakis<fnref n="1" /> and Dimitrios Logothetis<fnref n="2" />,

**Abstract.** In the past decade or so we have been experiencing an extraordinary explosion of data volumes first in wireline networks and recently even in mobile wireless networks. Optimizing bandwidth utilization is critical for planning and deploying efficient networks that are capable of delivering new services like IPTV over cost-oriented implementations. Models of distributed content caching in the access network have been employed - for example - as analytical optimization tools in order to tackle associated problems. A modified *capacitated quality-of-service network* (QoS) model is proposed herein in order to optimize the placement of the sites of surrogate media servers (central offices-COs) on the access part of a content distribution network (CDN). The novelty of the proposed approach lies in the fact that *capacitated quality-of-service network* optimization is cast as an optimization problem over two rather than one optimization variables-objectives. Implementation cost and link delay as determined by capacity/utilization requirements are the optimization functionals-objectives. Optimization of the network architecture is carried out via a multiobjective evolutionary algorithm that encodes all possible edges between the first level aggregation points of the access network. Proper priorities are assigned to different types of traffic according to class of service. Two main services are considered, namely live broadcast/IPTV and video on demand services (VoD). The media servers/COs are incorporated into the infrastructure of the access nodes in a step-by-step fashion modifying the traffic requirements between source and sink nodes of the optimal configurations of the access network. The evolution of the Pareto front is investigated in each case.

**Keywords:** content distribution networks; multiobjective optimization; evolutionary algorithms; capacitated minimum spanning tree; quality of service.

<footnote n="1">¹ Hellenic Telecommunication Organization S.A. (OTE),
99 Kifissias Avenue, GR-151 24, Athens, Greece
stephan@ote.gr</footnote>

<footnote n="2">² Ericsson Hellas S.A., 40.2 km Attica Avenue
GR-190 02, Peania, Greece
dimitris.logothetis@ericsson.com</footnote>
# 1 Introduction

In the past decade or so we have been experiencing an extraordinary explosion of data volumes first in wireline networks and recently even in mobile wireless networks. Technological advances in broadband access technologies, devices and new bandwidth hungry services like IPTV are occasionally cited as explanations to the above mentioned trend. In order to cope with this issue operators are asked to invest in capacity in all parts of the transport network. These investments are not always justified from the underlying revenues from the services. It is therefore of paramount importance for operators to optimize the bandwidth utilization of the underlying transport network by employing techniques like content caching. A next generation network (NGN) is a multi-service functional network, capable to differentiate between users and applications through policies of quality of service (QoS), the application of access and security guidelines and by providing virtual private networks (VPNs) to its users [1]. The NGN is characterized by [2]: (1) support of a wide range of services, applications and mechanisms based on service building blocks (including real time/streaming/non-real time services and multimedia); (2) broadband capabilities with end-to-end QoS and transparency; (3) unrestricted access to different service providers by all users; (4) a variety of identification schemes which can be resolved to IP addresses for the purposes of routing in IP networks, etc. A content distribution network (CDN) integrated in currently deployed next generation infrastructure - be it IMS (IP Multimedia Subsystem) core or an MPLS based gigabit router core network - consists of a head-end platform (including the EPG, the encryption-conditional access system, user redirection functionality and the account management-billing system) and a group of cache-media servers (primary servers/Video Hub Offices and surrogate servers/Central and Intermediate Offices that deliver content to users on behalf of content providers). These components are usually owned by the network provider/ISPs whereas local insertion points that multiplex user-created content and advertisements may complete the distribution network [3], [4]. The services offered to the customers are differentiated and include live broadcast/IPTV, video on demand (VoD) and personal video recorder, radio channels, interactive services, multimedia games, teletext and others. Access network may be pure optical or both optical and copper (ADSL/VDSL) based on some FTTx architecture.

Designing a content distribution network (CDN) includes the dimensioning of the head-end platform, decisions regarding the placement and the connections of the cache-media servers, dimensioning of the cache-media servers themselves [5], traffic engineering to accommodate for the offered services [6], [6] and grooming the access network.

## 1.1 Multiobjective Optimization with Evolutionary Algorithms

Multiobjective optimization is the process of simultaneously optimizing two or more conflicting objectives subject to certain constraints. Evolutionary multiobjective optimization (EMOO) uses evolutionary genetic algorithms - the so-called multiobjective evolutionary algorithms (MOEA) - to tackle such optimization
problems [8]. Genetic algorithms (GA) take as inputs populations of genomes representing individual non-optimal solutions scattered across state space. A genome in the context of network design represents a specific topology of node sites and connections between them. New populations are created through mutation and crossover operations (i.e topology variations stemming from one and two parent topologies) in order to gain a different set of possibilities. The fitness of each individual of the population is evaluated and the best individuals are then retained to create new generations of improved solutions. The population will search state space and converge on the best solution over many generations. Multi-objective genetic algorithms optimize against a collection of fitness parameters. Sequential switching objective optimization, aggregation and weighting of all objectives to form a scalar fitness, cooperative fitness sharing of the various objectives, Pareto selection using non-dominated individuals, Pareto simulated annealing and min-max optimization are some of the distinct approaches to multiobjective optimization. Evolutionary algorithms such as the Non-dominated Sorting Genetic Algorithm-II (NSGA-II) [9] and Strength Pareto Evolutionary Approach 2 (SPEA-2) [10] are the state-of-the-art implementations of the aforementioned concepts based upon Pareto optimality [11].

**Definition 1:** A solution $\mathbf{x} \in \Omega$ is said to be Pareto Optimal with respect to $\Omega$ if and only if there is no $\mathbf{x}' \in \Omega$ for which $v = F(\mathbf{x}') = (f_1(\mathbf{x}'),..., f_k(\mathbf{x}'))$ dominates $\mathbf{u} = F(\mathbf{x}) = (f_1(\mathbf{x}),..., f_k(\mathbf{x}))$ for the entire variable space.

## 2 Analytical Formulation

Communication network models include *centralized network models*, *backbone network models* and *reliable network models*. Core and access networks shall be optimized separately. Access network is usually modeled as a centralized network where all communication is to and from a central site (backbone node). Optimal topology for such a problem corresponds to a tree in a graph $G=(V,E)$ with all but one of the nodes in $V$ corresponding to the terminals/edge nodes. The remaining node refers to the central site and edges in $E$ correspond to the feasible communication wiring. A spanning tree on $G$ is a maximal, acyclic subgraph of $G$; that is, it connects all of $G$'s nodes and contains no cycles. A spanning tree's cost is the sum of the costs of its edges; a spanning tree with the smallest possible cost is a minimum spanning tree (MST) on $G$. Terminals/edge nodes may be thought of as the first level aggregation points of the DSLAM multiplexers whereas the root node may be thought of as the second level aggregation point which is part of the backbone core.

The *extended capacitated minimum spanning tree (cMST)* problem is formulated by Lin and Gen [12]. It is modeled using an edge-weighted undirected graph $G=(V,E,Q,U)$ with $n$ nodes and $m$ edges. Its objective is to minimize the communication cost (defined as a kind of performance measures for NGN's QoS) while considering the following constraints: (1) consider the capabilities of the network; (2) different priority for different types of service; (3) dynamic environment [13]. cMST is an NP-hard problem. The proposed approach modifies the aforementioned communication model as follows:
$$ \min f = \sum_{(i,j) \in E} \left( \sum_{l=1}^{L} w_l \Gamma(\min\{0, y_{ij} - u_{ij}\}) \right) \quad (1) $$

$$ \min z(\mathbf{x}) = \sum_{(i,j) \in E} c_{ij} x_{ij} \quad (2) $$

$$ \text{s.t.} \quad \sum_{(i,j) \in E} x_{ij} = n-1 \quad (3) $$

$$ \sum_{(i,j) \in A_S} x_{ij} = |S| - 1 \quad \text{for any set } S \text{ of nodes} \quad (4) $$

$$ \sum_{(i,j) \in E} y_{ij} - \sum_{(k,l) \in E} y_{kl} = \begin{cases} q_{st}^l & i = s \\ 0 & i \in V - s, t, \forall (s,t) \in q_{st}^l, \forall l \\ -q_{st}^l & i = t \end{cases} \quad (5) $$

$$ y_{ij} \ge 0 \quad \forall i,j \quad (6) $$

$$ x_{ij} \in \{0,1\}, \quad \forall (i,j) \in E \quad (7) $$

where $i,j,k=1,2,...,n$ are the indices of the nodes and

$n = |V|$: number of nodes

$m = |E|$: number of edges

$q_{st}^l \in \mathbf{Q}$: requirement regarding traffic of type $l$ from source node $s$ to sink node $t$

$c_{ij} \in \mathbf{C}$: cost of each edge $(i, j) \in E$

$u_{ij} \in \mathbf{U}$: capacity of edge $(i,j)$

$w_l \in \mathbf{W}$: priority of type $l$ communication service

$d_{ij} \in \mathbf{D}$: delay of edge $(i,j)$ defined as a performance measure for NGN's QoS,

$$ d_{ij} = \sum_{l} w_{l} \Gamma(q_{ij}^{l} - u_{ij}) $$

$\Gamma(y_{ij}^l - u_{ij})$: a function for delay definition of service type $l$

The decision variable $x_{ij}$ indicates whether we select edge $(i,j)$ as part of the chosen spanning tree whereas the decision variable $y_{ij}$ stands for the resulting traffic for the selected requirements at source and sink nodes according to Eq. 5 (note that if variable $y_{ij} > 0$ then $x_{ij} = 1$, else $x_{ij} = 0$).

The sites of the cash-media servers define the source nodes in the access network whereas the terminal/edge nodes stand for the sink nodes. The proposed approach starts by assuming that a cache-media server is incorporated at the central node and solving the optimization problem defined by Eqs. 1 and 2. Additional cache-media servers are placed gradually at intermediate nodes of the optimal topologies. Such nodes are to be thought of as both sink and terminal nodes. Optimization is carried out
at successive steps since the traffic requirements $q_{st}^l$ of the edges are modified after separate optimizations. The overall cost $z(\mathbf{x})$ depends upon the capacity of the selected edges $u_{ij}$ and the total number of the cash-media servers incorporated into the access network.

## 2.1 Scenarios

Each node but the central code is assumed to serve a certain number of active IPTV users. The traffic requirements are determined by the behavior of the active users and the commercial offerings of the provider. The bandwidth allocated to each active user serves for the broadcast of live IPTV, radio and on-line multimedia content of the first priority whereas part of it is allocated to the delivery of best-effort data services including video-on-demand. The central node broadcasts all IPTV and radio channels of the provider platform to the intermediate cache-media servers. Such a traffic requirement is denoted as $q^0$. Paths from the central node to the intermediate cache-media servers deliver traffic of lower priority as well, which is assumed to be constant and is denoted as $q^1$. Active users that are not served by intermediate cache-media servers are assigned to the central node. Thus graph $G$ is divided into $K+1$ subgraphs, $G=\{G_0, G_1, ..., G_K\}$, where $K$ is the number of intermediate cache-media servers and each subgraph represents a subtree structure featuring an intermediate cache-media server at its root. The egress traffic requirements at the root equal the sum of the traffic requirements at its leaves whereas the ingress traffic requirement equals $q^0$.

<figure><img src="image_2.png" /><figcaption>**Fig. 1.** Sample topologies of cMSTs depicting traffic requirements (a- media delivery site is incorporated to the central node and b- media delivery sites incorporated to the central and two intermediate nodes).</figcaption></figure>

## 2.3 Outline of the Algorithm

Several algorithms have been proposed to solve for the optimum cMST. Not all approaches utilize multiobjective optimization models (see for example [15] and [16]). The proposed algorithm utilizes PrimPred encoding of the edges from which the optimum tree may be constructed [14]. Let $P(t)$ and $C(t)$ be parents and offspring in current generation $t$. The evolutionary multiobjective optimization algorithm is written in Matlab code. It is outlined as follows:

**Procedure:** PrimPred-based GA for capacitated QoS models

**Input:** network data ($V, E, Q, U$)
GA parameters (*popSize*, *maxGen*, *pM*, *pC*)

**Output:** Pareto optimal solutions *E* for *K* intermediate media servers

**Begin**
    *t* ← 0;
    initialize *P*(*t*);
    calculate objectives *f*(*P*) and *z*(*P*);
    create Pareto *E*(*P*);
    evaluate fitness of individuals of *P*(*t*);
    **while** (not terminating condition) **do**
        create *C*(*t*) from *P*(*t*) by crossover routine;
        create *C*(*t*) from *P*(*t*) by mutation routine;
        calculate objectives *f*(*C*) and *z*(*C*);
        update Pareto *E*(*P*, *C*);
        evaluate fitness of individuals of *P*(*t*) ∪ *C*(*t*);
        select *P*(*t*+1) from *P*(*t*) and *C*(*t*)
        *t* ← *t* + 1;
    **end**
    **output** Pareto optimal solutions *E*(*P*, *C*)
**End**

## 2.5 Encoding Schemes for Crossover and Mutation

A recombination operator builds an offspring spanning tree that consists mostly or entirely of the edges found in the offspring's parents. This is accomplished by applying random-tree algorithms to the union of the parent spanning trees, i.e. $G_{cr} = (V, T_1 \cup T_2)$. Mutation reintroduces genetic information into the population. A mutation operator makes a small change in a parent solution usually by replacing an edge of a spanning tree topology with another feasible edge. This may be implemented either by choosing an edge at random from *E*-*T* and introducing it in *T* or creating two sub-trees and replacing the edge that connects them. The first approach creates a cycle which is resolved by removing a random edge from it.

Several fitness schemes may be accommodated in the context of the proposed algorithm.

## 2.6 Fitness Considerations

Evaluating the Pareto front does not depend upon the specific fitness scheme that it is used. *Interactive Adaptive-weight Fitness Assignment* evaluates the maximum and the minimum extreme points of the two objectives, i.e. [*f*<sub>max</sub> *z*<sub>max</sub>] and [*f*<sub>min</sub> *z*<sub>min</sub>], and calculates the corresponding adaptive weights $w_i = \frac{f_{max} - f_{min}}{f_{max} - f_{min}}$ and
$w_2 = \frac{z_{\max} z_{\min}}{z_{\max} - z_{\min}}$. The interactive adaptive-weight fitness assignment for each member of the population is given as,

<figure><img src="image_3.png" /><figcaption>Fig. 2. 2.a. Recombination-crossover of spanning trees (a random spanning-tree algorithm is applied to the union of the parental edge sets) - 2.b. Mutation is implemented either by including a new edge and removing another to avoid cycles or by removing a randomly chosen edge and reconnecting the two subgroups of nodes by a new edge.</figcaption></figure>

$$ eval(v_k) = w_1(1/f_k - 1/f_{\max}) + w_2(1/z_k - 1/z_{\max}) + p(v_k), \forall k \in popSize \quad (8) $$

A penalty $p(v_k)$ is assigned to all dominated solutions.

<figure><img src="image_4.png" /><figcaption>Fig. 3. Non-dominated solutions on the known Pareto front (black circles) and dominated solutions (white circles) in objective space. Each dominated solution is assigned the depicted rank.</figcaption></figure>

## 3 Numerical Simulations

Numerical simulations are carried out for artificial data. A total of twenty access nodes each aggregating on average twenty DSLAMs is assumed. Links to the closest neighboring nodes are considered as possible edges of the optimum MST solution. Basic link capacity is 10 Gbps. The topology of the nodes is illustrated in Fig. 4. The active users per node are assumed to be 500. Depending upon the requirements set by the provider, the real number of users served by an aggregation node may be significantly higher. The traffic requirements per active user are detailed in Table 1 whereas the delay per link between nodes i and j is derived from queuing theory (see for example [17]) as

$$ d_{ij} = \frac{1}{\text{active users}} \sum_{l=1,2} \Gamma(y_{ij}^l - u_{ij}) = \sum_{l=1,2} \frac{y_{ij}^l}{u_{ij}^l - y_{ij}^l}, \quad (9) $$
where $u_{ij}^l - y_{ij}^l$ is the unused capacity of the link for traffic of type $l$ ($y_{ij}^l$) and $\sum_{all l} u_{ij}^l = u_{ij}$. A generation consisting from sixty (60) individuals is considered.

Evolution is carried out for sixty (60) generations. Crossover probability $p_C$ equals 0.70 whereas mutation probability $p_M$ equals 0.50. One of the optimum solutions on the Pareto front - for the case in which one CO located at the root of the tree is used to service all users - is depicted in Fig. 5. The percentage of the nondominated solutions (RNDS) in each generation before selection is presented in Fig. 6.

The Pareto front is moving closer to the origin of the axes for the case in which two COs are used to service all users as illustrated in Fig. 9. The delay per user (as defined in Eq. 9) as well as the implementation cost drop. The percentage of the nondominated solutions (RNDS) in each generation before selection is presented in Fig. 8. One of the optimum solutions on the Pareto front for the case of two COs is presented in Fig. 10. The Pareto front for the case of four COs is depicted in Fig. 13. A slight drop of the delay per user as well as of the implementation cost is observed. The percentage of the nondominated solutions (RNDS) in each generation for this case is illustrated in Fig. 12 whereas an optimum solution on the Pareto front is given in Fig. 11.

<table><caption>**Table 1.** Cost and traffic parameters.</caption><thead><tr><th colspan="2">Traffic requirements</th><th colspan="2">Implementation costs</th></tr></thead><tbody><tr><td>Number of active users per node</td><td>500</td><td>Basic cost per Km of link</td><td>20 K€</td></tr><tr><td>Traffic of highest priority per active user</td><td>20 Mbps</td><td>Cost per Km for additional cable of 10 Gbps</td><td>1 K€</td></tr><tr><td>Packet length for highest priority traffic</td><td>2KBytes</td><td>Cost per link termination</td><td>2 K€</td></tr><tr><td>Best effort traffic per active user</td><td>10 Mbps</td><td>Cost per media server-central office</td><td>(80 + 0.01 x # of active users) K€</td></tr><tr><td>Packet length for best effort traffic</td><td>500 Bytes</td><td></td><td></td></tr><tr><td>Traffic requirements between delivery servers</td><td>$q_0^1 = 200$ Mbps<br>$q_0^2 = 200$ Mbps</td><td></td><td></td></tr></tbody></table>

<figure><img src="image_5.png" /><figcaption>**Fig. 4.** Distribution of access concentration points and possible links between them (root at $x_1=14$ Km and $x_2=45$ Km)</figcaption></figure>

<figure><img src="image_6.png" /><figcaption>**Fig. 5.** Solution for one CO on Pareto front after 60 generations (27.70 msec delay per user – cost of access network 6.51 M€)</figcaption></figure>

## 4 Conclusion

In this paper we investigated the effect of the placement of COs in order to ensure optimal delivery of content related services. By employing multi-objective techniques based on evolutionary algorithms we are able to show through numerical
simulations that the use of multiple CO at the access network results in cost-effective implementations and IPTV services of higher quality and enhanced end-user experience (as measured by the delay per user or -alternative- the time of buffer occupation per user for given user bandwidths). Nevertheless the total number of COs that is needed to facilitate the aforementioned advantages depends up the total number of active users and the bandwidth requirements per user. No significant improvements in implementation costs are observed for more than six COs in the examined cases.

<figure><img src="image_7.png" /><figcaption>**Fig. 6.** Percentage of non-dominated solutions vs. generation for the population of parent and children solutions before selection (one CO at root)</figcaption></figure>

<figure><img src="image_8.png" /><figcaption>**Fig. 8.** Percentage of non-dominated solutions vs. generation for the population of parent and children solutions before selection (two COs)</figcaption></figure>

<figure><img src="image_9.png" /><figcaption>**Fig. 10.** Solution for two COs on Pareto front after 60 generations (2^nd^ CO at x₁=17 Km and x₂=27 Km - 22.21 msec delay per user - cost of access network 5.74 M€)</figcaption></figure>

<figure><img src="image_10.png" /><figcaption>**Fig. 7.** Distribution of solutions after 60 generations for one CO (circles with crosses indicate solutions on Pareto front)</figcaption></figure>

<figure><img src="image_11.png" /><figcaption>**Fig. 9.** Distribution of solutions after 60 generations for two COs (circles with crosses indicate solutions on Pareto front)</figcaption></figure>

<figure><img src="image_12.png" /><figcaption>**Fig. 11.** Solution for four COs on Pareto front after 50 generations (2^nd^ CO at x₁=17 Km and x₂=27 Km, 3^rd^ CO at x₁=21 Km and x₂=39 Km, 4^nd^ CO at x₁=3 Km and x₂=25 Km - 16.07 msec delay per user - cost of access network 5.56 M€)</figcaption></figure>
<figure><img src="image_13.png" /><figcaption>**Fig. 12.** Percentage of non-dominated solutions vs. generation for the population of parent and children solutions before selection (four COs)</figcaption></figure>

<figure><img src="image_14.png" /><figcaption>**Fig. 13.** Distribution of solutions after 60 generations for four COs (circles with crosses indicate solutions on Pareto front)</figcaption></figure>

## References

1. Pioro, M., Medhi D.: Routing, Flow and Capacity Design in Communication and Computer Networks.

2. Sun, W.: QoS/Policy/Constraint Based Routing. Technical Report, Ohio State University (1999).

3. Hofmann, M., Tomsu, M. (eds.): Special Issue on Content Networking. Bell Labs Techn. J., vol. 13, no. 3 (2008).

4. Verhoeyen M., Vleeschauwer, D. D., Robinson, D.: Content Storage Architectures for Boosted IPTV Service. Bell Labs Techn. J., vol. 13, no. 3, pp. 29—43 (2008).

5. Krogfoss, B., Sofman, L. B., Agrawal, A.: Hierarchical Cache Optimization in IPTV Networks. IEEE International Symposium on Broadband Multimedia Systems and Broadcasting (BMSB '09), Barselona, Spain, pp. 1—10 (2009).

6. Borst, S., Saniee, I., Walid, A.: Analytical Model for Provisioning of Emerging Personalized Content Distribution Services. Proc. of the ITC 21, Springer LNCS, Paris (2009).

7. Sofman, L. B., Krogfoss, B., Agrawal, A.: Dimensioning of Active Broadcast Channels in Access IPTV Network. Optical Fiber Communication Conference (OFC), Anaheim, California (2006).

8. Deb, K.: Multi-Objective Optimization using Evolutionary Algorithms. Wiley (2002).

9. Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A Fast and Elitist Multiobjective Genetic Algorithm: NSGA II. IEEE Trans. on Evolutionary Computation, vol. 6, no. 2, pp. 181—197 (2002).

10. Zitzler, E., Laumanns, M., Thiele, L.: SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Evolutionary Methods for Design, Optimization and Control with Applications to Industrial Problems, EUROGEN 2001, Athens, Greece. Giannakoglou, K., Tsahalis, D., Periaux, J., Papailou, P., Fogarty, T., editors., pp. 95—100 (2001).

11. Coello Coello, C. A., Lamont, G. B., Van Veldhuizen, D. A., Evolutionary Algorithms for Solving Multi-Objective Problem, 2nd edition. Springer (2007).

12. Lin, L., Gen, M.: An Evolutionary Algorithm for Improvement of QoS of Next Generation Network in Dynamic Environment. Artificial Neural Networks In Engineering, St. Louis, USA (2007).

13. Gen, M, Cheng, R., Lin, L.: Network Models and Optimization: Multiobjective Genetic Algorithm Approach.

14. Raidl, G., Julstrom B.: Edge Sets An Effective Evolutionary Coding of Spanning Trees. IEEE Trans. Evolutionary Computation, vol. 7, no 3, pp. 225—239 (2003).

15. Lee, Y.J., Atiquzzaman, M.: Exact Algorithm for Delay-Constrained Capacitated Minimum Spanning Tree Network. IET Commun., 1, (6), pp. 1238-1247 (2007).

16. Gamvros, I., Golden, B., Raghavan, S.: The Multilevel Capacitated Minimum Spanning Tree Problem. INFORMS Journal on Computing, vol. 18, no 3, pp. 348—365 (2006).

17. Zheng, Y. and Akhtar, S.: Networks for computer scientist and engineers. Oxford University Press, pp. 364—372 (2000).