• No results found

2.3 Metaheuristics

2.3.2 Population Based Metaheuristics

Genetic Algorithms (GAs)

This expression was first used by Holland in 1975 [91]. In GAs the phenotype corresponds to the genotype. In other words, a vector x consists of a set of variables corresponding to a string where its elements are genes [91]. Holland used the idea of crossover and mutation to recombine strings. Crossover is defined as substitution of some genes from one parent with parallel genes in the other parent [147]. Mutation means changing specific genes in the genotype randomly [30]. There are two strategies, the first one uses crossover initially and then mutation, the second strategy uses crossover or mutation (one of them but not both) [147].

GAs generate randomly feasible solutions to be the population; choose some of the feasible solutions from the population to be parents; randomly join best parents to produce new feasible solutions (children) [89]. In other words, choose the best elements and ignore the worst [55]. If an infeasible solution (miscarriage) is obtained, then repeat the process until a

feasible solution is found. We can choose the number of iterations or CPU time as stopping conditions [89].

The main steps of Genetic algorithm is given as follows [41]:

1. initialize a population;

2. apply evaluation function for all individuals;

3. choose good individuals based on fitness to create a new generation by applying mu- tation, or crossover;

4. apply again the evaluation function in order to keep the good elements and delete the bad ones;

5. check if stopping conditions are satisfied, stop. Otherwise go to step 3.

The main operators for GAs are given below [4]:

• selection: selecting an individual from the population to be a parent based on its fitness.

There are many methods to do this, such as proportional selection.

• crossover: it joins two individuals (parents) to produce two new individuals (offspring),

with particular techniques to do this. One of them is called single point crossover, it divides the chromosome of each parent into two parts (head and tail) by using a random cut. The tail of the first parent connects with the head of the second parent and the tail of the second parent connects with the head of the first parent to produce two new offsprings.

• mutation: it happens at random with low frequency and provides an unguided change

to the area of the search by randomly changing one value of gene (bit) in a specific position.

• replacement: this operator decides which newly generated individual will be chosen to

be a member in the new generation. There are many strategies, for example genera- tional replacement, which means that all new individuals become the new generation.

In order to implement GAs, the researcher has to choose the size of the population and the technique to choose the individuals [147]. The size of the population is chosen based on the required level of efficiency and effectiveness [147]. Stopping conditions could be number of fitness evaluations, time, etc. For more information on the application of GAs see [30, 41, 67, 92, 127, 136, 148, 153].

GAs are considered as an important type of Evolutionary Algorithm (EA) and nowadays researchers use the expression EA to cover the latest 15 years of development [147]. Evo- lutionary techniques adapted to the change in population and do not need to restart from scratch [128]. The selection of individuals can be deterministic or stochastic. The determin- istic is faster than the stochastic which is appropriate when you have a short period of time for implementation [128]. Individuals with high fitness have a big chance of being chosen for the next generation or as parents [25].

Scatter Search (SS)

SS is defined as combining solutions to construct new solutions [65]. It needs a set of points called reference set (Ref Set) [152], where Ref Set contains good solutions [65]. SS combines the reference points to construct new points [65].

The main steps of SS procedure is as follows [65]:

• construct p solutions and build Ref Set which contains b different solutions;

• reorder the solution in Ref Set based on the value of the objective function from the

best to the worst value;

• set Newsolutions=true; • while (Newsolutions) do

– generate newsubsets from Ref Set, each one of them contains m solutions; – set Newsolutions =false;

– while (newsubset 6= ∅) do

∗ apply solution combination method on S to get one or more new solutions x; ∗ if the value of the new solution is better than the worst value in Ref Set

then add x to Ref Set and remove the worst value, reorder Ref Set and set Newsolutions =true;

∗ delete S from Newsubsets;

– end while

• end while

SS has 5 methods: a diversification generation method, an improvement method, a reference set update method, a subset generation method, and a solution combination method [65]. SS uses methods effectively to search in intensification and diversification neighborhoods [152], and it uses deterministic methods to generate new solutions [152].

Ant Colony Optimization (ACO)

ACO is a part of swarm intelligence and imitates the behavior of ants during the process of moving food from the source to the colony (nest) by using shortest routes [21, 45]. It uses dummy ants instead of real ants to find solutions to combinatorial optimization problems.

In the beginning, ants discover the area around the nest in a random way until they find the food. They evaluate the quantity and quality of the food before they start move it to the nest [25]. Real ants use pheromone for communication between each other and to mark their own route. Pheromone is a chemical substance, so each time the real ant uses a route, the pheromone on this route will be increased. Therefore, the probability of choosing this route by other ants will be increased [21]. The quantity of pheromone is based on the quantity and quality of the food, so it will help other ants to find the shortest route to the source of the food [25].

ACO heuristic in [21] contains route construction, trail updating, and route improvement strategies. The main steps in ACO algorithm is given as follows [46]:

• while (Stopping criteria is not satisfied) do

– construct ant solution

– apply local search (optional step) – update phermones

In ACO the pheromone corresponds to a value connected with an arc (or edge) and this value increases when the arc appears in a good solution [36]. At the end of moving food, the shortest route will stay and the longest routes will be forgotten [21].

Path Relinking (PR)

PR is considered as an extension to SS and is designed to incorporate the intensification and the diversification search [65, 152]. PR generates new paths between the selected solution instead of combining them to generate new solutions [152]. It is used with GRASP as an intensification strategy by applying it to each local solution to improve it [151].

Related documents