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 m1 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 m1 m1 m1 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