Bayesian Information Gap Decision Theory
Author madsjulia
16 Stars
Updated Last
1 Year Ago
Started In
January 2016


BIGUQ pefroms Bayesian Information Gap Decision Theory (BIG-DT) analysis for Uncertainty Quantification, Experimental Design and Decision Analysis. BIGUQ is a module of MADS.


import Mads

problemdir = Mads.getmadsdir()
md = Mads.loadmadsfile(joinpath(problemdir, "source_termination.mads"))
nsample = 1000
bigdtresults = Mads.dobigdt(md, nsample; maxHorizon=0.8, numlikelihoods=5)
Mads.plotrobustnesscurves(md, bigdtresults; filename=joinpath(problemdir, "source_termination-robustness-$nsample"))
Mads.plotrobustnesscurves(md, bigdtresults; filename=joinpath(problemdir, "source_termination-robustness-zoom-$nsample"), maxhoriz=0.4, maxprob=0.1)


MADS (Model Analysis & Decision Support) is an integrated open-source high-performance computational (HPC) framework in Julia. MADS can execute a wide range of data- and model-based analyses:

  • Sensitivity Analysis
  • Parameter Estimation
  • Model Inversion and Calibration
  • Uncertainty Quantification
  • Model Selection and Model Averaging
  • Model Reduction and Surrogate Modeling
  • Machine Learning and Blind Source Separation
  • Decision Analysis and Support

MADS has been tested to perform HPC simulations on a wide-range multi-processor clusters and parallel environments (Moab, Slurm, etc.). MADS utilizes adaptive rules and techniques which allows the analyses to be performed with a minimum user input. The code provides a series of alternative algorithms to execute each type of data- and model-based analyses.


All the available MADS modules and functions are described at



Installation behind a firewall

Julia uses git for the package management. To install Julia packages behind a firewall, add the following lines in the .gitconfig file in your home directory:

[url "https://"]
        insteadOf = git://

or execute:

git config --global url."https://".insteadOf git://

Set proxies:

export ftp_proxy=http://proxyout.<your_site>:8080
export rsync_proxy=http://proxyout.<your_site>:8080
export http_proxy=http://proxyout.<your_site>:8080
export https_proxy=http://proxyout.<your_site>:8080
export no_proxy=.<your_site>

For example, if you are doing this at LANL, you will need to execute the following lines in your bash command-line environment:

export ftp_proxy=
export rsync_proxy=
export http_proxy=
export https_proxy=

MADS examples

In Julia REPL, do the following commands:

import Mads

To explore getting-started instructions, execute:

There are various examples located in the examples directory of the Mads repository.

For example, execute

include(Mads.madsdir * "/../examples/contamination/contamination.jl")

to perform various example analyses related to groundwater contaminant transport, or execute

include(Mads.madsdir * "/../examples/bigdt/bigdt.jl")

to perform Bayesian Information Gap Decision Theory (BIG-DT) analysis.



Publications, Presentations