An important characteristic of evolutionary algorithms is the fact that only two of the key operational modules, namely the genotype → phenotype mapping, and the fitness function, need to be implemented in a problem specific way. All the other steps in the process are independent of the problem definition; no prior knowledge of how a candidate solution works, nor further information about the optimised system, is included within the algorithm. As such EAs can be considered to be ‘black-box’ approaches to solving optimisation problems; they are applicable to a vast number of optimisation tasks, although their performance above alternative strategies is never guaranteed.
There are other algorithms which fit the same black-box heuristics of EAs. The most simple are the exhaustive or brute-force search, in which every possible location within the search space is assessed in a linear fashion, and the plain random search, in which different possible locations within the search space are assessed entirely at random. The former strat- egy is practical in none but the simplest and smallest of search spaces, although it is easy to implement and has the benefit over all other strategies of absolutely guaranteeing finding the optimal solution within a finite, predetermined number of assessments; as such it provides a useful benchmark to which other algorithms may be compared. Aside these simplistic algo- rithms, there are a further set of approaches which take into account the fitness landscape and aim to advance solutions in a generation-by-generation; these are hill-climbing and simulated annealing.
3.4.1 Hill Climbing Algorithms
Hill-climbing advances the primitive techniques of exhaustive and random searches by in- cluding information about the search space. A hill-climbing algorithm takes an initial starting position within the landscape, and attempts to improve on the current position by evaluating the fitness of local neighbours, moving towards the state that appears to be the best. The simple hill-climbing algorithm examines potential new states in a fixed order and selects the first one that improves upon the current state. This clearly adds bias based on the ordering, so a more robust solution is found in the steepest ascent hill climbing algorithm (SAHC). In SAHC, all possible successors are evaluated with the one that offers the greatest improvement selected. A major problem for these basic algorithms is they only find local maxima; once a position is found in which all local neighbours are worse than the current state stagnation
occurs. Additionally landscapes with plateaus, in which all local neighbours appear the same, and ridges, in which the target direction of the global maxima is along a narrow ridge, create situations in which the algorithm can get stuck [49].
There are many variations on the steepest-ascent hill climbing algorithm which aim to improve performance, particularly at avoiding stagnation at a local-maxima. Stochastic hill climbing adds a random element to the selection process with the probabilities of the different possible uphill moves weighted by their gradient; this generally converges more slowly than steepest-ascent but can perform better in certain landscapes. First-choice hill climbing gen- erates successors at random until one is found to outperform the current state; this strategy is observed to work well in vast multivariate problems where a state has many thousands of potential successors. Random-restart hill climbing conducts a series of shorter hill-climbing searches from random starting positions with the aim of finding the global optima. Much as with evolutionary optimisation strategies, the success of a hill-climbing algorithm is very de- pendent - for landscapes with few local maxima, random-restart hill climbing can very rapidly find a good solution, however for a complex, spiked landscape, as is typical with an NP-hard problem, the algorithm will rapidly find strong local maxima but may miss the global max- ima [140].
3.4.2 Simulated Annealing
Simulated Annealing (SA), invented by Kirkpatrick et al in 1983 [85], is an algorithm that essential combines hill-climbing with an element of random walk, to attempt to avoid the problem of getting stuck in local maxima, whilst being far more efficient that simply relying on random walk. The name stems from the metallurgy process of annealing in which metals are tempered by heating them to a high temperature, then gradually cooling them. The process is astutely described by Russell and Norvig using the following analogy: Consider a rough, bumpy landscape in which there is a ball, where the aim is to get the ball to reach the lowest point - a gradient descent problem. The process works by shaking the environment roughly, allowing the ball to fall and settle, then repeating the process with decreasing force until the ball has settled at the lowest point and doesn’t get dislodged by the shaking [140].
Simulated Annealing is used in multi-variate combinatorial problems where the goal is to minimise the system energy - a global function that is based on all the variables. SA is an ex- tension of Metropolis Monte-Carlo (MMC) simulation, in which information about the shape of the search landscape is learned through a process of initial random sampling followed by iterative small changes. When the small changes result in a decrease in energy, the new state is accepted. If, however, the energy value is increased, the new state is probabilistically accepted
based on the Boltzmann Acceptance Criterion (BAC) e(−δE/t), in which δE is the increase in energy and T is the ‘temperature’ of the system, calculated from the percentage of steps that result in a rise in energy. A random value between 0 and 1 is chosen, with the new state accepted when the value is lower than the BAC; the allows the process to escape from local minima. In SA, successive iterations of MMC are run using progressively lower temperatures, with successive temperatures calculated from a cooling schedule. Popular cooling schedules include Tnew = Told− δT and Tnew = Told× Q where Q is a constant below 1.0; the choice
of the schedule, the initial temperature and the amount of cooling each iteration need to be carefully selected according to the landscape and parameters of the problem to solve [49]. It is noted that in addition to hill climbing and simulated annealing, there are numerous other optimisation algorithms that have been applied to similar tasks. These include, amongst many others, particle swarm optimisation, quantum annealing and tabu search; for reasons of time and space a detailed analysis and comparison of all these techniques has not been included here.