Giter Site home page Giter Site logo

st4ck3 / robust-gauss-newton-algorithm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eachonly/robust-gauss-newton-algorithm

0.0 0.0 0.0 171 KB

A Robust Gauss-Newton algorithm (RGN) by Youwei Qin, Dmitri Kavetski, and George Kuczera

License: MIT License

Batchfile 5.45% Shell 2.80% Fortran 91.75%

robust-gauss-newton-algorithm's Introduction

Robust Gauss-Newton Algorithm

This repository contains the Robust Gauss-Newton (RGN) algorithm developed by Youwei Qin, Dmitri Kavetski and George Kuczera.

When using RGN please cite the following articles:

Qin Y, Kavetski D, Kuczera G (2018) A robust Gauss-Newton algorithm for the optimization of hydrological models: From standard Gauss-Newton to robust Gauss-Newton. Water Resources Research, 54. https://doi.org/10.1029/2017WR022488

Qin Y, Kavetski D, Kuczera G (2018) A robust Gauss-Newton algorithm for the optimization of hydrological models: Benchmarking against industry-standard algorithms. Water Resources Research, 54. https://doi.org/10.1029/2017WR022489

Robust Gauss-Newton Algorithm Description

The Robust Gauss-Newton (RGN) algorithm is designed for solving optimization problems with a sum of least squares objective function. The RGN algorithm introduces three heuristics to enhance its performance: (i) the large sampling scale scheme to capture large-scale features of the objective function, (ii) the best-sampling point scheme to take advantage of free information, and (iii) the null-space jump scheme to escape near-flat regions.

This repository includes two examples to illustrate the application of the RGN algorithm: optimisation of a 2D Rosenbrock function and calibration of the 5 parameter hydrological model HYMOD. The following folders are included:

  • SCR_RGN: the RGN algorithm (rgn.f90) and an auxiliary module (constantsMod.f90)
  • SCR_DEMO\rosenbrock: driver code (rgnMain_Rosenbrock.f90)
  • PROJ\rosenbrock:vfproj files, batches files, makefiles, input/output files for rosenbrock example
  • SCR_DEMO\hymod: driver code (rgnMain_Hymod.f90) and HYMOD model code
  • PROJ\hymod:vfproj files, batches files, makefiles, input/output files for hymod example
  • SLN: the sln files from Visual Studio

This repository contains the RGN algorithm implementation in Fortran-95, which has been tested using the GNU gfortran and Intel Fortran compilers, on Windows and Linux.

robust-gauss-newton-algorithm's People

Contributors

eachonly avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.