gwat12077-sup-0001-AppendixS1

advertisement
SUPPORTING INFORMATION FOR “GROUNDWATER RECHARGE RATE AND
ZONE STRUCTURE ESTIMATION USING PSOLVER ALGORITHM”
MATHEMATICAL DESCRIPTION OF THE VORONOI TESSALATION (VT)
METHOD
The mathematical statement of VT for the groundwater recharge zone structure estimation
problem can be given as follows: Let nx and n y be the number of grid cells of the
MODFLOW model in x and y directions, respectively, x   xi  n 1 and y   y j n 1 be the
x
y
vectors that contain all the cell locations of the finite difference grid structure in x and y
directions, respectively, and nz be the number of zones in which recharge rates are assumed
to be uniform, xˆ   xˆk n 1 and yˆ   yˆ k n 1 be the vectors which include the locations of basis
z
z
points for each Voronoi zones in x and y directions, respectively. Note that components of the
x̂ and ŷ vectors are eventually determined by the optimization procedure. Using the
determined x̂ and ŷ , partitioning the groundwater recharge field into nz Voronoi zones is
performed based on the ED matrix δ   ijk n n n such that:
x
 x , y   A  xˆ , yˆ 
i
 ijk 
j
k

k
z
if  ijk   ijl k  l
 xi  xˆk    y j  yˆ k 
2
y

2 12
(1)
(1a)
where A  xˆk , yˆk  is the area of a Voronoi zone which is created around the point  xˆk , yˆk  . Eq.
(1) states that a Voronoi zone A  xˆk , yˆk  includes a MODFLOW cell at  xi , y j  if the
condition of  ijk   ijl is satisfied  k  l  .
1
PARTICLE SWARM OPTIMIZATION ALGORITHM (PSO)
PSO, first proposed by Kennedy and Eberhart (1995), is a widely used heuristic optimization
algorithm which originally simulates the social behavior of animals, such as bird flocking or
fish schooling. Like other heuristic optimization algorithms, PSO solves optimization
problems by evaluating a population of candidate solutions which are called the ‘swarm’.
Each individual term within the swarm is referred to as the ‘particle’ and the main objective is
to move these particles through the search space to find an optimum solution. The movements
of each particle are guided based on the velocities and best positions in the search space
which are updated as better positions are found by the particles. In order to solve an
optimization problem through PSO, first, all the positions and velocities of the swarms must
be randomly generated from the search space. Then, the velocity of each particle is updated
based on their individual experiences and experiences of the other particles. Finally, the
positions of the particles are updated using their new velocities and this process is repeated
until the pre-defined termination criterion is satisfied (Kayhan et al., 2010). This solution
sequence makes exploring the entire search space possible based on the individual
experiences (local search) and the experiences of the group (global search). Mathematical
expressions of the PSO algorithm are given as follows:
Let np be the number of particles in the swarm, m be the number of decision variables of the
problem, v   vij 
n p m
and d   dij 
n p m
be the matrices which contain the current velocities
and positions of the particles for each decision variable, respectively, p   pij 
n p m
be a matrix
which contains the current best positions of the particles for each decision variable, and
g  gj 
m1
be a vector which contains the overall best positions of the particles for each
decision variable. The velocities of each particle are updated using:
2
vijl 1  0  vijl  1  r (0,1)  ( pij  dijl )  2  r (0,1)  ( g j  dijl ) ( i  1, 2, , n p ; j  1, 2, , m )
(2)
where l is the iteration index, 0 is the inertial constant, 1 and 2 are the acceleration
coefficients, and r (0,1) is a uniform random number in the range of (0,1). The values of 0 ,
1 , and 2 control the impact of previous historical values of particle velocities on their
current ones (Kayhan et al., 2010). Hu and Eberhart (2001) suggested to use
0  0.5  r (0,1) / 2.0 and 1  2  2 for solving most optimization problems. Furthermore,

velocities of each particle are bounded with a maximum velocity vector vmax  vmax
j

that v max   (dmax  d min ) where  is a fraction (0    1) , dmax  d max
j
dmin   d min
j 
m1

m1

m1
such
and
are the vectors containing the upper and lower bounds of the decision
variables (Shi and Eberhart, 1998). After updating the velocities based on the sequence given
above, the new positions of each particle are calculated using:
dijl 1  dijl  vijl 1 ( i  1, 2, , n ; j  1, 2, , m )
(3)
After determining the new positions, the objective function values are calculated for each
swarm and the values of p and g are updated. These solution steps are repeated until the predefined termination criterion is satisfied and thereby the optimization problem is solved by the
PSO algorithm.
HYBRID PSOLVER OPTIMIZATION ALGORITHM
Although PSO is an efficient global search method and has many applications in many areas,
it could require high computation times to precisely find a global optimum since it is also an
evolutionary search method. In this case, hybridizing the PSO with local search methods is
preferred. There are many studies that integrate the PSO with local search methods to solve
the optimization problems. Although these PSO-based hybrid algorithms were applied
3
successfully to solve many optimization problems, programming these algorithms can be
difficult since most of local search methods require additional programming efforts in order to
take partial derivatives, generate Hessian matrices or determine step sizes, etc. Therefore,
hybridizing the PSO with a local search method without requiring these types of programming
efforts becomes a challenging task.
Recently, Kayhan et al. (2010) developed the hybrid PSOLVER algorithm in which the PSO
is used as a global optimizer and a spreadsheet ‘Solver’ (Frontline Systems, 2012) was used
as the local optimizer. Solver is a gradient-based nonlinear optimization add-in and most of
the commercially available spreadsheet packages contain it. It solves the linear and nonlinear
optimization problems based on the GRG algorithm (Lasdon et al., 1978) in which the quasiNewton or conjugate gradient methods are used to determine the search direction. The hybrid
PSOLVER algorithm involves the mutual operation of PSO and Solver. Kayhan et al. (2010)
performed a comparative study to show the effectiveness of the PSOLVER over the standard
PSO algorithm. Then, they solved six constrained optimization and three engineering design
problems. Their results indicated that PSOLVER algorithm requires less iterations and gives
better results than the suite of heuristic, non-heuristic and other hybrid optimization
algorithms.
It should be noted that solution of an optimization problem through the PSOLVER algorithm
requires programming the problem as a Visual Basic for Applications (VBA) code on the
background of a spreadsheet. In this study, Microsoft Excel is used as the spreadsheet
package. For this purpose, three separate running VBA codes are developed; the first dealt
with the PSO algorithm which is used as a global optimizer. The second is developed for
calling the Solver add-in and developed by recording a VBA macro (a series of commands
4
grouped together as a single command to accomplish a task automatically) instead of
manually calling the Solver add-in from the related menus (Kayhan et al., 2010). The last
code operates the simulation part which determines the aquifer’s response for any given
output of the PSOLVER. As mentioned earlier, the aquifer’s response is determined by using
the previously developed MODFLOW-2000 based groundwater flow model. Thus, the last
VBA code gets the PSOLVER output and builds the recharge zone structure using VT,
generates the related MODFLOW-2000 data files, and runs the model. All three VBA codes
are integrated with each other on a VBA platform to perform hybrid optimization.
The PSOLVER has two options for integrating the global and local search processes. In the
first option, PSO explores the entire search space and determines a final solution space where
a global optimum exists. Then, Solver performs a fine search to improve the final objective
function value by adjusting the decision variables, which are the output of PSO. In the second
option, both PSO and Solver work simultaneously such that all the outputs of PSO are
subjected to a local search with a probability of Pc . Although the second option is more
efficient to solve optimization problems, the computational burden of this option is usually
higher (Fesanghary et al. 2008; Kayhan et al., 2010). Therefore, in this study, use of the first
option is considered since the problem to be solved is based on the numerical solution of a
groundwater flow model for a fairly large area.
REFERENCES
Fesanghary, M., Mahdavi, M., Minary-Jolandan, M., Alizadeh, Y., 2008. Hybridizing
harmony search algorithm with sequential quadratic programming for engineering
optimization problems. Computer Methods in Applied Mechanics and Engineering 197,
3080-3091.
5
Frontline Systems, 2012. Frontline Systems’s web site. http://www.solver.com (accessed 7
Sep 2012).
Hu, X., Eberhart, R.C., 2001. Tracking dynamic systems with PSO: Where’s the cheese? In
Proceedings of the workshop on particle swarm optimization, Purdue School of
Engineering and Technology, Indianapolis, IN, USA.
Kayhan, A.H., Ceylan, H., Ayvaz, M.T., Gurarslan, G., 2010. PSOLVER: A new hybrid
particle swarm optimization algorithm for solving continuous optimization problems.
Expert Systems with Applications 37(10), 6798-6808.
Kennedy, J., Eberhart, R., 1995. Particle swarm optimization. In Proceedings of the IEEE
International Conference on Neural Networks, Piscataway, NJ.
Lasdon, L.S., Waren, A.D., Jain, A., Ratner, M., 1978. Design and testing of a generalized
reduced gradient code for nonlinear programming. ACM Transactions on Mathematical
Software 4(1), 34–49.
Shi, Y., Eberhart, Y.C., 1998. A modified particle swarm optimizer. In Proceedings of the
International Congress on Evolutionary Computation (ICEC98), IEEE Service Center,
Piscataway, NJ, USA.
6
Download