Skip to content

snl-dakota/dakota

Repository files navigation

------------------------------------------------------------------------------

Dakota:
A Multilevel Parallel Object-Oriented Framework for Design Optimization,
Parameter Estimation, Uncertainty Quantification, and Sensitivity Analysis 

------------------------------------------------------------------------------

            _/_/_/   
             _/_/    
        _/_/_/_/_/_/ 
       _/  _/_/  _/  
      _/  _/_/  _/  
        _/_/_/       
   
Sandia National Laboratories
      Albuquerque, NM
       Livermore, CA

Brian M. Adams
William J. Bohnhoff
Robert A. Canfield
Wesley P. Coomber
Keith R. Dalbey
Mohamed S. Ebeida
John P. Eddy
Michael S. Eldred
Gianluca Geraci
Alex A. Gorodetsky
Russell W. Hooper
Patricia D. Hough
Kenneth T. Hu
John D. Jakeman
Carson Kent
Mohammad Khalil
Kathryn A. Maupin
Jason A. Monschke
Teresa Portone
Ernesto E. Prudencio
Elliott M. Ridgway
Pieterjan Robbe
Ahmad A. Rushdi
D. Thomas Seidl
J. Adam Stephens
Laura P. Swiler
Anh Tran
Dena M. Vigil
Gregory J. von Winckel
Timothy M. Wildey
Justin G. Winokur

Friedrich Menhorn, Technical University of Munich
Xiaoshu Zeng, University of Southern California


------------------------------------------------------------------------------
License

Dakota is distributed under the GNU Lesser General Public License.  It
is free software; you can redistribute it and/or modify it under the
terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2.1 of the License, or (at
your option) any later version.  A copy of this license is included in
the LICENSE file, and is also available online from
http://www.gnu.org/licenses/lgpl.html.  Also refer to the COPYRIGHT
file for important U.S. Government legal notices.

Dakota source and binary distributions include external libraries
which have compatible licensing terms.  In particular, those in the
packages/ directory are available separately under the following
licenses.  These packages may in turn include packages under other
licenses; see their contents for the most up to date details.  Here
[SNL] denotes software originating at Sandia National Laboratories.

dakota	      	    GNU Lesser General Public License (LGPL) [SNL]
		    (including any source, test, unit_test, example,
		     script, build system, or other files not
		     specifically marked)
  acro              Revised BSD License [SNL]
    (including colin, dummy, interfaces, pebbl, scolib, utilib)
    tpl
      ampl          MIT License (old style with disclaimer)
      3po/cobyla    MIT License (modern style with sublicense)
      3po/hooke	    MIT License (variant)
      cxxtest	    GNU Lesser General Public License (LGPL)
      momhlib	    GNU Lesser General Public License (LGPL)
      tinyxml	    ZLib license
      vpykit/pyutilib.virtualenv  BSD License  
  ampl		    MIT License (old style with disclaimer)
  approxnn          GNU Lesser General Public License(LGPL)
  C3                BSD 3-clause
  CONMIN	    Public Domain
  DDACE		    GNU Lesser General Public License (LGPL) [SNL]
  demo_tpl	    Dakota's LGPL
  dfftpack	    Public Domain
  DOT		    Commercial license (optional add-on)
  dream		    GNU Lesser General Public License (LGPL)
  eigen3            MPL2 (cf http://www.mozilla.org/MPL/2.0)
                    *** Dakota enables the -DEIGEN_MPL2_ONLY compiler flag to
                        avoid bringing in additional eigen TPLs having potentially 
                        different license restrictions.
  fftw	    	    GNU General Public License (GPL; disabled by default)
  FSUDace	    GNU Lesser General Public License (LGPL)
  hopspack	    GNU Lesser General Public License (LGPL) [SNL]
    CDDLIB	    GNU General Public License (GPL; disabled by default)
  JEGA		    GNU Lesser General Public License (LGPL) [SNL]
  LHS		    GNU Lesser General Public License (LGPL) [SNL]
  MUQ2              BSD 3-clause
  NCSUOpt	    MIT License
  nidr		    BSD License [SNL]
  NL2SOL	    Publicly Available
  NLPQL		    Commercial license (optional add-on)
  NOMAD		    GNU Lesser General Public License (LGPL)
  (S)NOWPAC	    MIT License
  NPSOL		    Commercial license (optional add-on)
  OPTPP		    GNU Lesser General Public License (LGPL) [SNL]
  pecos		    GNU Lesser General Public License (LGPL) [SNL]
  PSUADE	    GNU Lesser General Public License (LGPL)
  pybind11	    BSD 3-clause
  pyprepro          MIT License [SNL]
    bottlepy/bottle MIT License (modern style with sublicense)
    pypi/six        MIT License (modern style with sublicense)
  queso		    GNU Lesser General Public License (LGPL)
  sciplot	    GNU Library General Public License (old LGPL)
  surfpack	    GNU Lesser General Public License (LGPL) [SNL]
  trilinos	    (rol, teuchos) BSD License [SNL]
  VPISparseGrid     GNU Lesser General Public License (LGPL)

The commerically licensed packages are not distributed with public
versions of Dakota.  To use one of them with Dakota, obtain the source
code under an appropriate license and include it under the appropriate
packages directory when compiling Dakota.

Third-party system libraries: In addition to standard compiler and
system runtime libraries, Dakota uses the following external
third-party libraries for compilation and operation. These are
included in Dakota binary distributions (though not in source
distributions):

  BLAS/LAPACK	    BSD License, or that of compiler or system-provided libs
  Boost		    Boost Software License
  HDF5 (optional)   BSD-style Open Source License (variant)
    zlib            ZLib License

GPL/Other: Dakota may optionally depend on GNU GPL-licensed components, 
which are disabled by default, resulting in an LGPL-compatible Dakota.
Optional GPL capabilities include:

 * packages/external/hopspack/src/src-citizens/citizen-gss/cddlib/:
   enable with CMake setting HAVE_CDDLIB.

 * packages/external/fftw: optionally included with Dakota; enable 
   with CMake setting HAVE_FFTW

 * GNU Scientific Library: external third-party library; enable with
   CMake setting DAKOTA_HAVE_GSL and pointer to gsl-config

 * cURL/libcurl: external third-party library, MIT/modified-BSD
   license, but its dependencies have numerous licenses that make it
   challenging to redistribute.  Redistributed Dakota binaries never
   include libcurl.

Utilities required to compile and deploy Dakota and its documentation
are not included here.  These may include compilers, MPI, system
runtimes, Doxygen, LaTeX, Sphinx, CMake, etc.

------------------------------------------------------------------------------
Overview

The Dakota toolkit provides a flexible, extensible interface between analysis 
codes and iteration methods. Dakota contains algorithms for optimization with 
gradient and nongradient-based methods; uncertainty quantification with 
sampling, reliability, stochastic expansion, and epistemic methods; parameter 
estimation with nonlinear least squares methods; and sensitivity/variance 
analysis with design of experiments and parameter study capabilities.  These 
capabilities may be used on their own or as components within advanced 
strategies such as surrogate-based optimization, mixed integer nonlinear 
programming, or optimization under uncertainty.

Refer to http://dakota.sandia.gov/ for additional information,
including support contacts.

------------------------------------------------------------------------------
Distributions

Dakota is distributed in binary (executable/library) and source code
formats.  Recommendations for getting started with either format can
be found in INSTALL included with the distribution, but the most up to
date guidance can be found alongside downloads on the Dakota website.

------------------------------------------------------------------------------
Platforms

Dakota operates on most systems running Unix or Linux operating
systems as well as on Windows (with or without the help of a Cygwin
emulation layer).  Dakota is developed and most extensively tested on
Redhat Enterprise Linux with GNU compilers, but additional operating
systems / compiler combinations are regularly tested as well.  See the
Dakota website for more information on supported platforms for
particular Dakota versions.

------------------------------------------------------------------------------
Versions

Versions of the Dakota software have been tagged as follows:

6.20               05/15/24 (refer to git submodules for TPL SHA1s)
6.19               11/15/23 (refer to git submodules for TPL SHA1s)
6.18               05/15/23 (refer to git submodules for TPL SHA1s)
6.17               11/15/22 (refer to git submodules for TPL SHA1s)
6.16               05/16/22 (refer to git submodules for TPL SHA1s)
6.15               11/15/21 (refer to git submodules for TPL SHA1s)
6.14               05/17/21 (refer to git submodules for TPL SHA1s)
6.13	    	   11/16/20 (refer to git submodules for TPL SHA1s)
6.12               05/15/20 (refer to git submodules for TPL SHA1s)
6.11               11/15/19 (refer to git submodules for TPL SHA1s)
6.10               05/15/19 (refer to git submodules for TPL SHA1s)
6.9                11/15/18 (refer to git submodules for TPL SHA1s)
6.8		   05/15/18 (refer to git submodules for TPL SHA1s)
6.7		   11/15/17 (refer to git submodules for TPL SHA1s)
6.6		   05/15/17 (refer to git submodules for TPL SHA1s)
6.5		   11/16/16 (refer to git submodules for TPL SHA1s)
6.4		   05/16/16 (refer to svn externals for TPL tags)
6.3		   11/16/15 (refer to svn externals for TPL tags)
6.2		   05/15/15 (refer to svn externals for TPL tags)
6.1		   11/15/14 (refer to svn externals for TPL tags)
6.0		   05/15/14 (refer to svn externals for TPL tags)
5.4                11/15/13 (refer to svn externals for TPL tags)
5.3.1              05/15/13 (refer to svn externals for TPL tags)
5.3                01/31/13 (refer to svn externals for TPL tags)
5.2                11/30/11 (refer to svn externals for TPL tags)
5.1                12/21/10 (refer to svn externals for TPL tags)
Version_5_0        12/21/09 (refer to svn externals for TPL tags)
Version_4_2        11/05/08 (refer to svn externals for TPL tags)
Version_4_1         9/21/07 (refer to svn externals for TPL tags)
Version_4_0         5/12/06 (acro-coliny, opt++, DDace, and Surfpack tagged
                             Dakota_Version_4_0 4/28/06)
Version-3-3        12/23/04 (acro-pub-coliny tagged Dakota_Version_3_3 12/23/04)
Version-3-2         7/21/04 (acro-pub-coliny tagged Dakota_Version_3_2  7/21/04)
Version-3-1-2       7/09/03 (uses Dakota_Version_3_1 of sgopt/pico/utilib)
Version-3-1-1       5/21/03 (uses Dakota_Version_3_1 of sgopt/pico/utilib)
Version-3-1         4/04/03 (sgopt/pico/utilib tagged Dakota_Version_3_1
                             4/04/03)
Version-3-0         3/30/02 (sgopt/pico/utilib tagged Dakota_Version_3_0
                             3/30/02)
Version-3-0-beta   11/30/01 (sgopt/utilib tagged Dakota_Version_3_0_beta
                             11/30/01; pico: use cvs-p co -r osi -D 11/30/01)
Version-2-1-preansi 9/17/01 (last non-ANSI; same sgopt/utilib/pico as below)
Version-2-1         7/09/01 (sgopt/utilib/pico tagged Dakota_Version_2_1
                             6/22/01)
Version-2-0         3/14/00 (sgopt/utilib/pico tagged Dakota_Version_2_0 3/7/00)
Version-1-1         4/15/99
Version-1-0         2/18/99

------------------------------------------------------------------------------
Contributing enhancements.

Dakota is both a research and a production code and is under active
development.  Bug reports, suggestions for improvement, and changes to
support other platforms/compilers are welcome.  See the Dakota
website at https://dakota.sandia.gov/ for more information.

------------------------------------------------------------------------------