Absorption Process for Natural Gas Sweetening
5.2 Details of IMODE Program
5.2.1 Differential evolution with tabu list
DE has inherent characteristics to explore the search space in the beginning of the search, and exploit the search space towards the end of the search. For SOO, it has four main steps: initialization, mutation,
Differential Evolution in Chemical Engineering Downloaded from www.worldscientific.com by NANYANG TECHNOLOGICAL UNIVERSITY on 06/03/17. For personal use only.
132 S. Sharma, G.P. Rangaiah and F. Maréchal
Differential Evolution in Chemical Engineering 9in x 6in b2817-ch05
crossover and selection (Price et al., 2005). These four steps are briefly described in this section considering the following SOO problem:
Minimize f(x) (5.1a)
Subject to xL ≤ x ≤ xU (5.1b)
g(x) ≤ 0 (5.1c)
Here, x is the vector of ND decision variables, and each of them has lower and upper bounds. g is the set of inequality constraints, and they can be handled by penalty function or feasibility approach (Deb, 2001).
If the optimization problem has equality constraints, they can be converted into inequality constraints, using suitable tolerance (Sharma and Rangaiah, 2013c).
In DE, a population of NP individuals is randomly initialized inside the bounds on decision variables.
xi,j = xjL + rand(0,1) ( xjU – xjL) j = 1, 2, …, ND
& i = 1, 2, …, NP (5.2) Here, rand (0, 1) is a random number from uniform distribution between 0 and 1, and xjL and xjU are the lower and upper bounds on jth decision variable. Each individual in the initial population is selected as the target individual, and mutation operation is performed using one of available mutation strategies (Price et al., 2005). In IMODE program, DE/rand/1 (i.e., using random perturbation vector and one difference vector) mutation strategy is employed to generate the mutant individual (vi) for the ith target individual (Fig. 5.1a).
DE/rand/1 vi = xr0 + F(xr1 –xr2) (5.3) Here, xr0, xr1 and xr2 are randomly selected individuals from the initial/parent population; they should be distinct and also different from xi. In the above equation, F is the mutation factor between 0 and 2.
In the binomial crossover, corresponding elements of mutant (vi) and target (xi) individuals compete with each other, with a crossover probability (Cr) to generate the ith trial individual (ui).
u, = x, if rand 0,1) ≤ Cr or j = j
v, otherwise (5.4) Here, jrand is a random integer in the range 1 to ND; it is included to ensure that xi and ui are different in at least one element.
After crossover, the trial individual goes through a check on decision variable bounds. If the trial individual is above the upper or below the
Differential Evolution in Chemical Engineering Downloaded from www.worldscientific.com by NANYANG TECHNOLOGICAL UNIVERSITY on 06/03/17. For personal use only.
lower bound for any decision variable, that particular decision variable is randomly re-initialized within its bounds. DE performs selection between the trial and target individuals based on the objective function value. In case of minimization objective, selection is performed as follows:
= if f ≤ f
otherwise (5.5) Here, xiG+1 is the selected individual for the next generation, and superscript G is the generation number. Mutation, crossover and selection operations are performed for each individual in the population.
This completes one generation (or iteration) of the classic DE algorithm for SOO. MNG is the commonly used termination criterion.
For application problems, evaluation of objective function is the most computationally expensive step. Hence, Srinivas and Rangaiah (2007) used tabu check to avoid the revisit of search space. Use of tabu check with DE has proven to be highly reliable and efficient. Here, TL keeps a record of recently visited points in the solution space. When a new trial individual is generated, its closeness to each and every individual (or point) in the TL is checked. If it is close to any individual in the TL, then the new trial individual is rejected without evaluating its objective function and constraints (Fig. 5.1b). Tabu check is performed in the normalized decision variable space, which means that all decision variables are normalized between 0 and 1, using their respective lower and upper bounds.
Tabu check is integrated in DE as follows. For the initial population, values of objectives and constraints are calculated for each individual, and the TL is randomly filled using the initial population. In each generation, a trial individual for each target individual in the parent population is generated by mutation and crossover operations. Then, it is checked for violation of bounds on decision variables, and is modified if there is any violation. If the newly generated trial individual is near to any individual in the TL within a specified distance (tabu radius), then it is rejected without calculating values of objective and constraints. This is the implementation of TL and tabu check in the function evaluation step, which is better than the alternative of implementing TL and tabu check in the individual generation step (Srinivas and Rangaiah, 2010). Finally, selection is performed between target and trial individuals, based on Equation 5.5.
Differential Evolution in Chemical Engineering Downloaded from www.worldscientific.com by NANYANG TECHNOLOGICAL UNIVERSITY on 06/03/17. For personal use only.
134 S. Sharma, G.P. Rangaiah and F. Maréchal
Differential Evolution in Chemical Engineering 9in x 6in b2817-ch05
Sharma and Rangaiah (2013a) adapted DE with TL for MOO, and referred it as MODETL. Later, Sharma and Rangaiah (2013b) included self-adaptation of algorithm parameters and CSTC in MODETL, and referred it as IMODE. The IMODE program presented in this chapter also includes SSDTC termination criterion developed by Wong et al.
(2016). The self-adaptation of algorithm parameters is described below.
Performance metrics and termination criteria are detailed in Section 5.2.3. After that, IMODE algorithm with a flowchart is described in Section 5.2.4.
Fig. 5.1 (a) Generation of a mutant individual based on DE/rand/1 strategy for two decision variables with F < 1 (left plot); and (b) Illustration of use of TL (right plot): a trial individual, near to any individual in the TL within a specified distance (i.e., tabu radius shown by dashed circle), is rejected without evaluating its objectives and constraints