• No results found

2.3 GMS model solution approaches

2.3.5 Metaheuristics

The prefix meta derives from the Greek above or beyond. As the name suggests, metaheuristics are superior to heuristics in terms of their flexibility and their ability to yield better quality solutions than searches based on fixed heuristic rules. The class of metaheuristics may broadly be partitioned into two groups, namely trajectory-based metaheuristics and population-based metaheuristics. Trajectory-based metaheuristics trace out a succession of iteratively modified or transformed solutions to an optimisation problem over a number of iterations of the algo- rithm. These metaheuristics move from a single solution to another single solution through the search space in an iterative manner, based on a carefully selected move operator. Examples of trajectory-based metaheuristics include algorithms such as local search, the method of simulated annealing (SA), and tabu search (TS) [30]. Population-based metaheuristics, on the other hand, employ a population of solutions which are transformed simultaneously in an iterative fashion [199]. An initial population is created after which a new population is generated from that first population. The two populations are then integrated according to some selection procedure. This combined population is used to form a subsequent population, from where the procedure is repeated until some stopping criterion is met. Examples of population-based metaheuristics include scatter searches, evolutionary algorithms, and swarm optimisation techniques.

Metaheuristics most commonly employed to solve GMS model instances are genetic algorithms (GAs), SA, particle swarm optimisation (PSO), TS and Ant colony optimisation (ACO). A brief description follows in the remainder of this section of each of these algorithms in general as well as a description of these methods as they have been implemented to solve GMS model instances. Since the method of SA is applied later in this dissertation to solve two novel GMS model instances approximately, this method is described in more detail in the next section.

Genetic algorithms

A GA is a population-based metaheuristic which attempts to mimic biological evolution and natural selection processes in order to uncover good solutions [105]. Each candidate solution in the search space is referred to as an individual and each individual has a fitness value associated with it which is determined by the objective function. The fitness level of an individual is typically used in the selection of individuals for reproduction or replacement in the population. A population of individuals (solutions) is generated during each iteration, consisting of a subset of individuals that will be considered during that iteration of the algorithm. The population at any fixed iteration of a GA is referred to as a generation. These generations evolve over the iterations of the algorithm until the termination criteria of the algorithms are met [176]. A number of operators are employed during each iteration to produce a new population for the next generation. One such operator is the so-called selection operator, which determines which individuals of the population will be selected for reproduction. A crossover operator represents the sexual reproduction process according to which the characteristics of two individuals selected from the population for reproduction are combined to generate one or more offspring individuals. In order to steer the search through unexplored regions of the solution space, the GA also makes use of a variation or mutation operator which applies slight modifications to the individuals in the population in order to promote diversity among solutions. Typically, the selection process will occur first, followed by the crossover process and finally the mutation process (during each iteration of the algorithm).

In the literature, the GAs have been used in a number of studies to solve both single-objective GMS model instances [55, 213, 215] and model instances involving multiple objective functions

[22, 74]. GAs have also been combined with other solution methodologies within the GMS context in a number of cases in the literature [37, 52, 53, 69, 111, 141, 162].

Particle swarm optimisation

Another population-based optimisation technique is PSO, which mimics the social behaviour of a school of fish or a flock of birds [106]. The PSO algorithm is typically initialised by a random initial population of solutions. During each iteration of the algorithm, the population is updated based on candidate solutions to some optimisation problem instance found by other individuals in the population in their search for optimal solutions. Each solution at which an individual currently finds itself is referred to as a particle. The particles “move” through the solution space, but are biased in the direction of the currently best particles in the system. Each particle keeps track of its individual coordinates within the solution space as well as its associated fitness, as determined by the objective function. The particles also keep track of the coordinates associated with the best solution found by the entire swarm or flock of particles so far during the search and the direction of search is generally focussed in that direction.

Each individual particle is attributed its own velocity which is updated during each iteration so as to produce acceleration toward the location of good solutions. The change in the velocity of a particle is typically weighted according to its current location as well as relative to the best solution’s current location in the solution space. Hu [106] argued that PSO is able to achieve improved results in less time and requires less memory when compared to other population- based optimisation techniques, such as GAs or ACO, for certain problems. PSO also involves only a small number of parameters which require adjustment.

In the literature, the PSO approach has been used in a number of cases to solve single-objective GMS model instances [65, 131]. The PSO approach has also been combined with other solution methodologies within the GMS context in a number of cases in the literature [198, 220]. The method of tabu search

TS is a trajectory-based local search metaheuristic method developed by Glover in 1986 [97]. The TS approach focusses on avoiding the phenomenon of cycling. Cycling refers to the process where a certain algorithm keeps returning to a recently visited area within the solution space of an optimisation problem [176]. In TS, a short-term memory of recently visited areas within the search space is introduced. This short-term memory is maintained dynamically during the search and is referred to as the tabu list — areas or solutions that are part of the tabu list may not be revisited for a certain number of iterations in the TS algorithm after having visited them last [34, 96]. The TS approach considers all the neighbouring solutions of a current solution. This neighbourhood is found by perturbing the current solution locally. The best neighbouring solution is then selected as the new current solution (worsening solutions may be accepted if there are no improving solutions within the current solution’s neighbourhood). The search is, however, not allowed to return to any solution in the tabu list for a predetermined number of iterations (called the tabu tenure) so as to ensure that the algorithm does not become trapped at the locally optimal solution. This process is repeated iteratively until some stopping criterion is met. The number of iterations that must elapse before a solution is removed from the tabu list can be altered to suit the requirements of the algorithm. Keeping a solution in the tabu list for a small number of iterations promotes intensification of the search, where the focus will be on a certain area within the search space in which a good solution has been found, whereas keeping a solution in the tabu list for a large number of iterations promotes diversification of the search where new areas in the search space are explored which may contain good solutions [96].

In the literature, the method of TS has been used in a number of studies to solve single-objective GMS model instances [36, 66]. The TS approach has also been combined with other solution methodologies within the GMS context in a number of cases in the literature [37, 44, 127].

Ant colony optimisation

ACO is a population-based metaheurstic that was proposed by Dorigo [60] in 1992. The method is based on the natural behaviour of and communication between ants when foraging for food. When ants search for food, they initially wander around seemingly randomly with no coordi- nation between themselves and the rest of the colony, until a good food source is found. The ant that finds the food source then returns to the ant colony and releases a pheromone9 along the path from the food source to the ant colony. The pheromone level along the path depletes over time, which means that if the distance from the ant colony to the food source is long, the pheromone level will, on expectation, be low once other ants sense it. If, on the other hand, the distance between the ant colony and the food source is short, the pheromone level will be high when other ants sense it. These ants will then start following the same path to gather food. While other ants travel along this path they also release pheromones, thus strengthening the pheromone level along the path. Since ants select paths randomly with a bias toward paths with high pheromone levels, the search process results in a situation where the ant colony success- fully discovers shorter paths to food sources from their nest. For this reason, the approach was initially developed to find shortest paths in graphs, but has since been adapted to solve various other optimisation problems such as assignment problems and scheduling problems [60, 87]. In the literature, the ACO approach has been applied in a number of studies to solve single- objective GMS model instances [83, 87, 170]. The ACO approach has also been combined with other solution methodologies within the GMS context in a number of cases in the literature [44, 81].