Project Description
This topic involves the use of an approach, named Monte Carlo simulation, to estimate the magnitude of flood levels in a given urban catchment. A Genetic Algorithm (GA) will be used to increase the efficiency of the Monte Carlo simulation and narrow down the search results to acceptable or reasonable flood level values. GAs have proven to be an effective computing tool in many other fields outside of the scope of this project and it is interesting to see its effectiveness in predicting flood. Before going into specifics, one must understand what a Monte Carlo simulation is.
A simulation is an abstract, usually mathematical, representation of a real-world system (Sawilowsky 2003). A very simple example of a simulation is predicting which side a coin would fall when flipped by assigning 50-50 probability values to each side. A more complicated simulation would involve more variables that can intersect with each other. It is useful in predicting what happens in the real-world before it happens, and what could happen if certain initial conditions were to be changed.
A Monte Carlo method involves the repetition of random (or stochastic) trials, samples, or experiments in order to find the best—or at least acceptable—results in a model system. It is using random techniques to solve a deterministic problem (Sawilowsky 2003). In some sense, it is similar to an estimation technique like Newton’s method, except that it does not rely on conditionals to improve the estimate, but on many random tries. Given enough time, the many random events will converge into one or a few viable results. It is especially helpful in models with complex combinations of simple cause and effect events.
Therefore, a Monte Carlo simulation can thus be summarised as an abstract representation of a real-world system that relies on generating many random experiments in order to converge into a realistic result. The random, exploratory aspect of this technique, coupled with the speed and power of computing, can lead to potentially novel combinations. However, it can be terribly inefficient—or even inaccurate—as the technique is intrinsically random, with no conditional aspects to steer the result to a better one. Therefore, a real-value coding Genetic Algorithm (GA) will be used to improve the result.
GA was inspired by the principles of natural evolution in how it decides to select and change results towards stronger ones. It is divided into stages of Initialisation, Selection, Crossover, and Mutation. This approach generates control parameter values ("chromosomes") for the catchment, runs simulations, ranks the best control parameter value combinations in comparison to real-world data, randomly modifies ("mutation"), and crosses-over the best combinations ("crossbreeding") to create a new generation of control parameter values. The process iterates and each generation gets more accurate (due to "stronger genes"). This technique has been shown to identify promising ranges for spatially variable control parameters.
Fang & Ball (2007) applied this technique to evaluate spatially variable control parameters in a complex catchment model, and found that a real-value coding GA using multiple storms calibration could identify the most promising range of values. These range of values could be obtained with a uniform crossover operation, with the crossover and mutation probabilities set at 0.75–0.90 and 0.01–0.1 respectively, with a population size of 1000.
This project aims to test the feasibility of this approach for modelling a flood for flood estimation, using the efficient GA operators as determined by Fang & Ball (2007). The project's contribution to the engineering community is in seeking to validate a potential approach in flood estimation of high-dimensional, complex catchments.
Technical Details
In this section, the procedure of the technique will be explained. This is an outline of the GA sequence of events:
- Generate large initial population of chromosomes
- Run the model with population
- Rank chromosomes based on multiple storms calibration
- Select parent chromosomes through binary tournament selection
- Run uniform crossover operations with probability set between 0.75–0.90
- Run mutation operations with probability set between 0.01–0.1
- Determine next population size and introduce new chromosomes into the population
- Repeat back to step 2 until the sufficient number of generations have been met
The most important aspects of GAs are the crossover and mutation operations:
- Crossover is an operation that combines the traits of two parameters and mixes them, similar to how, in evolutionary theory, two parent genes mix via crossbreeding to form children.
- Mutation is an operation that adjusts parameter values at random, similar to evolutionary mutation where genes may change over generations.
This GA is a real-value coded GA, meaning it performs crossover and mutation on actual parameter numbers instead of the numbers in their binary form.
The crossover operation has various approaches to slice and mix parameters. The uniform crossover operation is used because it works better with real-value coding GAs as compared to binary or grey coding GAs (Spears & De Jong 1991). A uniform crossover operation is one in which the parent parameters/"chromosomes", are randomly spliced and pieced together to form child pairs (Marek Obitko 1998).