David Brittain and Jon Sims Williams
FEEDER RING (OR SPINE)
7.2 The Genetic Algorithm Approach
An introduction to genetic algorithms is provided in Chapter 1. The aim of this section is to introduce the methods that are used in this chapter for applying them to the problem of access network planning.
A common misconception of genetic algorithms is that they are good ‘out of the box’
optimizers. That is, a GA may be applied directly as an optimiser with little consideration for the problem at hand. With difficult problems, there is no evidence that this is the case and, in general, the representation and associated genetic operators must be carefully chosen for suitability to the problem. The key to producing a good genetic algorithm is to produce a representation that is good for the problem, and operators that efficiently manipulate it. An ideal representation for a genetic algorithm has a number of features:
• There should be no redundancy – each point in the problem search space should map to a unique genetic representation. Redundancy in the representation increases the size of the genetic search space and means that many different genomes representing a single point in the problem space will have the same fitness.
• It should avoid representing parts of the problem space that break constraints or that represent infeasible solutions.
If a representation can be found that can meet these criteria then the challenge becomes that of designing appropriate operators. The next section describes Forma theory, a method that is designed to help in this process.
7.2.1 Forma Theory
One of the difficulties of applying a GA to a particular problem can be that suitable operators simply do not exist. Forma theory was developed by Radcliffe (1994) for designing problem specific representations and genetic algorithm operators for manipulating these generated representations. It allows the development of operators that work with and respect the representation for arbitrary problems. It is based around equivalence relations which are used to induce equivalence classes or formae (plural of forma); these formae are used to represent sets of individuals. An example of an equivalence relation is ‘same colour hair’, which can be used to classify people into groups.
Each group has the property that all members have the same hair colour, and these groups can then be represented using formae such as ξblonde, ξblack and ξginger.
Once a representation has been developed for a problem one of a number of crossover operators can be chosen. The choice is based on certain properties of the representation.
Important properties of a crossover operator are respect, assortment and transmission.
Respect requires that formae common to both parents are passed on to all children. If an operator exhibits assortment then this means that it can generate all legal combinations of parental formae. Finally, transmission means that any generated children are composed only of formae present in the parents. Radcliffe (1994) introduces a number of operators that each exhibit some of these properties.
7.2.2 Local Search
A common approach to improving the performance of genetic algorithms is to combine them with other search methods or heuristics. Nearly all the GAs that have produced good
results on difficult problems have used this approach. The basic operation of these algorithms is that a local search operator is applied to each individual in the population at each generation after crossover and mutation. A local search algorithm is one that, given the current point in the search space, examines nearby points to which to move the search.
The algorithm is often greedy in that it will only accept moves that lead to an improvement in the cost of a solution. The search is guaranteed to find a local minimum, but if there is more than one of these it may not find the global minimum.
The name memetic algorithm is used to describe these algorithms, and comes from Dawkins’ idea (1976) that as humans we propagate knowledge culturally, so our success goes beyond genetics. He called the information that is passed on from generation to generation the meme. It was adopted by Moscato and Norman (1992) for GAs that use local search, as they considered that in one sense the algorithm was learning, and then passing this learnt information on to future generations. A modern introduction to memetic algorithms and their applications can be seen in Moscato (1999).
7.2.3 Overall Approach
The approach taken to solving the access network planning problem is to treat it as a multi-layer location-allocation problem. A location-allocation problem is a general term for any problem where there are a set of customers that must be allocated to supplier sites, where the location of these sites must also be determined. Network planning can be considered as a multi-layer version of this problem because customers must be allocated to secondary nodes and secondary nodes must be allocated to primary nodes. At the same time these primary and secondary nodes must be located. The problem is formulated so that the primary and secondary locations must be selected from a finite set of possible locations.
7.2.4 Genetic Representation
A simple representation for the problem is one where for each customer there is a set of alleles which represent all the possible sites that can supply the customer, the actual allele chosen represents the site which supplies the customer. This representation was used by Routen (1994) for a concentrator-location problem. It is good as there is no redundancy – one genome maps to a unique instance of a location-allocation.
This representation allows manipulation of the genome using standard crossover operators such as n-point crossover and uniform crossover. Uniform crossover is the most appropriate, as there is no information contained in the ordering or position of the genes within the genome.
A natural representation for a location-allocation problem is one in which sets (or clusters) of customers are formed along with an associated location. The set of customers is allocated to this associated location. The objective of the optimisation is then to form good clusters of customers and to find good locations as centres for these clusters. The problem can be decomposed so that first a cluster of customers is found and then a location is selected on which to centre them.
Using the terminology of forma theory, the equivalence relation used is therefore ψab = ‘customer a shares a set with customer b’
So, if there are three customers a, b and c, the following equivalence classes (or formae)
A simple method has been chosen for representing the site that is associated with each set of customers. The association is made through the customers; each customer has an associated gene that represents their preferred supplying site. When a set is created, the first customer to be assigned to the set has its associated location used to supply the whole set of customers. A similar scheme is used for determining which primary node supplies each set of secondary nodes. If the target network is a PON then the split-level is represented in the same way – each customer specifies a preferred split. Both the representation of the primary and secondary sites and of the splitter sizes, are strings of genes. As such, these strings can be manipulated using standard operators such as uniform crossover.
7.2.5 Crossover and Mutation
The set-based representation is such that traditional crossover and mutation operators will not perform well. The representation is not orthogonal, as for exampleξab∩ξbc∩ξac =∅. The non-orthogonality displays itself as dependencies between forma; this means that a traditional operator would generate many invalid individuals. As a consequence of this non-orthogonality, and the fact the formae are separable (as assortment and respect are compatible, see the previous section) an operator based on Random Transmitting Recombination (RTR – see Radcliffe (1994)) was developed. The operator is a version of uniform crossover adapted for problems where the alleles are non-orthogonal.
The operator functions in a number of stages:
Step 1: Gene values that are common to both parents are transmitted to the child.
Step 2: For each remaining uninitialised gene in the child. Randomly select a parent and take the allele at the same loci, set the child’s gene to this allele. Update all dependant values in the array.
Step 3: Repeat Step 2 until all values are specified.
The aim of a mutation operator is to help the algorithm explore new areas of the search space by generating new genetic material. Given the representation described in the previous section it is necessary to devise a compatible mutation operator. The implementation chosen is based on three components that could provide useful changes to the membership of the sets. The three components are:
Split: This chooses a set randomly and splits the contained individuals into two new sets.
Move: Two sets are chosen at random and a member of the first set is picked at random and moved to the second set.
Merge: Two sets are chosen at random and the members of both sets are combined to form a single new set.
When mutation is applied to an individual, each of these components is applied with a certain probability. Thus, a mutation operation may actually consist of a combination of one or more of the above operators.
The probability with which each component is chosen is determined by the genetic algorithm itself, that is the algorithm self-adapts its mutation rate. Smith and Fogarty (1996) use such a system to adapt the mutation rate for each gene independently, that is, for each gene an extra gene is added which specifies the mutation rate for its companion. The results of their work showed that, on complex fitness landscapes, the self-adapting algorithm out-performed standard algorithms. Experiments on the access network planning problem show similar results, with a self-adapting mutation operator out-performing a simpler implementation (Brittain, 1999).
7.2.6 Local Search
Two forms of local search are used within the algorithm. One tries to improve the allocation of customers to secondary nodes, and secondary nodes to primary nodes. And the other aims to improve the position of secondary and primary nodes with respect to the nodes that are allocated to them.
The implementation of the first of these is simple; given the current position in the search space, the algorithm proceeds as follows:
Step 1: Choose two customers a and b from different sets
Step 2: If swapping a and b leads to an improvement in cost, add a triple of (a, b, cost_reduction) to a list of possible exchanges.
Step 3: Repeat Steps 1 and 2 for all pairs of customers. Sort the list of possible exchanges based on cost reduction, with largest cost reduction first. Move through the list implementing the exchanges, once a customer has been moved ignore all later exchanges involving this customer.
The second type of search attempts to improve the position of a secondary (and primary) node sites. The algorithm works as follows:
Step 1: The initial values for the secondary nodes locations are provided by the genetic algorithm. Then for each secondary node:
Step 2: Take each adjacent node in the graph. Calculate the gradient of the cost function with respect to the distance between it and the current node.
Step 3: Choose the node that gives the steepest descent in the cost function as the new node position. Repeat Steps 2 and 3 until no improvement can be made.
Note: The calculation of the cost function is computationally cheap because it is decomposable. It depends only on the position of the customers assigned to the secondary and the position of the primary node. The algorithm that is used begins by finding the cost per metre of the input c able for the node, and the cost per metre of all the output cables.
These are constant with respect to the position of the secondary node. Calculation of the cost function therefore only requires the distance from the secondary to the primary and the customers to be re-calculated at each iteration of the algorithm. These distances are multiplied by the relevant cable cost-per-metre and summed.
7.2.7 Simulated Annealing
A simulated annealing algorithm must have a move-generator that defines the local search neighbourhood. The moves that are described here are similar to the search neighbourhood used with the local search in the genetic algorithm. They are
• change the position of a primary/secondary node,
• assign a customer/secondary node to a different secondary/primary node,
• and in the case of PONs change the splitter size.
Ernst and Krishnamoorthy (1996) use these first two moves for solving a related problem – the p-hub median problem.
It is also necessary to have a way of creating new sub-trees in the network; this is achieved by the operator for moving a section. Firstly, the SA is initialised so that each customer is supplied by their own primary and secondary node. For example, if there are four customers, then there will be four primary nodes, each supplying a single secondary node which in turn supplies a customer. This means that no new sections need to be created, as the maximum possible number are created at the start; Figure 7.2 illustrates this.
7.2.8 Dynamic Installation Strategy
Given a network definition provided by a genome, the time of installation of the components must be decided. This is achieved using the cost function. Network cost is calculated by working from the customers upwards through the network tree. Starting from the customer, a cable is connected to the secondary node in the first year that the customer requires a service. The secondary node that the customer connects to is added when the first customer connects to it, and so on up through the network. This is illustrated in Figure 7.3.
Cable sizing is based on the assumption that all future demand is known. So, when a cable is installed, its size is chosen to satisfy all of the forecast demand. Although, if the demand exceeds the maximum size available, then the largest cable is installed and additional cables are added in future when required. For example, imagine the demand for fibres at a node is six in the first year, two in year two, four in year four, and the maximum cable size is eight. Then, a cable of size eight would be installed in the first year and an extra cable to supply the remaining demand (size 4) would be installed in year four.
Figure 7.2 Illustration of a series of simulated annealing moves. Those section greyed out are not included in the cost, as they have no customer connected. Initially, each customer is supplied by their own primary and secondary node. This means that a move specifically for creating new sections is not needed. As shown in the final step, customer A is assigned to another section with no customers attached, this effectively creates a new section.
Figure 7.3 Illustration of how a network is installed over time. Colour coding shows when the cables and nodes are installed.
The same approach is adopted for sizing nodes, and installing splicing and splitting units within these nodes. So given the above example, for a splicing node (where splicing units are of size four), two splicing units would be installed in year one, and one would be installed in year four.
1
A
A
A Initialisation
B moved to 1 D moved to 1
A moved to 4
2
B
B
B
3
C
C
C
4
D
D
D
0 1 3 2 Year of Installation
Customers Secondary Nodes Primary Nodes
Figure 7.4 The performance of the GA vs SA on a passive optical network planning problem.
7.3 Results
This section summarises the results that were obtained for some example planning problems. The algorithms have been tested against a wide range of problems from those with twenty to thirty customers, to the example below (called hard) with seventy customers, sixty possible secondary node sites and eight possible primary sites.
In the results described, the algorithms (GA with local search and SA) are used to produce two plans: one for a point-to-point network architecture; and the other for a passive optical network. The genetic algorithm uses the novel set-based representation, as it has been shown that this performs more robustly across a range of problems than the simpler representation described at the start of the previous section (Brittain, 1999).
Figure 7.4 shows the results of a comparison of the GA with SA averaged across ten runs, with a new random seed for each run. It is clear that the GA’s performance is much superior to that of simulated annealing. Analysing the results of the simulated annealing algorithm, it was clear that the results where poor because it only found large clusters of customers. The best solution to the problem consists of smaller clusters of customers. The results shown are similar across all the planning problems, except that the performance of SA is closer to that of GA when there are fewer customers.
Figures 7.5 and 7.6 show the best solutions that were found for the hard planning problem for PTP and PON respectively by the GA. It is interesting to examine the difference between the solutions to the PON planning problem and the PTP problem. It is clear that the PON solution contains a small number of large clusters of customers compared to the PTP solution that contains a large number of small clusters. This is easy to explain as the passive splitting devices are expensive compared to splicing units (they may be up to fifty times more expensive). Therefore, for PON planning the optimisation
Hard - Blown Fibre PON
25000 30000 35000 40000 45000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
Time / s
Average Cost
GA SA Best
attempts to minimise the number of splitting devices installed. From the diagram it is clear that nearly every splitting device is connected to its maximum number of customers. In PTP networks, the splicing units cost less and cable is comparatively expensive, so the optimisation attempts to reduce the total amount of cable installed into the network. This difference means that finding the optimum for the PTP problem is much harder as, for example, the number of possible clusters of size four, is much greater then the number of clusters of size eight.
Figure 7.5 The cheapest network found by the genetic algorithm for point-to-point dynamic planning on the hard test problem.