Daily river flood modeling using genetic programming and artificial neural network (Case study: Amameh representative watershed)

Document Type : Full length article


1 Professor of Learning, Programming and Environment Management, Faculty of Environment, University of Tehran, Karaj, Iran

2 Ph.D. Candidate in Watershed Management and Engineering, Department of Watershed Management, Agriculture and Natural Resources Faculty, University of Hormozgan, Bandar Abbas, Iran

3 Associate Professor, Faculty of Natural Resources, University of Tehran, Karaj, Iran


Rainfall-runoff relationship is one the most complicated issues in hydrological cycle and its accurate estimation is one the most important concerns in water resources engineering and management. In addition, Rainfall-runoff modeling process is complex and non-linear due to the large uncertainties in the field of water resources. None of the statistical and conceptual methods are able to provide a better and capable model for that. But today using nonlinear networks as intelligent system for forecasting such complicated events can be efficient and effective in many problems of ecology.
Materials and Methods
Gene expression programming, a branch of evolutionary algorithms, is able to optimize the model structure and its components. Therefore, for modeling river flow we also used artificial neural network and as well as Genetic programming as an explicit method of evolutionary algorithms in Amame watershed in the Northern Slope of the Alborz Range in Mazandaran province, Iran. This is for a period of fifty five years from 1970-1971 to 2011-2012 periods (42 years). For this purpose, the meteorological and hydrometric data were used in the form of 62 proposed models. Every ANN is interconnected network of many processing units called neuron. Neurons are the smallest unit in artificial neural network. These neurons are very similar to biological neuron and the cell of human brain. Whereas the speed of these neurons is more than biological neurons, their ability and capacity are less than them. Neuron in every layer is connected through weights to next layer of neurons. The associated parameters with each of these connections are called weights. These weights represent the information being used by the net to solve a problem. During the training network, these weights, constant amount of that assemble with them, and biases are changed consecutively until the target function reached the favorite amount. We used activation functions (sometimes called a transfer function or threshold function) for transfer of output from every layer to next layer. These activation functions may be logistic sigmoid, linear, threshold, Gaussian or hyperbolic tangent functions, depending on the type of network and employed training algorithm. On the other hand, the method which used for achieving weights and biases are learning rule for favorite and terminal amount. In fact, this rule is a complex mathematical algorithm. Every network needs two groups of data for creation: training series and testing series. About 80 percent out of the data is belonging to training and the rest is used for testing. Duration of learning time, learning of network is evaluated continually by target function. In all cases, a multi-layer perceptron (MLP) ANN was employed for rainfall–runoff modeling, with the weights determined by error back-propagation. Sigmoid activation functions were used at all nodes in the hidden and output layers. For ANN method, we used Muti Layer Perceptron with Back Propagation algorithm and from one to three hidden layers and from one to thirty neurons. In spite of statistical methods such as ANN, decision tree etc., GP is self-parameterizing that build models without any user tuning. A GP method is a member of the Evolutionary Algorithm family, which are based upon concept of natural section and genetic. In fact, the basic search strategy behind GP is a genetic algorithm (GA) that was created by Holland (1975), although GP was developed and introduced much later by Koza (1992). This method has many similarities with genetic algorithm such as GP works with a number of solution sets as a population rather than a single solution at any time. Therefore, the possibility of getting trapped in a local optimum is avoided. As you know it is one the most important problems in ANN. But GP is different from traditional genetic algorithm in that it typically operates on parse tree instead of bit string. A parse tree is built up from a terminal set (the input variables in the problem and randomly generated constants, i.e. empirical model coefficients) and a function set, basic operators used to form the GP model.
Results and Discussion
The results showed that a MLP method with two hidden layer has the best function. Furthermore, increase in the number of neurons in the hidden layer can somewhat reduce errors, but then increase in the number of neurons not only increases efficiency but also cause increased errors in the models. The results indicated Amameh is used as hidden layer neurons between 1 and 16, while the hidden layer neurons are used between 1 and 12. In addition, out of many models, genetic programming has fewer errors and when mathematical function and power used it has also less errors.
Given the evaluation criteria used in this study including MSE, RMSE and MAE, the proposed structure of input (model number 54) meteorological variables such as temperature, rain and rain delays up to two days, relative humidity and evapotranspiration and delays during the two days was obtained as the best the model. Therefore, the errors of this model for MSE, RMSE and MSE were 0.001, 0.031 0.009 and 0.001, 0.032, 0.009 in modeling and testing phase, respectively.


Main Subjects

سلطانی، ع.؛ قربانی، م.ع.؛ فاخریفرد، ا.؛ دربندی، ص. و فرسادی‏زاده، د. (1389). برنامه‏ریزی ژنتیک و کاربرد آن در مدل‏سازی فرایند بارش- رواناب،  دانشآبوخاک، 1(4): 61 ـ 71.
شریفی، ع.ر.؛ دینپژوه، ی.؛ فاخریفرد، ا. و مقدمنیا، ع.ر. (1392). ترکیب بهینة متغیرها برای شبیه‏سازی رواناب در حوضة آبخیز امامه با استفاده از آزمون گاما، دانشآبوخاک، 23(4): 59 ـ 72.
فربودنام، ن.؛ قربانی، م.ع. و اعلمی، م.ت. (1388). پیش‏بینی جریان رودخانه با استفاده از برنامه‏ریزی ژنتیک (مطالعة موردی حوضة آبخیز لیقوان)، دانشآبوخاک، 19(1): 107 ـ 122.
مسعودی، ا.؛ پارسامهر، پ.؛ سلماسی، ف. و پوراسکندر، س. (1391). تخمین ضریب دبی در سرریزهای لبة پهن مرکب با استفاده از رگرسیون، برنامه‏ریزی ژنتیک، و شبکة عصبی،  آبوخاک، 26(4): 933 ـ 942.
Aytek, A.; Asce, M. and Alp, M. (2008). An Application of Artificial Intelligence for Rainfall-Runoff Modeling, Hydrology Earth System science, 117(2): 145-155.
Chiang, J.L. and Yeh, C.H. (2010). Suspended Sediment Forecasting in Gao-Pen River using Artificial Neural Network, Vol. 12, EGU2010-7549.
Dai, X.; Huo, Z. and Wang, H. (2011). Simulation for Response of Crop Yield to SoilMoisture and Salinity with Artificial Neural Network, Field crops research, 121: 441-449.
DanandehMehr, A.; Kahya, E. and Olyaie, E. (2013). Streamflow Prediction using Linear Genetic Programming in Comparisonwith a Neuro-Wavelet Technique, Journal of Hydrology, 505: 240-249.
DanandehMehr, A.; Kahya, E. and Yerdelen, C. (2014). Linear Genetic Programming Application for Successive-Station Monthly Stream Flow Prediction, Journal of Computers and Geosciences, 70: 63-72.
Dawson, C.W and Wilby, R.L. (2001). Hydrological modeling using artificial neural network, Progress in Physical Geography, 25(1): 80-108.
Dorado, J.; Rabunal, J.R.; Pazos, A.; Rivero, D.; Santos, A. and Puertas, J. (2003). Prediction and Modeling of the Rainfall-Runoff Transformation of a Typical Urban Basin using ANN and GP, Applied Artificial Intelligence, 17: 329-343.
Farboudfam, N.; Ghorbani, M.A. and Alami, M.T. (2009). River Flow Prediction Using Genetic Programming (Case Study: Lighvan River Watershed), Journal of Soil and Water Science, 19(1): 107-122 (In Persion).
Gharaei-Manesh, S.; Fathzadeh, A. and Taghizadeh-Mehrjardi, R. (2016). Comparison of Artificial Neural Network and Decision Tree Models in Estimating Spatial Distribution of Snow Depth in a Semi-Arid Region of Iran, Cold Regions Science and Technology,122: 26-35.
Ghorbani, M.A.; Khatibi, R.; Aytek, A.; Makarynskyy, O. and Shiri, J.) 2010). Sea water Level Forecasting using Genetic Programming and Artificial Neural Networks, Computers and Geoscience, 36(5): 620-627.
Guven, A. (2009). Linear Genetic Programming for Time-Series Modeling of Daily Flow Rate, Journal of Earth System Science, 118(2): 157-173.
Harun, S.; Ahmat Nor, N.I. and Kassim, A.H.M. (2002). Artificial Neural Network Model for Rainfall-Runoff Relationship, Journal Technology, Vol. 37, (B) Dis. 2002: 1–12© University Technology Malaysia.
Hosseini, S.M. and Mahjouri, N. (2016). Integrating Support Vector Regression and a Geomorphologic ArtificialNeural Network for Daily Rainfall-Runoff Modeling, Applied Soft Computing, 38: 329-345.
Huo, Z.; Feng, S.; Kang, S.; Huang, G.; Wang, F. and Guo, P. (2012). Integrated Neural Networks for Monthly River Flow Estimation in Arid Inland Basin of Northwest China, Journal of Hydrology, 420-421: 159-170.
Jayawardena, AW; Muttil, N. and Fernando, T. (2005). Rainfall-Runoff Modelling using GeneticProgramming, International Congress on Modelling and Simulation Society ofAustralia and New Zealand, December 2005, New Zealand, PP. 1841-1847.
Koza, J.R. (1992). Genetic Programming: On the Programming of Computers by Natural Selection, A Brafdford book Cambridge, MIT Press.
Masoodi, A.; Parsamehr, P.; Salmasi, F. and Pureskandar, S. (2012). Regression Analysis, Genetic Programming and ANN to Predict Discharge Coefficient of Compound Broad Crested Weir, Journal of Water and Soil, 26(4): 933-942 (In Persion).
Pramanik, N. and Panda, R.K. (2009). Application of Neural Network and Adaptive Neurofuzzy Inference Systems for River Flow Prediction, Journal of Hydrology, 54(2): 247-260.
Sarangi, A. and Bhattacharya, A.K. (2005). Comparison of Artificial Neural Network and Regression Models for Sediment Loss Prediction from Banha Watershed in India, Agricultural water management, 28(4): 373-385.
Sharifi, A.R.; Dinpashoh, Y.; Fakheri-Fard, A. and Moghaddamnia, A.R. (2013). Optimal combination of Variables for Runoff Simulation in the Amameh Wtershed using Gamma test, Water and Soil Science, 23(4): 59-72 (In Persion).
Sinivasulu, S. and Jain, A. (2006). A comparative analysis of training methods for artificial neural network rainfall-runoff models, Applied Soft Computing, 6: 295-306.
Solaimani, K. (2009). Rainfall-Runoff Prediction Based on Artificial Neural Network (A Case Study: Jarahi Watershed), American-Eurasian Journal of Agriculture and Environment, Science, 5(6): 856-865.
Soltani, A.; Ghorbani, M.A.; Fakherifard, A.; Darbandi, S. and Farsadizadeh, D. (2010): Genetic programming and its application in modeling the rainfall-runoff process, Journal of Soil and Water, 1(4): 61-71 (In Persion).
Sudheer, P.K.; Gosain, A.K. and Ramasastri, K.S. (2002). A Data Driven Algorithm for Constructing Artificial Neural Network Rainfall- Runoff Models, Journal of Hydrology, 16(6): 1325-1330.
Tao, W.; Kailin, Y. and Yongxin, G. (2008). Application of Artificial Neural Networks to Forecasting Ice Conditions of the Yellow River in the Inner Mongolia Reach, Journal of Hydrology, 13(9): 811-816.
Wang, W.C.; Chau, K.W.; Cheng, Ch.T. and Qiu, L. (2009). A Comparison of Performance of Several Artificial Intelligence Methods for Forecasting Monthly Discharge Time Series, Journal of Hydrology, 374(3-4): 294-306.
Wu, C.L.; Chau, K.W. and Li, Y.S. (2009). Methods to Improve Neural Network Performance in Daily Flows Prediction, Journal of Hydrology, 372(1-4): 80-93.
Volume 48, Issue 3
October 2016
Pages 367-383
  • Receive Date: 07 April 2016
  • Revise Date: 06 June 2016
  • Accept Date: 28 June 2016
  • First Publish Date: 22 September 2016