No
3.3.2 Genetic algorithm (GA)
The genetic algorithm is developed by Holland (1975) and has received great attention in various disciplines. It is an optimization approach based on the concepts of genetics and natural reproduction and the evolution of living crea- tures, in which an optimum solution evolves through a series of generations. Each generation consists of a number of possible solutions (individuals) to the problem, defined by an encoding. The fitness of an individual within the gen- eration is evaluated, and it influences the reproduction of the next generation. The algorithm starts with an initial population of M individuals. An individ- ual is composed of real coordinates associated with the variables of the objec- tive function. The current generation is called parent generation, by which offspring generations are created using operators such as crossover and muta- tion. Other M individuals are re-chosen from the parent and offspring gener- ations according to their fitness value. The flowchart for the genetic algorithm is given in Figure 3.9, where ρcand ρm are the probabilities of crossover and mutation in the algorithm. Usually, the value of ρcvaries from 0.8 to 0.9 while ρmfalls in the range of 0.001–0.1. N1represents the number of iterations in the
first stage, while N2 represents the time interval by which the termination cri- terion is defined. If the best individual with the fitness value fg remains unchanged after N2 iterations, the algorithm will stop. Niter is the variable restoring the total iterations performed by the algorithm. j1 and j2are used to perform the non-uniform mutation operations. The crossover operator is given by eq. (3.1).
(3.1) where voj+1,l and voj+2,l mean the lth element of the vector Voj+1 and Voj+2, respectively, given by eq. (3.2). Similarly, vmi,l and vfi,lrepresent the lth ele- ment of the mother parent and father parent vectors Vmiand Vfi, respectively, and n + 1 is the number of control variables in this study.
(3.2) where rmand rndare random numbers in the range 0–1. vlmin and vlmaxare the lower and upper bounds to the lth variable in (V= x1, xn+1, σ2,…,σn). εis the tolerance for termination of the search.
3.3.3 Particle swarm optimization algorithm (PSO)
The PSO is an algorithm developed by Kennedy and Eberhart (1995). This method has received wide applications in continuous and discrete optimization problems, and an improved version for slope stability analysis
voj+ 1;l= voj+ 1;l− voj+ 1;l− vl min × 1:0 −j1 j2 2 × rm rnd≤ 0:5 voj+ 1;l= voj+ 1;l+ v l max− voj+ 1;l× 1:0 −jj12 2 × rm rnd>0:5 8 > < > : voj+ 1;l= vfi, l× rc+ 1:0 − rð cÞ× vmi, l voj+ 2;l= vmi, l× rc+ 1:0 − rð cÞ× vfi, l l= 1; 2; . . . , n + 1 8 < :
Figure 3.9 Flowchart for the genetic algorithm.
parameters: M, ρc, ρm, N1, N2, fg
Generate initial population of M slip surfaces, Niter = 0, j1 = 0, j2 = N1, N3 = N1 r0 ≤ ρc i ≤ M/2 k ≤ j fg = fc k = 1
The current generation V ′1,..., V ′M is taken as the parent generation, two random individuals are coupled together comprising a pair of parents, and offspring generations are obtained through crossover and mutation operators
The i th pair of parent V ′fi, V ′mi are used to create two offsprings V ′oj+1, V ′oj+2, by eq. (3.1), j = j + 2, i = i + 1
N3= N3+ N2, j1= 0, j2= N2
For each component of V ′ok, generate a random number r1 from [0, 1]; if r1 is lower than Pm, use eq. (3.2) to adjust its value, otherwise its value remains unchanged
Determine the best individual from parent and offspring generation fc. Choose new M individuals from V ′1,..., V ′M and V ′o1,..., V ′oj Generate a random number r0 from [0,1] i = 1, j = 0 i = i + 1 k = k + 1 No No No No No Yes Yes Yes Yes Yes Terminate ⏐fg − fc⏐ ≤ ε
has been developed by Cheng et al. (2007e). Yin (2004) has proposed a hybrid version of the PSO for the optimal polygonal approximation of digital curves, while Salman et al. (2002) and Ourique et al. (2002) have adopted the PSO for the task assignment problem and dynamical analysis in chemical processes, respectively. The PSO is based on the simulation of simplified social models, such as bird flocking, fish schooling and the swarming theory. It is related to evolutionary computation procedures, and has strong ties with the genetic algorithms. This method is developed on a very simple theoretical framework, and it can be implemented easily with only primitive mathematical operators. Besides, it is computationally inexpensive in terms of both the computer memory requirements and the speed of the computation.
In the PSO, a group of particles (generally double the number of the control variables, M) referred to as the candidates or the potential solutions [as V described above] are flown in the problem search space to determine their optimum positions. This optimum position is usually characterized by the optimum of a fitness function (e.g. factor of safety for the present problem). Each ‘particle’ is represented by a vector in the multi-dimensional space to characterize its position (Vk
i), and another vector to characterize its velocity
(Wk
i) at the current time step k. The algorithm assumes that particle i is able
to carry out simple space and time computations to respond to the quality environment factors. That is, a group of birds can determine the average direction and speed of flight during the search for food, based on the amount of the food found in certain regions of the space. The results obtained at the current time step k can be used to update the positions of the next time step. It is also assumed that the group of particles is able to respond to the environmental changes. In other words, after finding a good source of food in a certain region of the space, the group of particles will take this new piece of information into consideration to formulate the ‘flight plan’. Therefore, the best results obtained throughout the current time step are considered to generate the new set of positions of the whole group.
To optimize the fitness function, the velocity Wk
iand hence the position Vki
of each particle are adjusted in each time step. The updated velocity Wk+1 iis
a function of the three major components: 1 the old velocity of the same particle (Wk
i);
2 difference of the ith particle’s best position found so far (called Pi) and the current position of the ith particle Vk
i;
3 difference of the best position of any particle within the context of the topological neighbourhood of the ith particle found so far (called Pg; its objective function value called fg) and current position of the ith particle Vk
i.
Each of the components 2 and 3 mentioned above are stochastically weighted and added to component 1 to update the velocity of each particle, with enough oscillations that should empower each particle to search for a better pattern within the problem space. In brief, each particle employs eq. (3.3) to update its position.
(3.3) where c1 and c2 are responsible for introducing the stochastic weighting to components 2 and 3, respectively. These parameters are commonly chosen as 2 which will also be used in this study. r1 and r2 are two random numbers in the range [0,1], andω is the inertia weight coefficient. A larger value forω will enable the algorithm to explore the search space, while a smaller value of ωwill lead the algorithm to exploit the refinement of the results. Chatterjee and Siarry (2006) have introduced a nonlinear inertia weight variation for dynamic adaptation in the PSO. The flowchart for the PSO in searching for the critical slip surface is shown in Figure 3.10.
The termination criterion for the PSO is not stated explicitly by Kennedy and Eberhart (1995) (same for other modern global optimization methods). Usually a fixed number of trials are carried out with the minimum value from all the trials taken as the global minimum, and this is the limitation of the original PSO or other global optimization algorithms. Based on the termina- tion proposal by Cheng et al. (2007e), if Pg remains unchanged after N2 iterations are performed, the algorithm will terminate as given by eq. (3.4):
(3.4) where Vsf, fsf mean the best solution found so far and its related objective
function value. ε is the tolerance of termination. All global optimization methods require some parameters which are difficult to be established for general problems. Based on extensive internal tests, it is found that the PSO is not sensitive to the optimization parameters in most problems, which is an important consideration for recommending this method to be used for slope stability analysis.
3.3.4 Simple harmony search algorithm (SHM)
Geem et al. (2001) and Lee and Geem (2005) developed a harmony search meta-heuristic algorithm that was conceptualized using the musical process of searching for a perfect state of harmony. Musical performances seek to find pleasing harmony (a perfect state) as determined by an aesthetic standard, just as the optimization process seeks to find a global solution determined by an objective function. The harmony in music is analogous to the optimization solution vector, and the musician’s improvisations are analogous to local and global search schemes in the optimization process. The SHM uses a stochastic random search that is based on the harmony memory considering rate HR and the pitch-adjusting rate PR, and it is a population-based search method. A harmony memory HM of size M is used to generate a new harmony, which is probably better than the optimum in the current harmony memory. The
fsf− fg ≤ ε Wki+ 1= ωWk i + c1r1 Pi− Vki + c2r2 Pg− Vki Vki+ 1= V0ik+ Wki+ 1 i= 1; 2; :::; 2n
harmony memory consists of M harmonies (slip surfaces), and M harmonies are usually generated randomly. Consider HM ={hm1, hm2,…, hmM}
(3.5) where each element of hmicorresponds to that in vector V described above.
Consider the following function optimization problem, where M =6, m=3. Suppose HR=0.9 and PR=0.1.
(3.6) Six randomly generated harmonies comprise the HM shown in Table 3.1. The new harmony can be obtained by the harmony search algorithm with the following procedures. A random number in the range [0, 1] is generated, for
min f xð 1;x2;x3Þ= x1ð − 1Þ2+ x22+ x3ð − 2:0Þ 2 s:t: 0≤ x1≤ 2 1 ≤ x2≤ 3 0 ≤ x3≤ 2
hmi= vð i1;vi2; :::;vimÞ
Figure 3.10 Flowchart for the particle swarm optimization method.
Initialize the necessary parameters: c1, c2 and w, M,
N1, N2, fsf, Vsf and the counter
Randomly generate M particles (slip surfaces) Vi and Wi, fsf= 1.0e + 10, N3 = N1