AN EUGENETIC ALGORITHM FOR DELAY-CONSTRAINED MINIMUM-COST ROUTING OF MULTIPOINT CONNECTIONS AN EUGENETIC ALGORITHM FOR DELAY-CONSTRAINED MINIMUM-COST ROUTING OF MULTIPOINT CONNECTIONS

(4) and (5) and the cost of the tree is as low as possible. tree A special kind of genetic algorithm - eugenic algorithm is presented for constructing minimum-cost tree with delay constraints. Telecommunication network is represented by an undirected graph, which uses three independent metrics: cost, delay and capacity. The efficiency of two different bit representations of individuals (adjacent matrix, list of vertices) is compared.


Introduction
Recent advances in telecommunication and computer technology have led to a new variety of applications based on communication of multiple parties. This brings a new dimension into the existing telecommunication networks, routing of multipoint connections. Multipoint connections are used by conference services, which need to establish point-to-multipoint and multipointto-multipoint connections [6]. The main goal of routing algorithm is to find connection, which fulfils conditions of specific service, as are: free bandwidth, delay, delay variation, etc. The routing algorithm has to find such a connection, which fulfils all the given conditions, and the cost of this connection is as low as possible. The cost of connection depends on the length (geographical) of the connection, number of used network resources, utilization, delay of separate links in connection, bandwidth, etc. The routing algorithm prefers less utilized parts of the network, which results in efficient usage of network capacity and consequently the blocking probability will decrease. The crux of routing of multipoint connections is described in [9], where many deterministic algorithms are presented. Nowadays, algorithms for routing of multipoint connections could be based on genetic algorithm (GA) [3,7,8] or eugenic algorithm (EuA) [1,4,5].

Network model and problem definition
Having a telecommunication network represented by the graph where the switching nodes of telecommunication network are represented by the set of vertices V and communication links are represented by the set of edges E. Consider three non-negative real functions associated with each edge (link) e: The function C(e) determines the cost of the link, which depends mainly on its utilization. The link delay D(e) is the delay of a data packet experiences on the corresponding link and the function F(e) determines free capacity of the link.
Given a set of nodes, which have to be connected: This set represents the nodes in the network, which the subscribers of one multipoint connection are connected to. Every vertex of set U must be connected with every single vertex of set U. The problem of routing multipoint connection in the telecommunication network could be formulated as the problem of finding the subgraph GЈ, which is usually tree T. Consider the subgraph GЈ to be the tree T ʕ G, where the set of vertices of the tree T includes all vertices from the set U. The desired tree must fulfil these two criteria: • Free capacity of all edges must be equal or higher than the required value ⌽: ᭙e ʦ T : F(e) Ն ⌽, (4) • Delay between all couples of vertices from set U must be lower or equal to the maximum acceptable delay ⌬ i,j defined for a selected couple of vertices: where P is the path from vertex u i to vertex u j .
Cost C T of the tree T is defined as follows: The goal of the routing algorithm is to find the tree, which fulfils the criteria (4) and (5) and the cost of the tree is as low as possible.
If the cost of the tree is minimal, the tree is called Steiner tree and the vertices of the tree, which are not in the set U, are called Steiner vertices [2].

Eugenic algorithm
Eugenic algorithm [1,4,5] differs from GA [3] in many ways. The most significant difference is the method of creation of new individuals. Whereas GA creates new individuals randomly using crossover, mutation and inversion operators, the EuA creates a new individual using the analysis of selected individuals in population. Even though the analyses are deterministic, there are many random steps in the algorithm. Eugenic algorithm could be defined as follows [1,4,5]: The EuA begins by generating initial random population. The algorithm creates a new individual g. The algorithm continues in creation of new individuals until the maximum number of individuals L max has been created. Every new individual is created step by step.
The EuA constructs a new individual step-by-step (allele-byallele) using the analysis of selected part of population (rpop). In the initialization phase of the algorithm the set of unset genes is full. This set includes genes, where the alleles are still unknown and will be set in the next steps. Alleles of unset genes are not generated randomly, but according to their significance. The most significant genes are set as the first and the least significant as the last. The most significant gene and its allele is determined from the restricted population rpop. The allele of the most significant gene is selected randomly, but in accordance with its significance. When the allele of the gene is set, the gene is removed from the set of unset genes G and the restriction of population rpop could be performed. Whether the restriction is performed or not, depends on the amount of interdependence among a genotype's alleles called epistasis. The higher the epistasis, the higher is the probability that a population is restricted to only individuals containing selected allele of the most significant gene g g,a . All individuals that do not have allele g g,a are excluded from the population rpop. The primary goal of restriction is to leave in population such individuals who are similar to the individuals currently being created. This technique enables to estimate which genes are more significant for creating individual and which allele is more suitable. If the gene significance analysis were performed over the entire population, there would be no regard for the relationship among separated genes. If one of the genes is set to the same allele in the entire population, then this gene is called gene without diversity. If such a gene appeared in population, its allele would never change. Because of this EuA has mechanism, which allows setting another allele for the gene without diversity. The probability of this change is equal to parameter creation rate CR. This procedure repeats until all genes of new individual g are set. If all alleles of newly created individual are determined, the fitness of this individual is computed and the newly created individual will replace the lowest fitness individual in the population.
To find the most significant gene and allele and compute its epistasis, it's necessary to analyze fitness of separate alleles of individuals from restricted population rpop. The analysis is usually based on the computation of allele fitness average of unset genes. Calculated averages are normalized to probabilities of allele presence for each gene p(g g,a ). If the probability p(g g,a ) is not one or zero and the absolute value of difference of probabilities p(g g,a )is maximal, the gene g g ʦ G is the most significant gene. This could be expressed as follows: The most significant allele of gene g g is the allele with the highest probability of presence, i.e.: g g,a ϭ {p(g g,0 ), p(g g,1 )}.
The amount of interdependence among a genotype's alleles (epistasis) could be calculated as follows: where gene g j ʦ G \ {g g } is the second most significant gene after gene g g . If the allele probabilities are approximately equal (i.e. approximately equal to 1/2), the epistasis goes to one and if one of the probabilities goes to zero, the epistasis will equal zero (see expression 9).
The probability of restriction p r is commensurable to epistasis and for the majority of applications it's sufficient, if probability is equal to epistasis p r ϭ E. The result of this fact is that the restriction of the population is more likely, when the relation among alleles (epistasis) of unset genes is low. The restriction is not performed if the number of individuals after restriction would be lower than minimum acceptable number of individuals MinN, otherwise the restriction could be performed with the probability p r .

Model design for routing of multipoint connections, simulation results and analysis.
Using the principles described in section 3, EuA for routing of multipoint connections was designed. The goal of the algorithm is to find minimum cost connection with regard to criteria (4) and (5). The proposed algorithm uses one of two chosen representations of individuals (connections): adjacent matrix and list of vertices.
The adjacent matrix is the square matrix with dimension equal to the number of nodes in the network ( fig. 1). The matrix elements could only be set to one of two values (0 or 1), which determines, whether the connection between two particular nodes exists or not. If the matrix element on the i-th row and j-th column is 1, then the connection from node i to node j exists and vice versa.
The list of vertices is the line vector with dimension equal to the number of nodes in the network. The vector element determines, if corresponding node must be presented in the connection or not. If the vector element is set to 1 the node is presented in connection, otherwise the corresponding node could be presented, depending on the state of the network. The tree is created using the minimum spanning tree (MST) algorithm, which respects only the delay between nodes.
The MST algorithm is described as follows [10]: 1. Given a graph G, construct a new graph GЈ ϭ (U, EЈ) where delay D(eЈ); eЈ ϭ (u i , u j ) is the length of the shortest path from u i to u j in G.

Construct a minimum spanning tree TЈ in GЈ.
3. Convert the edges in TЈ to paths in G to form a solution T.
The list of vertices can represent only trees, unlike the adjacent matrix, which could represent subgraphs too.
The routing algorithm consists of two phases: • pre-processing phase • eugenic algorithm The main goal of pre-processing phase is to reduce the graph G to the graph G R with edges that represent links with sufficient free capacity. The reduced graph G R includes only edges e with free capacity equal or higher than minimum required capacity ⌽ i.e. F(e) Ն ⌽. After the reduction, the shortest paths among all vertices from set U are computed and compared with maximum acceptable delay given by parameter ⌬ i,j (5), to ascertain if exists any suitable connection, which fulfils conditions (4) and (5). If such connection does not exist, the algorithm is interrupted; otherwise the eugenic algorithm is performed.
Given the network from fig. 3, which consists of 22 nodes interconnected with bidirectional links. The cost of every link is presented as the number beside the line. The delay of every link in the graph is 10 ms and free capacity is higher than minimum required value ⌽. Nodes 6, 14, 17, 19 and 21 drawn with thick circles must be connected.
The proposed algorithm was tested on various network architectures, but this paper contains only results of the tests performed on the network from figure 3, because the tests on other networks give similar results. The tests were performed using both representations: adjacent matrix and list of vertices. The cost of the resultant connection depends on these parameters as a number of generations L max , size of population MaxN, and parameters MinN and CR. To find the effect of particular parameters to algorithm efficiency the following experiment was done. The average value of minimum, maximum and average cost of connection were calculated from 100 independent experiments for many combinations of the above mentioned parameters. Table  2 specifies the chosen values of tested parameters for both representations. The maximum acceptable delay ⌬ i,j is set to 50 ms for all couples from the set U. The experiments show that the representation by list of vertices gives significantly better results than the representation by an adjacent matrix because the best average cost of the connection represented by the adjacent matrix is 62.86 after 1000 generations, but for a list of vertices is 48 after only 300 generations (see fig. 4 and 6). This significant difference in performance is caused by the convergence speed, which is lower for the adjacent matrix than for the list of vertices representation because the minimum cost after 300 generations is approximately 72 when the adjacent matrix representation is used. (Note: The cost in 300th generation is not included in any table of this paper because it was obtained from another simulation.) The cost of connection is independent on a minimal acceptable number of individuals after restriction MinN. Stochastic char-  In the given adjacent matrix representation, increasing the number of individuals has negative impact on the speed of convergence to the optimal solution (see fig. 5). Despite the fact the parameter MaxN is significant, the parameter CR has bigger impact on the cost of the resultant individual. The optimal value for parameter CR is approximately 0.03.
If the list of vertices representation is used, the cost of the connection depends mainly on the parameter CR. The optimal value is approximately 0.05.
The difference in performance of both representations is illustrated in figures 8 and 9 that depict the final connections and appropriate parameters of simulations.

Conclusion
The performed experiments show that the representation using list of vertices gives better results than adjacent matrix representation; because the resultant connection does not contain any redundant links. The redundant links disappear when the number of generations increases, but it has negative impact on the execution time. Therefore the representation using adjacent matrix does not seem to be suitable. The mentioned kinds of representations lead to the solutions with a different number of degrees of freedom. The number of degrees of freedom for the adjacent matrix is equal to the number of links in the network E, which is higher than the number of degrees of freedom for the list of vertices representation, which is equal to V ϪU. A large number of degrees of freedom causes disproportionate increase of feasible search areas in search space and therefore the algorithm is more likely to stay in a local extreme.