Version of the Day
Version 4.2(11/5/08)
Version 4.1(9/21/07)
Version 4.0(5/12/06)
Version 3.3(12/23/04)
Version 3.2(7/21/04)
Version 3.1.2(7/09/03)
Version 3.1.1(5/21/03)
Version 3.1(4/04/03)
Version 3.0(3/30/02)
Version 3.0 beta(11/29/01)

Version of the Day

Since the last major release (v4.2 on 11/5/08), the following enhancements are available in the "version of the day" (VOTD) releases. Stable release capabilities will typically lag VOTD capabilities based on nightly testing results.

  • None at this time.

Version 4.2 (11/5/08)

Uncertainty Quantification (UQ) Capabilities:

  • Stochastic collocation using Lagrange interpolation polynomials is now supported for uncertainty quantification. See Stochastic collocation method and Section 6.4 of the v4.2 Users Manual for additional information.
  • Stochastic collocation (SC) and polynomial chaos expansions (PCE) now support Smolyak sparse grids with mixed integration rules for more effective scaling on problems with larger numbers of random variables.
  • PCE/SC capability to numerically generate quadrature points/weights in order to extend numerical integration capabilities beyond order 10 for Hermite, Legendre, and Laguerre and beyond order 2 for generalized Laguerre and Jacobi.
  • Addition of PCE features supporting incremental studies and simplified specification: (1) the point collocation option may now be specified using an oversampling ratio, which eliminates the need for the user to calculate the number of expansion terms each time, and (2) the point collocation and expansion samples options may now reuse previous samples in the surrogate construction.
  • LHS now supports Gumbel and Frechet extreme value distributions.
  • Random variable transformations (and associated Jacobians/Hessians of these transformations) now support transformations from bounded normal and bounded lognormal to standard normal and from triangular and loguniform to uniform.
  • Generalization of incremental random sampling in the Monte Carlo case to allow for increments which are not factors of 2: increments of just one or a few samples are now supported.
  • Increased precision in output of response moments to enable convergence plotting.

Optimization and Model Calibration Capabilities:

  • Polynomial chaos-based design optimization now supports design sensitivities of moments using either combined variable expansions of response values ("all_variables" mode) or random variable expansions of response derivatives (standard mode). In addition, support for variable insertion (design variables which define distribution parameters of random variables) and mixed design variable insertion/augmentation has been added for both standard and all_variables modes. See Section 11.6.2 of the v4.2 Users Manual for additional information.
  • Stochastic collocation-based design optimization has been added and supports standard or all_variables expansion modes and inserted, augmented, or mixed design variables.
  • The surrogate_based_opt and surrogate_update strategies are now the surrogate_based_local and surrogate_based_global methods in order to consolidate code with the efficient_global method and to allow componentization of this code for usage elsewhere. As described in Surrogate-Based Methods, all three methods (SBL, SBG, and EG) have been generalized beyond surrogate-based optimization to additionally support surrogate-based multiobjective optimization (MOO) and surrogate-based nonlinear least squares (NLS), with options for the following approximate sub-problem formulations: (1) "original_primary" poses the sub-problem using multiple surrogate objectives or surrogate least squares terms for solution by a MOO or NLS method, and (2) "single_objective" recasts the sub-problem to use a single objective for solution by a standard single-objective optimizer (allowing, e.g., the use of global optimizers for surrogate-based MOO/NLS). The sub-problem minimizer may now be specified by specification pointer (long form) or by name (short form).
  • The surrogate-based global method now supports replacement or appending of points in the surrogate construction iterations. A goodness-of-fit test (currently the R-squared diagnostic) is also used as a new termination control for the method.
  • The hybrid optimization strategy has been refactored into a new hierarchy supporting the existing sequential hybrid as well as planned new capabilities for embedded and collaborative hybrids. As part of this development, the concurrent iterator parallelism level has been generalized and is now supported for all strategies that contain iterator concurrency.
  • Generalized the Pareto set strategy to include both multiobjective optimization and weighted nonlinear least squares. Also enabled weighted least squares and updating handling of primary response function weights (least squares and multiobjective) throughout the Iterator hierarchy.
  • NCSU Direct now supports batch evaluations, enabling parallel executions. For coliny_direct, updated the default box division behavior to better synchronize with parallel configuration.
  • Direct interface to APPSPACK (independent of COLINY) allowing linear constraint support and improved nonlinear constraint support.
  • Addition of the capability to generate confidence intervals on parameters estimated by the nonlinear least squares optimizers.
  • Activated model calibration under uncertainty (MCUU) capabilities based on sampling, reliability, and stochastic expansion approaches to UQ. Added support for analytic sensitivities of response mean for MCUU using the Mean Value reliability method to calibrate mean response values.

Framework Enhancements:

  • "New IDR" (Dakota/packages/nidr) is now the sole input parser. "Old IDR" had been deprecated but was supported in developmental releases for an amount of time before being removed for the v4.2 DAKOTA release. The new parser provides better error checking, lower software maintenance requirements, and better scoping (so that artificial keyword uniqueness requirements like the prepending of variable type identifiers can be eliminated, and redundant keyword specifications can be grouped). Backwards compatibility in input files has been preserved through a new keyword aliasing capability.
  • Boost multi-index containers are now used for evaluation cache lookups. Hash function lookups are much faster than the previous capability (largely eliminating the need to "deactivate evaluation_cache" for problems with high function evaluation counts). To restore the previous list-based approach, configure the source distribution "--without-boost".
  • Surrogates: addition of moving least squares and radial basis function surrogate models to the Surfpack library. The Gaussian process approximation now supports calculation of analytic derivatives of the response surface with respect to the input variables (mean trend only) for use by gradient-based iterative methods. Implemented use of minimum vs. recommended samples across the hierarchy, where the former is used for bounding and the latter is used for default values (previously the minimum was the default). Addition of a flexible mechanism for computing a variety of surrogate diagnostics (see Global approximations). Refinement of sample reuse facilities: samples_file specification (imported once at startup) is now handled separately from reuse_samples (which may be applied on each approximate subproblem cycle).
  • More complex analysis_driver syntax is now supported directly without need to resort to analysis_usage (now removed). Verbatim command lines (without parameters and results file name augmentation) are also now optionally supported. Refer to Simulation interfaces and Section 13.3.4 in the v4.2 Users Manual for additional information.
  • Additional verbosity is available in NestedModel executions, for variables/response scaling transformations, and for multipoint data return from Optimizers.
  • Encapsulation of nonlinear uncertain variable transformations and interface to LHS within the new PECOS library.
  • Migration from Epetra to Teuchos for serial dense vector/matrix utilities and convenient C++ access to BLAS/LAPACK. UQ methods and Gaussian process surrogates now employ Teuchos.
  • Ability to use external GSL and/or Teuchos, from source or installed. Also, use one copy of each throughout the DAKOTA build tree, including sub-packages.
  • Direct inclusion of AMPL in Dakota/packages instead of through Acro.
  • All parser Data* objects upgraded to referenced-counted idioms instead of copies to improve efficiency for large-scale problems.
  • Major rework of variable mappings in NestedModels to support additional mappings. Specified mappings are now performed using an "All" view for the sub-model variables, allowing access to any of the inner variables (including state). See Nested Model Controls for additional information.
  • Updates to the scaling/weighting machinery: corrected response derivative scaling when variable scaling enabled.

Interfaces:

  • MATLAB: improved documentation, support for newer 7.3/R2006b as well as legacy MATLAB versions, configuration for Mac and Cygwin. Improved handling of Matlab engine command (via environment variable DAKOTA_MATLAB_ENGINE_CMD), Matlab structure persistence, and memory management of Matlab fields. With thanks to Lee Peterson (CU Boulder).
  • Library mode: support for use of DAKOTA as a service within another application has expanded significantly. Three modes are now supported for data input to DAKOTA as documented here, allowing for more flexible specification of potentially large data sets. To enable these three modes, input checking and default vector generation routines have been extracted and generalized. The dakota_library_mode executable has been added as a test capability for serial and parallel plug-in interfaces (including support for passed-in MPI communicators) and these three data input modes.

Miscellaneous:

  • Generalization of distribution mechanisms to include internal-full, internal-supervised, internal-web, and external distributions to allow full nightly feature testing while supporting multiple third party library constraints within developmental release distributions.
  • Extensive rework of tutorial examples to assimilate templates for input specification, simulation interfacing, and parallel computing from a variety of sources (see Dakota/examples).
  • Portability: Improved support for Darwin PPC, Cygwin, Intel and PGI compilers. Updated installation guidance for Cygwin and Mac OS X. Support of newer MPI distributions, including OpenMPI.
  • Bug fixes: 66 Bugzilla ids (restricted access) have been closed as part of the v4.2 development cycle.

Version 4.1 (9/21/07)

Uncertainty Quantification (UQ) Capabilities:

  • New method: Wiener-Askey generalized polynomial chaos expansions approximate the functional relationship between response metrics and their underlying random variables. Orthogonal polynomial bases include Hermite, Legendre, Laguerre, Jacobi, and generalized Laguerre. Expansion coefficients are estimated by sampling, tensor-product quadrature, sparse grid cubature (using Clenshaw-Curtis), or linear regression. Additional features include analytic response moments, analytic random variable sensitivities, and analytic design variable sensitivities. Refer to Section 6.4 of the Users Manual for additional information.
  • New method: Efficient Global Reliability Analysis (EGRA) employs mean and variance estimates from Gaussian Process (GP) models to form an expected feasibility function (EFF), which is then maximized using a global optimizer to select points for GP refinement. This process accurately estimates response function contours, for which probabilities are then computed using multimodal adaptive importance sampling. Refer to Section 6.3.3 of the Users Manual for additional information.
  • New method: incremental Latin Hypercube and Monte Carlo sampling. In the incremental mode, one augments an initial LHS/MC sample set of size N with a second sample set of size N. Both samples together (of size 2N) will preserve the stratification and correlation structure of the original sample.
  • New method: importance sampling (standard, adaptive, and multimodal adaptive) added for local and global reliability methods.
  • Second-order integrations corrected (negative reliability indices and Epetra symmetric matrix products) for use within local reliability methods.
  • All UQ methods extended to support generalized reliability indices.
  • Epistemic methods now support final statistics results for use in optimization under uncertainty (OUU). Refer to the Models chapter in the Reference Manual for additional information on epistemic interval results accessible within OUU and to Section 10.6.2 of the Users Manual for initial guidance on formulating epistemic OUU studies.
  • Added compile time switches for Tausworthe and Mersenne twister random number generators for use with LHS/MC. These are not yet the default, as performance testing is ongoing.
  • Variance-based decomposition and Dempster-Shafer theory of evidence now support multiple response functions.

Optimization Capabilities:

  • The multilevel hybrid optimization strategy now supports flow of multiple solutions between iterators. Iterators may now accept one or multiple starting point and may output one or multiple final results. The strategy logic maintains a consistent data flow and supports concurrency in multiple iterator instances as required (i.e., multiple data points require multiple instances of an iterator that accepts only a single input).
  • the surrogate-based optimization (sbo) strategy now supports multipoint approximations (i.e., tana-3), approximate subproblem reformulations for nonlinearly-constrained problems (subproblem objective may be the original surrogate objective, a surrogate lagrangian, or a surrogate augmented lagrangian; subproblem constraints may be the original surrogate constraints, linearized surrogate constraints, or no constraints), and constraint relaxation using a heuristic homotopy approach. in addition, previous augmented lagrangian updating approaches have been replaced with the provably-convergent approach of conn, gould, and toint. see section 9.6 of the users manual for formulations and aiaa mao conference paper for computational results.
  • new strategy: a global surrogate-based optimization strategy has been added. rather than being localized using trust-regions, each approximate optimization cycle identifies points for continuing updates to a single global surrogate model. this is most appropriate for use with interpolatory surrogates, such as kriging/gaussian process models.
  • new ouu approach: polynomial chaos-based design optimization (pc-bdo) is now supported in a bi-level formulation employing one of three different design sensitivity approaches: analytic design gradients based on a pce formed over all variables, numerical design gradients based on a pce formed only over the random variables, and numerical design gradients based on a pce formed over all variables. in the cases where the expansion is formed over all variables, only a single pce construction is required for the complete pc-bdo process, whereas the expansions only over the random variables must be recomputed for each change in design variables. refer to section 10.6.2 of the users manual for additional information on design sensitivity analysis formulations.
  • New method: the NCSU implementation of DIRECT by Joerg Gablonsky has been added as a global optimizer, augmenting the existing COLINY implementation of DIRECT. Additional NCSU optimizers, especially implicit filtering, will be added in time.
  • New method: closely related to the new EGRA uncertainty quantification method described above, the Efficient Global Optimization (EGO) method has been added. It employs mean and variance estimates from Gaussian Process (GP) models to form an expected improvement function (EIF), which is then maximized using a global optimizer to select points for GP refinement. This process balances the desires to exploit areas with good solutions and explore areas with limited data, resulting in excellent global search characteristics. This method supports nonlinear constraints through an augmented Lagrangian merit function formulation.
  • New method plug-ins: Support for dynamic optimizer plug-ins has been added. This initially targets SNOPT and NPSOL as shared object libraries, but will in time allow more flexible binding to commercial solvers at run time (currently managed at configure/make time).
  • OPT++ now supports an internal mode override, allowing more effective combination of optimizer evaluation requests, as well as iteration reset functionality, allowing an instance to be instantiated once and reused multiple times.
  • Update to the DAKOTA/AMPL interface to handle algebraic nonlinear constraints using the AMPL specification. This update allows the use of standard AMPL model files without modification of the constraint specification.

Nonlinear Least Squares Capabilities:

  • Calculation of residuals can now be simplified through user specification of a least squares data file, which provides the set of data to which a computational model will be calibrated.

DACE Capabilities:

  • Initial interface to PSUADE from LLNL, providing access to the Morris One-At-a-Time (MOAT) method.

Framework Enhancements:

  • DAKOTA input files no longer require the use of "\" for line continuations. All examples have been updated to omit the backslash.
  • Gaussian process surrogate models now support variance estimators for use in expected improvement/expected feasibility functions; constant, linear, or quadratic trend functions; global optimization methods for maximum likelihood estimation; and point filtering.
  • New derived Model class: RecastModel. This is a thin wrapper around a sub-model allowing for linear and nonlinear recasting of its variables and responses. Used by variable and response scaling, random variable transformations, multiobjective optimization, merit functions (see SBO discussion above), and expected improvement/feasibility, as described in Section 10.3 of the Users Manual.
  • Extensions to variables views in surrogate model construction. Global surrogate classes previously assumed a hardwired "All" view (due to the use of this view by DACE methods) and local/multipoint/hierarchical surrogates previously assumed a hardwired "Distinct" view. Now general view support is available in all surrogate types, which allows much broader surrogate deployment than was previously possible. As part of this extension, sampling methods now support additional sampling modes (ACTIVE, ACTIVE_UNIFORM, ALL, ALL_UNIFORM, UNCERTAIN and UNCERTAIN_UNIFORM) and many classes have been extended to support data translations among differing variables set views.
  • Methods may now utilize mixed surrogate/truth models, as identified by a surrogate identifier list. The initial use case is sequential RBDO.
  • More flexible interface to input/output scaling and added support for logarithmic scaling. In addition, numerical derivative estimation is now performed within the scaled space to avoid step size thresholds.
  • Extended instantiate "on-the-fly" support for Iterators, Models, Interfaces, Approximations, and Constraints in to support advanced model recursions in local/global reliability and PCE methods.
  • Support for "NaN" and +/-"Inf" added to the input parser (for use in failure recovery values) and the response file reader. For both cases, mitigation approaches are iterator-specific. Currently, sampling methods will omit samples that are not finite from their summary statistics. See Section 20.4 of the Users Manual for additional information.
  • New interfaces: a new direct interface to Python has been developed and the existing direct interface to Matlab has been refined.
  • Extended surrogate build/update/append functionality within Models, Interfaces, and Approximations.
  • Added representation access function for letter/envelope idiom to reduce proliferation of virtual functions at envelope base classes.

Miscellaneous:

  • DAKOTA now supports parallel make for concurrent compilation.
  • Ports to MINGW for Windows are now supported by the autotools harness.
  • Revision control for DAKOTA is now managed by subversion, allowing directory reorganization/renaming, upgrade of our release processes to employ release branches, and upgrade of our TPL processes to employ svn externals.
  • Stable releases have been added as new developmental releases (supplements existing VOTD release mechanisms), and revision numbers are now embedded within all developmental releases for traceability.
  • The nightly test harness now includes coverage of restart capabilities, as required for incremental sampling methods.
  • Bug fixes (Bugzilla record id): reliability methods (#1327, #2799), SBO (#2124, #2829, #2836), RBDO (#2828, #2832), PLplot window advance (#2180), sampling bounds (#2824), COLINY interface (#2250, #2434), JEGA parallelism (#1264), parallel usage of plug-in interfaces (#2826, #2827), parallel usage of instantiate on-the-fly Models (#2834), label propagation through Model recursions (#2831), IEEE special values in iostreams (#2855), derivative estimation in recast models (#2835), library build dependencies (#2158, #2822, #2843), and VOTD distribution process (#2841).

Version 4.0 (5/12/06)

Autotools

  • Upgrade from Cygnus configure to the latest GNU autotools (e.g., autoconf, automake). This renders the configure/make system much more scalable to emerging platform build targets. It moves from a host/target-based approach to a feature-based approach, where configure probes are used to detect available compiler features. The 4.0 release supports our primary platform targets (Red Hat, Solaris, AIX, IRIX, and OSF). Continuing refinements to the new configuration system are planned, and future VOTD and interim releases will support Mac OSX, Cygwin, and mingw, among others.

JAGUAR and AMPL

  • A JAVA front end for DAKOTA (JAGUAR) is now available. At the time of DAKOTA v4.0 release, JAGUAR is in 1.0 beta, but the basics of defining a DAKOTA input file are available. Future enhancements for graphical simulation interfacing and visualization of results are planned.
  • As part of supporting the JAGUAR equation editor capability, DAKOTA now supports an interface to the AMPL solver library. This allows for the use of algebraic problem definitions to define any subset of an Interface's mapping of Variables to Responses. The algebraic_mappings keyword specifies file names that define AMPL expression graphs, and the AMPL solver library processes the files to perform the algebraic mappings as well as evaluate any derivatives.

Framework enhancements:

  • Addition of "model" as a sixth keyword specification block. This increases flexibility in model recursion for local and hierarchical surrogates (the previous approach of embedding the model recursion controls within the method specification was too restricting since no method is used in the construction of these surrogates). This specifically targets multifidelity and local Taylor-series based surrogate-based optimization where the surrogate models involve additional recursions (e.g., additional data fits or uncertainty analyses). This change is backwards compatible for simple (i.e., single method) input files, but is incompatible for more advanced multi-method input files such as SBO, OUU, RBDO, etc.
  • Migration of the previous approximation interface specification into the new surrogate model specification. This allows for the consolidation of previous layered model/approximation interface specification pairs (present in many SBO input files) into new surrogate model specifications. As there is no longer an application/approximation selection in the interface keyword, the application keyword has also been removed.
  • Active set generalization: application interfaces are now passed an additional derivative values vector (DVV) to specify the required derivative components. This is important for analytic gradients in optimization under uncertainty (see RBDO item below), but unfortunately, also defines a change in parameters file format which is not backwards compatible.
  • Addition of analysis_components to system and fork application interfaces. Again, this required extension of the parameters file format. Also consolidated the previous modelcenter_file specification within this new specification.
  • Revised dependency management to allow broader usage of global utilities. This particularly improves error handling in templated data types.
  • Introduced the use of std::set<> and std::map<>. With the removal of support for some old C++ compilers, these STL constructs have replaced many previous uses of std::list<> for evaluation bookkeeping.
  • Modified the creation mechanisms for Iterator/Model/Variables/Interface/Responses objects to cache new object creations and reuse them where appropriate. This reduces memory consumption in multi-Iterator/multi-Model strategies, and also supports evaluation counter persistence in reused Models and Interfaces. It does, however, require more sophisticated management of parallel configurations within the Model classes (since a single model may now be used in multiple parallel contexts). Iterators and Strategies now manage evaluation counters with explicit control over absolute or relative counts.
  • Expanded the problem description database class into a class hierarchy, with separation of generic parser operations and IDR-specific parser operations. An XML database (using Xerces plus the JAGUAR XML Schema) is envisioned for eventual addition to the hierarchy.
  • Added support for a much finer grain of evaluation reporting. This is needed for algorithmic performance analysis and is activated only for output = verbose or debug. Value/gradient/Hessian evaluation counters are used for each response function. This supplements the previous counters which only track total/new calls to Interface::map() and do not track the particular data requests for each call.
  • Library mode extensions: addition of new model/interface access functions, repair of model recursion access functions for altering envelope data, repair of parallel configuration initialization for interface plug-ins, addition of parallel configuration option for splitting intra-communicators down to a single processor (COMM_SPLIT_TO_SINGLE), and development of a sample interface plug-in class.

Iterative methods

  • Update to JEGA v2.0, which adds convergence and niche pressure operators for MOGA, improved and configurable user output, improvements to core data structures, and numerous bug fixes.
  • Update to the latest version of OPT++, which adds namespace support and upgrades to NEWMAT11.
  • Update to the latest version of DDACE, which adds support for oa_lhs and one-way analysis of variance (ANOVA).
  • SGOPT methods have been deprecated and replaced with new COLINY methods. Most COLINY methods support general nonlinear constraints, and the COLINY GA supports mixed integer design variables.
  • Consolidation of specification (where possible) between JEGA and COLINY genetic algorithms.
  • All optimizers and least squares methods now support scaling in variables, linear constraints, and nonlinear constraints. Scaling may be user-specified characteristic value, by 2-sided bounds, or by 1-sided bounds.
  • Second-order integrations, second-order limit state approximations, two-point adaptive nonlinear limit state approximations (TANA-3), and second-order mean estimations are now supported for both RIA and PMA reliability methods. Second-order PMA uses a backtracking Newton solve to update the PMA reliability target given a second-order probability target. Hessians may be analytic, numerical, or based on quasi-Newton updates.
  • The uncertain variable specification has been extended to include new triangular, beta, gamma, Gumbel, Frechet, and interval distributions. The reliability methods have been extended to support gamma, Gumbel, Frechet, Weibull, uncorrelated loguniform, uncorrelated triangular, and uncorrelated beta distributions, and the nondeterministic sampling methods have been extended to include beta, gamma, and triangular distributions.
  • An initial sampling-based implementation of Dempster-Shafer theory of evidence is now available.
  • An interface to NLPQLP has been added. Thanks to Bengt Abel at BMW for providing the initial version.
  • Granularity has been added to the virtual Iterator functions to support additional abstract Iterator operations. The previous construct/run/destruct progression has been extended to a construct/pre_run/run/post_run/destruct progression.

Model components

  • Previous versions of neural network, kriging, MARS, and regression polynomials have been deprecated and replaced with the initial release of Surfpack. Surfpack adds support for equality-constrained regression and will provide radial basis function approximations in the future.
  • Multipoint approximations are now supported in the Approximation hierarchy. The Two-point Adaptive Nonlinearity Approximation (TANA-3) has been added and may be invoked either as a general approximation method or as a special limit state approximation selection within reliability analysis.
  • Gaussian process global approximations are now supported in the Approximation hierarchy. This class utilizes OPT++ to solve for the approximation coefficients.
  • Approximation classes extended to support an anchor point, a special data point for which exact matching is enforced (e.g., using equality-constrained least squares). Data requirement estimation is now more consistent, through the estimation of the number of approximation coefficients, the number of constraints, and the data content per sample. Improved efficiency of SurrogateDataPoint lists by adopting a reference counting design and eliminating unnecessary data copying.
  • Migration of nonlinear constraint data from Iterator to Model in support of strategies (e.g., new homotopy constraint-relaxation in surrogate-based optimization) that modify nonlinear constraint bounds and targets. All Iterators now pull constraint data at run time such that any Model updates are properly captured.
  • Variables objects have been generalized to utilize a pair of variables views, one for the active view and another for the inactive view. This renders the classes more general and more encapsulated from external logic.
  • Response objects are now dynamically resized when DVV lengths are updated. Response objects now support derivatives with respect to either active or inactive continuous variables in a more direct and efficient manner. Derivative estimation and management in Model has been generalized to support dynamic derivative needs based on the current content of the DVV.
  • Addition of a direct interface to the MATLAB engine. This currently requires a dynamically linked DAKOTA executable.

Strategies

  • Reliability-based design optimization (RBDO) now supports analytic sensitivities of reliability, probability, and response levels with respect to design variables that either augment the uncertain variables or define distribution parameters for the uncertain variables. This enables fully-analytic bi-level RBDO approaches.
  • The new model recursion and sensitivity capabilities described above enable a new capability for sequential RBDO using a trust-region surrogate-based approach. In this approach, reliability estimates and sensitivities are used to form surrogate contraints based on Taylor series. This approach is the most computationally efficient RBDO approach available in DAKOTA to date. First-order and quasi-Newton-based second-order Taylor series are currently supported.
  • The new model recursion facilities described above enable a new capability for multifidelity surrogate-based optimization in which the low fidelity model involves a data fit surrogate.
  • The surrogate-based optimization strategy has been extended to support iterate acceptance via a filter method, trust region ratio calculation via an augmented Lagrangian merit function, constraint relaxation via a homotopy method, and hard convergence assessment via nonnegative least squares Lagrange multiplier estimation. Lawson & Hanson least squares routines have been added for these Lagrange multiplier estimations. SBO with global data fits has been restructured to allow hard convergence checks prior to surrogate construction and passing of anchor points as embedded consistency constraints (this allows the surrogate to be constructed once per cycle with embedded consistency, rather than initially built, updated with the center, and then corrected).

Packages and Utilities

  • GSL updated to version 1.7.
  • Epetra updated to version 3.4. This enables access to LAPACK serial dense eigensolvers (used in second-order probability integrations).
  • PLplot updated to version 5.5.2.
  • DPrePro updated to support more flexibility in parameters file formats and numerical field regular expression matching.
  • Extensions to the Perl regression testing tool (Dakota/test/sqa/dakota_test.perl) to support individual test extraction and execution.
  • A new Perl utility (Dakota/test/sqa/dakota_update_input.perl) is available for upgrading old v3.x input files to v4.0.
  • DAKOTA now supports a "dry run" mode, in which all parsing is performed and all objects are instantiated, but the analysis is not performed. This is selected using the new "-check" command line argument and is useful for checking input files for errors prior to parallel queue submission.

Documentation

  • The DAKOTA Users Manual has been migrated from FrameMaker to LaTeX and is now managed in Dakota/docs. This simplifies the management of the Users Manual and will promote more regular updating.
  • SQE process documents updated to version 2.0.
  • Addition of example files for utilizing multilevel parallelism with concurrent mpiexec launches within a single PBS allocation.

Bug fixes

  • Resolution of Bugzilla ids 1044, 1260, 1263, 1264, 1265, 1266, 1340, 1341, 1351, 1364, 1391, 1398, 1445, 1882, 1893, 1894, 1914, 1962, 1965, 1968, 2013, 2145, 2146, and 2161. A selected subset is listed below (emphasis on resolution of reported 3.3 issues).
  • Graphics windows and tabular data are now properly updated for Iterators which employ nonblocking synchronization (requires data caching until evaluation sequences are complete).
  • Corrected bug when using secondary file tagging with fork interfaces.
  • JEGA now properly configures processor allocations for message-passing parallelism.
  • Central composite and Box-Behnken designs of experiments, which are inflexible in their supported sample size, now support improved logic for managing user inputs, specification defaults, and minimum sample requirements.
  • population_size may now be specified independently from initialization_type in COLINY and JEGA genetic algorithms.
  • corrected SBO graphics and uninitialized additive correction arrays in the case of a multiplicative to additive on-the-fly correction switch (performed when numerical issues are encountered with multiplicative corrections).
  • corrected "random" keyword duplication in initialization_type and replacement_type for SGOPT/COLINY GAs.
  • protected sample statistics calculations (standard deviations and confidence intervals) for the case of only one sample.

Version 3.3 (12/23/04)

Framework enhancements:

  • Revisions to the Iterator class hierarchy to bring together the uncertainty quantification, parameter study, and design of experiments classes so that common statistical analysis routines can be shared. Iterator is now divided into two branches, "Minimizer" (for optimization and nonlinear least squares) and "Analyzer" (for uncertainty quantification, parameter studies, and design of experiments).
  • Major redesign of multilevel parallelism classes to be more modular and extensible (the number of parallelism levels is now open-ended) and to allow multiple parallel configurations to coexist (previously, only a sequence of partitions could be used, one at a time). This development was driven by two needs: (1) performing communicator partitioning at construction time instead of run time (for simplifying parallel set-up for direct simulation interfaces), and (2) allowing more complete parallelism management in strategies which have more than one active model at a time (e.g., multifidelity SBO, see Strategies section below). Features include:
    • The new design uses an open-ended list of ParallelLevel objects which collectively contain all of the communicator partitions. This list is managed with a list of ParallelConfiguration objects, each of which identifies the set of ParallelLevels which define a particular multilevel parallel configuration.
    • Additional encapsulation of message-passing routines through addition of more MPI wrappers.
    • Addition of a component parallel mode (INTERFACE, SUBMODEL, or none) facility to the Model hierarchy to manage the Model component whose parallel configuration is currently active.
  • Addition of finite-difference numerical Hessians and BFGS/SR1 quasi-Newton Hessians to DAKOTA's derivative estimation routines. Previously, DAKOTA relied on vendor optimization algorithms to perform these calculations, but a native capability was needed for FD- and quasi-second-order surrogate corrections. Features include:
    • Numerical Hessians may use 1st-order gradient differencing or 2nd-order function-value differencing. This selection is automatically determined based on the gradient specification: the former if analytic gradients and the latter otherwise. FD Hessians from 1st-order gradient differences have a symmetry enforcement [H = 1/2 (H + H^T)]
    • As for numerical gradients, the numerical Hessians support the ability to be fully asynchronous (i.e., multiple gradient/Hessian data sets may be evaluated concurrently, each of which involves multiple finite difference evaluations).
    • Quasi-Newton safeguarding: the BFGS update may be damped or undamped. In the SR1 and undamped BFGS cases, the update is skipped if the denominator is near zero.
    • Quasi-Newton scaling: an initial scaling of y'y/y's I (Shanno & Phua) is used for both BFGS and SR1 to accelerate the updating process.
  • General support for variable insertion in nested models. This enables (1) optimization under uncertainty, in which design variables are distribution parameters, and (2) second-order probability, in which epistemic uncertainties are modeled as intervals on distribution parameters and realizations of these parameters are used within sets of aleatory probabilistic analyses. Nested models can update sub-model active/inactive variables using any combination of variable insertions and augmentations (see variable mappings in Method Independent Controls).
  • Extensions to DAKOTA's library mode. This mode has now stabilized and is in use in several Sandia and external simulation frameworks. It supports a "sandwich" implementation in which DAKOTA provides iteration services to a simulation framework, and the simulation framework provides a direct interface plug-in to DAKOTA. The current state is reflected in Interfacing with DAKOTA as a Library.

Iterative methods

  • Optimization:
    • New Acro release with updated COLINY methods supporting general nonlinear constraints: APPS, DIRECT, Solis-Wets, Pattern search, and Cobyla. Updated DAKOTA input specification now captures the relevant method options.
    • The multiobjective genetic algorithm (MOGA) now returns the "best" design to DAKOTA for use in multi-level strategies which require a starting point for subsequent iteration. This best design is defined to be the point in the Pareto set that has minimum distance from the "utopia" point (the point of extreme values for each objective function).
  • Parameter estimation:
    • Revision of NL2SOL specification mappings to be more consistent with other methods.
  • Uncertainty quantification:
    • New capability for variance-based decomposition with the following sampling methods: LHS, DDACE, and FSUDace. VBD provides global sensitivity indices for each uncertain variable, where a higher sensitivity index means that the uncertainty in that input has a larger effect on the variance of the output.
    • Addition of a 2nd-order probability capability as enabled by the generic variable insertion capability described above. An epistemic level can sample over uncertain variables, whose realizations are then inserted into the distribution parameters for an uncertainty analysis at an aleatory level.
    • Addition of a subset of the GNU Scientific Library (GSL). In particular, new routines for random number generation (the Tausworthe RNG) and various statistical distributions have been added. Confidence interval calculations for sample means and sample standard deviations have been added to DAKOTA to take advantage of these new capabilities.
    • Improved logic in reliability methods for conditionally computing response means/std deviations via MVFOSM analysis. The new logic makes use of improved data management in nested models to determine when these additional statistics are needed.
  • Parameter studies/design of experiments:
    • New FSUDace library for quasi-Monte Carlo (QMC) and Centroidal Voronoi Tessellation (CVT) designs of experiments. The quasi-Monte Carlo methods currently available are Hammersley and Halton sequences. These new QMC and CVT methods support latinization of samples, calculation of volumetric quality metrics, and variance-based decomposition. This library was developed by Max Gunzburger and John Burkardt at Florida State University.
    • DDACE now supports volumetric quality metrics and variance-based decomposition.

Strategies

  • Surrogate-based optimization (SBO)
    • Multifidelity SBO can now use more practical second-order corrections based on the numerical and quasi-Newton Hessian capabilities discussed above.
    • Multifidelity SBO now supports parallelism in both the low and high fidelity models, as enabled by the parallelism redesign discussed above.
  • Optimization under uncertainty (OUU)
    • The generic variable insertion capability described above enables reliability-based design optimization studies where the design variables define distribution parameters (means, std deviations) for uncertain variables.
    • Nested models now compute a request vector for the sub-iterator and support gradients/Hessians in their response mappings. This enables sub-iterator sensitivities for accelerating nested RBDO. Code for RIA/PMA reliability sensitivities has been fleshed out, but is not active yet.

Miscellaneous

  • Bug fixes:
    • Extensions to IDR parser to provide more helpful error messages in the case of unmatched keywords.
    • Improved linear constraint management for mixed variable optimizers and additional linear constraint error checking.
    • Fixed discrete variable mappings in JEGA.
    • Removal of static attributes from ProblemDescDB to correct approach of multiple instantiations in library mode.
    • Repaired long-standing memory leak in IDR. Static IDR table pointers are now properly deallocated.
    • Fixed bug with setup of random, chc, elitist selection in SGOPT GAs.
  • SQA/Porting:
    • Mac OSX port extended to include F90 LHS, MPICH, and BLAS linking from g77.
    • Initial support for g95 on Linux, OSX, Cygwin.
    • Extensions to configure system to support --enable-debugging.

Version 3.2 (7/21/04)

Iterative methods

  • Optimization:
    • Initial release of JEGA: single-objective and multiobjective genetic algorithms supporting mixed variables and general constraints. This capability is in a beta release state (stable and undergoing minor refinements).
    • Initial release of COLINY: next generation of SGOPT including new APPS and DIRECT algorithms. This capability is in an alpha release state (still stabilizing).
    • Updated versions of SGOPT, PICO, UTILIB, and OPT++. OPT++ version 2.2 adds limited-memory BFGS for quasi-Newton and disaggregated Hessian nonlinear interior-point methods for constrained Gauss-Newton.
    • Extensions to optimizers for improved tracking of final solutions in multiobjective optimization problems. Single-objective optimizers, multiobjective optimizers, and least squares solvers are now standardized on reporting the full granularity of results (all objectives or all least squares terms). In cases where a single-objective optimizer is used to solve a multiobjective or least squares problem (via an externally-applied multiobjective or Gauss-Newton reduction), a database search is used to recover the full granularity of data.
  • Parameter estimation:
    • New NL2SOL nonlinear least squares solver. This algorithm provides a new capability for problems with large residuals at the solution (i.e., the Gauss-Newton approximation is inaccurate).
  • Uncertainty quantification:
    • New f90 LHS library now distributed with DAKOTA.
    • New sampling method statistics: simple correlations (input-input, input-output, and output-output) and partial correlations (input-output) for raw and rank data.
    • Extended reliability methods supporting the reliability index approach (RIA) and the performance measure approach (PMA). These approaches support the use of linearizations in x-space or u-space centered at the mean values (x-/u-space AMV variants), iterated linearizations in x-space or u-space centered at the most probable point estimate (x-/u-space AMV+ variants), and no linearizations (FORM variant). This increases the number of available reliability methods from 4 to 11. The RIA approaches are used for computing probability levels that correspond to user-selected response levels (forward reliability analysis), and the PMA approaches are used for computing the response levels that correspond to user-selected probability levels (inverse reliability analysis). Additional features include:
      • support of NPSOL sequential quadratic programming or OPT++ nonlinear interior point methods for solving the RIA/PMA most probable point searches. With the addition of OPT++ support, DAKOTA's reliability methods are now available to users lacking NPSOL licenses.
      • analytic objective/constraint gradients are now supported within all NPSOL/OPT++ RIA/PMA evaluation functions.
      • warm starts are employed for the linearization point and optimizer initial guess for the next AMV+ iteration increment, for the next response/probability/reliability level, or for the next design variable values. In some cases, projections are used to avoid premature convergence (due to KKT condition satisfaction).
    • UQ standardization: consistent support for response (z), probability (p), and reliability (beta) level specifications in all sampling, reliability, and polynomial chaos methods. Mappings can now be z->p, z->beta, p->z, or beta->z, and the z/p/beta levels may now be mixed within the specifications for each response function. Probabilities and reliabilities may now correspond to either cumulative or complementary cumulative distribution functions (CDF/CCDF). Specific extensions required for standardization include:
      • the Mean Value reliability method now supports z/p/beta level calculations (previously, only response mean and standard deviation estimates were supported).
      • MPP search-based reliability methods now support multiple response functions and all z->p/beta and p/beta->z mappings (previously, only z->p mappings for a single response function were supported). The new z->beta mappings are especially important for RBDO since beta is more well-behaved and well-scaled than p for use in optimization constraints.
      • sampling/PCE methods have added support for p->z, z->beta, and beta->z for CDF/CCDF probabilities/reliabilities (previously, only a single z->p CCDF mapping per response function was supported). The reliability index beta is defined for sampling methods as the number of standard deviations separating the mean from the target response level. This gives an alternative metric for resolving low probabilities with sampling methods for use in OUU.
      • lognormal distribution parameters have now been standardized within sampling and reliability methods.
  • Parameter studies/design of experiments:
    • Addition of a new base class, Dakota::PStudyDACE, which consolidates previously replicated code between parameter study and design of experiments iterators.

Strategies

  • Surrogate-based optimization (SBO)
    • New hybrid penalty/filter logic eliminates erroneous rejection of SBO iterates. In particular, the penalty parameter is rescaled so as to accept iterates with reductions in constraint violation (penalty levels must increase monotonically). This is less restrictive than a pure penalty approach but more restrictive than a pure filter approach. A pure filter approach will be implemented soon.
    • New 2nd-order additive and multiplicative local corrections and new 2nd-order combined/multipoint corrections have been added. Improves convergence for SBO employing hierarchical surrogates.
    • Enhancements to trust region ratio logic and soft/hard convergence controls. The hard convergence check now calculates a projected gradient norm in the presence of active bound constraints.
    • SBO now overrides the default active set vector within the DACE model. This is important when a specification of 1st/2nd derivative information is needed to support higher order corrections, but the higher order data is not needed for every DACE evaluation in a global surrogate build.
    • The Taylor series approximation has been extended to automatically use a 2nd-order series whenever analytic Hessians are specified in the truth model response specification.
  • Optimization under uncertainty (OUU)
    • Efficiency of trust-region surrogate-based OUU algorithms has been enhanced. In addition, lower-level approximations can now be temporarily bypassed when performing "truth" verifications across multiple surrogate levels.
    • New bi-level reliability-based design optimization (RBDO) capabilities. These RBDO methods employ warm started reliability analyses (initial MPP search initial guess and linearization point).
    • Model calibration under uncertainty: OUU formulations involving least squares data sets are now supported in addition to optimization data sets.

Facilities

  • Utilities:
    • Graphics extensions for better visualization of SBO and reliability analysis results. Reliability analyses now provide CDF/CCDF plots, which required 2D plotting extensions to admit general x-y plotting (previously restricted to x axis counters), log scale for either/both axes (only y axis supported previously), multiple data sets, and plot markers with variable anchors.
    • DPREPRO now supports assignments involving expressions and precedence rules for duplicate assignments (allowing default template file assignments to be overridden by parameters file values).
    • Restart utility extended to support active/inactive variables, response tags, sorting across multiple interfaces, and STL iterator-based list traversals.
    • DAKOTA library mode extended with improved support for publishing new derived "letter" classes (instantiated outside of DAKOTA) to existing "envelope" class hierarchies.
  • General enhancements:
    • New "Dakota" namespace shortens many DAKOTA class names and avoids name clashes.
    • utilib::PackBuffer replaced with Dakota::MPIPackBuffer. This eliminates the dependence of DAKOTA MPI executables on UTILIB which had been causing problems for AIX builds.
    • Redesign and clean up of iterator classes employing function pointer designs. Migrated from a design in which many static member attributes were maintained solely as copies of nonstatic attributes to a design in which these static member copies have been replaced by a single static pointer to the active object instance of the iterator class. This static pointer provides the needed data access from the static member functions used in the function pointer design.
    • IDR parser updated to use a factor of two buffer growth strategy. This significantly reduces parsing time for large datasets.
    • Addition of the ability to specify a vector of finite difference step sizes, one per active continuous variable, for use in the DAKOTA finite differencing routine (not supported by vendor routines).
  • Bug fixes:
    • NPSOL modified to prevent moving the initial point to the variable bounds when the initial point is close to the bounds.
    • Bug with number of correlation coefficients for one uncertain variable corrected within new LHS sampling library.
    • Bug fix in OPT++ within the line search backtracking routine for the case of zero gradient.
    • Optional response tag extraction is now more robust (would fail on some platforms).
    • Bug fix for parallel initialization of high fidelity interfaces in model-hierarchy SBO.
    • Bug fix for uninitialized pointers in the OPT++ interface classes.
    • Bug fix in sampling output correlation matrix sizing for OUU.
    • Clarification of best data point tracking in parameter studies and design of experiments (only optimization and least squares data sets define best data metrics, generic response function data sets do not).
    • Make recursion bug fixed with addition of checks for missing vendor optimizers/packages.
  • SQA/Porting:
    • Automated DAKOTA testing: nightly testing harness is much more thorough and includes new unit test and parallel regression test facilities.
    • Version of the day (VOTD) distributions are now active for publishing the latest code versions to the user base.
    • DAKOTA ports and configuration extensions: initial port to Mac OS X completed; configuration support added for GM device of MPI, 64-bit Sun builds, and Sun Cluster Tools MPI (/opt/SUNWhpc); Sun builds updated to Workshop 7.

Version 3.1.2 (7/09/03)

Interim release enhancements

  • Additional refinements to 2D graphics:
    • rework of SciPlot numerics to correct problems that were occurring when the y axis values become too large and/or when a range is not yet available:
      • switched x and y axis numeric labels from a "%f" fixed format to a "%g" output format which automatically switches to exponential format when the numbers become large. This format also allows for minimal label precision and field width.
      • reworked numerics for calculating axis increments and estimating space allocation for the new numeric label formats.
      • reduced the maximum number of x axis increments to eliminate some label overlapping and centered the x axis labels on the axis ticks.
    • addition of plot window options for axis labels and legends.
    • min/max symbols changed to unique shapes (discernable in black/white EPS).
    • thumb wheels now support bidirectional windowing (left or right and up or down).
    • refinement of initial graphics window sizing for larger numbers of plots.
    • elimination of some data skipping in the graphics through suppression of data sets which contain only derivative data.
    • efficiency enhancements through removal of redundant arrays and streamlining of data updates.
  • New features:
    • initial release of

      DPREPRO

      (DAKOTA pre-processor), a freely-distributable pre-processor for use in interfaces between DAKOTA and various simulation codes. DPREPRO is a Perl script utility that inserts values from the DAKOTA parameters file into a template simulation input file to create new simulation input file instances. Features include:
      • supports both APREPRO and standard formats in the DAKOTA parameters files and auto-detects the format in use.
      • extracts variable assignments both from the parameters file and from the template file and supports multiple order-independent matches and replacements per line.
      • stores tag/value pairs in a hash for lookup efficiency.
      • supports algebraic manipulation using both the intrinsic Perl functions as well as a variety of additional math subroutines.
  • Miscellaneous:
    • fixed a bug with management of the aprepro format for LayeredModels which was occurring in hierarchical surrogate-based optimization.
    • added a workaround for older pgf90 compilers such as those used on ASCI Red to allow use of the new f90 LHS library within DAKOTA. To mix C++ with pgf90, an explicit call to pghpf_init() is needed to allow f90 calls to ALLOCATE().

Version 3.1.1 (5/21/03)

Interim release enhancements

  • Overhaul of 2D graphics:
    • subtle bug fixed with passing double* from an STL vector.
    • horizontal/vertical wheel operations reworked.
    • "Print" and "Markers" buttons activated in "Options" window. Markers can now be deactivated, and individual EPS files can now be generated from each plot window.
    • box sizes, labels, button offsets, and colors adjusted to be more legible, and initial window sizing adjusted to properly capture the number of plots.
    • reduced memory usage and improved efficiency.
  • Completion of parallel scheduling for Pareto-set and Multi-start strategies:
    • fixed parallel bug in random start feature (LHS must be executed only on world rank 0 and its results must be communicated to all iterator masters).
    • scheduling routines are more modular and dynamic scheduling is now supported within dedicated-master partitions.
  • Miscellaneous:
    • added support for the GM device in MPI.
    • streamlined parallel configuration reporting.
    • fixed string output formatting problem under Linux.

Version 3.1 (4/04/03)

New iterative methods

  • Optimization:
    • NPSOL v5.0 update.
    • OPT++ method consolidation (from 15 down to 6) and additional constraint coverage (added BCFDNewton and GNewton NIPS).
    • Initial rSQP++/MOOCHO interface (large-scale optimization).
    • Initial COLINY interface for access to APPS and DIRECT optimizers.
  • Uncertainty quantification:
    • New f90 LHS library (not yet publicly available).
      • restricted pairing: enforces the desired correlation in the sample set, whether inducing a user-specified correlation or minimizing correlation for the default uncorrelated case.
      • bounded normal and bounded lognormal distributions
      • bin-based and point-based histogram distributions
      • additional output: sample histograms and achieved correlation in f90 output, coefficient of variation and confidence interval statistics in DAKOTA output.
      • consolidation of old/new sampling for LHS/PCE
    • MV/AMV/AMV+/FORM reorganization.
  • Parameter estimation:
    • New NLSSOL SQP-based generally-constrained nonlinear least squares.
    • New least squares iterator branch to support NLSSOL and OPT++ GNewton.
  • Sensitivity/statistical analysis:
    • Distribution of DDACE under LGPL.
    • Consolidation of function evaluation management routines among design of experiments, UQ sampling, and parameter studies.

New strategies

  • Surrogate-based optimization
    • Enhancements to penalty function consistency.
    • Enhancements to trust region management and convergence controls.
    • New 1st-order additive correction (thanks to Natalia Alexandrov and Michael Lewis for formulation). Improves convergence in SBO test cases employing hierarchical surrogates.
  • Optimization under uncertainty (OUU)
    • New trust-region surrogate-based OUU (paper).
    • Enhanced data flow in Layered/Nested models.
  • Concurrent (Pareto set, Multi-start)
    • New random starts capability (in place of or in combination with user-specified starts).
    • New results/timing summaries.
    • Parallel scheduling enhancements.

New DAKOTA facilities

  • New library mode:
    • Library creation (libdakota.a et al.) and consolidation in Dakota/lib.
    • New API for cases when command line arguments are not directly accessible.
    • Access to final strategy results.
    • Library mode documentation.
  • New surrogates:
    • Linear and cubic polynomials to supplement existing quadratic polynomial.
  • Enhanced random seed control for multiple sampling sets in DDACE and LHS
    • 4 seed selections: combinations of fixed vs. sequenced and user-specified vs. system-generated.
    • Sequenced seeds result in variable sampling patterns which enhance reliability and accelerate convergence in SBO, OUU, and SBOUU.
  • New error checking in approximation classes, uncertain variables, PCE, submodel compatibility, and method constraint support.
  • Efficiency enhancements:
    • Dropped pre-ANSI C++ mode which allowed for STL streamlining and optimization.
    • Additional output control: debug/verbose/normal/quiet/silent settings, -i/-o/-e command line options.
    • Evaluation cache and restart deactivation option.
    • New MPI intra-communicators to streamline message broadcasts for large parallel runs.
    • Streamlined communicator repartitioning in strategies.
  • New utilities:
    • Restart repair by evaluation id.
    • 3D graphics fonts (PLplot) distributed with executables.
  • SQA:
    • Automated DAKOTA testing: nightly build verifications, new regression test facilities employing test matrices, unit testing under development.
    • Nightly library testing for SGOPT, PICO, and UTILIB (OPT++, DDACE to follow).
    • Requirements/issue tracking (Bugzilla, restricted access), design tracking, release management (automated posting of nightly builds available shortly).

Contributions from the user community

  • Distributed testing/issue identification:
    • SGOPT: problem size limitations removed (identified by Michel Beaulieu), real-valued GA bound constraint bug resolved (identified by Hongman Kim), multi_step keyword mismatch resolved (identified by Don Flaggs).
    • OPT++: bound constraints fixed in PDS (identified by Don Flaggs), final solution returned properly (identified by Michel Beaulieu).
    • DOT/CONMIN: registration of automatic method switches for consistency in output headers (identified by Don Flaggs).
    • SBO fraction of cauchy decrease bug resolved (identified by Myles Baker).
    • LINUX graphics configuration generalized (identified by Constantine Orogo).
    • IBM POE: replaced short hand checks for MPI_REQUEST_NULL (identified by Scott Brandon).
    • DEC asynchronous evaluations: activated usleep() function in asynch schedulers as OSF 5.1 is now supporting it (identified by Scott Brandon).
  • Enhancement suggestions:
    • Surrogate builds from files (requested by Srinivas Kodiyalam)
    • Output of surrogate functional forms (requested by Srinivas Kodiyalam).
    • Seed output from SGOPT to allow run recreation (requested by Don Flaggs).
    • Response function descriptors (requested by Hongman Kim).
  • Contributed code:
    • Cygwin evaluation and initial port (contributed by Hongman Kim).
    • Mac OSX evaluation (contributed by Carl Hagelberg).
    • Linear polynomial surrogate model (contributed by Myles Baker).
    • Direct interface to Phoenix Integration's ModelCenter and merged variable descriptors (contributed by Hongman Kim).

Version 3.0 (3/30/02)

All Version 3.0 beta additions plus:

General:

  • Documentation (Users, Reference, and Developers Manuals) updated.
  • New software quality assurance (SQA) standards instituted.
  • Vector/list template classes based on STL are now well tested and stable.

New strategies:

  • The surrogate-based optimization (SBO) strategy reduces computational expense and mitigates nonsmooth response variations through the use of local (Taylor series), global (quadratic polynomials, neural networks, kriging, splines), and hierarchical approximations. This strategy is now provably-convergent through the addition of the "beta" correction approach, which enforces first order consistency requirements necessary to ensure convergence to the optimum of the actual, high fidelity model. This new beta correction capability is critical for making SBO viable with hierarchical surrogates (models of varying fidelity).
  • The augmentation of samples at the root and branch nodes (for identifying good NLP starting points) is now functional for the parallel branch and bound strategy.

New iterative methods:

  • OPT++ has completed the release approval process and the ANSI C++ version of OPT++ is now available for download with DAKOTA. The performance of OPT++'s nonlinear interior point methods is competitive with DOT and NPSOL, and OPT++ therefore provides a more capable freeware alternative for constrained minimization than CONMIN.
  • DAKOTA/UQ reorganized to make better use of inheritance, updated from Petra 1.0 to Epetra 2.0, and extended to include the mean value (MV) analytic reliability method.
  • DOT/CONMIN wrappers extended to manage linear inequality and equality constraints. DOT, NPSOL, OPT++, and CONMIN are now completely plug and play in terms of linear and nonlinear inequality and equality constraints.

New features:

  • Tagged output streams for concurrent iterators are now managed with Cout/Cerr macros and are independent of UTILIB's CommonIO class.
  • Active set vector control may now be turned off in order to simplify user simulation interfaces. This allows the user to neglect the active set vector and trade some efficiency for simplicity.
  • LayeredModel correction facilities streamlined to remove the need to back out previous corrections before applying new ones. Local and hierarchical layered models now operate correctly in parallel.

Version 3.0 beta (11/29/01)

General:

  • ANSI C++ compliant: DAKOTA has been updated to the ANSI C++ standard. Vector/list templates from the commercial Rogue Wave Tools.h++ library have been replaced with the Standard Template Library (STL) provided as part of the ANSI C++ standard.
  • GNU GPL open source release: DAKOTA is now available for download worldwide.
  • New documentation: Users, Reference, and Developers Manuals now available online from http://www.cs.sandia.gov/dakota/documentation.html.

New strategies:

  • Optimization under uncertainty (OUU): for robust and reliability-based design in the presence of parameter uncertainty. OUU may be executed in simple nested iteration mode, or it may employ surrogates at the optimization level, the uncertainty quantification level, or both.
  • Pareto-set optimization: generates a trade-off surface for multiobjective optimization problems. The Pareto-set strategy supports concurrent-iterator parallelism for large-scale multilevel parallel studies.
  • Multi-start optimization: runs local optimizations from different starting points for locating multiple minima. The multi-start strategy supports concurrent-iterator parallelism for large-scale multilevel parallel studies.

New iterative methods:

  • The CONMIN library for gradient-based constrained minimization has been added to provide an freely available alternative to the commercial DOT and NPSOL libraries.
  • Extensions to the DAKOTA/UQ uncertainty quantification library: stochastic finite element techniques using polynomial chaos expansions have been added in joint work with Johns Hopkins University.

New features:

  • New tabular data output capability for postprocessing of DAKOTA results with external post-processing tools such as Matlab and Tecplot.
  • Graphics ported to SGI IRIX and PC LINUX platforms and extended for OUU, multilevel hybrid, Pareto-set, and multi-start strategies.