Version 5.0 (2009/12/21)
Highlights
- DAKOTA changes license to the GNU Lesser General Public License to enable library mode users, incorporating license changes for several TPLs 
- All new JAGUAR 2.0 graphical user interface for creating, editing, and running DAKOTA input files (BSD-like license) 
- Additional discrete range and discrete set types within design, uncertain, and state variables. New types supported by parameter studies, nondeterministic sampling, JEGA, and COLINY. 
- Anisotropic sparse grids, numerically-generated orthogonal polynomials, and improved expansion tailoring for stochastic expansion UQ methods 
- New methods for epistemic and mixed aleatory-epistemic uncertainty quantification: local/global interval estimation and local/global evidence. 
- Creation and management of evaluation working directories 
- SNL: DAKOTA modules on compute clusters (module avail dakota) 
Usability/Core Execution
- JAGUAR 2.0 graphical user interface, based on Eclipse Workbench, with text- and graphical-based editing, templates, sensitivity analysis wizard, and error checking. Available via separate download after registering for DAKOTA download. 
- Capability to specify working directories, template directories, and lightweight linking for system and fork interfaces. 
- DAKOTA input files can use Matlab-style sequence notation (L:S:U and beyond) to specify variable ranges; improved tolerance for whitespace in input files 
- Improved DAKOTA + application parallelism examples; new asynchronous local evaluation static scheduling for improved parallel tiling on clusters. 
- Pre-run (with optional variables output) and post-run (with variables/responses input) modes supported by sampling, paramter study, and DACE methods 
- Examples of Matlab and Python interfaces 
- Automated cleanup of DAKOTA temporary files on unexpected exit 
Variables
- Refactor of Variables and Constraints hierarchies to manage continuous, discrete integer, and discrete real domains among design, aleatory uncertain, epistemic uncertain, and state types. - Additional discrete design variable types: discrete design integer range, discrete design integer set, discrete design real set 
- New discrete uncertain distibutions: poisson, binomial, negative binomial, geometric, hypergeometric 
- Additional discrete state variable types: discrete state integer range, discrete state integer set, discrete state real set 
 
- Updates to specification of continuous and discrete histograms 
- Alternate specification for lognormal using lambdas and zetas 
Methods (general)
- New capability to perform parameter studies and sampling over discrete variables. New discrete variable types also supported in JEGA and COLINY. 
- DACE and parameter study classes (DDACE, FSUDACE, and multi-dimensional parameter study) can have correlations calculated and printed in addition to sampling methods 
- Improved accuracy and robustness in correlation computations 
- PSUADE: use updated (Campolongo 2007) sample generation scheme to improve space-filling properties 
- Improved EGO convergence controls (based on nearest neighbor) 
- Beta capabilities: - wrapper class for LANL’s GPMSA code (Bayesian calibration) 
- importance sampling capability 
- nonlinear conjugate gradient optimization solver using Trilinos vector-matrix utilities 
 
- Bug fixes: - hang in DDACE orthogonal array LHS 
- OPT++ NIP methods not respecting bound constraints 
 
- New example problems for multifidelity OUU (MVFOSM as low fidelity UQ and stochastic expansion as high fidelity UQ), epistemic UQ, mixed aleatory-epistemic UQ, discrete sampling and parameter studies, etc. 
Uncertainty Quantification (UQ) Capabilities:
- Stochastic expansions (polynomial chaos expansion (PCE) and stochastic collocation (SC)): - Simplified controls for PCE: expansion formulation now inferred or estimated from quadrature_order or sparse_grid_level specifications. Automatic expansion tailoring minimizes performance loss due to poor expansion/integration synchronization. 
- Addition of numerically-generated orthogonal polynomials for generating optimal basis for non-Askey distribution types (uses Gauss-Wigert or discretized Stieltjes procedures for polynomial recursion coefficients in combination with Golub-Welsch for Gauss point/weight computation) 
- Addition of analytic variance-based decomposition for global sensitivity analysis using method of Sobol indices 
- Addition of analytic covariance among multiple response functions. 
- Addition of anisotropic Smolyak sparse grids, with user-supplied dimension preference. 
- Revision of Gaussian quadrature rules within sparse grids to use linear growth, providing finer grain control and more uniform integrand coverage. 
- PCE customizations for sparse grids: exclusive usage of linear growth rules (no Clenshaw-Curtis or Gauss-Patterson), total-order expansions for isotropic, custom expansion for anisotropic. 
- Addition of Askey and Wiener basis polynomial over-rides. 
- Modified variable correlation logic to revert to Wiener expansions for de-correlation as needed on a per-variable basis. 
- all_variables mode now includes epistemic uncertain variables (previously design and state only) using a Legendre basis. 
 
- Epistemic UQ methods: - Refactor of NonDInterval hierarchy to generalize and incorporate new methods. - Evidence: new global (LHS or EGO) and local (SQP or NIP) methods to calculate belief and plausibility in evidence theory calculations. Removed dependence on legacy Fortran package. 
- Interval estimation: new global (LHS or EGO) and local (SQP or NIP) methods to calculate response output intervals. 
 
- Extension of active Variables/Constraints views to support aleatory, epistemic, or aggregated aleatory-epistemic uncertain views. 
 
- Mixed aleatory-epistemic UQ methods: - New nested approaches (e.g. second-order probability, mixed evidence) where the outer loop (e.g. interval estimation or evidence) can leverage analytic moments and their sensitivities with respect to epistemic parameters. 
 
Framework Enhancements:
- Eliminated dependence on GSL in favor of Boost (to eliminate GNU GPL dependency) 
- Fully deployed Teuchos for all numerical data types. Boost and STL are used for all bookkeeping types. 
- Better out-of-source (VPATH) builds and documentation, including management of Boost and Teuchos 
- Switched from RNUM2 to Boost MT19937 random number generator for longer period, with run-time selection option 
- Deployed Boost multi-index containers to evaluation queue management, supporting multiple indexing options for optimized lookups. 
- Lightweight active/inactive data views implemented with Teuchos and Boost multi-array to eliminate deep data copies. 
- Updates to third-party libraries: JEGA, PSUADE, AMPL, Boost, Pecos, Teuchos 
- Minimal data mode for variables and responses omits labels, types, ids in some contexts for better scalability 
- Unified bounds checking for debugging and reduced overhead in optimized builds 
Miscellaneous:
- Binary distributions for Mac OS X and Cygwin, including library dependencies 
- Better detection of MPICH2 and shmem communicators 
- Automatic syncronization of DAKOTA input specification help docs to JAGUAR 
- Surfpack: improved random seed management for repeatability. 
- Better handling of numerical comparisons on 32-bit 
- Finite differencing honors variable bounds; more efficient finite difference Hessians 
- PSUADE generally available under LGPL 
- Surfpack and LHS relicensed under LGPL 
- DLL API improvements for re-entry, error handling, get/set options 
- ModelCenter, MATLAB, and Python interface updates to latest API 
- Updates to Matlab memory management 
- HTTP-based usage tracking (disabled by default; currently used Sandia internally only) 
- Windows: use spawn as alternative to fork 

