• No results found

Jeffrey Blessing

2. Compute T, the maximum spanning tree of R

3.5 G enetic A lgorithms

The most common formulation of the network design problem as a genetic algorithm is to use 0 and 1 bits as the genes of a chromosome that is n(n–1)/2 bits long. Eac h bit corresponds to the presence or absence of an edge in the complete graph of n nodes. In this manner, the chromosome only represents the topology of the candidate network. In King-Tim et al. (1997), the authors also use a separate chromosome representation for the flow

assignment and capacity assignment sub-problems, solving each sub-problem genetically. In Pierre and Legault (1996) the authors use shortest distance path routing to solve the flow assignment problem and a simple selection method to pick the first line type which covers the flow in each edge to solve the capacity assignment problem. They address the connectivity question by simply testing if the minimum degree of the graph is at least 3.

Note that, since node connectivity can be less than the minimum degree of the graph, a bi-connected topology is not guaranteed by specifying a degree of 3 in the fitness function.

However, the authors also ‘seed’ the population with an initial graph in which every node is at least of degree 3. All other members of the initial population are randomly generated from the first individual. Single point crossover with a mutation rate of 0.005 is used, along with a proportional selection operator (also known as the roulette wheel method of selection), to evolve the fittest 100 members from each generation, for a total of 1000 generations. Since the objective is to minimize cost, the fitness function, f, is the reciprocal of the network cost, and is defined as follows:

 network’s delay to the maximum acceptable delay in the problem statement. Multiplying the denominator by Tn is meant to penalize designs which do not meet the acceptable delay threshold, but does not entirely eliminate them from contributing to the next generation. The results in Pierre and Legault (1996) claim improved designs over Cut Saturation as the number of nodes in the problem increases. In every case of 15 nodes or more, the genetic algorithm of Pierre and Legault (1996) produced a superior solution to the results from Cut Saturation.

As a first point of comparison, the Union of Rings method was run on the sample problem of Pierre and Legault, with the results shown in Table 3.3. The Cut Saturation method produced a result 35% better in cost and 21% better in delay than the genetic algorithm of Pierre and Legault (1996). The Union of Rings algorithm, on the other hand, produced a result that is 5.25% better than the Cut Saturation solution.

Table 3.3 Final results.

Algorithm Cost ($’s) Delay (sec.) GA of Pierre/Legault 33,972.67 0.077 Cut Saturation 22,221.30 0.061 Union of Rings 21,048.70 0.062

To more thoroughly compare the relative performance of heuristic and genetic algorithms with respect to the problem of network design, the Union of Rings algorithm and the genetic algorithm according to Pierre and Legault were implemented according to the descriptions

of their authors. A random problem generator was also implemented, which selects a problem size (4 ≤ n ≤ 25), and a sequence of n(n–1)/2 demands for flow (0 ≤ di ≤ 25). The maximum acceptable delay was set to 0.1 seconds and the following line types were available in integer quantities (the three line capacities correspond to T-2, T-3 and OC-3 category digital leased lines):

• 6 Mbps lines cost 1 unit per kilometer

• 45 Mbps lines cost 4 units per kilometer

• 150 Mbps lines cost 9 units per kilometer

In 100 trial design problems, the Union of Rings algorithm outperformed the genetic algorithm in 54% of the cases, with an average improvement of 2% over the genetic algorithm results for all test cases. However, the variance was wide, with the best Union of Rings result being 24.75% better than the GA result, and the best GA result being 24%

better than the corresponding Union of Rings result.

In order to improve upon the genetic algorithm approach, the dynamic programming method used by the Union of Rings algorithm (to solve the capacity assignment problem) was adopted for use in the genetic algorithm. With this modification, the only difference between the GA and the Union of Rings approach is in how they establish a solution topology. The same genetic algorithm parameters were used from the first comparison. In 100 randomly generated problems, the enhanced GA outperformed the Union of Rings result in 85% of the cases, with an average improvement of 10.5% over all cases tested.

Still, the variance is wide, with the best GA result being 42.5% better than the Union of Rings solution. Conversely, there is a 25% improvement in the best Union of Rings result, compared to the corresponding GA solution. When the sample problem of Pierre and Legault was attempted, the GA with dynamic programming produced a design costing

$19,797.25 with a delay of 0.065 seconds.

3.6 Conclusions

From the results above, it appears that the use of dynamic programming principles to address the capacity assignment sub-problem of the network design problem offers a significant reduction in the cost of the resulting designs. However, it is also apparent that, for any particular instance of the network design problem, a variety of solution methods must be attempted, since it is possible that any one method may dominate the others on any individual problem. With regard to problem size, genetic algorithm runs typically required 30 minutes to 1 hour (on a dedicated Pentium 233 MHz processor), where the Union of Rings algorithm would complete in 3 to 5 seconds. Thus, for very large scale network design problems, the Union of Rings method may be the only viable method to provide quality designs in reasonable time.

In terms of flexibility, genetic algorithms seem vastly more flexible to changing conditions than do the heuristics. Since the network design problem can be defined in so many different ways, it is important to be able to change the design algorithm to fit new problem requirements. For instance, when considering the topology of the graph,

bi-connectivity requirements necessitate that every node have at least two incident edges (this is a necessary, but not a sufficient condition). However, in terms of reliability, if a node has too many incident edges, its likely to be involved in many primary or secondary paths for the commodities of the problem, thus reducing path redundancy. If such a node fails, the amount of traffic re-routed would overwhelm the remaining cuts in the network. Thus, it may be desirable to keep the maximum degree of each node below some threshold value.

Such a change to the design requirements might present difficulties for heuristic methods.

Indeed, every new requirement many force a re-thinking of the reasoning in support of the heuristic method. However, such changes are easily handled by genetic algorithms. The fitness function only needs to be modified to return poor fitness values for graphs which do not meet all requirements precisely. This forces the search towards more acceptable topologies. Such changes were easily accommodated by the genetic algorithm approach implemented in this study.

Finally, when addressing large scale optimization problems such as network design, it may well be the case that the general search method used (genetic algorithms, simulated annealing, best-first search, hill climbing, etc.) is less important than the quality of the heuristics used to guide the search process. In the case of the genetic algorithms of this study, it was the decision making in the fitness function that lead to better solutions to the capacity assignment sub-problem, which in turn produced results that were 12% better than the GA results using a simple capacity assignment solution. Thus, when faced with a difficult optimization problem, one is better off spending time developing good heuristics to guide the search method of choice, than to experiment with other general purpose search algorithms.

3.8 A

PPENDIX