• No results found

Classification of Metaheuristics

There are many ways to classify metaheuristics [35]. Depending on the chosen features we can ob- tain different taxonomies: nature inspired vs. non nature inspired, memory-based vs. memory-less, one or several neighbourhood structures, etc. One of the most popular classifications distinguishes trajectory based metaheuristics from population based ones. Those of the first type handle a single solution of the search space at a time, while those of the latter work on a set of solutions (the population). This taxonomy is graphically represented in Figure 3.1, where the most representative techniques are also included.

3.2.1

Trajectory Based Metaheuristics

This section serves as a brief introduction to trajectory based metaheuristics. The main feature of these methods is the fact that they start from a single solution, and by successive neighbourhood explorations, update that solution, describing a trajectory through the search space. Most of these algorithms are extensions of the simple local search, which incorporate some additional mechanism for escaping local optima. This results in a more complex stopping condition than the simple detection of a local optimum. Widely used stopping criteria are completing some predefined number of iterations, or finding some acceptable solution. Although trajectory metaheuristics are not used in this PhD dissertation, we briefly draw up a generic description of the most representative techniques since they could be applied in future works extending our present studies.

• Simulated Annealing

Simulated Annealing was introduced in [119], and is one of the oldest techniques among meta- heuristics. It was the first algorithm with an explicit strategy for escaping local optima. The main idea in SA is to simulate the annealing process of a metal or glass. To avoid getting stuck in a local optimum, the algorithm always allows the selection of a solution with worse fitness value than the current one with some probability. The mechanism works as follows: in each iteration a solution s′ is extracted from the neighbourhood N (s) of current solution s; if shas better fitness

value than s, then s is discarded and s′ is kept instead, otherwise s is replaced by sonly with a

given probability that depends on a dynamic parameter T called temperature, and the difference between the fitness values of the two solutions, f (s′) − f (s).

• Tabu Search

Tabu Search [84] is one of the metaheuristics that has been most successfully used to solve combi- natorial optimization problems. The main idea in TS is the use of an explicit search history (short term memory), that serves both for escaping from local optima and for enhancing the diversity of the search process. This short term memory is called the tabu list, and keeps record of the last visited solutions, preventing the algorithm from visiting them again. At the end of each iteration, the best solution among the allowed ones is included in the list.

• Greedy Randomized Adaptive Search Procedure

Greedy Randomized Adaptive Search Procedure (GRASP) [72] is a simple metaheuristic that com- bines constructive heuristics with local search. GRASP is an iterative procedure with two phases: first, a solution is constructed; second, the solution undergoes an improvement process. The im- proved solution is the final result of the search process. A randomized heuristic is used for the construction of the solution in the first phase. Step by step, different components c are added to the partial solution, initially empty. Each added component is randomly selected from a restricted list of candidates. The components of the solution are sorted according to some problem depen- dent function in order to generate the list. The second phase of the algorithm consists in a local search method to improve the previously generated solutions. A simple local search heuristic can be employed, or some more complex technique like SA or TS.

• Variable Neighbourhood Search

Variable Neighbourhood Search is a metaheuristic proposed in [157], that uses an explicit strategy to switch among different neighbourhood structures during the search. It is a very generic algorithm with many degrees of freedom to design variations or particular instances.

The first step is to define the set of neighbourhood descriptions. There are many ways this can be done: from random selection up to complex mathematical equations deduced using problem knowledge. Each iteration contains three phases: selection of a candidate, improvement phase, and finally, the movement. During the first phase, a neighbour s′ is randomly chosen in the kth

neighbourhood of s. This solution s′ acts then as the starting point for the second phase. Once the improvement process is over, the resulting solution s′′is compared with the original, s. If s′′is

better then it becomes the current solution and the neighbourhood counter is reset (k ← 1); if it is not better, then the process is repeated for the next neighbourhood structure (k ← k + 1). The local search can be considered as the intensity factor, whereas the switches among neighborhoods can be considered as the diversity factor.

• Iterated Local Search

The Iterated Local Search metaheuristic [86] is based on a simple yet effective concept. At each iteration, the current solution is perturbed and, to this new solution, a local search method is applied, to improve it. An acceptance test is applied to the local optimum obtained from the local search to determine whether it will be accepted or not. The perturbation method has an obvious importance: if it is not disruptive enough, the algorithm may still be unable to escape the local optimum; on the other side, if it is too disruptive, it can act as a random restarting mechanism. Therefore, the perturbation method should generate a new solution that serves as the starting point for the local search, but not so far away from the current solution as to be a random solution. The acceptance criterion determines the relative balance of intensification and diversification, since it filters new solutions to decide which can be accepted depending on the search history and the characteristics of the local optimum.

3.2.2

Population Based Metaheuristics

Population based methods are characterized by working with a set of solutions at a time, usually named the population, unlike trajectory based methods, which handle a single solution. We here make a brief survey to some relevant techniques for this study; the interested reader can get more information in [35, 86].

• Evolutionary Algorithms

Evolutionary Algorithms [23] are metaheuristic search techniques loosely based on the principles of natural evolution, namely, adaptation, and survival of the fittest. These techniques have been shown to be very effective in solving hard optimization tasks. They are based on a set of tentative solutions (individuals) called population. The problem knowledge is usually enclosed in an objective function, the so-called fitness function, which assigns a quality value to the individuals.

Initially, the algorithm creates, randomly or by using a seeding procedure, a population of µ individuals. At each step, the algorithm applies stochastic operators such as selection, recombi- nation, and mutation operators in order to compute a set of λ descendant individuals’ offspring. The objective of the selection operator is to select some individuals from the population to which

the other operators will be applied. Different kinds of selection strategies exist: roulette wheel, tournament, random, (µ + λ), or (µ, λ), where µ represents the number of parent solutions and λ the number of generated children. The recombination operator generates a new individual from several ones by combining their solution components. This operator is able to put together good solution components that are scattered in the population. On the other hand, the mutation oper- ator modifies one single individual and is the source of new different solution components in the population. Recombination and mutation are the usual operations in genetic algorithms, having the rest of EAs other variation operators like local search or ad hoc techniques.

The individuals created are evaluated according to the fitness function. The last step of the loop is a replacement operation in which the individuals for the new population are selected from the offspring and the old one. This process is repeated until a stop criterion is fulfilled, such as reaching a pre-programmed number of iterations of the algorithm or finding an individual with a preset target quality. Depending on the individual representation and on how these phases are implemented, different instances of EAs arise such as Evolution Strategy (ES) and Genetic Algorithm (GA), which are used in this thesis.

• Estimation of Distribution Algorithms

Estimation of Distribution Algorithms (EDAs) [136] have a similar behavior with respect to the previously presented EAs, and many authors even consider EDAs as a special kind of EA. Like EAs, EDAs operate on a population of candidate solutions, but, unlike them, do not use recombination and mutation to generate the new solutions, but a probability distribution mechanism instead. They try to overcome the drawbacks of usual recombination operators, which are likely to break good building blocks. EDAs use probabilistic modelling of promising solutions to estimate a distribution over the search space, which is then used to produce the next generation by sampling the search space according to the estimated distribution. After every iteration the distribution is re-estimated. Graphic probabilistic models are commonly used tools to represent in an efficient manner the probability distributions when working with EDAs. Bayesian networks are usually to represent the probability distributions in discrete domains, while Gaussian networks are most often applied for continuous domains.

• Scatter Search

Scatter Search (SS) is a metaheuristic whose basic principles were presented in [85], and is cur- rently receiving an increasing deal of attention from the research community. The algorithm’s fundamental idea is to keep a relatively small set of candidate solutions (called the reference set), characterized by hosting diverse (distant in the search space) high-quality solutions. Five compo- nents are required for the complete definition of SS: initial population creation method, reference set generation method, subsets of solutions generation method, solution combination method, and improvement method. This algorithm is explicitly incorporating the exploration/exploitation idea in concrete steps and operations of its improvement loop.

• Swarm Intelligence

The collective and social behavior of living creatures motivated researchers to undertake the study of Swarm Intelligence [117]. Swarm intelligence techniques use the cooperation of large numbers of homogeneous agents. Such intelligence is decentralized, self-organizing and distributed throughout an environment. In nature, such systems are commonly used to solve problems such as effective

foraging for food, prey evading, or colony re-location. The information is typically stored through- out the participating homogeneous agents, or is stored or communicated in the environment itself such as through the use of pheromones in ants, dancing in bees, and proximity in fish and birds.

Swarm Intelligence systems are typically made up of a population of simple agents (an entity capable of performing/executing certain operations) interacting locally with one another and with their environment. Although there is normally no centralized control structure dictating how individual agents should behave, local interactions between such agents often lead to the emergence of global behavior. The paradigm consists of two dominant sub-fields: Ant Colony Optimization and Particle Swarm Optimization. We use ACO which will be detailed in next chapter.