Skip to content

Latest commit

 

History

History

optimization

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

Optimization-by-BAS

Introduction

  • Using Beetle Antennae Search algorithm (BAS) to solve the unknow parameter problem from groundwater simulation (Reduce simulation error).

  • Tools

    • Numerical groundwater simulation tool : FEFLOW7.3

    • Script : Python 3.8.6

  • Function and Purpose

    • Establishing a groundwater flow model requires fitting simulated values to observed values, which may be difficult due to lack of data.
    • Optimization algorithms can automatically adjust parameters to achieve the fitting goal.
    • This function can use optimization algorithms to find missing data parameters and fit simulated values to observed values.
  • Optimization algorithms vs. FePEST calibration:

    • Optimization algorithms can customize the objective function, making it faster and easier to fit the simulation results.
    • Optimization algorithms are not limited to specific parameters and can be applied to any unknown parameter optimization (e.g. FePEST can only calibrate element properties and cannot calibrate pumping well parameters).
  • BAS is a type of optimization algorithm developed by Jiang and Li in 2017. The algorithm is as follows:

  • Context In our research area, there are many private wells for which we cannot obtain detailed information (such as well location and pumping rates). Therefore, we uniformly set up some virtual wells in the study area, and all pumping rates are system parameters. These system parameters will be adjusted through BAS to match the simulated and observed values. (Note: unknown parameters can be considered hydraulic conductivity, porosity, saturation, etc.)

  • ⚠️ Important Note: This application scenario is referenced from the paper - Numerical simulation of groundwater development and evaluation - A case study of Kaoping River


Algorithm Flow

  • Define the following:

    • Unknown parameters (parameters to be optimized): pumping rates of each well
    • Objective function: Root Mean Square Error (RMSE) between simulated hydraulic head and observed water level
    • Beetle step length
    • Spacing between whiskers
  • Algorithm:

    1. Randomly initialize unknown parameters (pumping rates)
    2. Perform simulation
    3. Calculate the objective function using simulated hydraulic head and observed water level (the goal is to minimize the objective function, i.e., minimize the error)
    4. Adjust parameters using BAS, iterate repeatedly until the objective function is less than the threshold


Part1 - Study area

Roughly explain:

  1. The study area is Pingtung in Taiwan.
  2. The following image is the groundwater table of observation.


Part2 - Groundwater Simulation

Roughly explain:

  1. We use the FEFLOW7.3 to build our flow model.
  2. Setting the boundary condition. (ex: Dirichlet, Neumann...)
  3. Setting the hydraulic conductivity and inflow of study area.

Part3 - Before Optimization

As we can see, the result is not good without well setting. (gray line : observation ; color line : simulation result)

And compare to the observation data, the

absolute error: 6.87

root mean square: 7.83

standard deviation: 8


Part4 - After Optimization

We set well in the study area uniformly, and then use BAS.

absolute error : 0.988

root mean square: 1.3

standard deviation: 1.3


Part5 - Results

Back to top