| Previous | Table of Contents | Next |
Mutation
Mutation of an allele will take place using a centered mutation algorithm. Treating each allele as a non-negative integer, a mutation will increment or decrement that integer by a small amount, chosen uniformly over an interval. The length of this interval and the probability of mutation are parameters that can be adjusted. Mutations will always produce non-negative integer values alleles. That is, a mutation which produces a negative value will be adjusted to be 0. Mutations are not explicitly constrained from growing too large but chromosomes with high values will generally have high penalties associated with them. Thus, the problem space is effectively limited to a compact domain.
Crossover
For this problem, crossover is done in a slightlynon-standardmanner. This is dictated by the fact that a chromosome represents a two-dimensional structure, and the crossover method should reflect that structure. The approach here isquadrantal(See Figure 6.1).
Figure 6.1 Quadrantal crossover method.
Crossover is implemented by choosing a crossing point in the resource list and a crossing point in the services list. The two parent chromosomes are then crossed, creating two children chromosomes by using the quadrants from each parent. The method used here is, for each quadrant, one child, chosen at random, receives one parents version, the other child receives the other parents version. This decision can be visualized by considering the following example table:
| Parent Selection | ||
|---|---|---|
| Quadrant: | Child #1 | Child #2 |
| A | Parent #1 | Parent #2 |
| B | Parent #2 | Parent #1 |
| C | Parent #2 | Parent #1 |
| D | Parent #1 | Parent #2 |
In this example, Child #1 has quadrants A,B,C,D from Parents #1, #2, #2, #1, respectively. Child #2 has quadrants A,B,C,D from Parents #2, #1, #1, #2, respectively. For each crossover operation, the assignment of parent quadrants to children is determined randomly. This approach has the advantage that all genetic material from both parents is preserved in some offspring.
Discussion of Crossover Strategy
Several methods of crossover were considered in this study before the current approach was adopted. One method, creating a single child offspring by taking the best combination of quadrants from each parent, was successful for small problems but tended toward premature convergence with valuable genetic material lost. Another approach with a fixed allocation of parents quadrants to offspring preserved genetic material but tended to lock large areas together, which then led to insufficient mixing of the population. The current strategy seems to combine a good mixing approach with no loss of genetic material.
Fitness Parameters and Fitness Functions
A fitness value must be given to a chromosome in order to implement the selection process and, finally, to determine whether the genetic algorithm has arrived at a good solution. Generally, the objective is to minimize resource usage while maximizing service availability. This is modeled here by assigning the following parameters:
The chromosome fitness value is the sum of the row and column penalties. Two further parameters are available for row and column fitness evaluation:
Selection
Since the approach here uses (positive) penalty functions, the selection criteria uses minimization. Thus, a tournament selection method is appropriate and is used here. The number of participants in each tournament and the number of winners in each tournament are problem instance parameters. For example, tournaments could be set up with five contestants selected at random from the population. Then each tournament could designate as winners the two contestants with lowest fitness (first place and second place). The numbers five and two in the example above can be varied in the implementation.
An interesting side effect of this strategy is that the absolute size of the fitness (penalty) of each chromosome is not relevant, only its relative value compared to other chromosomes. This approach may more accurately reflect the uncertainty of the fitness data in real problems.
A variation of this is used in the multi-objective experiment #4 described below.
| Previous | Table of Contents | Next |