Genetic algorithms for dimensioning of full service access networks Poul E. Heegaard1, Bjarne E. Helvik2 and Norvald Stol2
Keywords:
genetic algorithms, fitness value, genome, optimization, dual homing, multicast traffic, full service access networks Abstract
The next generation access network should provide full service. In such a Full Service Access Network the users need only one physical access point and one set of cables (or radio access link) irrespective of the service required. This paper studies genetic algorithms for application in access network dimensioning. Genetic algorithms is not a special purpose optimization technique, but is very flexible with respect to the type optimization problem. In this paper, the topology and traffic and dependability constraints of a Full Service Access Network are listed. Furthermore, it is discussed how to describe such a network topology by a genome, and how these traffic and dependability constraints can be reflected in the fitness value of the genetic algorithm. The current work applies existing genetic algorithms. All implementations of system requirements, including the testing of the optimal properties of genetic algorithms, have used, and will be using, GAlib, an existing C++ program library of genetic algorithms developed at MIT.
1
Introduction
The access network is the bottleneck for a widespread introduction of new services like multimedia communication, and upgrades of old services like digital television, to the domestic and Small and Medium Enterprise (SME) end-users. The term IXOOVHUYLFHDFFHVVQHWZRUN is often used to denote an access network handling all services [P614]. An intense technology development is going on to upgrade the current infrastructure in order to accommodate a sufficiently high bitrate. Asymmetric Digital Subscriber Line (ADSL) and Very high data rate Digital Subscriber Line (VDSL) are promising techniques for upgrading the copper wire based telephony access network. Cable modems and two-way amplifiers are introduced to upgrade the cable televisions (CATV) networks. Using fibre and radio access as substitutes or supplements to these access media are also considered. 1. SINTEF Telecom and Informatics, N-7034 Trondheim, Norway; Telephone: +47 73 55 0494, Fax: +47 73 53 2586, E-mail:
[email protected] 2. Norwegian University of Science and Technology, Dept. of Telematics, N-7034 Trondheim, Norway; Telephone: +47 73 59 2667, Fax: +47 73 59 6973, E-mail: @item.ntnu.no
During the upgrade toward a full access network, it is likely that active elements will be introduced for multiplexing, rerouting, switching, etc. See, for instance, the work of ATM Forum’s residential broadband (RBB) group [ATMF97] and ETSI’s work on VB5.2 [ETSI97] for interfaces supporting such access networks. The introduction of active elements may improve the ability to adapt to largely differing traffic and the dependability requirements of the various endusers, will make more efficient use of the transmission capacity, and may simplify and reduce the cost of the access network management. However, the current telephony and CATV access networks have a physical tree topology. To gain all of these benefits, it is necessary to extend/ modify this topology to improve its flexibility and introduce back-up paths between end-users and the core network. This is done by introducing cross connect links in the tree topology, realized for instance by point to point radio links. How to upgrade a current topology and where to introduce cross connect links to meet the diverse traffic and dependability (QoS) requirements of end-users is a non-trivial dimensioning and optimization problem. In this paper, it is sought dealt with by applying genetic algorithms (GAs). This approach is chosen since it allows a less restrictive problem formulation than mathematical programming. It is also an objective to become familiar with the pros and cons of this technique for network optimization where a wide range of technical issues are included. These are discussed in Section 2, followed by a short introduction to genetic algorithms (GAs) in Section 3. Section 4 describes how GAs may be applied to access networks. More specifically, a genome (or chromosome) structure is chosen to describe a tentative solution to the problem, and a number of high-level algorithms are given to establish the fitness value of each possible solution. Some comments on implementation issues and possible extensions are also given. Section 5 concludes the paper.
2
The access network
Network optimization denotes a large number of different problems, rather than one well defined one. For an overview and a review see for instance [GAVI91]. In this paper, the upgrade of current access network to a full service network is dealt with. The cost of the upgrade/network is sought minimized, constrained by dependability and traffic requirements, i.e., QoS requirements, from each end-user. The placement of users and network elements are given by the existing network, while the variables are the capacity and cost of the upgrade of existing links and the placement, capacity and cost of new cross connect links. The next subsection presents the topology and some technological constraints. The dependability and the traffic aspects are covered in Sections 2.2 and 2.3 respectively. The modelling of the cost of the upgrade is outlined in Section 2.4.
2.1 Topology The starting point for this study is a CATV network, and the expansion of this network into a full service network, as described in [SOLH98]. ATM switches are introduced at the higher level distribution nodes, i.e. those close to the core network. The branch points at lower levels are, for cost reasons, two-way amplifiers with rerouting capabilities rather than full-fledged ATM switches. However, it is assumed that there is no limitations on their rerouting capabilities. The principal structure of such an access network is given in Figure 1. The solid links may be regarded as the current network, which may be upgraded at a low cost, and the dotted lines new cross-connect links. The network is rooted in a head-end node. This head-end may either be the root of the entire network, an ATM switch at the first distribution level (Commonly realized by
a protected fiber ring), or it could be a distribution node at a lower level. In the three cases, the number of connected users will be in the order of 40 000, 8 000 and 500. +HDGHQG
&$79FRQQHFWLRQ FURVVFRQQHFWLRQ V(QG8VHU 1(1HWZRUN(OHPHQW
V
V 1(
1(
1(
V
V 1(
1( V
1(
V
1( V
V
1(
1( V
V
V
V
V
V
Figure 1: Sketch of a simple upgraded access network topology. For the sake of simplification, only a single head-end is regarded in this study. There are, however, several reasons for regarding access networks with multiple head-ends, e.g. • Dependability, a single head-end will form a dependability bottleneck, • The network provides access to several core networks (operated by competitors, and where the access network is provided by a separate network operator), • Different distribution points for different services, e.g. broadcasted television has a different distribution point than switched services. A key issue resulting for the limited switching capabilities of the network elements and the single head-end assumptions is that all the traffic from and to the end-users are routed through the head-end. Apart from the above, no restrictions are put on the topology. Figure 1 illustrates that end-users may be connected at any level of the network and that cross-connect links may be introduced between arbitrary network elements.
2.2 Dependability Preferably the dependability provided to an end-user should be specified as a performance metric, e.g., the availability should be at least 99.99%, and the candidate networks should be evaluated to ensure that these requirements are met for all users. However, in a large network with many end-users and a number of alternative paths, this would induce a large computational load. Since the end-user unavailability typically decreases with orders of magnitude when an end-toend alternate path is introduced, it is resorted to regard the end-user dependability requirement as matter of alternative paths between end-user and head-end. The three options considered are shown in Figure 2. The dual homing options are obviously the most dependable, where the dependability of the end-user interface/equipment and the head-end limits the end-to-end availability. The “back-up link” may for instance be realized by radio1. The end-user connection is typically the most cost1. In an existing CATV network one element covers a geographical area and hence, the next element is likely to be located rather far away. A “cable back-up” is therefore likely to be expensive.
+HDGHQG
1(
+HDGHQG
1(
1(
V
1(
1(
V 1(
1( V
1(
V
V
1(
1( V
V
V
Dual homing of end-user; disjoint paths.
1(
V
V
V
V
Disjoint paths, except for the end-user connection.
V
1(
V
1(
1( V
1(
1(
V
1(
1(
1(
V
V
1( V
+HDGHQG
V
V
1( V
V
V
Link disjoint paths, except for the end-user connection.
Figure 2: Illustration of three options for redundant paths between end-user and head-end. ly link per traffic unit carried. Hence, the option with disjoint paths within the network may be a more economical, but less dependable alternative. If the dependability of the network elements are substantially better than that of the links, for instance when the dominating failure modes are due to cable cuts caused by diggers or frost, the requirement may be further relaxed to link disjoint paths as illustrated in Figure 2. In the optimization two classes of end-users are assumed. Class 1. Those who require a high dependability and are willing to accept a higher subscription fee. These will typically be (small and medium) enterprises, households where supervision and support of elderly or disabled takes place over the network, etc. Class 2. Those who are cost conscience and where an outage of a day or two occurring years apart are tolerable. It is a requirement that the traffic from all end-users shall be carried when all network elements are working, and that the traffic from all Class 1 users are carried also when there are failures of single network elements1. In the latter case, as much as possible of the traffic from Class 2 users are carried as well.
2.3 Traffic Traffic requirements from users connected to a full service network will be very different for different types of users. To simplify modelling and computations, the user groups of Table 1 are established [SOLH98]. An end-user may belong to one of these, and the mix of users in an area determines the originating and terminating traffic mix. The busy hour will be different for households and businesses. Households will mainly use the network for leisure purposes during late afternoon and evenings, while business user will mainly use the network during the working day. This leads to a definition of three different periods when traffic profiles are estimated, day-time, evening, and night. Furthermore, to establish the traffic mix from each user group within each of these periods, a set of service classes are introduced. The resulting matrix of average offered traffic for household C is shown in Table 2 for illustration [SOLH98].
1. The requirement for Class 1 users depends on which of the three options of Figure 2 that is chosen.
Table 1: Users groups of a CATV based full access network. User Group
Description
Household A
Techno and service freaks
Household B
Small family, e.g. two single adults
Household C
Family, e.g. two adults with two teenagers
Business A
Home office
Business B
Small (to medium) enterprise
Table 2: Average offered traffic in kbits/s from the user group. User group Household C A Voice telephony u d CD quality i o Broadcast quality
Up stream (to head end) Night
Day
Down stream (to end-user)
Evening
Night
Day
Evening
1.1
0.3
25.6
1.1
0.3
25.6
0.1
0.1
0.4
1.0
1.0
3.8
0.0
0.0
0.0
0.0
0.1
0.3
V VoD i d Broadcast e o Multimedia telephony
0.0
0.1
0.3
30.0
60.0
180.0
1.0
0.4
5.0
600.0
240.0
3 000.0
-
-
-
-
-
-
D Narrowband interact. a t Broadband interact. a Games
10.0
5.0
40.0
100.0
50.0
400.0
-
-
-
-
-
-
5.0
5.0
10.0
5.0
5.0
10.0
The traffic scenario is, however, more complicated than it seems at first glance. The nature of some of the services, most notably the distribution of television channels, invite the implementation of multicast to save substantial downstream capacity. Thus the capacity requirements related to each user will depend on how many other users it is that want to receive the same multicast traffic as well as their location in the network. See Figure 3 for an illustration of how broadcast traffic utilized common network elements. To deal with probabilistic models of the sharing of multicast traffic/channels become too computationally demanding in an optimization. Hence, the following simple model is proposed for the number of broadcast channels M(x) carried on a link x [STOL98]: N pM + qN M(x) = M
for N < pM 1–p for pM ≤ N < ------------ M q 1–p for N ≥ ------------ M q
(1)
+HDGHQG
V
D
V 1( V $FWLYH79 nrk &KDQQHOV tv2
1(
1(
1(
1( F
V
1(
V
1(
V
V
1( V
: assumed primary path for distribution of TV channels
V
E
1( V
V
V
V
VCapacity V demand (in no. of channels) ZLWKRXWmulticast: ZLWKmulticast:
RQFRQQHFWLRQ D E = F
$FWLYH79 nrk nrk dk nrk &KDQQHOV dk sv1
Figure 3: Example of capacity required in the distribution of television channels. where M is the number of broadcast channels available, N is the number of active viewers/users downstream from link x , pM is the number of popular channels (like ‘nrk 1’ in Norway) and q ∈ [ 0, 1 ] is the fraction of users viewing (narrow) special interest channels.
2.4 Cost The objective is to minimize the cost of the upgrade of an existing CATV network to a full service network. No specific class of cost model is established. It is intended to use cost models as close to the cost of upgrades and introduction of new network elements (dependent on the technology) as possible. This is one of the advantages of using genetic optimization. Hence, for the links of the network: • The upgrade of an existing link represent a small fixed cost irrespective of distance. If a capacity beyond a certain limit, e.g. 155 Mbits/s, is required, there will be an additional cost. • The introduction of a new cable (or fibre) based cross-connect has the same cost as the upgrade of an existing link plus a (substantial) term dependent on the distance. • The cost of the introduction of a radio based cross-connect link is fixed and independent of distance. The cost will increase stepwise dependent on the required bitrate. The cost of the network elements are fixed. Their variable costs, e.g. the number of links and capacity, are associated with the connected links.
3
Genetic algorithms
The genetic algorithms is based on observations of natural evolution and the theories of natural selection of the fittest individuals. These observations and genetic theories are then mimiced (to some degree) in mathematical algorithm formulations to achieve optimization through “evolution”. A set of rules must be defined to describe how the evolution is to take place. Parts of the algorithm is however stochastic, including an ability to jump to different starting points in a state space defined by possible solutions. Applications of genetic algorithms are for problems with solutions state spaces too large to be fully explored, i.e. they are of the heuristic algorithm
type and does not guarantee optimal solutions. See [MICH96] formal treatment of genetic algorithms and a number of examples from various application areas. The data structure operated on by the genetic algorithm is a population of individuals. The number of individuals in the population may be fixed or variable. Each individual is a possible solution to the optimization problem. Each individual has a value attached, reflecting the fitness relative to the problem. Both the selection of a data structure representation for each individual and the computation of fitness value for each individual are problem specific tasks, i.e. they must be tailored to the optimization problem at hand. The idea is to let the population evolve such that the mean fitness of individuals increases over time towards some optimum value. The evolution through generations occurs by crossovers of two or more solutions (parents) that create new solutions (offspring) which inherit parts of the genome to its parent solutions. By the principle of survivor of the fittest, the best solution will eventually be included in the population. The evolution is terminated when the mean fitness satisfy a certain value, when no change in the fitness value is observed over X generations, or simply when a pre-defined number of evolutionary steps are completed. The single individual with best fitness value is selected as to be the optimal solution. A number of different operations for selection, reproduction (outcome of a crossover), and mutation is proposed in the literature, but this is not the topic in this paper. Figure 4 shows the general development steps of any genetic algorithm. Two steps must be done before initialization. • Selection of a representation for each individual. This representation must reflect different aspects of a solution and is often called either a chromosome or a genome. Each aspect is called a gene. In this paper, a genome is the network topology, see Section 4 for discussions. • An objective function must be defined to compute the fitness of a given possible solution (i.e. a given individual). This is also given completely by the problem at hand. Any constraints that must be fulfilled by a viable solution must be included in this evaluation, together with the actual optimization criteria, see Section 2. Most steps are very flexible with regard to alternative implementation choices. This also means that a lot of effort could be used in finding the “best” implementation for a given problem. This has not been the focus in this work. The following section includes a discussion of how to get the genetic algorithm work for access network dimensioning.
4
Genetic algorithms in access networks
This section focuses on the problem specific parts of using genetic algorithm, namely the choice of a genome for a tree structure with cross connects, and determination of a fitness value that reflects the traffic pattern and dependability constraints. The genetic algorithms are picked from the selection in the GAlib, a C++ program library developed at MIT described in [WALL96]. This library seems well equipped and should have enough alternative functionality for this purpose.
4.1 A genome for the network topology To define a genome to represent the network topology, the term node is introduced for all labelling elements of a network, i.e. the end-users and network elements in Figure 1. The genome must then map a unique interconnection of nodes, where each gene is a specific link between two nodes. Several possible genomes apply, for instance, • String of bits: each bit gives the status of a gene, i.e. 1 if the link exists and connects two nodes, 0 if the link does not exist.
Initialization: i.e. make a population (randomly or as a selection of sensible starting points in the state space of solutions).
Selection: i.e. choose two (or more) individuals for combination.
Combination: i.e. make two or more new individuals (offspring).
Mutation: i.e. randomly change some genes of offspring (with low probability).
Fitness computation: i.e. compute the fitness of the offspring.
Insertion: i.e. possibly insert offspring into the population (following some rule).
Stopping criteria
?
Termination: i.e. select individual with best fitness (not necessarily from last population) as the OPTIMAL solution.
Figure 4: The principle steps of any genetic algorithm. • String of real values: each position in the string represents, for instance, the capacity of the link, 0 if the link does not exist. • Complex structure: the access network topology is known to be a tree with cross connects and hence a genome with a tree structure can be chosen where each branch is a link. The current approach uses a string of bits as the genome. This is a straights forward solution and is well suited for the feasibility study which is the objective of this work. Comparisons with other choice of genome structures are outside the scope of this work. As the number of nodes increases, the size of the genome increases. If the number of nodes are N , then the number of interconnections, and hence the size of the genome, is ( N ( N – 1 ) ) ⁄ 2 . A large genome makes the genetic algorithm slow because the solution space is large and result in slow convergence, and because calculation of the fitness value of each solution include each gene at least once. However, realizing that not all nodes can be interconnected, the size of the
genome can be reduced significantly. An end-user cannot have a direct link to another end-user. This means that the total number of infeasible interconnections is ( N s ( N s – 1 ) ) ⁄ 2 , where N s is the number of end-user nodes. Some additional book-keeping functionality must be implemented to reduce the genome like this, but the reduction factor is significant. For example, if the total number of nodes is N = 530 where N s = 500 , then the number of genes, i.e. number of feasible links in the topology, is reduced from 140185 to only 140185-124750=15435. A reduction of nearly 89%. Each link maps uniquely to a gene. The labelling of links does not need to follow a specific sequence, see the example in Figure 5 showing the labelling of feasible links in a very simple network. In this figure, every feasible link is indicated by a dotted line and labelled. The fat lines are the links given by in the specific solution illustrated. The mapping to a bit string genome is also illustrated. network element
Node 1
5 2 3
Node
link-genome mapping
4 Node
6 7 Node
8
9 Node
1
2
3
4
5
6
7
8
9
0
0
1
0
1
1
0
0
1
end-user
Bit string genome
Figure 5: Labelling of links and mapping to a bit string genome, an example. The genome size can be additionally reduced by not including the existing links from the initial solution into the variable part of the solution. This means that every individual or solution will consist of the existing links, plus some additional cross connects given by the current proposed genome. This will reduce the flexibility and hence result in faster convergence.
4.2 Determination of the fitness value Each topology must be assigned a fitness value. This value should reflect how well this specific topology fits the given traffic and dependability requirements described in Section 2. The value must be obtainable from the genome representation in previous section. Calculation of the fitness value is done for every new individual (an offspring from a crossover), and hence it is essential for the efficiency of the genetic algorithm that the number of calculations is kept at a minimum. The calculations must include determination of the connectivity of each end-user, or at least a group of end-users, and the cost of the required bandwidth assignments associated with this solution. 4.2.1 Connectivity To determine the connectivity of each end-user it is necessary to search for a route from every end-user to the head-end, e.g. by application of Dijkstra’s algorithm. For Class 1 users, it is also required to find a link and/or node disjoint route to the head-end.
However, this is expected to be too computer demanding for real sized network and some simplifications are proposed: 1. Group all end-users with the same route to head-end and belonging to the same class, i.e. having the same connectivity requirements (e.g. single or dual homing). 2. Dual homing not supported. 3. Node or link disjoint paths not supported. 4. Only paths that are (partly) pre-specified as input data are checked. 5. Class 1 users only require that the first link in the primary and secondary paths are disjoint. Without assumption 1 and 2, determination of the fitness value is probably not tractable. Adding assumption 3, no distinction between end-users with respect to connectivity can be made. With assumption 4, this is possible, but it requires an enormous amount of input data, and puts too heavy restrictions to the solutions that can be found. Hence, the algorithm for checking the connectivity described in the following rely on the assumptions 1,2 and 3. Assumption 3 can easily be substituted by assumption 5. The input data defining the optimization problem includes a fixed number of nodes. Each node, included the end-users, is identified by (x,y)-coordinates giving the geographical position of the node. These coordinates determine the distance between the nodes, e.g. calculated as the Euclidean distance1. The distance measure is needed to obtain the shortest path from an end-user to the head-end, and to calculate the cost of a link between two nodes, see Section 4.2.2. The following algorithm applies to check the connectivity of a given solution (genome): 1. Find the shortest path (by Dijkstra’s algorithms using the number of hops or the Euclidean distance as measure) from head-end to all network elements, not end-users. Note that only the links that are present in the current solution can be included in the search algorithm. 2. In preferred order, according to the distance measure, connect each end-user to a network element which is identified to have a connection to the head-end. Under assumption 1,2 and 5, Class 1 users must search for a second connected network element also. If only assumption 1 is accepted, the following modification to the search algorithm in step 1 is proposed. 1. Find shortest path from head-end to a specific network element (as in the algorithm above). 2. Remove either: (i) All links in the shortest path (link disjoint paths required) (ii) All nodes in the shortest path (node disjoint paths required) (iii) All nodes and links in the shortest path (dual homing required) 3. Find shortest path from head-end to a specific network element after the reduction in step 2. This is repeated for all network elements. Step 1 and 3, respectively, find a primary and secondary path from the head-end to all network elements if they exists. This modification is assumed to be very computer demanding. If an end-user cannot be connected, i.e. no path to the head-end exists, a penalty is added to the fitness value of this genome. The size of the penalty should be in the order of the cost of a direct radio link connection to the head-end for every disconnected end-user. The reason for adding a penalty instead of rejecting the solution and define it as infeasible, is that according to genetic algorithm you may throw away important genetic material is you do so [MICH96].
1. The Euclidean distance between the coordinates ( x 1, y 1 ) and ( x 2, y 2 ) is d =
( x 1 – x2 ) 2 + ( y1 – y2 ) 2 .
In Section 2.1 it was assumed for the sake of simplicity that the access network only have one single head-end. However, on the cost of computer efficiency, several head-end can be included. To check the connectivity to more than one head-end, the algorithm in this section must be repeated to obtain the shortest path from the head-ends to every network element. The computer cost increases less than linearly with the number of head-ends if reuse of shortest sub-paths obtained for other head-ends is allowed. 4.2.2 Bandwidth assignment The result from the previous section is that each (group of) end-user(s) now have a path to the head-end, and class 1 users should have a secondary path as well. This is obtained either by using the existing links of the specified genome, or adding a radio link directly from the end-user to the head-end. Now adding the uni- and multicast traffic as described in Section 2.3. Summarising the traffic of all primary paths gives the primary bandwidth requirements of the current genome solution. The bandwidth capacity is chosen to be sufficient to carry the mean traffic in all busy hours, day, evenings and nights. The cost of building a network with this capacity can be calculated using the cost model described in Section 2.4, and illustrated in Figure 6. Observe that when the problem at hand is an extension of a network, the capacity of the existing links in the initial solution will have no cost. The cost model should be different dependent on the area the nodes are located. The cost of adding new links in inner city is not the same as in the rural area [IOMS97]. Then, for each Class 1 user, move the traffic from the primary to the secondary path. This is done for one user (group) at the time, and the implications on the bandwidth capacity assignment are calculated. cost radio link
new cable
upgraded capacity on existing link
existing link (no cost)
distance
Figure 6: Principally cost model.
5
Closing remarks
In this paper the application of genetic algorithm for dimensioning of full service access networks is discussed. The main focus of current work has been on how to get genetic algorithm work in such an application, rather than finding the optimal choice of genome, what crossover operation should be used, etc. Hence, the discussions in this paper focus on the constraints in future full service access networks, and the considerations that have to be made using genetic algorithms on such a network.
The implementation if the ideas in this paper is done by use of GAlib. The implementations are not completed but the results so far is promising. A small example is tested where the objective was to find the optimal topology in an existing network. The optimal was the no cost existing network, and that was what the genetic algorithm returned. The further work will hopefully give answers to some of the following. • Does the current genome and fitness function result in a realistic optimal solution within reasonable time for a real sized network? • How sensitive is the solution to the parameters that has to be set? • Should another and more complex genome structure be used? If so, what should the crossover function be? • Can the calculation of the fitness value be made more efficient, e.g. by reuse of previous fitness values and only calculate the difference between the parents and the offspring [MØLL98]? • Is it feasible to include dual homing in a real sized network simply by modifying the shortest path algorithm as described in this paper? • How conservative is the capacity requirements resulting for the assumption of carrying all traffic in all busy hours? • How can the algorithm in Section 4.2.1 most efficiently be used in networks with multiple head-ends?
REFERENCES [ATMF97]
The ATM Forum Technical Committee, RBB WG, RBB Baseline Document Draft, BTD-RBB-001.05, Singapore, Dec. 1997.
[ETSI97]]
ITU-T Study Group 13 - Contribution 15, Draft New Recommendation G.VB5.2 V-Interfaces at the Service Node (SN) - VB5.2 Reference Point Specification, Ipswich, United Kingdom, Jun. 1997.
[GAVI91]
Bezalel Gavish: “Topological design of telecommunication networks - local access design methods”, Annals of Operations Research 33(1991):17-71.
[IOMS97]
Leif Aarthun Ims, Borgar Tørre Olsen, Dagfinn Myhre, Kjell Stordahl. Key factors influencing broadband access network upgrades. OPTIMUM workshop on multimedia techno-economics. Aveiro, Portugal. Oct. 20-22. 1997
[MICH96]
Zbigniew Michalewicz: “Genetic Algorithms + Data Structures = Evolution Programs”, Springer Verlag, 1996.
[MØLL98]
Øyvind Møll. “Genetic algorithms in access network”. Term project. NTNUDepartment of Telematics. Spring 1998.
[P614]
Eurescom. Project 614: Full Service Access Network.
[SOLH98]
Anders Solhaug: “Telematics Networks - Introducing switched ATM solutions into the CATV networks to account for an increasing traffic”, SINTEF Telecom and Informatics report STF40 A97098, 1998.
[STOL98]
Norvald Stol: “Telematics Networks -Use of genetic algorithms for network structure optimization”, SINTEF Telecom and Informatics report STF40 A98043, 1998. ISBN 82-14-00688-0.
[WALL96]
Matthew Wall: “GAlib: A C++ Library of Genetic Algorithm Components”, Massachusetts Institute of Technology, 1996.