A Genetic Algorithm for Source Election in Cooperative Clusters Implementing Network Coding Leonardo Militano1 , Frank H.P. Fitzek2 , Antonio Iera1 , Antonella Molinaro1 University Mediterranea of Reggio Calabria, Italy, e-mail: [leonardo.militano|antonio.iera|antonella.molinaro]@unirc.it 2 Aalborg University, Denmark, e-mail:
[email protected]
Abstract—Reference scenarios of the present research are clusters of cooperating wireless nodes, implementing random linear network coding to enhance the throughput performance of file downloading and information spreading services. In particular, a sub-set of cluster nodes will access, through their cellular link, parts of a file to be exchanged among all cluster members. The paper focus is on the ”source election” issue. The novelty of the research lies in the main problem constraints, which make it far different from (and more exacting than) traditional cluster head election problems: the source number can cover the whole range of nodes and all the nodes must be considered data destinations. We propose a source election algorithm, only based on the knowledge of the number of nodes, which is fast in converging to either the optimal or, alternatively, a satisfactory sub-optimal solution. In so doing, we exploit a performing genetic algorithm. Its observed behaviour makes us confident that the followed approach can be the winning one in conditions of null/limited awareness of node position and type of relevant available cellular links. Index Terms—Evolutionary Theory, Random Linear Network Coding, Wireless Cooperation, Cluster Head Selection
I. I NTRODUCTION Wireless cooperation is a novel communication paradigm which enables nearby users to communicate over a shortrange link while also being connected to a cellular link [1]. This interesting architecture improves the energy consumption and throughput performance for together grouped users. For a possible application scenario, imagine the situation where some nodes are interested in downloading the same web content (i.e. a file-sharing application or a podcast application) and are situated in a limited area (i.e. sport events, music concerts); these nodes can group together and benefit from a cooperative behaviour. A similar scenario is used as a reference in this paper, where a cooperative wireless cluster is formed to access a file download service. Some nodes (potentially all of them) in the cluster will download different shares of a file over the slow and costly cellular link and then start distributing the content across the cluster over the faster short-range links (WLAN). All the nodes will forward the packets received from different links to their respective neighbours over WLAN links. It has been already observed that important throughput and energy consumption benefits are possible in such a cooperative scenario [2]. In addition to classic cooperation we propose that the nodes implement a network coding technique to improve the overall cluster performance. With this technique each node will send to its
neighbours linearly independent combinations of the packets it has received. Each node will need a number of such linearly independent combinations equal to the number of packets the file is composed of, to obtain the whole file. It is expected that network throughput can be significantly increased by employing the network coding technique [3], [4]. Throughout the paper, besides showing the benefits for the nodes to cooperate, we will highlight the further performance improvements achievable by using random linear coding (RLNC) in addition to ”pure” cooperation. The main parameter we will focus our attention on is the time interval needed for the whole cluster to receive all data; at the same time, we will show that also gains in terms of average per node energy consumption are achievable, compared to the case in which each node acts ”in isolation” and does not implement neither cooperation nor network coding. Logically, a correct choice of the information source (i.e. those nodes downloading data through their cellular links) is of utmost importance for the overall performance. In performing this choice, it shall be considered that the time needed to spread data to all nodes is both influenced by the cellular link capabilities and the positions of nodes within the cluster. Moreover, the number of information sources and their positioning within the cluster influence the overall shortrange energy consumption. We envisage the presence of a decision taker entity, like the Cooperation Server in Fig.1, which bases its decision exclusively on the number of nodes within the cluster to optimize the service time. The optimal number of sources is not always a fixed value; thus, there is no chance to take a ”best choice” a priori and generalize it to all possible scenarios. Therefore, objective of the present paper is to propose an algorithm able to provide in a short time the best set of nodes to be elected as information sources, both in the optimistic case in which we at least know how to set the number of sources to choose, and in the most general case in which we cannot have an a priori knowledge about the number of sources. Classic cluster head election solutions do not fit to our problem due to the specific constraints of our problem: in our scenario all nodes are part of one single cluster; no limiting condition exists in the number of ”cluster heads”, which potentially can be equal to the whole set of nodes; source nodes receive only a partial and unique content of the file (this is a basic aspect of network coding); all nodes are destination of all data; the decision taker has no information
2
Fig. 1.
Wireless Cooperation Cluster.
about battery level, cellular throughput or position of the nodes (usual parameters for cluster head election solutions). These features make any clustering algorithm thought for sensor [5] and mobile ad hoc networks [6], not applicable to our scenario. We believe that evolutionary theory has the wished features to successfully address our problem. During the first part of the file sharing service, an ad-hoc implemented genetic algorithm (GA) will use small packet of useful information (no dummy packets, but we start immediately with useful data) to test possible source configurations. The solution the GA converges to will be used for the remaining part of the file. As we will show, the fast convergence property of the GA makes it preferable compared to a random choice. The solution the GA is converging to, is often the optimal solution, but in some cases a sub-optimal solution, which is also satisfactory, is found in a shorter time. II. T HE WLAN- BASED C OOPERATIVE C LUSTER The scenario we refer to in this paper is a fully connected WLAN-based cooperative cluster in which a number of nodes N is randomly deployed within a square area A. The fully connectivity condition ensures that all the nodes can be provided with the file. This condition is given by 10·A the following inequality, as in [7]: N ≥ π·R 2 ; where N is the required number of nodes in the network and R is the transmission radius. For our study, we will use the equality value. The nodes have knowledge of their neighbourhood and can implement RLNC in forwarding the data they own, as this will improve the throughput performance [3]. Some of the nodes, acting as information source nodes for the cluster, will receive different shares of the file over their cellular link. In doing so, they will only own a partial amount of the data; they will, therefore, continue to be part of the cluster by playing the twofold role of source and destination of data packets. Moreover, each data share will be injected into the cluster only once and all involved nodes are required to be active part of the cooperative short-range data exchange. Every node checks whether any of its neighbours is interested in the data it owns. If this is the case, then the node generates and transmits to his neighbourhood a linear combination of all these file-chunks. This Selective-Forwarding with network coding strategy has been proposed in [8] to study the performance improvement of a file sharing service in a mesh environment implementing network coding. A similar scenario has been studied in [9],
where the effects of a limited upload capability of the nodes on a network coding based file sharing service is presented. Differently from our approach, these two papers consider a network coding implementation in a non-cooperative scenario, for networks where multiple copies of the data are present in the network and the sources have the full range of packets of the file to be shared. As in our scenario only a single copy of each information unit is present in the network, (i.e. any source nodes handles unique packets), the network coding behaviour is different. We assume an ideal MAC protocol without collisions, with all contending nodes having the same probability to access the medium. Although we are aware that this simplification might influence the final results, we believe that the proposed GA for the cluster head election problem is a valid and similarly well-performing solution for a real MAC implementation as well. The file is split into K chunks. If b is the rate at which the nodes transmit their chunks over the WLAN link (5.5 Mbps), we take as the unit of time T , the time needed to transmit the entire file at rate b. As for the cellular links, we consider different possibilities, namely GPRS (42 Kbps), EDGE (120 Kbps), UMTS (360 Kbps) and HSDPA (1200 Kbps). Regarding the energy consumption parameter, besides the cellular power consumption (0.4 W ), we introduce the power consumption values for WLAN communications in the cluster. We consider three different possible states (with relevant power consumption values): transmission (1.6 W ), reception (1.3 W ), and idle time (0.9 W ). The data rate and power consumption values used in this paper are taken from tests made on commercial mobile phone devices (Nokia N95) in order to have realistic values in the simulated scenario. Once the sources have been elected, the network will use the information of the cellular throughput levels to proportionally evaluate the number of data chunks each source will receive; this will improve the overall throughput performance of the cluster. The cellular download time is computed proportionally to the b value and multiplied by the number of chunks each source receives. In the stand-alone case where each node downloads the file on his own, we have 131 T , 46 T , 15.3 T and 4.6 T for a GPRS, EDGE, UMTS or HSDPA cellular link respectively. These values are the terms of comparison used in the following sections to see how much the cooperative approach and the network coding technique allow to improve the performance. III. P ERFORMANCE S TUDY WITHOUT G ENETIC A LGORITHM In this section we study some sample network deployments to understand the actual performing behaviour of the joint use of cooperation and network coding features in a node cluster. We will learn that it is possible to achieve very interesting results in terms of both service time and energy consumption. In some scenarios it will emerge that we can have an ’a priori’ knowledge of the best source nodes while in others instead, a decision algorithm is needed for the source election problem. We consider a 12 node sample network with 4
3
homogeneous cellular link scenarios where all the nodes have the same kind of cellular link. We will then study the solution for heterogeneous cases where two different cellular systems cover either 14 , 12 or 34 of the nodes. In the cited study cases the optimal source set solution is simply found through an exhaustive search. As the number of sources is in the range 1 − 12 and all the nodes are potential sources we need to consider 4095 different tests as given by: 2n − 1 where n is the number of nodes in the network. We will focus our attention on the service time as objective function for the optimization, while keeping an eye on the energy consumption behaviour of the nodes. A similar analysis is possible by using the energy consumption as the objective function, but due to the lack of space (and the similar results that would derive) we will not present the outputs in this paper. The time spent for all the nodes to obtain all the shares of the file is given by the time needed to download the data over the cellular link plus the time needed to spread all the data within the cooperative cluster.
Fig. 2.
C respectively. If we look at the number of nodes selected as information sources, the optimal results have been obtained with an average number of sources equal to 12, 12, 11, and 10 for the GPRS, EDGE, UMTS and HSDPA cases, respectively. The optimal number of sources tends to decrease with the increase in the cellular rate. We want to point out that such a behaviour will be more noticeable for larger clusters, as it will be shown in section V. We see that in cases where the node cellular throughput is low, such as with GPRS and EDGE technology, it is useful to have a maximized number of sources, as witnessed by Fig. 3. Differently, when nodes have high cellular throughput (UMTS, HSDPA) and when in the presence of heterogeneous scenarios, then this is not true anymore (see Fig. 4).
Fig. 3.
Service time vs number of sources.
Fig. 4.
Service time vs number of sources.
Service time vs type of cellular technology (homogeneous case).
The information we can read from Fig. 2 is manifold. By comparing the obtained optimal values when the nodes cooperate (14.1 T , 7 T , 4.4 T and 3.5 T ) to those obtained in the stand-alone case (131 T , 46 T , 15.3 T and 4.6 T ), a gain of 89%, 85%, 71%, and 24% for GPRS, EDGE, UMTS, and HSDPA scenarios respectively is obtained. By comparing the ”only cooperation” scenarios to the scenarios where also the network coding technique is implemented, an additional gain of 5%, 10%, 15% and 20% for GPRS, EDGE, UMTS, and HSDPA scenarios respectively is registered. We notice that the most important gains from cooperation are obtained for lower values of data rate. For what concerns the network coding benefit we notice how the performance augmentation from ”cooperation” to ”cooperation with network coding” is present in all the scenarios; this is an expected result, because it is related to the short-range transmissions only, which also leads to an increasing percentage gain for increasing values of cellular data rates. For the heterogeneous scenarios, we considered the following sample cases in which network coding is used in addition to simple cooperation: A: 14 HSDPA nodes and 34 GPRS nodes, B: 12 HSDPA nodes and 12 GPRS nodes and C: 34 HSDPA nodes and 14 GPRS nodes. In the cited cases we have always a gain in cooperation of 98% for a GPRS node and 42%, 37%, and 40% gain for a HSDPA node in scenarios A, B and
As we optimized the solution according to the service time we want to see what happens for the average per node energy consumption. Comparing the average per node energy consumption values for the optimal solution, achieved by using cooperation, to the stand-alone case (energy used only for the cellular link), we observe a gain of about 86%, 75%, 43% for the GPRS, EDGE and UMTS nodes, while only for HSDPA nodes there is no noticeable energy consumption benefit. Moreover, we register an energy consumption gain when network coding is used in addition to cooperation and this ranges between 8% and 18% in the different considered scenarios. This improvement is related to the lower number of short-range transmissions needed when the network coding technique is deployed. It has to be mentioned that the source nodes will have a higher energy consumption as they are spending energy on the cellular link as well. The results presented in this section, show that in some cases it is not possible to have an ’a priori’ knowledge of the
4
number/type of source required in order to simplify the source selection problem. From the study conducted it emerged, for example, that in a 12-node network with homogeneous GPRS or EDGE cellular link deployment, the best choice is to choose all nodes as source for the cluster. Unfortunately, this rule is not true for other cellular configurations, especially for larger networks and for heterogeneous scenarios. Therefore, the optimal solution in different considered networks shall be found through exhaustive searches with a very high number of tests (increasing with the number of nodes in the network), which is not a feasible solution. Therefore, although the joint use of cooperation and network coding has been proven to be high effective, in some highlighted conditions it is not possible to find the best suitable solution, due to complexity limitation in the best choice of the sources. We propose a new approach based on evolutionary theory to converge to a suitable problem solution in a fast and efficient way. IV. T HE G ENETIC A LGORITHM Genetic algorithms have been studied for many areas in telecommunications and for cluster formation and optimization problems [10]. In [11] a GA is applied to wireless sensor networks for energy efficient clustering; GA solutions for mobile ad hoc networks are presented in [12] and [13], whereas handoff problems in cellular networks are addressed in [14]. For an exhaustive survey on the applications of evolutionary theory to telecommunications and the relevant literature, the reader can refer to [15]. Evolutionary theory has also been applied to network coding techniques as in [16] and [17] where the authors propose a doubly distributed genetic algorithm aiming at obtaining the minimal number of nodes that will code packets for resources saving. In [18] the authors propose a genetic algorithm for topological design of a LAN aiming at defining the number of segments (clusters) in the network and allocate the users to the different segments. Our approach differs from this latter approach and from classic clustering problems as we consider all the nodes as part of a single cluster, in which the number of sources and the nodes covering that role needs to be determined. The natural inspiration behind the evolutionary techniques is that given a population of individuals, a natural selection process will take place with the survival of the fittest; hereby, the fitness of the population will constantly grow. This feature is the key for the application of these techniques to optimization problems. Given an objective function to be maximized and a random set of candidate solutions from the domain of the objective function, the algorithm can evolve according to the fitnessbased selection of the solutions. One of the main application fields for GA are problems in which the solution space is very large and exhaustive search would be a very high computational demanding solution. The problem we are approaching in this paper falls under this category, as the solution space is very large. In fact the solution space is given by: 2n − 1 where n is the number of nodes in the network. During the early phase of the data sharing
process, the GA will learn from the tests to evolve towards the best solution. Due to the lack of space we will present only the service time optimization results, but the algorithm works perfectly also for the energy consumption optimization. The fitness value of every single solution will be the time needed to spread a given amount of data across all the nodes of the network. At the end of the evolution, the best solution will give the number and the combination of nodes to be used for the file sharing service. Population representation: an integer representation is used for each chromosome where each integer corresponds either to the identifier of a node in the network or to a null value, corresponding to the situation where the sources number is decreased by one. Each possible solution (chromosome) is represented by a sequence of N (N = number of nodes) integers, with the obvious condition that a single presence for a node in a chromosome is allowed and that at least one gene does not have a null value. Each node is identified by a unique integer id from 1 to N . Initialization scheme: at the first generation we need to select µ initial chromosomes. The value of µ represents the number of tests the GA will perform in the first generation. In our algorithm we set µ = N while the initial µ chromosomes are chosen randomly among all the possible combinations under the condition to have a chromosome for each cardinality of sources number between 1 and N . Under this condition, we give equal ”chances” to all the values for the number of sources in the evolution. Mutation: at each generation each gene (one of the integer values forming each chromosome) in the chromosome with a probability m = 0.01 will be replaced by a new integer randomly chosen among the possible values. Crossover: with a crossover (or recombination) rate pc = 0.85 a number between 0 and 1 is extracted. If it is smaller than pc then two parents are combined to produce two children, otherwise nothing changes. A one-point crossover solution has been used, which means that a random number r between 1 and L − 1 is extracted, with L the code length (the number of nodes in our case), and the two parents will exchange the tales from r on. Replacement scheme: at each generation we need to reduce the population made by the parents (the old solutions) and the children (the new solutions) to µ. With a probability pr = 0.25 the parents are replaced according to a selector scheme, other values for pr in the range [0-1] have also been tested, but with worse results. A RankSelector has been used to select the best performing chromosomes at each generation and replace the parents with the children if this was the case. Termination factor: the GA will terminate upon convergence. At least 20 generations are run and in case of no convergence the GA will terminate when the maximum generation number is reached. Generations number: the number of generations Gn is the maximum number of tests done which leads also to the maximum time invested. Obviously, the more tests are made, the higher is the chance to evolve towards the global optimum.
5
But performing more tests means a longer time spent in the starting phase as well. To compete with alternative solutions, we need to trade-off the goodness of the solution and the time spent in finding it, which means the number of tests. V. P ERFORMANCE E VALUATION In this section the performance of the proposed GA, when applied to the sample network scenarios introduced in the previous sections, is presented. The first observed output parameter is the capability of the GA to evolve towards a solution which is very close to the optimal one. In some cases, the solution found is even equal to the optimal solution obtained with the exhaustive search. Given that this is an important result, it does not yet give information about the real benefits of using GA instead of an exhaustive search. The key parameter to be studied is the actual number of tests the GA will perform in the evolution towards the best solution and consequently the time spent during this evolution. The advantage is indeed the time needed to evolve towards it, which is severely reduced compared to an exhaustive search which tests all the possible solutions (4095 for a 12 nodes network). In order to give the reader a clear understanding of this trend, we plot in Fig. 5 a sample 12 nodes case for the homogeneous network deployment with all HSDPA cellular links; similar trends are obtained for any other case. The number of tests and their fitness value is plotted for both the GA (Gn = 200) and the exhaustive search. The difference in the number of tested solutions is manifest. Noteworthy, we are considering a sample network with 12 nodes; increasing the number of nodes will obviously make the solution domain set grow and the number of solutions to be tested increase.
a higher number of nodes will make the benefits of a GA solution increase. This is a direct consequence of enlarging the solutions set to be explored, thus making the number of tests increase proportionally. In this section we want to give a new term of comparison to the GA solution performance, by considering the results achieved through a pure random choice of the sources. We start to test random possible solutions and stop this process when the GA converges to a solution. During this time interval the random algorithm will not test the same number of solutions as the GA. This is basically due to the GA feature to evolve towards better solutions (less time demanding solutions because closer to the best ones) and the opportunity to handle more information data. This witnessed by Fig. 6 where the performed tests during an evolution phase for the GA and the random algorithm are plotted for a given 12 nodes network with heterogeneous cellular link deployment. We notice the trend of the GA to converge versus better solutions (smaller values of time units) and registered a throughput gain for the GA of about 21% with respect to the random algorithm during this first phase. We consider now the sample network deployments analysed in the previous sections. When comparing the best GA solution to the best randomly chosen solution we obtain an average throughput gain of 5%. Apparently this average gain is not very large, but the reason for this is strictly related to the distribution of the fitness values of all the possible combinations in the solution domain. We noticed that only a few solutions are very bad solutions representing peaks to be avoided. On the contrary, there are not very relevant positive peaks to converge to, and the distance for a large number of solutions from the optimum solution is not very large. We believe that by increasing the number of nodes, this gain will increase as the distribution of the fitness values will be influenced by the larger network.
Fig. 6. Fig. 5.
Evolution of tested solutions.
A. Genetic Algorithm vs Random Selection The previous results witnessed the capability of the GA to converge to an optimal or a satisfactory sub-optimal solution in a very short time. This permits us to affirm that the exhaustive search of the optimal solution is not a convenient solution. We did not present yet results for bigger networks where more nodes are involved, but it is of easy understanding that
Evolution for GA and random algorithms.
B. Genetic solution vs network size We will here briefly present some results for larger networks (up to 28 nodes). We did not show the exhaustive solutions for larger networks as these are very high computational demanding. But as the genetic algorithm proved to be able to guarantee a solution that is very close or equal to the optimal solution both in the absolute value of the objective function and in the number of sources, we base our analysis on the GA results, which are obtained in a very short time.
6
We present here some sample cases for GPRS and HSDPA homogeneous scenarios and an homogeneous scenario where half of the nodes are either GPRS or HSDPA cellular deployed. We see from Fig. 7 that the GPRS scenario uses all the nodes as sources in all the cases, while for the HSDPA scenario the number of sources related to the number of nodes is decreasing for larger networks, as already noticed in section III. This behaviour is even more evident in the heterogeneous scenario, where the best solution is to exploit the strong HSDPA nodes for downloading data over the cellular link instead of involving all the slow GPRS nodes as well.
cluster, a good choice of nodes acting as sources for the cluster is of utmost importance. To this aim we proposed the use of a Genetic Algorithm (GA) to ”learn” during the first part of the process which is the best choice in those scenarios where no a-priori information is available. Being the domain of the possible solutions very large, we showed how evolutionary theory fits very good to this purpose. Further analysis is probably needed to understand to which extent the distribution of the nodes and the topology of the network influences the choice in the number and in the nodes acting as sources for the cluster. We believe further analysis is also required for a full understanding of dynamic scenarios and the analysis of the effects of nodes either joining or leaving the cluster in different instants of time during the cluster lifetime. R EFERENCES
Fig. 7.
Number of sources vs network size.
For what concerns the service time, we refer to Fig. 8. We notice how for the GPRS scenario this value is decreasing with the number of nodes. This is an expected result, as all the nodes are always sources and consequently the time to download the data is decreasing proportionally. In the other two considered cases, the time spent on the cellular link is actually smaller than the short-range transmission time. For this reason the overall service time increases with the number of nodes in the network. For the energy consumption parameter a difference should be actually made between source nodes and no-source nodes. For the source nodes the energy consumption is following a plot which is similar to the service time plot, while for the no-source nodes we noticed an energy consumption which is increasing with the network size.
Fig. 8.
Service time vs network size.
VI. C ONCLUSIONS In this paper we analysed a source nodes election problem in a WLAN-based cooperative cluster where random linear network coding is deployed to improve the throughput performance. In such a scenario, where the nodes may differ in cellular throughput availability and in positioning into the
[1] F.H.P. Fitzek and M. Katz, Eds., Cooperation in Wireless Networks: Principles and Applications – Real Egoistic Behavior is to Cooperate!, ISBN 1-4020-4710-X. Springer, April 2006. [2] L. Militano, A. Iera, A. Molinaro, and F. H. P. Fitzek, “Wireless peerto-peer cooperation: when is it worth adopting this paradigm?,” in International Symposium on Wireless Personal Multimedia Communications(WPMC), 2008. [3] R. Ahlswede, N. Cai, S. Y. R. Li, and R.W. Yeung, “Network information flow,” in IEEE Trans. on Information Theory. [4] S. Y. R. Li, R. W. Yeung, and N. Cai, “Linear network coding,” in IEEE Trans. on Information Theory, Feb. 2003, vol. 49. [5] O. Younis, M. Krunz, and S. Ramasubramanian, “Node Clustering in Wireless Sensor Networks: Recent Developments and Deployment Challenges,” in IEEE Network, june 2006, vol. 20, pp. 20–25. [6] M. Chatterjee, S.K. Das, and D. Turgut, “WCA: A Weighted Clustering Algorithm for Mobile Ad hoc Networks,” in Journal of Cluster Computing, Special issue on Mobile Ad hoc Networking, 2002, number 5. [7] T. K. Philips, S. S. Panwar, and A. N. Tantawi, “Connectivity properties of a packet radio network model,” in Proc. IEEE Transactions on Information Theory, 1989. [8] A. Al Hamra, C. Barakat, and T. Turletti, “Network coding for wireless mesh networks: A case study,” in 7th IEEE International Symposium on a World of Wireless, Mobile and Multimedia Networks (WoWMoM), Niagara-Falls, Buffalo-NY, USA,, June 2006. [9] JY Wang, G Yang, XH Lin, ZQ He, and JR Lin, “Random linear coding for file sharing in upload-limited wireless packet networks,” in Vehicular Technology Conference,VTC-Fall, 2007. [10] A.E. Eiben and J.E. Smith, Eds., Introduction to Evolutionary Computing, ISBN 978-3-540-40184-1. Springer, February 2007. [11] S. Hussain and O. Islam A. W. Matin, “Genetic algorithm for hierarchical wireless sensor networks,” in Journal of Networks, Sept. 2007. [12] D. Turgut, S. K. Das, R. Elmasri, and B. Turgut, “Optimizing clustering algorithm in mobile ad hoc networks using genetic algorithmic approach,” in Proceedings of the Global Telecommunications Conference (GLOBECOM), Nov. 2002. [13] D. Montana and J. Redi, “Optimizing parameters of a mobile ad hoc network protocol with a genetic algorithm,” in Proceedings of the 2005 conference on Genetic and evolutionary computation (GECCO), 2005. [14] T.M. Chan, S. Kwong, K.F. Man, and K.S. Tang, “Hard handoff minimization using genetic algorithms,” in Signal Process, 2002. [15] P. Kampstra, R.D. van der Mei, and A.E. Eibena, “Evolutionary computing in telecommunication network design: A survey,” in Under Review (Available on: http://www.math.vu.nl/ mei/publications.php), 2006. [16] M. Kim, C.W. Ahn, M. Mdard, and M. Effros, “On Minimizing Network Coding Resources: An Evolutionary Approach,” in NetCod, 2006. [17] M. Kim, M. Mdard, V. Aggarwal, U. O’Reilly, W. Kim, C.W. Ahn, and M. Effros, “Evolutionary Approaches To Minimizing Network Coding Resources,” in IEEE INFOCOMM, 2007. [18] R. Elbaum and M. Sidi, “Topological Design of Local-Area Networks Using Genetic Algorithms,” in IEEE/ACM Transactions on Networking, oct 1996, vol. 4.