Developers 6.0developers Guide For Dakota 6.0
Developers 6.0developers Guide For Dakota 6.0
Unlimited Release
July 2014
Updated July 16, 2014
Abstract
The Dakota (Design Analysis Kit for Optimization and Terascale Applications) toolkit provides a flexible
and extensible interface between simulation codes and iterative analysis methods. Dakota contains algorithms
for optimization with gradient and nongradient-based methods; uncertainty quantification with sampling, reliability, and stochastic expansion methods; parameter estimation with nonlinear least squares methods; and sensitivity/variance analysis with design of experiments and parameter study methods. 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. By employing object-oriented design to implement
abstractions of the key components required for iterative systems analyses, the Dakota toolkit provides a flexible
and extensible problem-solving environment for design and performance analysis of computational models on
high performance computers.
This report describes the Dakota class hierarchies. It is derived from annotation of the source code and
provides detailed class documentation, including all member functions and attributes.
Contents
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
11
16
16
17
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
19
19
21
22
22
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
25
25
26
26
27
28
29
29
31
.
.
.
.
.
.
33
33
34
35
38
41
41
43
43
43
44
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
CONTENTS
45
45
46
47
Namespace Index
49
8.1 Namespace List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Hierarchical Index
51
9.1 Class Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
10 Class Index
55
10.1 Class List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
11 File Index
65
11.1 File List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
12 Namespace Documentation
67
12.1 Dakota Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
12.2 SIM Namespace Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
13 Class Documentation
13.1 ActiveSet Class Reference . . . . . . . . .
13.2 Analyzer Class Reference . . . . . . . . . .
13.3 ApplicationInterface Class Reference . . .
13.4 Approximation Class Reference . . . . . .
13.5 ApproximationInterface Class Reference . .
13.6 APPSEvalMgr Class Reference . . . . . . .
13.7 APPSOptimizer Class Reference . . . . . .
13.8 BaseConstructor Struct Reference . . . . .
13.9 callback data Struct Reference . . . . . . .
13.10COLINApplication Class Reference . . . .
13.11COLINOptimizer Class Reference . . . . .
13.12CollabHybridMetaIterator Class Reference
13.13CommandLineHandler Class Reference . .
13.14CommandShell Class Reference . . . . . .
13.15ConcurrentMetaIterator Class Reference . .
13.16CONMINOptimizer Class Reference . . . .
13.17Constraints Class Reference . . . . . . . .
13.18DataEnvironment Class Reference . . . . .
13.19DataEnvironmentRep Class Reference . . .
13.20DataFitSurrModel Class Reference . . . . .
13.21DataInterface Class Reference . . . . . . .
13.22DataMethod Class Reference . . . . . . . .
13.23DataMethodRep Class Reference . . . . . .
13.24DataModel Class Reference . . . . . . . .
13.25DataModelRep Class Reference . . . . . .
13.26DataResponses Class Reference . . . . . .
13.27DataResponsesRep Class Reference . . . .
13.28DataVariables Class Reference . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
283
283
285
291
306
312
317
320
322
323
323
326
330
332
333
334
336
343
352
353
355
366
367
368
380
381
385
387
390
CONTENTS
13.29DataVariablesRep Class Reference . . . . . . . . .
13.30DDACEDesignCompExp Class Reference . . . . .
13.31DirectApplicInterface Class Reference . . . . . . .
13.32DiscrepancyCorrection Class Reference . . . . . .
13.33DOTOptimizer Class Reference . . . . . . . . . .
13.34JEGAOptimizer::Driver Class Reference . . . . . .
13.35EffGlobalMinimizer Class Reference . . . . . . . .
13.36EfficientSubspaceMethod Class Reference . . . . .
13.37EmbedHybridMetaIterator Class Reference . . . .
13.38Environment Class Reference . . . . . . . . . . . .
13.39NomadOptimizer::Evaluator Class Reference . . .
13.40JEGAOptimizer::Evaluator Class Reference . . . .
13.41JEGAOptimizer::EvaluatorCreator Class Reference
13.42ExecutableEnvironment Class Reference . . . . . .
13.43ExperimentData Class Reference . . . . . . . . . .
13.44ForkApplicInterface Class Reference . . . . . . . .
13.45FSUDesignCompExp Class Reference . . . . . . .
13.46GaussProcApproximation Class Reference . . . . .
13.47GetLongOpt Class Reference . . . . . . . . . . . .
13.48Graphics Class Reference . . . . . . . . . . . . . .
13.49GridApplicInterface Class Reference . . . . . . . .
13.50HierarchSurrModel Class Reference . . . . . . . .
13.51Interface Class Reference . . . . . . . . . . . . . .
13.52Iterator Class Reference . . . . . . . . . . . . . . .
13.53IteratorScheduler Class Reference . . . . . . . . .
13.54JEGAOptimizer Class Reference . . . . . . . . . .
13.55LeastSq Class Reference . . . . . . . . . . . . . .
13.56LibraryEnvironment Class Reference . . . . . . . .
13.57MatlabInterface Class Reference . . . . . . . . . .
13.58MetaIterator Class Reference . . . . . . . . . . . .
13.59Minimizer Class Reference . . . . . . . . . . . . .
13.60MixedVarConstraints Class Reference . . . . . . .
13.61MixedVariables Class Reference . . . . . . . . . .
13.62Model Class Reference . . . . . . . . . . . . . . .
13.63MPIManager Class Reference . . . . . . . . . . .
13.64MPIPackBuffer Class Reference . . . . . . . . . .
13.65MPIUnpackBuffer Class Reference . . . . . . . . .
13.66NCSUOptimizer Class Reference . . . . . . . . . .
13.67NestedModel Class Reference . . . . . . . . . . .
13.68NIDRProblemDescDB Class Reference . . . . . .
13.69NL2Res Struct Reference . . . . . . . . . . . . . .
13.70NL2SOLLeastSq Class Reference . . . . . . . . .
13.71NLPQLPOptimizer Class Reference . . . . . . . .
13.72NLSSOLLeastSq Class Reference . . . . . . . . .
13.73NoDBBaseConstructor Struct Reference . . . . . .
13.74NomadOptimizer Class Reference . . . . . . . . .
13.75NonD Class Reference . . . . . . . . . . . . . . .
13.76NonDAdaptImpSampling Class Reference . . . . .
13.77NonDAdaptiveSampling Class Reference . . . . .
7
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
391
402
406
410
413
417
419
421
425
426
430
432
437
438
439
440
442
445
450
453
456
457
461
470
483
488
494
498
500
502
503
517
518
520
548
549
551
553
556
564
568
568
571
575
577
578
580
590
594
CONTENTS
13.78NonDBayesCalibration Class Reference . . . . .
13.79NonDCalibration Class Reference . . . . . . . .
13.80NonDCubature Class Reference . . . . . . . . .
13.81NonDDREAMBayesCalibration Class Reference
13.82NonDExpansion Class Reference . . . . . . . . .
13.83NonDGlobalEvidence Class Reference . . . . . .
13.84NonDGlobalInterval Class Reference . . . . . .
13.85NonDGlobalReliability Class Reference . . . . .
13.86NonDGlobalSingleInterval Class Reference . . .
13.87NonDGPImpSampling Class Reference . . . . .
13.88NonDGPMSABayesCalibration Class Reference
13.89NonDIncremLHSSampling Class Reference . . .
13.90NonDIntegration Class Reference . . . . . . . .
13.91NonDInterval Class Reference . . . . . . . . . .
13.92NonDLHSEvidence Class Reference . . . . . . .
13.93NonDLHSInterval Class Reference . . . . . . . .
13.94NonDLHSSampling Class Reference . . . . . . .
13.95NonDLHSSingleInterval Class Reference . . . .
13.96NonDLocalEvidence Class Reference . . . . . .
13.97NonDLocalInterval Class Reference . . . . . . .
13.98NonDLocalReliability Class Reference . . . . . .
13.99NonDLocalSingleInterval Class Reference . . . .
13.100NonDPOFDarts Class Reference . . . . . . . . .
13.101NonDPolynomialChaos Class Reference . . . . .
13.102NonDQuadrature Class Reference . . . . . . . .
13.103NonDQUESOBayesCalibration Class Reference .
13.104NonDReliability Class Reference . . . . . . . . .
13.105NonDSampling Class Reference . . . . . . . . .
13.106NonDSparseGrid Class Reference . . . . . . . .
13.107NonDStochCollocation Class Reference . . . . .
13.108NonlinearCGOptimizer Class Reference . . . . .
13.109NPSOLOptimizer Class Reference . . . . . . . .
13.110OptDartsOptimizer Class Reference . . . . . . .
13.111Optimizer Class Reference . . . . . . . . . . . .
13.112OutputManager Class Reference . . . . . . . . .
13.113ParallelConfiguration Class Reference . . . . . .
13.114ParallelDirectApplicInterface Class Reference . .
13.115ParallelLevel Class Reference . . . . . . . . . .
13.116ParallelLibrary Class Reference . . . . . . . . .
13.117ParamResponsePair Class Reference . . . . . . .
13.118ParamStudy Class Reference . . . . . . . . . . .
13.119partial prp equality Struct Reference . . . . . . .
13.120partial prp hash Struct Reference . . . . . . . . .
13.121PecosApproximation Class Reference . . . . . .
13.122ProblemDescDB Class Reference . . . . . . . .
13.123ProcessApplicInterface Class Reference . . . . .
13.124ProcessHandleApplicInterface Class Reference .
13.125ProgramOptions Class Reference . . . . . . . . .
13.126PStudyDACE Class Reference . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
598
600
603
605
609
615
617
620
622
624
627
630
631
634
636
637
639
641
642
643
646
655
657
659
663
666
669
671
677
680
682
685
687
690
695
697
699
700
702
711
714
718
719
719
724
732
736
739
744
CONTENTS
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
746
748
750
751
759
760
762
766
772
774
775
776
778
779
781
782
784
787
789
793
796
798
802
805
807
810
813
819
822
823
826
827
834
838
842
845
847
848
853
855
863
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
865
865
866
867
868
869
869
870
10
CONTENTS
14.8 library split.cpp File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 873
14.9 main.cpp File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874
14.10restart util.cpp File Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 875
Index
876
Chapter 1
1.1
Introduction
The Dakota (Design Analysis Kit for Optimization and Terascale Applications) 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 interval estimation methods, parameter estimation with nonlinear least squares methods, and sensitivity/variance analysis with design of experiments and parameter study capabilities. (Solution verification and
Bayesian approaches are also in development.) These capabilities may be used on their own or as components
within advanced algorithms such as surrogate-based optimization, mixed integer nonlinear programming, mixed
aleatory-epistemic uncertainty quantification, or optimization under uncertainty. By employing object-oriented
design to implement abstractions of the key components required for iterative systems analyses, the Dakota toolkit
provides a flexible problem-solving environment for design and performance analysis of computational models
on high performance computers.
The Developers Manual focuses on documentation of Dakota design principles and class structures; it derives
principally from annotated source code. For information on input command syntax, refer to the Reference
Manual, and for more details on Dakota features and capabilities, refer to the Users Manual.
1.2
Overview of Dakota
In Dakota, the environment manages execution modes and input/output streams and defines the top-level iterator.
This top-level iterator may be either a standard iterator or a meta-iterator. In the former case, the iterator identifies
a model and the environment executes the iterator on the model to perform a single study. In the latter case,
iterator recursions are present and sub-iterators may identify their own models. In both cases, models may contain
additional recursions in the case of nested iteration or surrogate modeling. In a simple example, a hybrid metaiterator might manage a global optimizer operating on a low-fidelity model that feeds promising design points
into a local optimizer operating on a high-fidelity model. And in a more advanced example, a surrogate-based
optimization under uncertainty approach would employ an uncertainty quantification iterator nested within an
11
12
optimization iterator and would employ truth models contained within surrogate models. Thus, iterators and
models provide both stand-alone capabilities as well as building blocks for more sophisticated studies.
A model contains a set of variables, an interface, and a set of responses, and the iterator operates on the
model to map the variables into responses using the interface. Each of these components is a flexible abstraction
with a variety of specializations for supporting different types of iterative studies. In a Dakota input file, the user
specifies these components through environment, method, model, variables, interface, and responses keyword
specifications.
The use of class hierarchies provides a mechanism for extensibility in Dakota components. In each of the
various class hierarchies, adding a new capability typically involves deriving a new class and providing a set of
virtual function redefinitions. These redefinitions define the coding portions specific to the new derived class,
with the common portions already defined at the base class. Thus, with a small amount of new code, the existing
facilities can be extended, reused, and leveraged for new purposes. The following sections tour Dakotas class
organization.
1.2.1
Environment
1.2.2
Iterators
Class hierarchy: Iterator. Iterator implementations may choose to split operations up into run-time phases as
described in Understanding Iterator Flow.
The iterator hierarchy contains a variety of iterative algorithms for optimization, uncertainty quantification,
nonlinear least squares, design of experiments, and parameter studies. The hierarchy is divided into MetaIterator,
Minimizer, and Analyzer branches.
The MetaIterator classes manage sequencing and collaboration among multiple methods with support for
concurrent iterator parallelism. Methods include:
SeqHybridMetaIterator: hybrid minimization using a set of iterators employing a corresponding set of
models of varying fidelity. The sequential hybrid passes the best solutions from one method in as the
starting points of the next method in the sequence.
CollabHybridMetaIterator: hybrid minimization employing collaboration and sharing of response data
among methods during the course if iteration. This class is currently a placeholder.
EmbedHybridMetaIterator: hybrid minimization involving periodic use of a local search method for refinement during the iteration of an outer global method. This class is currently a placeholder.
ConcurrentMetaIterator: two similar algorithms are available: (1) multi-start iteration from several different
starting points, and (2) pareto set optimization for several different multi-objective weightings. Employs
a single iterator with a single model, but runs multiple instances of the iterator concurrently for different
settings within the model.
The Minimizer classes address optimization and deterministic calibration and are grouped into:
13
Optimization: Optimizer provides a base class for gradient-based (e.g., CONMINOptimizer and SNLLOptimizer) and derivative-free (e.g., NCSUOptimizer, JEGAOptimizer) optimization solvers. Most of
these are wrappers for third-party libraries that implement the optimization algorithms. Classes APPSEvalMgr and COLINApplication provide the function evaluation interface for APPSOptimizer and COLINOptimizer, respectively.
Parameter estimation: LeastSq provides a base class for NL2SOLLeastSq, a least-squares solver based
on NL2SOL, SNLLLeastSq, a Gauss-Newton least-squares solver, and NLSSOLLeastSq, an SQP-based
least-squares solver.
Surrogate-based minimization (both optimization and nonlinear least squares): SurrBasedMinimizer provides a base class for SurrBasedLocalMinimizer, SurrBasedGlobalMinimizer, and EffGlobalMinimizer.
The surrogate-based local and global methods employ a single iterator with any of the available SurrogateModel capabilities (local, multipoint, or global data fits or hierarchical approximations) and perform a sequence of approximate optimizations, each involving build, optimize, and verify steps. The efficient global
method, on the other hand, hard-wires a recursion involving Gaussian process surrogate models coupled
with the DIRECT global optimizer to maximize an expected improvement function.
The Analyzer classes are grouped into:
Uncertainty quantification: NonD provides a base class for non-deterministic methods in several categories:
Sampling: NonDSampling is further specialized with the NonDLHSSampling class for Latin hypercube and Monte Carlo sampling, and a number of other classes supporting incremental and adaptive
sampling such as NonDAdaptImpSampling for multi-modal adaptive importance sampling.
Reliability Analysis: NonDReliability is further specialized with local and global methods (NonDLocalReliability and NonDGlobalReliability). NonDPOFDarts implements a computational geometrybased reliability method.
Stochastic Expansions: NonDExpansion includes specializations for generalized polynomial chaos
(NonDPolynomialChaos) and stochastic collocation (NonDStochCollocation) and is supported by the
NonDIntegration helper class, which supplies cubature, tensor-product quadrature and Smolyak sparse
grid methods (NonDCubature, NonDQuadrature, and NonDSparseGrid).
Bayesian Calibration: NonDCalibration provides a base class for nondeterministic calibration methods with specialization to Bayesian calibration in NonDBayesCalibration, and specific implementations such as NonDQUESOBayesCalibration.
NonDInterval provides a base class for epistemic interval-based UQ methods. Three interval analysis approaches are provided: LHS (NonDLHSInterval), efficient global optimization (NonDGlobalInterval), and local optimization (NonDLocalInterval). Each of these three has specializations for
single interval and Dempster-Shafer Theory of Evidence approaches.
Experimental: EfficientSubspaceMethod implements a prototype input-space dimension reduction
method for UQ.
Parameter studies and design of experiments: PStudyDACE provides a base class for ParamStudy, which
provides capabilities for directed parameter space interrogation, PSUADEDesignCompExp, which provides
access to the Morris One-At-a-Time (MOAT) method for parameter screening, and DDACEDesignCompExp and FSUDesignCompExp, which provide for parameter space exploration through design and analysis
of computer experiments. NonDLHSSampling from the uncertainty quantification branch also supports
design of experiments when in active all variables mode.
Solution verification studies: Verification provides a base class for RichExtrapVerification (verification via
Richardson extrapolation) and other solution verification methods in development.
14
1.2.3
Models
1.2.4
Variables
1.2.5
15
Interfaces
1.2.6
Responses
Class: Response.
The Response class provides an abstract data representation of response functions and their first and second
derivatives (gradient vectors and Hessian matrices). These response functions can be interpreted as objective
functions and constraints (optimization data set), residual functions and constraints (least squares data set), or
generic response functions (uncertainty quantification data set). This class is not currently part of a class hierarchy,
since the abstraction has been sufficiently general and has not required specialization.
16
1.3
Services
A variety of services and utilities are used in Dakota for parallel computing, failure capturing, restart, graphics,
etc. An overview of the classes and member functions involved in performing these services is included here.
Multilevel parallel computing: Dakota supports multiple levels of nested parallelism. A meta-iterator can
manage concurrent iterators, each of which manages concurrent function evaluations, each of which manages concurrent analyses executing on multiple processors. Partitioning of these levels with MPI communicators is managed in ParallelLibrary and scheduling routines for the levels are part of IteratorScheduler,
ApplicationInterface, and ForkApplicInterface.
Option management: Global options controlling behavior are managed in ProgramOptions, with the help
of command-line option parsing in CommandLineHandler.
Parsing: Dakota employs NIDR (New Input Deck Reader) via Dakota::ProblemDescDB::parse inputs to
parse user input files. NIDR uses the keyword handlers in the NIDRProblemDescDB derived class to populate data within the ProblemDescDB base class, which maintains a DataEnvironment specification and
lists of DataMethod, DataModel, DataVariables, DataInterface, and DataResponses specifications. Procedures for modifying the parsing subsystem are described in Instructions for Modifying Dakotas Input
Specification.
Failure capturing: Simulation failures can be trapped and managed using exception handling in ApplicationInterface and its derived classes.
Restart: Dakota maintains a record of all function evaluations both in memory (for capturing any duplication) and on the file system (for restarting runs). Restart options are managed through ProgramOptions (with
the help of CommandLineHandler); file management in OutputManager; and restart file insertions occur
in ApplicationInterface. The dakota restart util executable, built from restart util.cpp, provides a
variety of services for interrogating, converting, repairing, concatenating, and post-processing restart files.
Memory management: Dakota employs the techniques of reference counting and representation sharing
through the use of letter-envelope and handle-body idioms (Coplien, Advanced C++). The former idiom
provides for memory efficiency and enhanced polymorphism in the following class hierarchies: Environment, Iterator, Model, Variables, Constraints, Interface, ProblemDescDB, and Approximation. The latter
idiom provides for memory efficiency in data-intensive classes which do not involve a class hierarchy. The
Response and parser data (DataEnvironment, DataMethod, DataModel, DataVariables, DataInterface, and
DataResponses) classes use this idiom. When managing reference-counted data containers (e.g., Variables
or Response objects), it is important to properly manage shallow and deep copies, to allow for both efficiency and data independence as needed in a particular context.
Graphics and Output: Dakota provides 2D iteration history graphics using Motif widgets. Graphics data
can also be cataloged in a tabular data file for post-processing with 3rd party tools such as Matlab, Tecplot, etc. These capabilities are encapsulated within the Graphics class. An experimental results database
is implemented in ResultsManager and ResultsDBAny. Options for controlling output and facilities for
managing it are in OutputManager.
1.4
The following links provide guidance for core software components or specific development activities:
Coding Style Guidelines and Conventions - coding practices used by the Dakota development team.
17
Instructions for Modifying Dakotas Input Specification - how to interact with NIDR and the associated
Dakota classes.
Interfacing with Dakota as a Library - embed Dakota as a service within your application.
Understanding Iterator Flow - explanation of the full granularity of steps in Iterator execution.
Performing Function Evaluations - an overview of the classes and member functions involved in performing
function evaluations synchronously or asynchronously.
Working with Variable Containers and Views - discussion of data storage for variables and explanation of
active and inactive views of this data.
1.5
Additional Resources
18
Chapter 2
Introduction
Common code development practices can be extremely useful in multiple developer environments. Particular
styles for code components lead to improved readability of the code and can provide important visual cues to
other developers. Much of this recommended practices document is borrowed from the CUBIT mesh generation
project, which in turn borrows its recommended practices from other projects, yielding some consistency across
Sandia projects. While not strict requirements, these guidelines suggest a best-practices starting point for coding
in Dakota.
2.2
Style guidelines involve the ability to discern at a glance the type and scope of a variable or function.
2.2.1
Class names should be composed of two or more descriptive words, with the first character of each word capitalized, e.g.:
class ClassName;
Class member variables should be composed of two or more descriptive words, with the first character of the
second and succeeding words capitalized, e.g.:
double classMemberVariable;
Temporary (i.e. local) variables are lower case, with underscores separating words in a multiple word temporary variable, e.g.:
int temporary variable;
Constants (i.e. parameters) and enumeration values are upper case, with underscores separating words, e.g.:
const double CONSTANT VALUE;
19
20
2.2.2
Function styles
Function names are lower case, with underscores separating words, e.g.:
int function name();
There is no need to distinguish between member and non-member functions by style, as this distinction is usually clear by context. This style convention allows member function names which set and return the value of a
similarly-named private member variable, e.g.:
int memberVariable;
void member variable(int a) { // set
memberVariable = a;
}
int member variable() const { // get
return memberVariable;
}
In cases where the data to be set or returned is more than a few bytes, it is highly desirable to employ const
references to avoid unnecessary copying, e.g.:
void continuous variables(const RealVector& c vars) { // set
continuousVariables = c vars;
}
// get
const RealVector& continuous variables() const {
return continuousVariables;
}
Note that it is not necessary to always accept the returned data as a const reference. If it is desired to be able
change this data, then accepting the result as a new variable will generate a copy, e.g.:
// reference to continuousVariables cannot be changed
const RealVector& c vars = model.continuous variables();
// local copy of continuousVariables can be changed
RealVector c vars = model.continuous variables();
2.2.3
Miscellaneous
Appearance of typedefs to redefine or alias basic types is isolated to a few header files (data types.h,
template defs.h), so that issues like program precision can be changed by changing a few lines of typedefs rather than many lines of code, e.g.:
typedef double Real;
xemacs is the preferred source code editor, as it has C++ modes for enhancing readability through color (turn
on Syntax highlighting). Other helpful features include Paren highlighting for matching parentheses and the
New Frame utility to have more than one window operating on the same set of files (note that this is still the
same edit session, so all windows are synchronized with each other). Window width should be set to 80 internal
columns, which can be accomplished by manual resizing, or preferably, using the following alias in your shell
resource file (e.g., .cshrc):
alias xemacs "xemacs -g 81x63"
where an external width of 81 gives 80 columns internal to the window and the desired height of the window
will vary depending on monitor size. This window width imposes a coding standard since you should avoid line
wrapping by continuing anything over 80 columns onto the next line.
Indenting increments are 2 spaces per indent and comments are aligned with the code they describe, e.g.:
21
Lastly, #ifdefs are not indented (to make use of syntax highlighting in xemacs).
2.3
In addition to the style outlined above, the following file naming conventions have been established for the Dakota
project.
File names for C++ classes should, in general, use the same name as the class defined by the file. Exceptions
include:
with the introduction of the Dakota namespace, base classes which previously utilized prepended Dakota
identifiers can now safely omit the identifiers. However, since file names do not have namespace protection
from name collisions, they retain the prepended Dakota identifier. For example, a class previously named
DakotaModel which resided in DakotaModel.cpp/hpp, is now Dakota::Model (class Model in namespace
Dakota) residing in the same filenames. The retention of the previous filenames reduces the possibility of
multiple instances of a Model.hpp causing problems. Derived classes (e.g., NestedModel) do not require a
prepended Dakota identifier for either the class or file names.
in a few cases, it is convenient to maintain several closely related classes in a single file, in which case the file
name may reflect the top level class or some generalization of the set of classes (e.g., DakotaResponse.[CH]
files contain Dakota::Response and Dakota::ResponseRep classes, and DakotaBinStream.[CH] files contain
the Dakota::BiStream and Dakota::BoStream classes).
The type of file is determined by one of the four file name extensions listed below:
.hpp A class header file ends in the suffix .hpp. The header file provides the class declaration. This file does
not contain code for implementing the methods, except for the case of inline functions. Inline functions are
to be placed at the bottom of the file with the keyword inline preceding the function name.
.cpp A class implementation file ends in the suffix .cpp. An implementation file contains the definitions of
the members of the class.
22
2.4
Class documentation uses the doxygen tool available from http://www.doxygen.org and employs the JAVA-doc comment style. Brief comments appear in header files next to the attribute or function declaration.
Detailed descriptions for functions should appear alongside their implementations (i.e., in the .cpp files for noninlined, or in the headers next to the function definition for inlined). Detailed comments for a class or a class
attribute must go in the header file as this is the only option.
NOTE: Previous class documentation utilities (class2frame and class2html) used the //- comment style and
comment blocks such as this:
//////////-
Class:
Model
Description: The model to be iterated by the Iterator.
Contains Variables, Interface, and Response objects.
Owner:
Mike Eldred
Version: $Id: Dev Recomm Pract.dox 4549 2007-09-20 18:25:03Z mseldre $
These tools are no longer used, so remaining comment blocks of this type are informational only and will not
appear in the documentation generated by doxygen.
2.5
Dakota conventions for CMake files, such as CMakeLists.txt, FooConfig.cmake, etc., follow. Our goal is ease of
reading, maintenance, and support, similar to the C++ code itself. Current CMake versions and build hints are
maintained at the Developer Portal http://dakota.sandia.gov/developer/.
2.5.1
2.5.2
These variable naming conventions are especially important for those that ultimately become preprocessor defines
and affect compilation of source files.
Classic/core elements of the CMake language are set in lower case, e.g., option, set, if, find library.
Static arguments to CMake functions and macros are set in UPPER CASE, e.g. REQUIRED, NO MODULE, QUIET.
Minimize global variables, i.e., dont use 2 variables with the same meaning when one will do the job.
23
Feature toggling: when possible, use the HAVE <pkg/feature> convention already in use by many CMake-enabled TPLs, e.g.,
$ grep HAVE SYSTEM Dakota/src/CMakeLists.txt
check function exists(system HAVE SYSTEM)
if(HAVE SYSTEM)
add definitions("-DHAVE SYSTEM")
endif(HAVE SYSTEM)
$ grep HAVE CONMIN Dakota/src/CMakeLists.txt Dakota/packages/CMakeLists.txt
Dakota/src/CMakeLists.txt:if(HAVE CONMIN)
Dakota/src/CMakeLists.txt:endif(HAVE CONMIN)
Dakota/packages/CMakeLists.txt:option(HAVE CONMIN "Build the CONMIN package." ON)
Dakota/packages/CMakeLists.txt:if(HAVE CONMIN)
Dakota/packages/CMakeLists.txt:endif(HAVE CONMIN)
When a variable/preprocessor macro could result in name clashes beyond Dakota scope, e.g., for library mode users, consider prefixing the HAVE <pkg> name with DAKOTA , e.g. DAKOTA HAVE MPI.
Currently, MPI is the only use case for such a variable in Dakota, but many examples can be found in the
CMake Modules source, e.g.
grep HAVE <cmake prefix dir>/share/cmake-2.8/Modules/*
24
Chapter 3
This will enable regeneration of NIDR and Dakota components which must be updated following a spec change.
3.1
Modify dakota.input.nspec
The master input specification dakota.input.nspec in Dakota/src is the primary file to update when making a
specification change. It uses the following syntactic elements:
() for required group specifications
[] for optional specifications
| for alternatives
{} for functions to process keywords to express logical relationships. These syntactic elements can be used
to express various dependency relationships in the input specification. It is recommended that you review
the existing specification and have an understanding of the constructs in use before attempting to add new
ones.
Warning
Do not skip this step. Attempts to modify the NIDR keywds.hpp file in Dakota/src without using the
NIDR table generator are very error-prone. Moreover, the input specification provides a reference
to the allowable inputs of a particular executable and should be kept in synch with the parser files;
modifying the parser files independent of the input specification creates, at a minimum, undocumented
features.
All keywords in dakota.input.nspec are lower case by convention. All user inputs are converted to
lower case by the parser prior to keyword match testing, resulting in case insensitive parsing.
25
26
3.2
When configured with -DENABLE SPEC MAINT, performing a make in Dakota/src will regenerate all files
which derive from dakota.input.nspec, including NIDR keywds.hpp, dakota.input.summary, NIDR guikywds.h, and dakota.input.desc. If you commit changes to a source repository, be sure to commit any automatically
generated files in addition to any modified in the following steps. It is not strictly necessary to run make at this
point in the sequence, and in fact may generate errors if necessary handlers arent yet available.
3.3
Many keywords have data associated with them: an integer, a floating-point number, a string, or arrays of such
entities. Data requirements are specified in dakota.input.nspec by the tokens INTEGER, REAL, STRING, INTEGERLIST, REALLIST, STRINGLIST. (Some keywords have no associated data and hence no such token.) After
each keyword and data token, the dakota.input.nspec file specifies functions that the NIDR parser should call to
record the appearance of the keyword and deal with any associated data. The general form of this specification is
{ startfcn, startdata, stopfcn, stopdata }
i.e., a brace-enclosed list of one to four functions and data pointers, with trailing entities taken to be zero if
not present; zero for a function means no function will be called. The startfcn must deal with any associated
data. Otherwise, the distinction between startfcn and stopfcn is relevant only to keywords that begin a group of
keywords (enclosed in parentheses or square brackets). The startfcn is called before other entities in the group are
processed, and the stop function is called after they are processed. Top-level keywords often have both startfcn
and stopfcn; stopfcn is uncommon but possible for lower-level keywords. The startdata and (if needed) stopdata
values are usually pointers to little structures that provide keyword-specific details to generic functions for startfcn
and stopfcn. Some keywords that begin groups (such as approx problem within the top-level environment
keyword) have no need of either a startfcn or a stopfcn; this is indicated by {0}.
Most of the things within braces in dakota.input.nspec are invocations of macros defined in NIDRProblemDescDB.cpp. The macros simplify writing dakota.input.nspec and make it more readable. Most macro invocations
refer to little structures defined in NIDRProblemDescDB.cpp, usually with the help of other macros, some of
which have different definitions in different parts of NIDRProblemDescDB.cpp. When adding a keyword to
dakota.input.nspec, you may need to add a structure definition or even introduce a new data type. NIDRProblemDescDB.cpp has sections corresponding to each top-level keyword. The top-level keywords are in alphabetical
order, and most entities in the section for a top-level keyword are also in alphabetical order. While not required, it
is probably good practice to maintain this structure, as it makes things easier to find.
27
Any integer, real, or string data associated with a keyword are provided to the keywords startfcn, whose
second argument is a pointer to a Values structure, defined in header file nidr.h.
Example 1: if you added the specification:
[method_setting REAL {method_setting_start, &method_setting_details} ]
(and supplies a couple of default values to dm). The start functions for lower-level keywords within the method
keyword get access to dm through their g arguments. Here is an example:
void NIDRProblemDescDB::
method str(const char *keyname, Values *val, void **g, void *v)
{
(*(DataMethod**)g)->**(String DataMethod::**)v = *val->s;
}
In this example, v points to a pointer-to-member, and an assignment is made to one of the components of the
DataMethod object pointed to by g. The corresponding stopfcn for the top-level method keyword is
void NIDRProblemDescDB::
method stop(const char *keyname, Values *val, void **g, void *v)
{
DataMethod *p = *(DataMethod**)g;
pDDBInstance->dataMethodList.insert(*p);
delete p;
}
which copies the now populated DataMethod object to the right place and cleans up.
Example 2: if you added the specification
[method_setting REALLIST {{N_mdm(RealL,methodCoeffs)}
then method RealL (defined in NIDRProblemDescDB.cpp) would be called as the startfcn, and methodCoeffs
would be the name of a (currently nonexistent) component of DataMethod. The N mdm macro is defined in NIDRProblemDescDB.cpp; among other things, it turns RealL into NIDRProblemDescDB::method RealL.
This function is used to process lists of REAL values for several keywords. By looking at the source, you can see
that the list values are val->r[i] for 0 <= i < val->n.
3.4
3.4.1
The next update step involves extending the database retrieval functions in ProblemDescDB.cpp. These retrieval
functions accept an identifier string and return a database attribute of a particular type, e.g., a RealVector:
28
The implementation of each of these functions contains tables of possible entry name values and associated
pointer-to-member values. There is one table for each relevant top-level keyword, with the top-level keyword
omitted from the names in the table. Since binary search is used to look for names in these tables, each table must
be kept in alphabetical order of its entry names. For example,
...
else if ((L = Begins(entry name, "model."))) {
if (dbRep->methodDBLocked)
Locked db();
#define P &DataModelRep::
static KW<RealVector, DataModelRep> RVdmo[] = {
// must be sorted
{"nested.primary response mapping", P primaryRespCoeffs},
{"nested.secondary response mapping", P secondaryRespCoeffs},
{"surrogate.kriging conmin seed", P krigingConminSeed},
{"surrogate.kriging correlations", P krigingCorrelations},
{"surrogate.kriging max correlations", P krigingMaxCorrelations},
{"surrogate.kriging min correlations", P krigingMinCorrelations}};
#undef P
KW<RealVector, DataModelRep> *kw;
if ((kw = (KW<RealVector, DataModelRep>*)Binsearch(RVdmo, L)))
return dbRep->dataModelIter->dataModelRep->*kw->p;
}
is the model portion of ProblemDescDB::get rv(). Based on entry name, it returns the relevant attribute from a
DataModel object. Since there may be multiple model specifications, the dataModelIter list iterator identifies
which node in the list of DataModel objects is used. In particular, dataModelList contains a list of all of the
data model objects, one for each time a top-level model keyword was seen by the parser. The particular model
object used for the data retrieval is managed by dataModelIter, which is set in a set db list nodes()
operation that will not be described here.
There may be multiple DataMethod, DataModel, DataVariables, DataInterface, and/or DataResponses objects.
However, only one specification is currently allowed so a list of DataEnvironment objects is not needed. Rather,
ProblemDescDB::environmentSpec is the lone DataEnvironment object.
To augment the get <data type>() functions, add table entries with new identifier strings and pointer-tomember values that address the appropriate data attributes from the Data class object. The style for the identifier
strings is a top-down hierarchical description, with specification levels separated by periods and words separated
with underscores, e.g., "keyword.group specification.individual specification". Use the
dbRep->listIter->attribute syntax for variables, interface, responses, and method specifications. For
example, the method setting example attribute would be added to get drv() as:
{"method name.method setting", P methodSetting},
inserted at the beginning of the RVdmo array shown above (since the name in the existing first entry, i.e., nested.primary response mapping, comes alphabetically after method name.method setting).
3.5
In this step, we extend the Data class definitions (DataEnvironment, DataMethod, DataModel, DataVariables,
DataInterface, and/or DataResponses) to include the new attributes referenced in Update NIDRProblemDescDB.cpp in Dakota/src and Augment/update get <data type>() functions.
3.5.1
Add a new attribute to the public data for each of the new specifications. Follow the style guide for class attribute
naming conventions (or mimic the existing code).
3.5.2
29
Define defaults for the new attributes in the constructor initialization list. Add the new attributes to the assign()
function for use by the copy constructor and assignment operator. Add the new attributes to the write(MPIPackBuffer&), read(MPIUnpackBuffer&), and write(ostream&) functions, paying careful attention to the use of a
consistent ordering.
3.6
At this point, the new specifications have been mapped through all of the database classes. The only remaining
step is to retrieve the new data within the constructors of the classes that need it. This is done by invoking the get <data type>() function on the ProblemDescDB object using the identifier string you selected in Augment/update
get <data type>() functions. For example:
const String& interface type = problem db.get string("interface.type");
passes the "interface.type" identifier string to the ProblemDescDB::get string() retrieval function, which
returns the desired attribute from the active DataInterface object.
Warning
Use of the get <data type>() functions is restricted to class constructors, since only in class constructors
are the data list iterators (i.e., dataMethodIter, dataModelIter, dataVariablesIter, dataInterfaceIter, and dataResponsesIter) guaranteed to be set correctly. Outside of the constructors, the database list nodes will correspond to the last set operation, and may not return data from the
desired list node.
3.7
Doxygen comments should be added to the Data class headers for the new attributes, and the reference manual
sections describing the portions of dakota.input.nspec that have been modified should be updated. In particular,
the reference manual tables summarizing keywords provide help data to the Jaguar user interface so need to be
kept updated.
30
Chapter 4
32
Chapter 5
Introduction
Tightly integrating or linking Dakota into another application can improve user experience by delivering a more
unified, inter-operable software tool for optimization and UQ analyses, improving performance by eliminating file
system-based interfaces, and reducing challenges with parallel computing inter-operation. This benefit has been
realized within several Sandia and external simulation applications. This section describes how to link Dakota
into another C++ application.
Dakota has two primary application programming interfaces (APIs). The LibraryEnvironment class facilitates
use of Dakota as an algorithm service library within another application. In this case, the simulation application
is providing a front end for Dakota. The second API, provided by the DirectApplicInterface class, provides
an interface for Dakota to call the simulation code directly to perform function evaluations in core. This permits
the simulation to be the back end for Dakota. The most complete library integration of Dakota would use both
in combination, with the overall simulation framework providing both the front end and back end for Dakota,
creating a sandwich, as loosely depicted here:
[-----------[ Application
[
[ ( ----[ ( Dakota (LibraryEnvironment)
[ (
[ ( { Function evaluation callback to Application (via DirectApplicInterface)
[ ( { |
[ <------/
[ ( {
[ (
[ ( ----[
[------------
Attention
Dakota may be integrated as a library in other software applications subject to the terms of the GNU Lesser
General Public License (LGPL). Refer to http://www.gnu.org/licenses/lgpl.html or the LICENSE file included with Dakota.
When Dakota is compiled and installed, the relevant library API headers are installed to CMAKE INSTALL PREFIX/include and the runtime libraries primarily to CMAKE INSTALL PREFIX/lib/ (on some platforms,
33
34
to CMAKE INSTALL PREFIX/bin/. The core C/C++ code is in the library dakota src, while Fortran code
lives in the dakota src fortran library. Information on using the API in Dakota headers is included throughout this section, while considerations for configuring and linking against Dakota and its various required and
optional thirdparty libraries are emphasized in the section Linking against the Dakota library.
Steps involved in integrating Dakota into another application typically include:
1. Writing C++ code for your application to instantiate, configure, and execute Dakotas LibraryEnvironment
(front end); see Basic Dakota library instantiation and Configuring Dakota operation.
2. Writing C++ code for Dakota to call a function in your application to perform function evaluations (back
end); see Creating a simulator plugin interface.
3. Compiling Dakota and linking into your application (Linking against the Dakota library).
Several source code examples demonstrate Dakota library interfaces. The classes SIM::SerialDirectApplicInterface and SIM::ParallelDirectApplicInterface demonstrate serial and parallel simulation function evaluation
plug-ins. The file library mode.cpp includes a main program that exercises Dakota libraries in serial and parallel
modes with these mock simulator programs, with various ways of configuring Dakota problem definition and operation. Finally, library split.cpp demonstrates running Dakota as a library modular on an MPI sub-communicator.
5.2
The function run dakota parse() in library mode.cpp demonstrates the basic use of Dakota library objects as one
would in another main application that embeds Dakota. In this example, Dakota is configured based on a typical
user-provided text-based Dakota input file (the same that would be provided at the command line with dakota
-i dakota optimization.in) and a function evaluator derived from a DirectApplicInterface is plugged
into the Dakota library environment.
First, an object of type ProgramOptions which manages top-level Dakota settings is instantiated and configured to specify the name of the Dakota user input file. Additional options for output and error redirection, restart
operation, and more may be set via ProgramOptions. See its class documentation for details.
string dakota input file = "dakota optimization.in";
Dakota::ProgramOptions opts;
opts.input file(dakota input file);
This standard constructor will parse the specified input and create Dakota objects. It assumes many default
settings, including that the parent application initialized MPI if running in parallel mode. (In this case, Dakota will
detect whether MPI was initialized and not call MPI Init or MPI Finalize.) For more advanced use cases described
below, alternate constructors allow constructing based on MPI communicators, with delayed finalization, and with
Dakota database update function callbacks. Then the applications function evaluator implementing Dakotas
DirectApplicInterface is plugged in with a convenience function serial interface plugin() or parallel interface plugin(). Finally, the Dakota analysis is run by calling
env.execute();
The next two sections offer additional details on (1) alternative and supplementary ways to configure Dakotas
operation (Configuring Dakota operation) and (2) how to specialize Dakotas DirectApplicInterface to provide a
function evaluator plugin to Dakota (Creating a simulator plugin interface).
35
Remarks
After LibraryEnvironment construction, all MPI communicator partitioning has been performed and the
ParallelLibrary instance may be interrogated for parallel configuration data. For example, the lowest level
communicators in Dakotas multilevel parallel partitioning are the analysis communicators, which can be
retrieved using:
// retrieve the set of analysis communicators for simulation initialization:
// one analysis comm per ParallelConfiguration (PC), one PC per Model.
Array<MPI Comm> analysis comms = parallel lib.analysis intra communicators();
These communicators can then be used for initializing parallel simulation instances when registering the
plugin interface, where the number of MPI communicators in the array corresponds to one communicator
per ParallelConfiguration instance. This is demonstrated below in Derivation.
5.3
This section describes several alternate ways to initially set and later manipulate Dakotas configuration, including
alternatives to using a text-based input file. The algorithm configuration for a particular Dakota analysis run
is managed in its ProblemDescDB, which can be populated via an input file, string literal, or C++ API, and
later modified through Dakotas C++ API. All Dakota objects then draw information from this database upon
instantiation.
5.3.1
The simplest way for an application to configure a Dakota analysis problem is to use Dakotas normal input
parsing system to populate its problem database (ProblemDescDB). This is done by providing standard Dakota
input file syntax through the library interface, via either a file name or string literal. An advantage is that native
Dakota syntax can be used, but disadvantages include the requirement for an additional input file beyond those
already required by the parent application and that application users also need to know Dakota syntax.
The two ways to configure Dakota via input parsing are shown near the beginning of run dakota mixed() in
library mode.cpp. Here the ProgramOptions are set to either parse from a named file:
Dakota::ProgramOptions opts;
opts.input file(dakota input file);
This library approach is coarse-grained in that input is parsed, objects constructed, and the environment is
immediately ready to run. The next approaches are more modular.
5.3.2
A second approach to configuring Dakotas operation is to bypass parsing phases and directly populate the
ProblemDescDB with information on the methods, variables, interface, responses, etc., that define the Dakota
analysis problem. This approach requires more interaction with Dakota classes and data structures. However,
it can offer usability benefit when the integrating application does not want their users to interact with the full
Dakota syntax, or efficiency benefit when for example there are a large number of variables to configure.
In the direct database population approach, Dakota DataMethod, DataModel, DataVariables, DataInterface,
and DataResponses objects are instantiated and populated with the desired problem data. These objects are then
36
published to the problem database using insert nodes() . An example of this approach is available in run dakotadata() in library mode.cpp, where the OPT++ Quasi-Newton method is configured to work on a plugin version
of text book or rosenbrock. The data objects are populated with their default values upon instantiation
and are often sufficient for basic Dakota studies. Only the non-default values need to be specified. Moreover the
default Dakota Model is a SingleModel, so this object need not be configured unless tailoring its configuration
or using a more advanced model type. Refer to the DataMethod, DataModel, DataVariables, DataInterface, and
DataResponses class documentation and source code for lists of attributes and their defaults. Here is an excerpt
of run dakota data() that specifies the OPT++ solver after default construction of DataMethod:
Dakota::DataMethod
dme;
Dakota::DataMethodRep* dmr = dme.data rep();
dmr->methodName = Dakota::OPTPP Q NEWTON;
When using direct database population, it is critical to leave the database in an open, accessible state after
initial construction. In this run dakota data() example, a flag check bcast construct is passed into the
LibraryEnvironment constructor, indicating that it should not finalize the database and construct Dakota objects.
Moreover, it is only necessary to populate the database on rank 0 of the MPI Comm on which Dakota is running.
After database objects are inserted or adjusted, the LibraryEnvironment::done modifying db() function must be
called before proceeding to execute. This synchronizes problem data across all ranks and constructs Dakota
objects needed to run the specified analysis.
bool check bcast construct = false;
Dakota::LibraryEnvironment env(MPI COMM WORLD, opts, check bcast construct);
if (rank == 0)
// insert/modify DB, then lock and proceed:
env.done modifying db();
env.execute();
5.3.3
The LibraryEnvironment API also supports mixed approaches that combine the parsing of a Dakota input file (or
input string literal) with direct database updates. This approach is motivated by large-scale applications where
large vectors are cumbersome to specify in a Dakota input file or where later updates to an input template are
needed. The example run dakota mixed() in library mode.cpp demonstrates the combination of these more advanced approaches: (1) input text parsing, (2) database updates via a callback, (3) database updates via direct
manipulation, and (4) further runtime updates to the Model before running.
First, a ProgramOptions class is instantiated and configured to parse either an input file or input string literal (as
in earlier examples). The passed input data must contain all required inputs so the parser can validate them. Since
vector data like variable values/bounds/tags, linear/nonlinear constraint coefficients/bounds, etc., are optional,
these potentially large vector specifications can be omitted from the input file and updated later through the
database API. Only the variable/response counts necessary for sizing, e.g.:
method
linear_inequality_constraints = 500
variables
continuous_design = 1000
responses
objective_functions = 1
nonlinear_inequality_constraints = 100000
and not the lists of values are required in this case. To update or add data after this initial parse, we use the
ProblemDescDB::set() family of overloaded functions, e.g.
Dakota::RealVector drv(1000, 1.); // vector of length 1000, values initialized to 1.
problem db.set("variables.continuous design.initial point", drv);
37
where the string identifiers are the same identifiers used when pulling information from the database using
one of the get <datatype>() functions (refer to ProblemDescDB for a full list). However, the supported ProblemDescDB::set() options are a restricted subset of the database attributes, focused on vector inputs that can be large
scale.
Second, the example demonstrates a user-provided callback function which Dakota will invoke after input
parsing to update ProblemDescDB. In library mode.cpp, callback function() is a user-provided post-parse
callback that implements the type Dakota::DbCallbackFunction.
static void callback function(Dakota::ProblemDescDB* db, void *ptr);
When Dakota calls this function it will pass back pointers to the ProblemDescDB instance and to user-provided
data, so the application may convey its settings by calling methods on the ProblemDescDB, optionally using the
provided data. An example of a user data structure is demonstrated in callback data. In this case, when the
LibraryEnvironment is constructed, it is constructed with the input data to initially parse, the callback function,
and to leave it unlocked for further updates:
bool done with db = false;
Dakota::LibraryEnvironment env(opts, done with db,
callback function, &data);
Third, the example demonstrates changes to the database after parsing and callback-based updates. Again,
these only need happen on Dakotas rank 0 before finalizing the DB with LibraryEnvironment::done modifying db(). The example demonstrates:
1. Getting access to the database through env.problem description db()
2. Setting the database nodes to the appropriate method through problem db.resolve top method()
3. Getting data from the DB with a get string array function: problem db.get sa(interface.application.analysis drivers)
4. Setting update data with problem db.set(variables.continuous design.initial point, ip);
After any of these three types updates, calling LibraryEnvironment::done modifying db() will broadcast any
updates (including potentially large vector data and post-process specification data to fill in any vector defaults
that have not yet been provided through either file parsing or direct updates. (Note: scalar defaults are handled in
the Data class constructors.)
Fourth and finally, run dakota mixed() demonstrates modifying a Models data after database operations and
interface plugin are complete. This involves finding the right Model (or other class) instance to modify, and
directly adjusting its data through the public API. Since the database is finalized, any updates must be performed
through direct set operations on the constructed objects. For example, to update other data such as variable
values/bounds/tags or response bounds/targets/tags, refer to the set functions documented in Iterator and Model.
As an example, the following code updates the active continuous variable values, which will be employed as the
initial guess for certain classes of Iterators:
ModelList& all models = problem db.model list();
Model&
first model = *all models.begin();
Dakota::RealVector drv(1000, 1.); // vector of length 1000, values initialized to 1.
first model.continuous variables(drv);
38
Remarks
If performing such data updates within the constructor of a DirectApplicInterface extension/derivation (see Creating a simulator plugin interface), then this code is sufficient since the database is unlocked, the active list nodes of
the ProblemDescDB have been set for you, and the correct method/model/variables/interface/responses specification instance will get updated. The difficulty in this case stems from the order of instantiation. Since the Variables
and Response instances are constructed in the base Model class, prior to construction of Interface instances in
derived Model classes, database information related to Variables and Response objects will have already been
extracted by the time the Interface constructor is invoked and the database update will not propagate.
Therefore, it is preferred to perform these database set operations at a higher level (e.g., within your main
program), prior to allowing Environment to broadcast, construct, and execute, such that instantiation order is not
an issue. However, in this case, it is necessary to explicitly manage the list nodes of the ProblemDescDB using a
specification instance identifier that corresponds to an identifier from the input file, e.g.:
problem db.set db variables node("MY VARIABLES ID");
Dakota::RealVector drv(1000, 1.); // vector of length 1000, values
initialized to 1.
problem db.set("variables.continuous design.initial point", drv);
Alternatively, rather than setting just a single data node, all data nodes may be set using a method specification
identifier:
problem db.set db list nodes("MY METHOD ID");
since the method specification is responsible for identifying a model specification, which in turn identifies
variables, interface, and responses specifications. If hard-wiring specification identifiers is undesirable, then
problem db.resolve top method();
can also be used to deduce the active method specification and set all list nodes based on it. This is most
appropriate in the case where only single specifications exist for method/model/variables/interface/responses.
This is the approach demonstrated in run dakota mixed(). In each of these cases, setting list nodes unlocks the
corresponding portions of the database, allowing set/get operations.
5.4
The DirectApplicInterface class provides an interface for Dakota to call the simulation code directly to perform
function evaluations mapping variables to responses. This provides the back end for Dakota to call back to
the simulation framework. Two approaches to defining this direct interface are described here. The first is less
common, while the second is recommended when possible.
5.4.1
Extension
The first approach involves extending one of the existing DirectApplicInterface subclasses (TestDriverInterface,
MatlabInterface, etc.) to support additional direct simulation interfaces. For example, Dakota algebraic test
problems are implemented in TestDriverInterface. One could add additional direct functions to Dakota in TestDriverInterface::derived map ac(). In addition, TestDriverInterface::derived map if() and TestDriverInterface::derived map of() can be extended to perform pre- and post-processing tasks if desired, but this is not required.
While this approach is the simplest, it has the disadvantage that the Dakota library will need to be recompiled
when the simulation or its direct interface is modified. If it is desirable to maintain the independence of the Dakota
library from the host application, then the derivation approach described in the next section should be employed.
39
Remarks
If the new direct evaluation function implementation will not be a member function of one of the Dakota
classes, then the following prototype should be used in order to pass the required data:
int sim(const Dakota::Variables& vars, const Dakota::ActiveSet& set,
Dakota::Response& response);
If the new function will be a member function, e.g., in TestDriverInterface, then this can be simplified to
int sim();
since the data access can be performed through the DirectApplicInterface class attributes.}
5.4.2
Derivation
The second approach is to derive a new interface from DirectApplicInterface and redefine several virtual functions.
As demonstrated in SIM::SerialDirectApplicInterface and SIM::ParallelDirectApplicInterface, a typical derived
class declaration might be
namespace SIM {
class SerialDirectApplicInterface: public Dakota::DirectApplicInterface
{
public:
// Constructor and destructor
SerialDirectApplicInterface(const Dakota::ProblemDescDB& problem db);
SerialDirectApplicInterface();
protected:
// Virtual function redefinitions
int derived map if(const Dakota::String& if name);
int derived map ac(const Dakota::String& ac name);
int derived map of(const Dakota::String& of name);
private:
// Data
}
} // namespace SIM
where the new derived class resides in the simulations namespace. Similar to the case of Extension, the
DirectApplicInterface::derived map ac() function is the required redefinition, and DirectApplicInterface::derivedmap if() and DirectApplicInterface::derived map of() are optional.
Typically the new derived map ac() implementation delegates to the main simulation application for a function
evaluation. Here Dakota variables would get mapped into the simulations data structures, the simulation executed,
and derived response data computed for return to Dakota.
Once a derived application class is created, it must be plugged in, or registered, with the appropriate Interface
in the LibraryEnvironment. In MPI cases where Dakota is potentially managing concurrent evaluations of the
simulation, the plugin must be configured to run on the right MPI sub-communicator, or Dakota analysis comm.
The simpler case is demonstrated in serial interface plugin() in library mode.cpp, while a more advanced case
using the analysis communicator is shown in parallel interface plugin().
The Dakota LibraryEnvironment provides a convenience function to plugin an Interface. This example will replace any interface found matching the given model, interface, and analysis driver with the passed plugin interface:
40
std::string model type(""); // demo: empty string will match any model type
std::string interf type("direct");
std::string an driver("plugin rosenbrock");
Dakota::ProblemDescDB& problem db = env.problem description db();
Dakota::Interface* serial iface =
new SIM::SerialDirectApplicInterface(problem db);
bool plugged in =
env.plugin interface(model type, interf type, an driver, serial iface);
The LibraryEnvironment also provides convenience functions that allow the client to iterate the lists of available interfaces or models for more advanced cases. For instance if the client knows there is only a single interface
active, it could get the list of available interfaces of length 1 and plugin to the first one. In the more advanced
case where the simulation interface instance should manage parallel simulations within the context of an MPI
communicator, one should pass in the relevant analysis communicator(s) to the derived constructor. For the latter
case of looping over a set of models, the simplest approach of passing a single analysis communicator would use
code similar to
The file library mode.cpp demonstrates each of these approaches. Since a Model may be used in multiple
parallel contexts and may therefore have a set of parallel configurations, a more general approach would extract
and pass an array of analysis communicators to allow initialization for each of the parallel configurations.
New derived direct interface instances inherit various attributes of use in configuring the simulation. In particular, the ApplicationInterface::parallelLib reference provides access to MPI communicator data (e.g., the analysis communicators discussed above), DirectApplicInterface::analysisDrivers provides the analysis driver names
specified by the user in the input file, and DirectApplicInterface::analysisComponents provides additional analysis
component identifiers (such as mesh file names) provided by the user which can be used to distinguish different
instances of the same simulation interface. It is worth noting that inherited attributes that are set as part of the
parallel configuration (instead of being extracted from the ProblemDescDB) will be set to their defaults following
construction of the base class instance for the derived class plug-in. It is not until run-time (i.e., within derivedmap if/derived map ac/derived map of) that the parallel configuration settings are re-propagated to the plug-in
instance. This is the reason that the analysis communicator should be passed in to the constructor of a parallel
plug-in, if the constructor will be responsible for parallel application initialization.
5.5
41
After executing the Dakota Environment, final results can be obtained through the use of Environment::variablesresults() and Environment::response results(), e.g.:
// retrieve the final parameter values
const Variables& vars = env.variables results();
// retrieve the final response values
const Response& resp = env.response results();
In the case of optimization, the final design is returned, and in the case of uncertainty quantification, the final
statistics are returned. Dakota has a prototype results database, which will eventually provide better access to the
results from a study.
5.6
This section presumes Dakota has been configured with CMake, compiled, and installed to a CMAKE INSTALL PREFIX using make install or equivalent. The Dakota libraries against which you must link will
typically install to CMAKE INSTALL PREFIX/bin/ and CMAKE INSTALL PREFIX/lib/, while headers
are provided in CMAKE INSTALL PREFIX/lib/. The core Dakota C and C++ code is in the library dakotasrc, while Fortran code lives in the dakota src fortran library. Runtime libraries for any configureenabled Dakota third-party software components (such as DOT, NPSOL, OPT++, LHS, etc.) are also installed
to the lib/ directory. Applications link against these Dakota libraries by specifying appropriate include and link
directives.
There two primary ways to determine the necessary Dakota-related libraries and link order for linking your
application. First, when running CMake, a list of required Dakota and Dakota-included third-party libraries will
be output to the console, e.g.,
-- Dakota_LIBRARIES: dakota_src;dakota_src_fortran;nidr;teuchos;pecos;pecos_src;lhs;mods;mod;dfftpack;sparsegr
-- Dakota_TPL_LIBRARIES: /usr/lib64/libcurl.so;/usr/lib64/openmpi/lib/libmpi_cxx.so;debug;/usr/lib64/libz.so;d
Note that depending on how you configured Dakota, some libraries may be omitted from these lists (for
example commercial add-ons NPSOL, DOT, and NLPQL), or additional libraries may appear.
A second option is to check which libraries appear in CMAKE INSTALL PREFIX/bin/ CMAKE INSTALL PREFIX/lib/, or more accurately, see the file Makefile.export.Dakota in the Dakota build/src/ or installation
include/ directory. Here are some additional notes on specific libraries:
Some Boost libraries (boost regex, boost filesystem, boost system, boost serialization)
are required, and other Boost library components may be required depending on configuration, e.g., boostsignals when configuring with HAVE ACRO:BOOL=TRUE
System compiler and math libraries may need to be included, as may additional system libraries such as
Expat and Curl, depending on how Dakota is configured.
If configuring with graphics, you will need to add the Dakota DGraphics library and system X libraries
(partial list here):
-lXpm -lXm -lXt -lXmu -lXp -lXext -lX11 -lSM -lICE
42
Finally, it is important to use the same C++ compiler (possibly an MPI wrapper) for compiling Dakota and
your application and potentially include Dakota-related preprocessor defines as emitted by CMake during compilation of Dakota and included in Makefile.export.Dakota. This ensures that the platform configuration settings
are properly synchronized across Dakota and your application.
Chapter 6
6.1
For a synchronous (i.e., blocking) mapping of parameters to responses, an iterator invokes Model::compute response() to perform a function evaluation. This function is all that is seen from the iterator level, as underlying
complexities are isolated. The binding of this top level function with lower level functions is as follows:
Model::compute response() utilizes Model::derived compute response() for portions of the response computation specific to derived model classes.
Model::derived compute response() directly or indirectly invokes Interface::map().
Interface::map() utilizes ApplicationInterface::derived map() for portions of the mapping specific to derived
application interface classes.
6.2
For an asynchronous (i.e., nonblocking) mapping of parameters to responses, an iterator invokes Model::asynchcompute response() multiple times to queue asynchronous jobs and then invokes either Model::synchronize()
or Model::synchronize nowait() to schedule the queued jobs in blocking or nonblocking fashion. Again, these
functions are all that is seen from the iterator level, as underlying complexities are isolated. The binding of these
top level functions with lower level functions is as follows:
Model::asynch compute response() utilizes Model::derived asynch compute response() for portions of the
response computation specific to derived model classes.
This derived model class function directly or indirectly invokes Interface::map() in asynchronous mode,
which adds the job to a scheduling queue.
Model::synchronize() or Model::synchronize nowait() utilize Model::derived synchronize() or Model::derivedsynchronize nowait() for portions of the scheduling process specific to derived model classes.
43
44
6.3
NOTE: The Interface evaluation scheduling in Dakota was refactored for releases 5.4 and 6.0. Discussion of the
new Interface-related functions for analyses is currently missing here.
The discussion above covers the parallelism level of concurrent function evaluations serving an iterator. For
the parallelism level of concurrent analyses serving a function evaluation, similar schedulers are involved
to support synchronous local, asynchronous local, message passing, and hybrid modes. Not all of the schedulers are elevated to the ApplicationInterface level since the system call and direct function interfaces do not yet
support nonblocking local analyses (and therefore support synchronous local and message passing modes, but not
asynchronous local or hybrid modes). Fork interfaces, however, support all modes of analysis parallelism.
Chapter 7
7.1
Storage in Variables
As described in the Main Page Variables, a Variables object manages variable types (design, aleatory uncertain,
epistemic uncertain, and state) and domain types (continuous, discrete integer, and discrete real) and supports
different approaches to either distinguishing among these types or aggregating them. Two techniques are used in
cooperation to accomplish this management: (1) class specialization (RelaxedVariables or MixedVariables) and
(2) views into contiguous variable arrays. The latter technique is used whenever it can satisfy the requirement,
with fallback to class specialization when it cannot. In particular, aggregation or separation of variable types
can be accomplished with views, but for aggregation or separation of variable domains, we must resort to class
45
46
specialization in order to relax discrete domain types. In this class specialization, a RelaxedVariables object
combines continuous and discrete types (relaxing integers to reals) whereas a MixedVariables object maintains
the integer/real distinction throughout.
The core data for a Variables instance is stored in a set of three continguous arrays, corresponding to the
domain types: allContinuousVars, allDiscreteIntVars, and allDiscreteRealVars, unique to each Variables instance.
Within the core variable data arrays, data corresponding to different aggregated variable types are stored in
sequence for each domain type:
continuous: [design, aleatory uncertain, epistemic uncertain, state]
discrete integer: [design, aleatory uncertain, (epistemic uncertain), state]
discrete real: [design, aleatory uncertain, (epistemic uncertain), state]
Note there are currently no epistemic discrete variables. This domain type ordering (continuous, discrete integer,
discrete real) and aggregated variable type ordering (design, aleatory uncertain, epistemic uncertain, state) is
preserved whenever distinct types are flattened into single contiguous arrays. Note that the aleatory and epistemic
uncertain variables contain sub-types for different distributions (e.g., normal, uniform, histogram, poisson), and
discrete integer types include both integer ranges and integer set sub-types. All sub-types are ordered according
to their order of appearance in dakota.input.nspec.
When relaxing in MixedVariables, the allContinuousVars will also aggregate the discrete types, such that they
contain ALL design, then ALL uncertain, then ALL state variables, each in aggregated type order; the allDiscreteIntVars and allDiscreteRealVars arrays are empty.
7.2
Storage in SharedVariablesData
Each Variables instance contains a reference-counted SharedVariablesData object that stores information on the
variables configuration. This configuration data includes counts, types, IDs, and labels, which are often the
same across many Variables instances. Thus, SharedVariablesData is intended to reduce the memory footprint by
allowing the sharing of a single copy of redundant information among different Variables instances.
One of the purposes of this shared information is to support mappings between variable types, IDs, and indices
into the storage arrays. Variable types refer to the fine-grained variable types a user would specify in an input
file, as enumerated in DataVariables.hpp, e.g, CONTINUOUS DESIGN, WEIBULL UNCERTAIN, DISCRETE STATE RANGE, etc. variablesComponents is a map from these variable types to counts of how many are
present.
In contrast, the variablesCompsTotals array stores total counts of each aggregated type (design, aleatory
uncertain, epistemic uncertain, state) which might be selected to be active in a given view. Thus this array has
length 12 to track the combinations of three domain type storage arrays with four possible aggregated variable
types: {continuous, discrete integer, discrete real} x {design, aleatory uncertain, epistemic uncertain, state}. For
example, the first entry of this array stores the number of continuous design variables, the second the number of
discrete integer design (including both discrete design range and discrete design set integer types), and the last the
number of discrete real state variables.
The arrays allContinuousTypes, allDiscreteIntTypes, and allDiscreteRealTypes are sized to match the corresponding core domain type storage arrays. They track the fine-grained variable type stored in that entry of the
data array (since when relaxed, the continuous array may be storing data corresponding to discrete data).
Finally allContinuousIds stores the 1-based IDs of the variables stored in the allContinuousVars array, i.e.,
the variable number of all the problem variables considered as a single contiguous set, in aggregate type order.
For relaxed (formerly merged) views, relaxedDiscreteIds stores the 1-based IDs of the variables which have been
relaxed into the continuous array.
47
These counts, types, and IDs are most commonly used within the Model classes for mappings between variables objects at different levels of a model recursion. See, for example, the variable mappings in the NestedModel
constructor.
7.3
The pair SharedVariablesDataRep::variablesView tracks the active and inactive views of the data, with values
taken from the enum in DataVariables.hpp. The valid values include EMPTY and the combinations {relaxed,
mixed} x {all, design, aleatory uncertain, epistemic uncertain, uncertain, state}. The ALL cases indicate aggregation of the design, aleatory uncertain, epistemic uncertain, and state types, whereas the DISTINCT cases
indicate either no aggregation (design, aleatory uncertain, epistemic uncertain, state) or reduced aggregation
(aleatory+epistemic uncertain). The active view is determined by the algorithm in use, managed in Variables::getview(). Any inactive view is set based on higher level iteration within a model recursion (e.g., a NestedModel),
which enables lower level iteration to return derivatives with respect to variables that are active at the higher level.
In the case where there is no higher level iteration, then the inactive view will remain EMPTY. It is important
to stress that inactive at one level corresponds to active at another, and therefore the inactive set of variables
should not be interpreted as the strict complement of the active set of variables; rather, active and inactive are
both subsets whose union may still be a subset of the total container (more precise terminology might involve
primary active and secondary active or similar). An active complement view could potentially be supported
in the future, should the need arise, although this view would require management of non-contiguous portions of
the aggregated arrays.
Given these groupings (views), the active and inactive subsets of the allContinuousVars, allDiscreteIntVars,
and allDiscreteRealVars arrays are always contiguous, permitting vector views of the underlying data using either
Teuchos::View (for numerical vectors) or Boost.MultiArray (for book-keeping arrays) views.
When a Variables envelope is constructed, its letter is initialized to either a RelaxedVariables or MixedVariables object depending on the active view. The derived classes size the contiguous storage arrays to accomodate all the problem variables, and then initialize active views into them, which could involve either subsets
(DISTINCT active views) or views of the full arrays (ALL active views). Inactive views, on the other hand, are
initialized during construction of a model recursion (e.g., a call to Model::inactive view() in the NestedModel
constructor). Thus, active variable subsets are always available but inactive variable subsets will be EMPTY prior
to them being initialized within a Model recursion.
Accessors for continuous variables include:
continuous variables(): returns the active view which might return all (ALL views) or a subset (DISTINCT
views) such as design, uncertain, only aleatory uncertain, etc.
inactive continuous variables(): returns the inactive view which which is either a subset or empty
all continuous variables(): returns the full vector allContinuousVars
and this pattern is followed for active/inactive/all access to discrete int variables() and discrete real variables() as
well as for labels, IDs, and types in SharedVariablesData and variable bounds in Constraints.
Member SurfpackApproximation::build ()
Right now, were completely deleting the old data and then recopying the current data into a SurfData object.
This was just the easiest way to arrive at a solution that would build and run. This function is frequently called
from addPoint rebuild, however, and its not good to go through this whole process every time one more data
point is added.
Member SurfpackApproximation::hessian (const Variables &vars)
Make this acceptably efficient
48
Chapter 8
Namespace Index
8.1
Namespace List
49
50
Chapter 9
Hierarchical Index
9.1
Class Hierarchy
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
283
306
445
719
823
845
847
317
322
323
323
333
343
517
759
352
353
366
367
368
380
381
385
387
390
391
410
417
426
438
498
52
430
432
437
439
450
332
453
461
291
406
500
748
781
848
699
787
732
736
440
822
842
456
312
470
285
580
421
600
598
605
627
666
609
659
680
631
603
663
677
634
617
615
622
637
636
641
643
53
642
655
657
669
620
646
671
590
594
624
630
639
744
402
442
714
746
863
779
502
330
334
425
784
503
494
568
575
810
690
320
326
336
413
488
553
571
578
682
685
687
813
834
419
826
827
483
520
54
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
556
751
805
838
355
457
548
549
551
568
577
695
697
700
702
711
718
719
724
564
739
750
762
766
772
774
775
776
778
782
789
793
796
798
802
807
810
813
819
575
685
853
855
518
760
Chapter 10
Class Index
10.1
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
ActiveSet
Container class for active set tracking information. Contains the active set request vector and
the derivative variables vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Analyzer
Base class for NonD, DACE, and ParamStudy branches of the iterator hierarchy . . . . . . .
ApplicationInterface
Derived class within the interface class hierarchy for supporting interfaces to simulation codes
Approximation
Base class for the approximation class hierarchy . . . . . . . . . . . . . . . . . . . . . . . .
ApproximationInterface
Derived class within the interface class hierarchy for supporting approximations to simulationbased results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APPSEvalMgr
Evaluation manager class for APPSPACK . . . . . . . . . . . . . . . . . . . . . . . . . . . .
APPSOptimizer
Wrapper class for HOPSPACK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
BaseConstructor
Dummy struct for overloading letter-envelope constructors . . . . . . . . . . . . . . . . . . .
callback data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COLINApplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
COLINOptimizer
Wrapper class for optimizers defined using COLIN . . . . . . . . . . . . . . . . . . . . . . .
CollabHybridMetaIterator
Meta-iterator for hybrid iteration using multiple collaborating optimization and nonlinear least
squares methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
CommandLineHandler
Utility class for managing command line inputs to DAKOTA . . . . . . . . . . . . . . . . .
CommandShell
Utility class which defines convenience operators for spawning processes with system calls .
ConcurrentMetaIterator
Meta-iterator for multi-start iteration or pareto set optimization . . . . . . . . . . . . . . . . .
55
283
285
291
306
312
317
320
322
323
323
326
330
332
333
334
56
. 336
. 343
. 352
. 353
. 355
. 366
. 367
. 368
. 380
. 381
. 385
. 387
. 390
. 391
. 402
. 406
. 410
. 413
. 417
. 419
. 421
. 425
57
. 426
. 430
. 432
. 437
. 438
. 439
440
. 442
. 445
. 450
. 453
. 456
. 457
. 461
. 470
. 483
. 488
. 494
. 498
. 500
. 502
. 503
58
. 517
. 518
. 520
. 548
. 549
. 551
. 553
. 556
. 564
. 568
. 568
. 571
. 575
. 577
. 578
. 580
. 590
. 594
. 598
. 600
. 603
59
. 605
. 609
. 615
. 617
. 620
. 622
. 624
. 627
. 630
. 631
. 634
. 636
. 637
. 639
. 641
. 642
. 643
. 646
. 655
. 657
. 659
60
61
732
736
739
744
746
748
750
751
759
760
762
766
772
774
775
776
778
779
781
782
784
62
. 787
. 789
. 793
. 796
. 798
. 802
. 805
. 807
. 810
. 813
. 819
. 822
. 823
. 826
. 827
. 834
. 838
. 842
. 845
. 847
. 848
. 853
63
Variables
Base class for the variables class hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . 855
Verification
Base class for managing common aspects of verification studies . . . . . . . . . . . . . . . . 863
64
Chapter 11
File Index
11.1
File List
65
. 865
. 866
. 867
. 868
. 869
. 869
. 870
. 873
. 874
. 875
66
Chapter 12
Namespace Documentation
12.1
Classes
class ApplicationInterface
Derived class within the interface class hierarchy for supporting interfaces to simulation codes.
class ApproximationInterface
Derived class within the interface class hierarchy for supporting approximations to simulation-based results.
class APPSEvalMgr
Evaluation manager class for APPSPACK.
class APPSOptimizer
Wrapper class for HOPSPACK.
class COLINApplication
class COLINOptimizer
Wrapper class for optimizers defined using COLIN.
class CollabHybridMetaIterator
Meta-iterator for hybrid iteration using multiple collaborating optimization and nonlinear least squares methods.
class GetLongOpt
GetLongOpt is a general command line utility from S. Manoharan (Advanced Computer Research Institute, Lyon,
France).
class CommandLineHandler
Utility class for managing command line inputs to DAKOTA.
class CommandShell
Utility class which defines convenience operators for spawning processes with system calls.
class ConcurrentMetaIterator
Meta-iterator for multi-start iteration or pareto set optimization.
class CONMINOptimizer
Wrapper class for the CONMIN optimization library.
struct BaseConstructor
67
68
struct NoDBBaseConstructor
Dummy struct for overloading constructors used in on-the-fly instantiations.
struct RecastBaseConstructor
Dummy struct for overloading constructors used in on-the-fly Model instantiations.
class ActiveSet
Container class for active set tracking information. Contains the active set request vector and the derivative variables vector.
class Analyzer
Base class for NonD, DACE, and ParamStudy branches of the iterator hierarchy.
class Approximation
Base class for the approximation class hierarchy.
class Constraints
Base class for the variable constraints class hierarchy.
class Environment
Base class for the environment class hierarchy.
class Graphics
The Graphics class provides a single interface to 2D (motif) and 3D (PLPLOT) graphics as well as tabular cataloguing of data for post-processing with Matlab, Tecplot, etc.
class Interface
Base class for the interface class hierarchy.
class Iterator
Base class for the iterator class hierarchy.
class LeastSq
Base class for the nonlinear least squares branch of the iterator hierarchy.
class Minimizer
Base class for the optimizer and least squares branches of the iterator hierarchy.
class Model
Base class for the model class hierarchy.
class NonD
Base class for all nondetermistic iterators (the DAKOTA/UQ branch).
class Optimizer
Base class for the optimizer branch of the iterator hierarchy.
class PStudyDACE
Base class for managing common aspects of parameter studies and design of experiments methods.
class ResponseRep
Container class for response functions and their derivatives. ResponseRep provides the body class.
class Response
Container class for response functions and their derivatives. Response provides the handle class.
class Variables
Base class for the variables class hierarchy.
class Verification
Base class for managing common aspects of verification studies.
69
class DataEnvironmentRep
Body class for environment specification data.
class DataEnvironment
Handle class for environment specification data.
class DataFitSurrModel
Derived model class within the surrogate model branch for managing data fit surrogates (global and local)
class DataInterface
Handle class for interface specification data.
class DataMethodRep
Body class for method specification data.
class DataMethod
Handle class for method specification data.
class DataModelRep
Body class for model specification data.
class DataModel
Handle class for model specification data.
class DataResponsesRep
Body class for responses specification data.
class DataResponses
Handle class for responses specification data.
class DataVariablesRep
Body class for variables specification data.
class DataVariables
Handle class for variables specification data.
class DDACEDesignCompExp
Wrapper class for the DDACE design of experiments library.
class DirectApplicInterface
Derived application interface class which spawns simulation codes and testers using direct procedure calls.
class DiscrepancyCorrection
Base class for discrepancy corrections.
class DOTOptimizer
Wrapper class for the DOT optimization library.
class EffGlobalMinimizer
Implementation of Efficient Global Optimization/Least Squares algorithms.
class EfficientSubspaceMethod
Efficient Subspace Method (ESM), as proposed by Hany S. Abdel-Khalik.
class EmbedHybridMetaIterator
Meta-iterator for closely-coupled hybrid iteration, typically involving the embedding of local search methods within
global search methods.
class ExecutableEnvironment
Environment corresponding to execution as a stand-alone application.
class ExperimentData
class ForkApplicInterface
70
class FSUDesignCompExp
Wrapper class for the FSUDace QMC/CVT library.
class GaussProcApproximation
Derived approximation class for Gaussian Process implementation.
class GridApplicInterface
Derived application interface class which spawns simulation codes using grid services such as Condor or Globus.
class HierarchSurrModel
Derived model class within the surrogate model branch for managing hierarchical surrogates (models of varying
fidelity).
class IteratorScheduler
Environment corresponding to execution as a stand-alone application.
class JEGAOptimizer
A version of Dakota::Optimizer for instantiation of John Eddys Genetic Algorithms (JEGA).
class LibraryEnvironment
Environment corresponding to execution as an embedded library.
class MatlabInterface
class MetaIterator
Base class for meta-iterators.
class MixedVarConstraints
Derived class within the Constraints hierarchy which separates continuous and discrete variables (no domain type
array merging).
class MixedVariables
Derived class within the Variables hierarchy which separates continuous and discrete variables (no domain type
array merging).
class MPIManager
Class MPIManager to manage Dakotas MPI world, which may be a subset of MPI COMM WORLD.
class MPIPackBuffer
Class for packing MPI message buffers.
class MPIUnpackBuffer
Class for unpacking MPI message buffers.
class NCSUOptimizer
Wrapper class for the NCSU DIRECT optimization library.
class NestedModel
Derived model class which performs a complete sub-iterator execution within every evaluation of the model.
class NIDRProblemDescDB
The derived input file database utilizing the new IDR parser.
struct NL2Res
Auxiliary information passed to calcr and calcj via ur.
class NL2SOLLeastSq
Wrapper class for the NL2SOL nonlinear least squares library.
class NLPQLPOptimizer
Wrapper class for the NLPQLP optimization library, Version 2.0.
class NLSSOLLeastSq
71
class NomadOptimizer
Wrapper class for NOMAD Optimizer.
class NonDAdaptImpSampling
Class for the Adaptive Importance Sampling methods within DAKOTA.
class NonDAdaptiveSampling
Class for testing various Adaptively sampling methods using geometric, statisctical, and topological information of
the surrogate.
class NonDBayesCalibration
Base class for Bayesian inference: generates posterior distribution on model parameters given experimental data.
class NonDCalibration
class NonDCubature
Derived nondeterministic class that generates N-dimensional numerical cubature points for evaluation of expectation integrals.
class NonDDREAMBayesCalibration
Bayesian inference using the DREAM approach.
class NonDExpansion
Base class for polynomial chaos expansions (PCE) and stochastic collocation (SC)
class NonDGlobalEvidence
Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.
class NonDGlobalInterval
Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
class NonDGlobalReliability
Class for global reliability methods within DAKOTA/UQ.
class NonDGlobalSingleInterval
Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
class NonDGPImpSampling
Class for the Gaussian Process-based Importance Sampling method.
class NonDGPMSABayesCalibration
Generates posterior distribution on model parameters given experiment data.
class NonDIncremLHSSampling
Performs icremental LHS sampling for uncertainty quantification.
class NonDIntegration
Derived nondeterministic class that generates N-dimensional numerical integration points for evaluation of expectation integrals.
class NonDInterval
Base class for interval-based methods within DAKOTA/UQ.
class NonDLHSEvidence
Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.
class NonDLHSInterval
Class for the LHS-based interval methods within DAKOTA/UQ.
class NonDLHSSampling
72
class NonDLHSSingleInterval
Class for pure interval propagation using LHS.
class NonDLocalEvidence
Class for the Dempster-Shafer Evidence Theory methods within DAKOTA/UQ.
class NonDLocalInterval
Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.
class NonDLocalReliability
Class for the reliability methods within DAKOTA/UQ.
class NonDLocalSingleInterval
Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.
class NonDPOFDarts
Base class for POF Dart methods within DAKOTA/UQ.
class NonDPolynomialChaos
Nonintrusive polynomial chaos expansion approaches to uncertainty quantification.
class NonDQuadrature
Derived nondeterministic class that generates N-dimensional numerical quadrature points for evaluation of expectation integrals over uncorrelated standard normals/uniforms/exponentials/betas/gammas.
class NonDQUESOBayesCalibration
Bayesian inference using the QUESO library from UT Austin.
class NonDReliability
Base class for the reliability methods within DAKOTA/UQ.
class NonDSampling
Base class for common code between NonDLHSSampling, NonDIncremLHSSampling, and NonDAdaptImpSampling.
class NonDSparseGrid
Derived nondeterministic class that generates N-dimensional Smolyak sparse grids for numerical evaluation of
expectation integrals over independent standard random variables.
class NonDStochCollocation
Nonintrusive stochastic collocation approaches to uncertainty quantification.
class NonlinearCGOptimizer
class NPSOLOptimizer
Wrapper class for the NPSOL optimization library.
class OptDartsOptimizer
Wrapper class for OptDarts Optimizer.
class OutputManager
Class to manage redirection of stdout/stderr, and keep track of current redir state, and manage rank 0 output.
class ParallelLevel
Container class for the data associated with a single level of communicator partitioning.
class ParallelConfiguration
Container class for a set of ParallelLevel list iterators that collectively identify a particular multilevel parallel
configuration.
class ParallelLibrary
73
Class for partitioning multiple levels of parallelism and managing message passing within these levels.
class ParamResponsePair
Container class for a variables object, a response object, and an evaluation id.
class ParamStudy
Class for vector, list, centered, and multidimensional parameter studies.
class PecosApproximation
Derived approximation class for global basis polynomials.
class ProblemDescDB
The database containing information parsed from the DAKOTA input file.
class ProcessApplicInterface
Derived application interface class that spawns a simulation code using a separate process and communicates with
it through files.
class ProcessHandleApplicInterface
Derived application interface class that spawns a simulation code using a separate process, receives a process
identifier, and communicates with the spawned process through files.
class ProgramOptions
ProgramOptions stores options whether from the CLH or from library user; initially valid only on worldRank = 0,
but then broadcast in ParallelLibrary::manage outputs restart.
class PSUADEDesignCompExp
Wrapper class for the PSUADE library.
class PythonInterface
class RecastModel
Derived model class which provides a thin wrapper around a sub-model in order to recast the form of its inputs
and/or outputs.
class RelaxedVarConstraints
Derived class within the Constraints hierarchy which employs relaxation of discrete variables.
class RelaxedVariables
Derived class within the Variables hierarchy which employs the relaxation of discrete variables.
class ResultsDBAny
class ResultsID
Get a globally unique 1-based execution number for a given iterator name (combination of methodName and
methodID) for use in results DB. Each Iterator::run() call creates or increments this count for its string identifier.
class ResultsNames
List of valid names for iterator results.
class ResultsManager
Results manager for iterator final data.
class ResultsEntry
Class to manage in-core vs. file database lookups.
class RichExtrapVerification
Class for Richardson extrapolation for code and solution verification.
74
class SeqHybridMetaIterator
Method for sequential hybrid iteration using multiple optimization and nonlinear least squares methods on multiple
models of varying fidelity.
class SharedApproxData
Base class for the shared approximation data class hierarchy.
class SharedPecosApproxData
Derived approximation class for global basis polynomials.
class SharedSurfpackApproxData
Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
class SharedVariablesDataRep
The representation of a SharedVariablesData instance. This representation, or body, may be shared by multiple
SharedVariablesData handle instances.
class SharedVariablesData
Container class encapsulating variables data that can be shared among a set of Variables instances.
class SingleModel
Derived model class which utilizes a single interface to map variables into responses.
class SNLLBase
Base class for OPT++ optimization and least squares methods.
class SNLLLeastSq
Wrapper class for the OPT++ optimization library.
class SNLLOptimizer
Wrapper class for the OPT++ optimization library.
class SOLBase
Base class for Stanford SOL software.
class SpawnApplicInterface
Derived application interface class which spawns simulation codes using spawnvp.
class SurfpackApproximation
Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
class SurrBasedGlobalMinimizer
The global surrogate-based minimizer which sequentially minimizes and updates a global surrogate model without
trust region controls.
class SurrBasedLocalMinimizer
Class for provably-convergent local surrogate-based optimization and nonlinear least squares.
class SurrBasedMinimizer
Base class for local/global surrogate-based optimization/least squares.
class SurrogateModel
Base class for surrogate models (DataFitSurrModel and HierarchSurrModel).
class SysCallApplicInterface
Derived application interface class which spawns simulation codes using system calls.
class TANA3Approximation
Derived approximation class for TANA-3 two-point exponential approximation (a multipoint approximation).
class TestDriverInterface
class TrackerHTTP
TrackerHTTP: a usage tracking module that uses HTTP/HTTPS via the curl library.
Typedefs
typedef double Real
typedef std::string String
typedef
Teuchos::SerialDenseVector
< int, Real > RealVector
typedef
Teuchos::SerialDenseMatrix
< int, Real > RealMatrix
typedef
Teuchos::SerialSymDenseMatrix
< int, Real > RealSymMatrix
typedef
Teuchos::SerialDenseVector
< int, int > IntVector
typedef
Teuchos::SerialDenseMatrix
< int, int > IntMatrix
typedef std::deque< bool > BoolDeque
typedef boost::dynamic bitset
< unsigned long > BitArray
typedef std::vector< BoolDeque > BoolDequeArray
typedef std::vector< Real > RealArray
typedef std::vector< RealArray > Real2DArray
typedef std::vector< int > IntArray
typedef std::vector< IntArray > Int2DArray
typedef std::vector< short > ShortArray
typedef std::vector< unsigned
short > UShortArray
typedef std::vector< UShortArray > UShort2DArray
typedef std::vector
< UShort2DArray > UShort3DArray
typedef std::vector< size t > SizetArray
typedef std::vector< SizetArray > Sizet2DArray
typedef std::vector< String > StringArray
typedef std::vector< StringArray > String2DArray
typedef
boost::multi array types::index range idx range
typedef boost::multi array
< String, 1 > StringMultiArray
75
76
77
78
typedef std::map
< MetaDataKeyType,
MetaDataValueType > MetaDataType
A single MetaData entry is map<string, vector<string> > Example: pair( Column labels, [Mean, Std
Dev, Skewness, Kurtosis] )
typedef boost::tuple
< std::string, std::string,
size t > StrStrSizet
79
80
81
Enumerations
enum {
COBYLA, DIRECT, EA, MS,
PS, SW, BETA }
enum {
sFTW F, sFTW SL, sFTW D, sFTW DP,
sFTW DNR, sFTW O, sFTW NS }
enum {
sFTWret OK, sFTWret quit, sFTWret skipdir, sFTWret Follow,
sFTWret mallocfailure }
enum { OBJECTIVE, INEQUALITY CONSTRAINT, EQUALITY CONSTRAINT }
define algebraic function types
enum {
DEFAULT METHOD =0, HYBRID =META BIT, PARETO SET, MULTI START,
BRANCH AND BOUND, RICHARDSON EXTRAP =(ANALYZER BIT | VERIF BIT), CENTERED PARAMETER STUDY =(ANALYZER BIT | PSTUDYDACE BIT), LIST PARAMETER STUDY,
MULTIDIM PARAMETER STUDY, VECTOR PARAMETER STUDY, DACE, FSU CVT,
FSU HALTON, FSU HAMMERSLEY, PSUADE MOAT, LOCAL RELIABILITY =(ANALYZERBIT | NOND BIT),
GLOBAL RELIABILITY, POLYNOMIAL CHAOS, STOCH COLLOCATION, CUBATURE INTEGRATION,
SPARSE GRID INTEGRATION, QUADRATURE INTEGRATION, BAYES CALIBRATION, GPAIS,
POF DARTS, EFFICIENT SUBSPACE, IMPORTANCE SAMPLING, ADAPTIVE SAMPLING,
RANDOM SAMPLING, LOCAL INTERVAL EST, LOCAL EVIDENCE, GLOBAL INTERVALEST,
GLOBAL EVIDENCE, SURROGATE BASED LOCAL =(MINIMIZER BIT | SURRBASED BIT),
SURROGATE BASED GLOBAL, EFFICIENT GLOBAL,
NL2SOL =(MINIMIZER BIT | LEASTSQ BIT), NLSSOL SQP, OPTPP G NEWTON, ASYNCH PATTERN SEARCH =(MINIMIZER BIT | OPTIMIZER BIT),
OPTPP PDS, COLINY BETA, COLINY COBYLA, COLINY DIRECT,
COLINY MULTI START, COLINY EA, COLINY PATTERN SEARCH, COLINY SOLIS WETS,
MOGA, SOGA, NCSU DIRECT, MESH ADAPTIVE SEARCH,
GENIE OPT DARTS, GENIE DIRECT, NONLINEAR CG, OPTPP CG,
OPTPP Q NEWTON, OPTPP FD NEWTON, OPTPP NEWTON, NPSOL SQP,
NLPQL SQP, DOT BFGS, DOT FRCG, DOT MMFD,
DOT SLP, DOT SQP, CONMIN FRCG, CONMIN MFD,
DL SOLVER }
enum {
SUBMETHOD DEFAULT =0, SUBMETHOD COLLABORATIVE, SUBMETHOD EMBEDDED, SUBMETHOD SEQUENTIAL,
SUBMETHOD LHS, SUBMETHOD RANDOM, SUBMETHOD INCREMENTAL LHS, SUBMETHOD INCREMENTAL RANDOM,
SUBMETHOD BOX BEHNKEN, SUBMETHOD CENTRAL COMPOSITE, SUBMETHOD GRI-
82
enum {
SILENT OUTPUT, QUIET OUTPUT, NORMAL OUTPUT, VERBOSE OUTPUT,
DEBUG OUTPUT }
enum {
DEFAULT SCHEDULING, MASTER SCHEDULING, PEER SCHEDULING, PEER DYNAMICSCHEDULING,
PEER STATIC SCHEDULING, DYNAMIC SCHEDULING, STATIC SCHEDULING }
enum { DEFAULT CONFIG, PUSH DOWN, PUSH UP }
enum { STD NORMAL U, STD UNIFORM U, ASKEY U, EXTENDED U }
enum { DEFAULT COVARIANCE, NO COVARIANCE, DIAGONAL COVARIANCE, FULL COVARIANCE }
enum { NO INT REFINE =0, IS, AIS, MMAIS }
enum { PROBABILITIES, RELIABILITIES, GEN RELIABILITIES }
enum { COMPONENT =0, SYSTEM SERIES, SYSTEM PARALLEL }
enum { CUMULATIVE, COMPLEMENTARY }
enum { DEFAULT LS =0, SVD LS, EQ CON LS }
enum {
NO EMULATOR, PCE EMULATOR, SC EMULATOR, GP EMULATOR,
KRIGING EMULATOR }
enum { IGNORE RANKS, SET RANKS, GET RANKS, SET GET RANKS }
enum {
UNCERTAIN, UNCERTAIN UNIFORM, ALEATORY UNCERTAIN, ALEATORY UNCERTAIN UNIFORM,
EPISTEMIC UNCERTAIN, EPISTEMIC UNCERTAIN UNIFORM, ACTIVE, ACTIVE UNIFORM,
ALL, ALL UNIFORM }
enum {
MV =0, AMV X, AMV U, AMV PLUS X,
AMV PLUS U, TANA X, TANA U, NO APPROX,
EGRA X, EGRA U }
enum { BREITUNG, HOHENRACK, HONG }
enum { ORIGINAL PRIMARY, SINGLE OBJECTIVE, LAGRANGIAN OBJECTIVE, AUGMENTED LAGRANGIAN OBJECTIVE }
enum { NO CONSTRAINTS, LINEARIZED CONSTRAINTS, ORIGINAL CONSTRAINTS }
enum { NO RELAX, HOMOTOPY, COMPOSITE STEP }
enum { PENALTY MERIT, ADAPTIVE PENALTY MERIT, LAGRANGIAN MERIT, AUGMENTED LAGRANGIAN MERIT }
enum { FILTER, TR RATIO }
enum { SCALE NONE, SCALE VALUE, SCALE LOG }
enum { CDV, LINEAR, NONLIN, FN LSQ }
enum { DISALLOW, TARGET, BOUNDS }
83
enum {
NO SURROGATE =0, UNCORRECTED SURROGATE, AUTO CORRECTED SURROGATE, BYPASS SURROGATE,
MODEL DISCREPANCY }
define special values for SurrogateModel::responseMode
84
85
enum {
TH SILENT OUTPUT, TH QUIET OUTPUT, TH NORMAL OUTPUT, TH VERBOSE OUTPUT,
TH DEBUG OUTPUT }
Functions
CommandShell & flush (CommandShell &shell)
convenient shell manipulator function to flush the shell
bool nearby (const RealVector &rv1, const RealVector &rv2, Real rel tol)
tolerance-based equality operator for RealVector
Real rel change L2 (const RealVector &curr rv, const RealVector &prev rv)
Computes relative change between RealVectors using Euclidean L2 norm.
Real rel change L2 (const RealVector &curr rv1, const RealVector &prev rv1, const IntVector &curr iv,
const IntVector &prev iv, const RealVector &curr rv2, const RealVector &prev rv2)
Computes relative change between Real/int/Real vector triples using Euclidean L2 norm.
86
void build label (String &label, const String &root label, size t tag)
create a label by appending a numerical tag to the root label
void build labels (StringArray &label array, const String &root label)
create an array of labels by tagging root label for each entry in label array. Uses build label().
void build labels (StringMultiArray &label array, const String &root label)
create an array of labels by tagging root label for each entry in label array. Uses build label().
void build labels partial (StringArray &label array, const String &root label, size t start index, size t numitems)
create a partial array of labels by tagging root label for a subset of entries in label array. Uses build label().
void copy row vector (const RealMatrix &m, RealMatrix::ordinalType i, std::vector< Real > &row)
Copies a row of a Teuchos SerialDenseMatrix<int,Real> to std::vector<Real>
template<typename T >
void copy data (const std::vector< T > &vec, T ptr, const size t ptr len)
copy Array<T> to T
template<typename T >
void copy data (const T ptr, const size t ptr len, std::vector< T > &vec)
copy T to Array<T>
template<typename T >
void copy data (const std::list< T > &dl, std::vector< T > &da)
copy std::list<T> to std::vector<T>
template<typename T >
void copy data (const std::list< T > &dl, std::vector< std::vector< T > > &d2a, size t num a, size t a len)
copy std::list<T> to std::vector<std::vector<T> >
template<typename T >
void copy data (const std::vector< std::vector< T > > &d2a, std::vector< T > &da)
copy std::vector<vector<T> > to std::vector<T>(unroll vecOfvecs into vector)
template<typename T >
void copy data (const std::map< int, T > &im, std::vector< T > &da)
copy map<int, T> to std::vector<T> (discard integer keys)
87
template<typename T >
void copy data partial (const std::vector< T > &da1, size t start index1, size t num items, std::vector< T
> &da2)
copy portion of first Array<T> to all of second Array<T>
template<typename T >
void copy data partial (const std::vector< T > &da1, std::vector< T > &da2, size t start index2)
copy all of first Array<T> to portion of second Array<T>
template<typename T >
void copy data partial (const std::vector< T > &da, boost::multi array< T, 1 > &bma, size t start index bma)
copy all of first Array<T> to portion of boost::multi array<T, 1>
88
void merge data partial (const IntVector &d vec, RealVector &m vec, size t start index ma)
merge a discrete integer vector into a single continuous vector
void merge data partial (const IntVector &d vec, RealArray &m array, size t start index ma)
merge a discrete integer vector into a single continuous array
template<typename T >
size t find index (const boost::multi array< T, 1 > &bma, const T &search data)
compute the index of an entry within a boost::multi array
89
90
MetaDataValueType make metadatavalue (StringMultiArrayConstView cv labels, StringMultiArrayConstView div labels, StringMultiArrayConstView drv labels, const StringArray &resp labels)
create MetaDataValueType from the passed strings
MetaDataValueType make metadatavalue (const std::string &, const std::string &, const std::string &)
create MetaDataValueType from the passed strings
MetaDataValueType make metadatavalue (const std::string &, const std::string &, const std::string &, const
std::string &)
create MetaDataValueType from the passed strings
bool interface id compare (const Interface &interface in, const void id)
global comparison function for Interface
91
92
93
94
95
96
97
98
99
100
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
101
102
103
104
105
106
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
static Method
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
mp
107
108
109
110
111
112
113
114
115
116
static void binsearch (void kw, size t kwsize, size t n, const char key)
static const char Begins (const String &entry name, const char s)
static void Bad name (String entry name, const char where)
static void Locked db ()
static void Null rep (const char who)
static void Null rep1 (const char who)
MPIUnpackBuffer & operator>> (MPIUnpackBuffer &s, ProgramOptions &progopt)
MPIUnpackBuffer extraction operator.
bool set compare (const ParamResponsePair &database pr, const ActiveSet &search set)
search function for a particular ParamResponsePair within a PRPList based on ActiveSet content (request vector
and derivative variables vector)
bool id vars exact compare (const ParamResponsePair &database pr, const ParamResponsePair &search pr)
search function for a particular ParamResponsePair within a PRPMultiIndex
117
PRPCacheHIter lookup by val (PRPMultiIndexCache &prp cache, const ParamResponsePair &search pr)
find a ParamResponsePair based on the interface id, variables, and ActiveSet search data within search pr.
PRPCacheHIter lookup by val (PRPMultiIndexCache &prp cache, const String &search interface id, const
Variables &search vars, const ActiveSet &search set)
find a ParamResponsePair within a PRPMultiIndexCache based on the interface id, variables, and ActiveSet search
data
PRPCacheOIter lookup by nearby val (PRPMultiIndexCache &prp cache, const String &search interfaceid, const Variables &search vars, const ActiveSet &search set, Real tol)
PRPCacheOIter lookup by ids (PRPMultiIndexCache &prp cache, const IntStringPair &search ids)
find a ParamResponsePair within a PRPMultiIndexCache based on search ids (i.e. std::pair<eval id,interface id>) search data
PRPCacheOIter lookup by ids (PRPMultiIndexCache &prp cache, const IntStringPair &search ids, const
ParamResponsePair &search pr)
PRPQueueHIter lookup by val (PRPMultiIndexQueue &prp queue, const ParamResponsePair &search pr)
find a ParamResponsePair based on the interface id, variables, and ActiveSet search data within search pr.
PRPQueueHIter lookup by val (PRPMultiIndexQueue &prp queue, const String &search interface id, const
Variables &search vars, const ActiveSet &search set)
find a ParamResponsePair within a PRPMultiIndexQueue based on interface id, variables, and ActiveSet search
data
void print restart (int argc, char argv, String print dest)
print a restart file
void print restart pdb (int argc, char argv, String print dest)
print a restart file (PDB format)
void print restart tabular (int argc, char argv, String print dest)
print a restart file (tabular format)
void repair restart (int argc, char argv, String identifier type)
repair a restart file by removing corrupted evaluations
static HANDLE wait setup (std::map< pid t, int > M, size t pn)
static int wait for one (size t n, HANDLE h, int req1, size t pi)
int salinas main (int argc, char argv[ ], MPI Comm comm)
subroutine interface to SALINAS simulation code
void find env token (const char s0, const char s1, const char s2, const char s3)
const char arg list adjust (const char , void )
Utility function from legacy, not executable module DO NOT TOUCH!
bool contains (const bfs::path &dir path, const std::string &file name, boost::filesystem::path &complete filepath)
Helper for which - sets complete filepath from dir path/file name combo.
118
Variables
PRPCache data pairs
contains all parameter/response pairs.
< std::cout, but may be redirected to a tagged ofstream if there are < concurrent iterators.
< std::cerr, but may be redirected to a tagged ofstream if there are < concurrent iterators.
ProblemDescDB dummy db
dummy ProblemDescDB for ref initialization
< reference initialization or default virtual < function return by reference when a real < Interface instance is
unavailable
< initialization or default virtual function < return by reference when a real Model instance < is unavailable
119
< reference initialization or default virtual < function return by reference when a real < Iterator instance is
unavailable
Dakota funcs DF
Dakota funcs DakFuncs0
const char FIELD NAMES [ ]
const int NUMBER OF FIELDS = 23
static GuiKeyWord kw 1 [1]
static GuiKeyWord kw 2 [1]
static GuiKeyWord kw 3 [6]
static GuiKeyWord kw 4 [1]
static GuiKeyWord kw 5 [4]
static GuiKeyWord kw 6 [1]
static GuiKeyWord kw 7 [4]
static GuiKeyWord kw 8 [1]
static GuiKeyWord kw 9 [2]
static GuiKeyWord kw 10 [7]
static GuiKeyWord kw 11 [9]
static GuiKeyWord kw 12 [12]
static GuiKeyWord kw 13 [2]
static GuiKeyWord kw 14 [2]
static GuiKeyWord kw 15 [3]
static GuiKeyWord kw 16 [2]
static GuiKeyWord kw 17 [2]
static GuiKeyWord kw 18 [9]
static GuiKeyWord kw 19 [2]
static GuiKeyWord kw 20 [1]
static GuiKeyWord kw 21 [1]
static GuiKeyWord kw 22 [2]
static GuiKeyWord kw 23 [4]
static GuiKeyWord kw 24 [2]
static GuiKeyWord kw 25 [3]
static GuiKeyWord kw 26 [2]
static GuiKeyWord kw 27 [2]
static GuiKeyWord kw 28 [3]
static GuiKeyWord kw 29 [2]
static GuiKeyWord kw 30 [15]
static GuiKeyWord kw 31 [7]
static GuiKeyWord kw 32 [2]
static GuiKeyWord kw 33 [19]
static GuiKeyWord kw 34 [2]
static GuiKeyWord kw 35 [2]
static GuiKeyWord kw 36 [5]
static GuiKeyWord kw 37 [1]
static GuiKeyWord kw 38 [1]
static GuiKeyWord kw 39 [4]
120
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
40 [6]
41 [2]
42 [2]
43 [2]
44 [2]
45 [2]
46 [2]
47 [2]
48 [6]
49 [2]
50 [2]
51 [5]
52 [1]
53 [1]
54 [4]
55 [4]
56 [9]
57 [4]
58 [7]
59 [8]
60 [2]
61 [12]
62 [3]
63 [2]
64 [3]
65 [2]
66 [5]
67 [4]
68 [15]
69 [3]
70 [2]
71 [2]
72 [18]
73 [14]
74 [12]
75 [10]
76 [1]
77 [15]
78 [15]
79 [2]
80 [2]
81 [2]
82 [7]
83 [9]
84 [3]
85 [1]
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
86 [9]
87 [1]
88 [11]
89 [2]
90 [2]
91 [2]
92 [3]
93 [2]
94 [11]
95 [2]
96 [2]
97 [3]
98 [2]
99 [2]
100 [2]
101 [2]
102 [5]
103 [12]
104 [2]
105 [2]
106 [2]
107 [2]
108 [5]
109 [8]
110 [2]
111 [1]
112 [1]
113 [2]
114 [2]
115 [2]
116 [3]
117 [2]
118 [2]
119 [16]
120 [2]
121 [1]
122 [2]
123 [1]
124 [1]
125 [5]
126 [1]
127 [2]
128 [8]
129 [2]
130 [3]
131 [2]
121
122
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
132 [12]
133 [2]
134 [3]
135 [2]
136 [1]
137 [1]
138 [2]
139 [3]
140 [2]
141 [7]
142 [3]
143 [5]
144 [4]
145 [10]
146 [1]
147 [2]
148 [4]
149 [2]
150 [7]
151 [16]
152 [2]
153 [5]
154 [3]
155 [1]
156 [6]
157 [3]
158 [2]
159 [1]
160 [3]
161 [1]
162 [2]
163 [4]
164 [22]
165 [1]
166 [1]
167 [7]
168 [2]
169 [5]
170 [10]
171 [2]
172 [3]
173 [2]
174 [8]
175 [1]
176 [2]
177 [4]
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
178 [2]
179 [2]
180 [3]
181 [1]
182 [1]
183 [2]
184 [2]
185 [1]
186 [17]
187 [3]
188 [6]
189 [2]
190 [6]
191 [3]
192 [2]
193 [4]
194 [3]
195 [2]
196 [5]
197 [2]
198 [30]
199 [1]
200 [4]
201 [1]
202 [12]
203 [2]
204 [2]
205 [3]
206 [2]
207 [2]
208 [4]
209 [2]
210 [4]
211 [2]
212 [28]
213 [2]
214 [13]
215 [12]
216 [11]
217 [3]
218 [4]
219 [16]
220 [5]
221 [2]
222 [1]
223 [10]
123
124
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
224 [4]
225 [5]
226 [2]
227 [2]
228 [2]
229 [2]
230 [4]
231 [20]
232 [15]
233 [7]
234 [2]
235 [7]
236 [1]
237 [4]
238 [6]
239 [13]
240 [4]
241 [90]
242 [1]
243 [2]
244 [7]
245 [2]
246 [1]
247 [2]
248 [6]
249 [2]
250 [2]
251 [2]
252 [3]
253 [2]
254 [4]
255 [7]
256 [2]
257 [2]
258 [2]
259 [3]
260 [3]
261 [4]
262 [4]
263 [5]
264 [3]
265 [21]
266 [6]
267 [3]
268 [2]
269 [2]
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
static GuiKeyWord kw
270 [5]
271 [7]
272 [6]
273 [6]
274 [8]
275 [15]
276 [4]
277 [10]
278 [2]
279 [1]
280 [2]
281 [8]
282 [6]
283 [8]
284 [11]
285 [8]
286 [7]
287 [1]
288 [2]
289 [19]
290 [6]
291 [11]
292 [5]
293 [12]
294 [10]
295 [8]
296 [8]
297 [4]
298 [4]
299 [9]
300 [8]
301 [4]
302 [4]
303 [6]
304 [6]
305 [5]
306 [7]
307 [7]
308 [4]
309 [7]
310 [11]
311 [9]
312 [5]
313 [2]
314 [4]
315 [11]
125
126
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
38 [2]
39 [2]
40 [5]
41 [1]
42 [1]
43 [4]
44 [6]
45 [2]
46 [2]
47 [2]
48 [2]
49 [2]
50 [3]
51 [2]
52 [2]
53 [4]
54 [2]
55 [2]
56 [5]
57 [1]
58 [1]
59 [4]
60 [2]
61 [8]
62 [4]
63 [5]
64 [3]
65 [2]
66 [4]
67 [2]
68 [8]
69 [3]
70 [2]
71 [3]
72 [2]
73 [5]
74 [4]
75 [11]
76 [2]
77 [3]
78 [2]
79 [2]
80 [12]
81 [8]
82 [4]
83 [3]
127
128
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
84 [1]
85 [14]
86 [7]
87 [2]
88 [2]
89 [2]
90 [7]
91 [5]
92 [3]
93 [1]
94 [8]
95 [1]
96 [11]
97 [2]
98 [2]
99 [2]
100 [3]
101 [2]
102 [7]
103 [2]
104 [2]
105 [3]
106 [2]
107 [2]
108 [2]
109 [2]
110 [5]
111 [8]
112 [2]
113 [2]
114 [2]
115 [2]
116 [5]
117 [7]
118 [2]
119 [1]
120 [1]
121 [3]
122 [2]
123 [2]
124 [2]
125 [3]
126 [2]
127 [2]
128 [14]
129 [2]
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
130 [3]
131 [1]
132 [2]
133 [1]
134 [1]
135 [5]
136 [1]
137 [2]
138 [6]
139 [2]
140 [3]
141 [2]
142 [8]
143 [2]
144 [3]
145 [2]
146 [1]
147 [1]
148 [2]
149 [3]
150 [2]
151 [7]
152 [3]
153 [5]
154 [4]
155 [10]
156 [1]
157 [2]
158 [4]
159 [2]
160 [5]
161 [8]
162 [2]
163 [5]
164 [3]
165 [1]
166 [6]
167 [7]
168 [3]
169 [2]
170 [1]
171 [3]
172 [1]
173 [2]
174 [4]
175 [8]
129
130
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
176 [1]
177 [1]
178 [5]
179 [2]
180 [5]
181 [10]
182 [2]
183 [3]
184 [2]
185 [4]
186 [1]
187 [2]
188 [4]
189 [2]
190 [2]
191 [1]
192 [2]
193 [1]
194 [3]
195 [1]
196 [1]
197 [2]
198 [2]
199 [1]
200 [17]
201 [3]
202 [6]
203 [2]
204 [6]
205 [3]
206 [2]
207 [4]
208 [3]
209 [2]
210 [3]
211 [2]
212 [25]
213 [1]
214 [4]
215 [1]
216 [7]
217 [2]
218 [2]
219 [3]
220 [2]
221 [2]
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
222 [4]
223 [2]
224 [4]
225 [2]
226 [23]
227 [2]
228 [3]
229 [4]
230 [2]
231 [4]
232 [3]
233 [3]
234 [4]
235 [7]
236 [5]
237 [2]
238 [1]
239 [8]
240 [3]
241 [5]
242 [2]
243 [2]
244 [2]
245 [2]
246 [4]
247 [6]
248 [5]
249 [7]
250 [2]
251 [7]
252 [1]
253 [4]
254 [6]
255 [13]
256 [4]
257 [90]
258 [1]
259 [2]
260 [7]
261 [2]
262 [1]
263 [2]
264 [6]
265 [2]
266 [2]
267 [2]
131
132
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
static KeyWord kw
268 [3]
269 [2]
270 [4]
271 [7]
272 [2]
273 [2]
274 [2]
275 [3]
276 [3]
277 [4]
278 [4]
279 [5]
280 [3]
281 [21]
282 [6]
283 [3]
284 [1]
285 [2]
286 [2]
287 [5]
288 [7]
289 [6]
290 [6]
291 [8]
292 [15]
293 [4]
294 [8]
295 [3]
296 [2]
297 [1]
298 [2]
299 [8]
300 [6]
301 [8]
302 [11]
303 [7]
304 [1]
305 [2]
306 [19]
307 [6]
308 [11]
309 [5]
310 [12]
311 [10]
312 [8]
313 [8]
133
134
12.1.1
Detailed Description
The primary namespace for DAKOTA. The Dakota namespace encapsulates the core classes of the DAKOTA
framework and prevents name clashes with third-party libraries from methods and packages. The C++ source
files defining these core classes reside in Dakota/src as .[ch]pp.
12.1.2
Typedef Documentation
typedef bmi::multi index container<Dakota::ParamResponsePair, bmi::indexed by< bmi::ordered nonunique<bmi::tag<ordered>, bmi::const mem fun<Dakota::ParamResponsePair, const IntStringPair&,
&Dakota::ParamResponsePair::eval interface ids> >, bmi::hashed non unique<bmi::tag<hashed>,
bmi::identity<Dakota::ParamResponsePair>, partial prp hash, partial prp equality> > >
PRPMultiIndexCache
Boost Multi-Index Container for globally caching ParamResponsePairs.
For a global cache, both evaluation and interface ids are used for tagging ParamResponsePair records.
typedef bmi::multi index container<Dakota::ParamResponsePair, bmi::indexed by<
bmi::ordered unique<bmi::tag<ordered>, bmi::const mem fun<Dakota::ParamResponsePair,
int, &Dakota::ParamResponsePair::eval id> >, bmi::hashed non unique<bmi::tag<hashed>,
bmi::identity<Dakota::ParamResponsePair>, partial prp hash, partial prp equality> > >
PRPMultiIndexQueue
Boost Multi-Index Container for locally queueing ParamResponsePairs.
For a local queue, interface ids are expected to be consistent, such that evaluation ids are sufficient for
tracking particular evaluations.
12.1.3
anonymous enum
Sub-methods, including sampling, inference algorithm, opt algorithm types.
Enumerator
SUBMETHOD COLLABORATIVE Type of hybrid meta-iterator:
12.1.4
135
Function Documentation
136
bool Dakota::operator== ( const Model & m1, const Model & m2 ) [inline]
equality operator for Envelope is true if same letter instance
equality operator (detect same letter instance)
References Model::modelRep.
bool Dakota::operator!= ( const Model & m1, const Model & m2 ) [inline]
inequality operator for Envelope is true if different letter instance
inequality operator (detect different letter instances)
References Model::modelRep.
bool Dakota::operator== ( const Response & resp1, const Response & resp2 ) [inline]
equality operator for Response
equality operator
bool Dakota::operator!= ( const Response & resp1, const Response & resp2 ) [inline]
inequality operator for Response
inequality operator
bool Dakota::operator!= ( const Variables & vars1, const Variables & vars2 ) [inline]
inequality operator for Variables
strict inequality operator
Real Dakota::getdist ( const RealVector & x1, const RealVector & x2 )
Gets the Euclidean distance between x1 and x2
Referenced by mindist(), and mindistindx().
Real Dakota::mindist ( const RealVector & x, const RealMatrix & xset, int except )
Returns the minimum distance between the point x and the points in the set xset (compares against all points in
xset except point except): if except is not needed, pass 0.
References getdist().
Referenced by getRmax(), and NonDAdaptImpSampling::select rep points().
Real Dakota::mindistindx ( const RealVector & x, const RealMatrix & xset, const IntArray & indx )
Gets the min distance between x and points in the set xset defined by the nindx values in indx.
References getdist().
Referenced by GaussProcApproximation::pointsel add sel().
Real Dakota::getRmax ( const RealMatrix & xset )
Gets the maximum of the min distance between each point and the rest of the set.
References mindist().
Referenced by GaussProcApproximation::pointsel add sel().
137
int Dakota::start grid computing ( char analysis driver script, char params file, char results file )
sample function prototype for launching grid computing
int Dakota::stop grid computing (
Returns
The string representation of val created using an ostringstream.
Referenced by JEGAOptimizer::LoadTheConstraints().
bool Dakota::operator== ( const ParamResponsePair & pair1, const ParamResponsePair & pair2 )
[inline]
equality operator for ParamResponsePair
equality operator
References ParamResponsePair::evalInterfaceIds, ParamResponsePair::prPairParameters, and ParamResponsePair::prPairResponse.
bool Dakota::operator!= ( const ParamResponsePair & pair1, const ParamResponsePair & pair2 )
[inline]
inequality operator for ParamResponsePair
inequality operator
bool Dakota::set compare ( const ParamResponsePair & database pr, const ActiveSet & search set )
[inline]
search function for a particular ParamResponsePair within a PRPList based on ActiveSet content (request vector
and derivative variables vector)
a global function to compare the ActiveSet of a particular database pr (presumed to be in the global history
list) with a passed in ActiveSet (search set).
References ParamResponsePair::active set(), ActiveSet::derivative vector(), and ActiveSet::request vector().
Referenced by lookup by val().
138
bool Dakota::id vars exact compare ( const ParamResponsePair & database pr, const
ParamResponsePair & search pr ) [inline]
search function for a particular ParamResponsePair within a PRPMultiIndex
a global function to compare the interface id and variables of a particular database pr (presumed to be in the
global history list) with a passed in key of interface id and variables provided by search pr.
References ParamResponsePair::interface id(), and ParamResponsePair::prp parameters().
Referenced by partial prp equality::operator()().
PRPCacheHIter Dakota::lookup by val ( PRPMultiIndexCache & prp cache, const ParamResponsePair
& search pr ) [inline]
find a ParamResponsePair based on the interface id, variables, and ActiveSet search data within search pr.
Lookup occurs in two steps: (1) PRPMultiIndexCache lookup based on strict equality in interface id and
variables, and (2) set compare() post-processing based on ActiveSet subset logic.
References ParamResponsePair::active set(), and set compare().
Referenced by ApplicationInterface::duplication detect(), Model::estimate derivatives(), SurrBasedLocalMinimizer::find center approx(), Optimizer::local objective recast retrieve(), lookup by val(), SNLLLeastSq::post run(), SurrBasedMinimizer::print results(), LeastSq::print results(), Optimizer::print results(), DiscrepancyCorrection::searchdb(), and NonDLocalReliability::update mpp search data().
PRPQueueHIter Dakota::lookup by val ( PRPMultiIndexQueue & prp queue, const ParamResponsePair
& search pr ) [inline]
find a ParamResponsePair based on the interface id, variables, and ActiveSet search data within search pr.
Lookup occurs in two steps: (1) PRPMultiIndexQueue lookup based on strict equality in interface id and
variables, and (2) set compare() post-processing based on ActiveSet subset logic.
References ParamResponsePair::active set(), and set compare().
void print restart ( int argc, char argv, String print dest )
print a restart file
Usage: dakota restart util print dakota.rst
dakota restart util to neutral dakota.rst dakota.neu
Prints all evals. in full precision to either stdout or a neutral file. The former is useful for ensuring that
duplicate detection is successful in a restarted run (e.g., starting a new method from the previous best), and the
latter is used for translating binary files between platforms.
References abort handler(), ParamResponsePair::eval id(), ParamResponsePair::write annotated(), and writeprecision.
Referenced by main().
void print restart pdb ( int argc, char argv, String print dest )
print a restart file (PDB format)
Usage: dakota restart util to pdb dakota.rst dakota.pdb
Unrolls all data associated with a particular tag for all evaluations and then writes this data in a tabular format
(e.g., to a PDB database or MATLAB/TECPLOT data file).
References abort handler(), Variables::continuous variables(), Variables::discrete int variables(), Variables::discrete real variables(), and Response::function values().
Referenced by main().
139
void print restart tabular ( int argc, char argv, String print dest )
print a restart file (tabular format)
Usage: dakota restart util to tabular dakota.rst dakota.txt
Unrolls all data associated with a particular tag for all evaluations and then writes this data in a tabular format
(e.g., to a PDB database or MATLAB/TECPLOT data file).
References abort handler(), Variables::all continuous variable labels(), Variables::all discrete int variable labels(), Variables::all discrete real variable labels(), Response::function labels(), ParamResponsePair::interfaceid(), ParamResponsePair::prp parameters(), ParamResponsePair::prp response(), and ParamResponsePair::writetabular().
Referenced by main().
void read neutral ( int argc, char argv )
read a restart file (neutral file format)
Usage: dakota restart util from neutral dakota.neu dakota.rst
Reads evaluations from a neutral file. This is used for translating binary files between platforms.
References ParamResponsePair::read annotated().
Referenced by main().
void repair restart ( int argc, char argv, String identifier type )
repair a restart file by removing corrupted evaluations
Usage: dakota restart util remove 0.0 dakota old.rst dakota new.rst
dakota restart util remove ids 2 7 13 dakota old.rst dakota new.rst
Repairs a restart file by removing corrupted evaluations. The identifier for evaluation removal can be either
a double precision number (all evaluations having a matching response function value are removed) or a list of
integers (all evaluations with matching evaluation ids are removed).
References abort handler(), Response::active set request vector(), contains(), ParamResponsePair::eval id(),
Response::function values(), and ParamResponsePair::prp response().
Referenced by main().
void concatenate restart ( int argc, char argv )
concatenate multiple restart files
Usage: dakota restart util cat dakota 1.rst ... dakota n.rst dakota new.rst
Combines multiple restart files into a single restart database.
References abort handler().
Referenced by main().
12.1.5
Variable Documentation
0x1e,
0x2e,
0x3e,
0x4e,
0x1f,
0x2f,
0x3f,
0x4f,
140
0x50,
0x60,
P,
0x80,
0x90,
0xa0,
0xb0,
0xc0,
0xd0,
0xe0,
0xf0,
0x52,
B,
R,
0x82,
0x92,
0xa2,
0xb2,
0xc2,
0xd2,
0xe2,
0xf2,
0x53,
C,
S,
0x83,
0x93,
0xa3,
0xb3,
0xc3,
0xd3,
0xe3,
0xf3,
0x54,
D,
T,
0x84,
0x94,
0xa4,
0xb4,
0xc4,
0xd4,
0xe4,
0xf4,
0x55,
E,
U,
0x85,
0x95,
0xa5,
0xb5,
0xc5,
0xd5,
0xe5,
0xf5,
0x56,
F,
V,
0x86,
0x96,
0xa6,
0xb6,
0xc6,
0xd6,
0xe6,
0xf6,
0x57,
G,
W,
0x87,
0x97,
0xa7,
0xb7,
0xc7,
0xd7,
0xe7,
0xf7,
0x58,
H,
X,
0x88,
0x98,
0xa8,
0xb8,
0xc8,
0xd8,
0xe8,
0xf8,
0x59,
I,
Y,
0x89,
0x99,
0xa9,
0xb9,
0xc9,
0xd9,
0xe9,
0xf9,
0x5a,
J,
Z,
0x8a,
0x9a,
0xaa,
0xba,
0xca,
0xda,
0xea,
0xfa,
0x5b,
K,
0x7b,
0x8b,
0x9b,
0xab,
0xbb,
0xcb,
0xdb,
0xeb,
0xfb,
/,
L,
0x7c,
0x8c,
0x9c,
0xac,
0xbc,
0xcc,
0xdc,
0xec,
0xfc,
0x5d,
M,
0x7d,
0x8d,
0x9d,
0xad,
0xbd,
0xcd,
0xdd,
0xed,
0xfd,
0x5e,
N,
0x7e,
0x8e,
0x9e,
0xae,
0xbe,
0xce,
0xde,
0xee,
0xfe,
0x5f,
O,
0x7f,
0x8f,
0x9f,
0xaf,
0xbf,
0xcf,
0xdf,
0xef,
0xff}
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
MethodCommands.html#MethodSCOLIBPS"}
}
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
types} MethodCommands.html#MethodMin"},
{"linear inequality scales",14,0,6,0,463,0,0.,0.,0.,0,"{Linear inequality scales}
MethodCommands.html#MethodMin"},
{"linear inequality upper bounds",14,0,4,0,459,0,0.,0.,0.,0,"{Linear inequality upper
bounds} MethodCommands.html#MethodMin"},
{"max step",10,0,11,0,275},
{"model pointer",11,0,1,0,1593}
}
188
189
190
191
192
193
MethodCommands.html#MethodSBL"},
{"initial size",10,0,1,0,133,0,0.,0.,0.,0,"{Trust region initial size (relative to bounds)}
MethodCommands.html#MethodSBL"},
{"minimum size",10,0,2,0,135,0,0.,0.,0.,0,"{Trust region minimum size}
MethodCommands.html#MethodSBL"}
}
194
nested
nested
nested
nested
195
196
197
198
199
200
= {
{"hierarchical tagging",8,0,4,0,1603,0,0.,0.,0.,0,"{Hierarchical evaluation tags}
ModelCommands.html#ModelIndControl"},
{"id model",11,0,1,0,1597,0,0.,0.,0.,0,"{Model set identifier}
ModelCommands.html#ModelIndControl"},
{"nested",8,2,5,1,1795,kw 245,0.,0.,0.,0,"[CHOOSE model type]"},
{"responses pointer",11,0,3,0,1601,0,0.,0.,0.,0,"{Responses set pointer}
ModelCommands.html#ModelIndControl"},
{"single",8,1,5,1,1605,kw 246,0.,0.,0.,0,"@"},
{"surrogate",8,5,5,1,1609,kw 270},
{"variables pointer",11,0,2,0,1599,0,0.,0.,0.,0,"{Variables set pointer}
ModelCommands.html#ModelIndControl"}
}
201
202
203
204
205
206
207
208
209
= {
{"descriptors",15,0,5,0,2141,0,0.,0.,0.,0,"{Descriptors} VarCommands.html#VarDUSRV",0,"
discrete uncertain set real"},
{"initial point",14,0,4,0,2139,0,0.,0.,0.,0,0,0,"discrete uncertain set real"},
{"num set values",13,0,1,0,2133,0,0.,0.,0.,0,"{Number of values for each variable}
VarCommands.html#VarDUSRV",0,"discrete uncertain set real"},
{"set probabilities",14,0,3,0,2137,0,0.,0.,0.,0,"{Probabilities for each set member}
VarCommands.html#VarDUSRV"},
{"set probs",6,0,3,0,2136},
{"set values",14,0,2,1,2135,0,0.,0.,0.,0,"{Set values} VarCommands.html#VarDUSRV"}
}
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
= {
{"lower bounds",14,0,1,0,0,0.,0.,0,N rem(RealDL,nonlinearIneqLowerBnds)},
{"nonlinear inequality lower bounds",6,0,1,0,0,0.,0.,-1,N rem(RealDL,nonlinearIneqLowerBnds
)},
{"nonlinear inequality scale types",0x807,0,3,0,0,0.,0.,3,N rem(strL,
nonlinearIneqScaleTypes)},
{"nonlinear inequality scales",0x806,0,4,0,0,0.,0.,3,N rem(RealDL,nonlinearIneqScales)},
{"nonlinear inequality upper bounds",6,0,2,0,0,0.,0.,3,N rem(RealDL,nonlinearIneqUpperBnds)
},
{"scale types",0x80f,0,3,0,0,0.,0.,0,N rem(strL,nonlinearIneqScaleTypes)},
{"scales",0x80e,0,4,0,0,0.,0.,0,N rem(RealDL,nonlinearIneqScales)},
{"upper bounds",14,0,2,0,0,0.,0.,0,N rem(RealDL,nonlinearIneqUpperBnds)}
}
268
269
270
271
272
273
274
275
276
277
278
Var uinfo CAUVLbl[CAUVar Nkinds] [static]
Initial value:
= {
VarLabelInfo(nuv , NormalUnc),
VarLabelInfo(lnuv , LognormalUnc),
VarLabelInfo(uuv , UniformUnc),
VarLabelInfo(luuv , LoguniformUnc),
VarLabelInfo(tuv , TriangularUnc),
VarLabelInfo(euv , ExponentialUnc),
VarLabelInfo(beuv , BetaUnc),
VarLabelInfo(gauv , GammaUnc),
VarLabelInfo(guuv , GumbelUnc),
VarLabelInfo(fuv , FrechetUnc),
VarLabelInfo(wuv , WeibullUnc),
VarLabelInfo(hbuv , HistogramBinUnc)
}
,
,
,
,
DiscreteDesSetInt),
DiscreteDesSetReal),
DiscreteStateSetInt),
DiscreteStateSetReal)
AVI
AVI
AVI
AVI
AVI
AVI
AVI
AVI
AVI
279
280
3(discrete
3(discrete
3(discrete
3(discrete
3(normal uncertain,NormalUnc),
3(lognormal uncertain,LognormalUnc),
3(uniform uncertain,UniformUnc),
3(loguniform uncertain,LoguniformUnc),
3(triangular uncertain,TriangularUnc),
3(exponential uncertain,ExponentialUnc),
3(beta uncertain,BetaUnc),
3(gamma uncertain,GammaUnc),
3(gumbel uncertain,GumbelUnc),
3(frechet uncertain,FrechetUnc),
3(weibull uncertain,WeibullUnc),
3(histogram bin uncertain,HistogramBinUnc) }
3(poisson uncertain,PoissonUnc),
3(binomial uncertain,BinomialUnc),
3(negative binomial uncertain,NegBinomialUnc),
3(geometric uncertain,GeometricUnc),
3(hypergeometric uncertain,HyperGeomUnc) }
7(continuous design,ContinuousDes,continuousDesign),
7(continuous state,ContinuousState,continuousState),
5(normal uncertain,NormalUnc,normalUnc),
5(lognormal uncertain,LognormalUnc,lognormalUnc),
5(uniform uncertain,UniformUnc,uniformUnc),
5(loguniform uncertain,LoguniformUnc,loguniformUnc),
5(triangular uncertain,TriangularUnc,triangularUnc),
5(beta uncertain,BetaUnc,betaUnc) }
281
282
12.2
A sample namespace for derived classes that use assign rep() to plug facilities into DAKOTA.
Classes
class ParallelDirectApplicInterface
Sample derived interface class for testing parallel simulator plug-ins using assign rep().
class SerialDirectApplicInterface
Sample derived interface class for testing serial simulator plug-ins using assign rep().
12.2.1
Detailed Description
A sample namespace for derived classes that use assign rep() to plug facilities into DAKOTA. A typical use of
plug-ins with assign rep() is to publish a simulation interface for use in library mode See Interfacing with Dakota
as a Library for more information.
Chapter 13
Class Documentation
13.1
Container class for active set tracking information. Contains the active set request vector and the derivative
variables vector.
ActiveSet ()
destructor
283
284
Private Attributes
ShortArray requestVector
the vector of response requests
SizetArray derivVarsVector
the vector of variable ids used for computing derivatives
Friends
class boost::serialization::access
bool operator== (const ActiveSet &set1, const ActiveSet &set2)
equality operator
13.1.1
285
Detailed Description
Container class for active set tracking information. Contains the active set request vector and the derivative
variables vector.
The ActiveSet class is a small class whose initial design function is to avoid having to pass the ASV and DVV separately. It is not part of a class hierarchy and does not employ reference-counting/ representation-sharing
idioms (e.g., handle-body).
13.1.2
DakotaActiveSet.hpp
13.2
Base class for NonD, DACE, and ParamStudy branches of the iterator hierarchy.
Inheritance diagram for Analyzer:
286
PStudyDACE
Verification
EfficientSubspaceMethod
DDACEDesignCompExp
NonDCalibration
FSUDesignCompExp
NonDExpansion
ParamStudy
NonDIntegration
PSUADEDesignCompExp
RichExtrapVerification
NonDInterval
NonDPOFDarts
NonDReliability
NonDSampling
Analyzer ()
destructor
virtual void update model from sample (Model &model, const Real sample vars)
287
virtual void update model from variables (Model &model, const Variables &vars)
update models current variables with data from vars
void evaluate parameter sets (Model &model, bool log resp flag, bool log best flag)
perform function evaluations to map parameter sets (allVariables) into response sets (allResponses)
void variance based decomp (int ncont, int ndiscint, int ndiscreal, int num samples)
void read variables responses (int num evals, size t num vars)
convenience function for reading variables/responses (used in derived classes post input)
void samples to variables array (const RealMatrix &sample matrix, VariablesArray &vars array)
convert samples array to variables array; e.g., allSamples to allVariables
void variables array to samples (const VariablesArray &vars array, RealMatrix &sample matrix)
convert variables array to samples array; e.g., allVariables to allSamples
288
Protected Attributes
size t numFunctions
number of response functions
size t numContinuousVars
number of active continuous vars
size t numDiscreteIntVars
number of active discrete integer vars
size t numDiscreteRealVars
number of active discrete real vars
bool compactMode
switch for allSamples (compact mode) instead of allVariables (normal mode)
VariablesArray allVariables
array of all variables to be evaluated in evaluate parameter sets()
RealMatrix allSamples
compact alternative to allVariables
IntResponseMap allResponses
array of all responses to be computed in evaluate parameter sets()
StringArray allHeaders
array of headers to insert into output while evaluating allVariables
size t numObjFns
number of objective functions
size t numLSqTerms
number of least squares terms
RealPairPRPMultiMap bestVarsRespMap
map which stores best set of solutions
void update best (const Variables &vars, int eval id, const Response &response)
compares current evaluation to best evaluation and updates best
void update best (const Real sample c vars, int eval id, const Response &response)
compares current evaluation to best evaluation and updates best
Private Attributes
int writePrecision
write precision as specified by the user
Real vbdDropTol
tolerance for omitting output of small VBD indices
RealVectorArray S4
VBD main effect indices.
RealVectorArray T4
VBD total effect indices.
13.2.1
289
Detailed Description
Base class for NonD, DACE, and ParamStudy branches of the iterator hierarchy.
The Analyzer class provides common data and functionality for various types of systems analysis, including
nondeterministic analysis, design of experiments, and parameter studies.
13.2.2
Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Iterator.
Reimplemented in NonDQuadrature, NonDSparseGrid, NonDSampling, NonDCubature, DDACEDesignCompExp, FSUDesignCompExp, and PSUADEDesignCompExp.
References Model::derivative concurrency(), Iterator::iteratedModel, and Iterator::maxEvalConcurrency.
Referenced by NonDGlobalReliability::get best sample(), Analyzer::samples to variables array(), Analyzer::variables array to samples(), and Analyzer::variance based decomp().
void initialize run (
) [protected], [virtual]
utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance pointers
Perform initialization phases of run sequence, like allocating memory and setting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call
its nearest parents initialize run(), typically before performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in NonD.
References Model::is null(), Iterator::iteratedModel, Iterator::maxEvalConcurrency, Model::set communicators(),
Model::set evaluation reference(), and Iterator::summaryOutputFlag.
Referenced by NonD::initialize run().
void post run ( std::ostream & s ) [protected], [virtual]
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in NonDLHSSampling, DDACEDesignCompExp, ParamStudy, FSUDesignCompExp, and
PSUADEDesignCompExp.
References Model::is null(), Iterator::iteratedModel, Model::print evaluation summary(), Analyzer::print results(), Iterator::resultsDB, Iterator::summaryOutputFlag, and ResultsManager::write databases().
Referenced by PSUADEDesignCompExp::post run(), FSUDesignCompExp::post run(), ParamStudy::post run(), DDACEDesignCompExp::post run(), and NonDLHSSampling::post run().
void pre output (
) [protected], [virtual]
Generate tabular output with active variables (compactMode) or all variables with their labels and response labels,
with no data. Variables are sequenced {cv, div, drv}
290
291
void read variables responses ( int num evals, size t num vars ) [protected]
convenience function for reading variables/responses (used in derived classes post input)
read num evals variables/responses from file
References Dakota::abort handler(), Analyzer::allResponses, Analyzer::allSamples, Analyzer::allVariables,
ParallelLibrary::command line post run input(), ParallelLibrary::command line user modes(), Analyzer::compactMode, Variables::copy(), Response::copy(), Model::current response(), Model::current variables(), Iterator::iteratedModel, Iterator::outputLevel, Model::parallel library(), and Analyzer::update best().
Referenced by PSUADEDesignCompExp::post input(), FSUDesignCompExp::post input(), ParamStudy::postinput(), DDACEDesignCompExp::post input(), and NonDLHSSampling::post input().
13.3
Derived class within the interface class hierarchy for supporting interfaces to simulation codes.
Inheritance diagram for ApplicationInterface:
292
ProcessApplicInterface
MatlabInterface
ProcessHandleApplicInterface
PythonInterface
SysCallApplicInterface
ScilabInterface
TestDriverInterface
ParallelDirectApplicInterface
SerialDirectApplicInterface
ApplicationInterface ()
destructor
void set communicators (const IntArray &message lengths, int max eval concurrency)
set the local parallel partition data for an interface (the partitions are already allocated in ParallelLibrary).
void map (const Variables &vars, const ActiveSet &set, Response &response, bool asynch flag=false)
Provides a mapping of variables to responses using a simulation. Protected due to Interface letter-envelope
idiom.
void manage failure (const Variables &vars, const ActiveSet &set, Response &response, int failed eval id)
manages a simulation failure using abort/retry/recover/continuation
293
bool check multiprocessor asynchronous (bool warn, int max eval concurrency)
checks on asynchronous settings for multiprocessor partitions
virtual void derived map (const Variables &vars, const ActiveSet &set, Response &response, int fn eval id)
Called by map() and other functions to execute the simulation in synchronous mode. The portion of performing an
evaluation that is specific to a derived class.
294
Protected Attributes
ParallelLibrary & parallelLib
reference to the ParallelLibrary object used to manage MPI partitions for the concurrent evaluations and concurrent analyses parallelism levels
bool suppressOutput
flag for suppressing output on slave processors
int evalCommSize
size of evalComm
int evalCommRank
processor rank within evalComm
int evalServerId
evaluation server identifier
bool eaDedMasterFlag
flag for dedicated master partitioning at ea level
int analysisCommSize
size of analysisComm
int analysisCommRank
processor rank within analysisComm
int analysisServerId
analysis server identifier
int numAnalysisServers
current number of analysis servers
bool multiProcAnalysisFlag
flag for multiprocessor analysis partitions
bool asynchLocalAnalysisFlag
flag for asynchronous local parallelism of analyses
int asynchLocalAnalysisConcurrency
limits the number of concurrent analyses in asynchronous local scheduling and specifies hybrid concurrency when
message passing
int numAnalysisDrivers
the number of analysis drivers used for each function evaluation (from the analysis drivers interface specification)
IntSet completionSet
the set of completed fn eval ids populated by wait local evaluations() and test local evaluations()
295
blocking static schedule of all evaluations in beforeSynchCorePRPQueue using message passing on a peer partition; executes on iteratorComm master
void broadcast evaluation (int fn eval id, const Variables &vars, const ActiveSet &set)
convenience function for broadcasting an evaluation over an evalComm
void send evaluation (PRPQueueIter &prp it, size t buff index, int server id, bool peer flag)
helper function for sending sendBuffers[buff index] to server
void receive evaluation (PRPQueueIter &prp it, size t buff index, int server id, bool peer flag)
helper function for processing recvBuffers[buff index] within scheduler
void assign asynch local queue (PRPQueue &local prp queue, PRPQueueIter &local prp iter)
helper function for creating an initial active local queue by launching asynch local jobs from local prp queue, as
limited by server capacity
void assign asynch local queue nowait (PRPQueue &local prp queue, PRPQueueIter &local prp iter)
helper function for updating an active local queue by backfilling asynch local jobs from local prp queue, as limited
by server capacity
size t test local backfill (PRPQueue &assign queue, PRPQueueIter &assign iter)
helper function for testing active asynch local jobs and then backfilling
size t test receives backfill (PRPQueueIter &assign iter, bool peer flag)
helper function for testing receive requests and then backfilling jobs
296
const ParamResponsePair & get source pair (const Variables &target vars)
convenience function for the continuation approach in manage failure() for finding the nearest successful source
evaluation to the failed target
void continuation (const Variables &target vars, const ActiveSet &set, Response &response, const ParamResponsePair &source pair, int failed eval id)
performs a 0th order continuation method to step from a successful source evaluation to the failed target.
Invoked by manage failure() for failAction == continuation.
Private Attributes
int worldSize
size of MPI COMM WORLD
int worldRank
processor rank within MPI COMM WORLD
int iteratorCommSize
size of iteratorComm
int iteratorCommRank
processor rank within iteratorComm
bool ieMessagePass
flag for message passing at ie scheduling level
int numEvalServers
current number of evaluation servers
int numEvalServersSpec
user specification for number of evaluation servers
int procsPerEvalSpec
297
bool eaMessagePass
flag for message passing at ea scheduling level
int numAnalysisServersSpec
user spec for number of analysis servers
int procsPerAnalysisSpec
user specification for processors per analysis servers
int lenVarsMessage
length of a MPIPackBuffer containing a Variables object; computed in Model::init communicators()
int lenVarsActSetMessage
length of a MPIPackBuffer containing a Variables object and an ActiveSet object; computed in Model::init communicators()
int lenResponseMessage
length of a MPIPackBuffer containing a Response object; computed in Model::init communicators()
int lenPRPairMessage
length of a MPIPackBuffer containing a ParamResponsePair object; computed in Model::init communicators()
short evalScheduling
user specification of evaluation scheduling algorithm: {DEFAULT,MASTER,PEER DYNAMIC,PEER STATIC} SCHEDULING. Used for manual overrides of auto-configure logic in ParallelLibrary::resolve inputs().
short analysisScheduling
user specification of analysis scheduling algorithm: {DEFAULT,MASTER,PEER} SCHEDULING. Used for manual overrides of the auto-configure logic in ParallelLibrary::resolve inputs().
int asynchLocalEvalConcSpec
user specification for asynchronous local evaluation concurrency
int asynchLocalAnalysisConcSpec
user specification for asynchronous local analysis concurrency
int asynchLocalEvalConcurrency
limits the number of concurrent evaluations in asynchronous local scheduling and specifies hybrid concurrency
when message passing
bool asynchLocalEvalStatic
whether the asynchronous local evaluations are to be performed with a static schedule (default false)
BitArray localServerAssigned
array with one bit per logical server indicating whether a job is currently running on the server (used for asynch
local static schedules)
String interfaceSynchronization
interface synchronization specification: synchronous (default) or asynchronous
bool asvControlFlag
used to manage a user request to deactivate the active set vector control. true = modify the ASV each evaluation as
appropriate (default); false = ASV values are static so that the user need not check them on each evaluation.
bool evalCacheFlag
used to manage a user request to deactivate the function evaluation cache (i.e., queries and insertions using the
data pairs cache).
bool nearbyDuplicateDetect
flag indicating optional usage of tolerance-based duplication detection (less efficient, but helpful when experiencing
restart cache misses)
298
bool restartFileFlag
used to manage a user request to deactivate the restart file (i.e., insertions into write restart).
ShortArray defaultASV
the static ASV values used when the user has selected asvControl = off
String failAction
mitigation action for captured simulation failures: abort, retry, recover, or continuation
int failRetryLimit
limit on the number of retries for the retry failAction
RealVector failRecoveryFnVals
the dummy function values used for the recover failAction
IntResponseMap historyDuplicateMap
used to bookkeep asynchronous evaluations which duplicate data pairs evaluations. Map key is evalIdCntr, map
value is corresponding response.
PRPQueue beforeSynchCorePRPQueue
used to bookkeep vars/set/response of nonduplicate asynchronous core evaluations. This is the queue of jobs populated by asynchronous map() that is later scheduled in synch() or synch nowait().
PRPQueue beforeSynchAlgPRPQueue
used to bookkeep vars/set/response of asynchronous algebraic evaluations. This is the queue of algebraic jobs
populated by asynchronous map() that is later evaluated in synch() or synch nowait().
PRPQueue asynchLocalActivePRPQueue
used by nonblocking asynchronous local schedulers to bookkeep active local jobs
MPIPackBuffer sendBuffers
array of pack buffers for evaluation jobs queued to a server
MPIUnpackBuffer recvBuffers
array of unpack buffers for evaluation jobs returned by a server
13.3.1
Detailed Description
Derived class within the interface class hierarchy for supporting interfaces to simulation codes.
ApplicationInterface provides an interface class for performing parameter to response mappings using simulation code(s). It provides common functionality for a number of derived classes and contains the majority of all of
the scheduling algorithms in DAKOTA. The derived classes provide the specifics for managing code invocations
using system calls, forks, direct procedure calls, or distributed resource facilities.
13.3.2
299
DataInterface.cpp defaults of 0 servers are needed to distinguish an explicit user request for 1 server (serialization of a parallelism level) from no user request (use parallel auto-config). This default causes problems when
init communicators() is not called for an interface object (e.g., static scheduling fails in DirectApplicInterface::derived map() for NestedModel::optionalInterface). This is the reason for this function: to reset certain defaults
for interface objects that are used serially.
Reimplemented from Interface.
References ApplicationInterface::init serial analyses(), and ApplicationInterface::init serial evaluations().
void map ( const Variables & vars, const ActiveSet & set, Response & response, bool asynch flag =
false ) [protected], [virtual]
Provides a mapping of variables to responses using a simulation. Protected due to Interface letter-envelope
idiom.
The function evaluator for application interfaces. Called from derived compute response() and derived asynch compute response() in derived Model classes. If asynch flag is not set, perform a blocking evaluation
(using derived map()). If asynch flag is set, add the job to the beforeSynchCorePRPQueue queue for execution
by one of the scheduler routines in synch() or synch nowait(). Duplicate function evaluations are detected with
duplication detect().
Reimplemented from Interface.
References Response::active set(), Interface::algebraic mappings(), Interface::algebraicMappings, Interface::asv mapping(), ApplicationInterface::asvControlFlag, ApplicationInterface::beforeSynchAlgPRPQueue, ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::broadcast evaluation(), Response::copy(), Interface::coreMappings, Interface::currEvalId, Dakota::data pairs, ApplicationInterface::defaultASV, ApplicationInterface::derived map(), ApplicationInterface::duplication detect(), ApplicationInterface::evalCacheFlag, Interface::evalIdCntr, Interface::fineGrainEvalCounters, Interface::fnGradCounter, Interface::fnHessCounter, Interface::fnLabels,
Interface::fnValCounter, Response::function labels(), Interface::init algebraic mappings(), Interface::interfaceId,
ApplicationInterface::manage failure(), Interface::multiProcEvalFlag, Interface::newEvalIdCntr, Interface::newFnGradCounter, Interface::newFnHessCounter, Interface::newFnValCounter, Interface::outputLevel, ApplicationInterface::parallelLib, ActiveSet::request vector(), Interface::response mapping(), ApplicationInterface::restartFileFlag, and ParallelLibrary::write restart().
const IntResponseMap & synch (
) [protected], [virtual]
executes a blocking schedule for asynchronous evaluations in the beforeSynchCorePRPQueue and returns all jobs
This function provides blocking synchronization for all cases of asynchronous evaluations, including the local
asynchronous case (background system call, nonblocking fork, & multithreads), the message passing case, and
the hybrid case. Called from derived synchronize() in derived Model classes.
Reimplemented from Interface.
References Interface::algebraic mappings(), Interface::algebraicMappings, Interface::asv mapping(), ApplicationInterface::asynchLocalEvalStatic, ApplicationInterface::asynchronous local evaluations(), ApplicationInterface::beforeSynchAlgPRPQueue, ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::beforeSynchDuplicateMap, Interface::coreMappings, ApplicationInterface::evalScheduling, ApplicationInterface::historyDuplicateMap, Interface::ieDedMasterFlag, ApplicationInterface::ieMessagePass, Interface::interfaceId, Interface::interfaceType, ApplicationInterface::master dynamic schedule evaluations(), Interface::multiProcEvalFlag, Interface::outputLevel, ApplicationInterface::peer dynamic schedule evaluations(), ApplicationInterface::peer static schedule evaluations(),
Interface::rawResponseMap, and Interface::response mapping().
300
) [protected], [virtual]
executes a nonblocking schedule for asynchronous evaluations in the beforeSynchCorePRPQueue and returns a
partial set of completed jobs
This function provides nonblocking synchronization for the local asynchronous case and selected nonblocking
message passing schedulers. Called from derived synchronize nowait() in derived Model classes.
Reimplemented from Interface.
References Dakota::abort handler(), Interface::algebraic mappings(), Interface::algebraicMappings, Interface::asv mapping(), ApplicationInterface::asynchLocalEvalStatic, ApplicationInterface::asynchronous local evaluationsnowait(), ApplicationInterface::beforeSynchAlgPRPQueue, ApplicationInterface::beforeSynchCorePRPQueue,
ApplicationInterface::beforeSynchDuplicateMap, Interface::coreMappings, ParamResponsePair::eval id(), ApplicationInterface::evalScheduling, ApplicationInterface::historyDuplicateMap, Interface::ieDedMasterFlag, ApplicationInterface::ieMessagePass, Interface::interfaceId, Interface::interfaceType, Dakota::lookup by eval id(), ApplicationInterface::master dynamic schedule evaluations nowait(), Interface::multiProcEvalFlag, Interface::outputLevel,
ApplicationInterface::peer dynamic schedule evaluations nowait(), ParamResponsePair::prp response(), Interface::rawResponseMap, Interface::response mapping(), and Response::update().
void serve evaluations (
) [protected], [virtual]
) [protected], [virtual]
301
void set communicators checks ( int max eval concurrency ) [protected], [virtual]
perform run-time error checks on the parallel configuration
Override DirectApplicInterface definition if plug-in to allow batch processing in Plugin{Serial,Parallel}DirectApplicInterface.cpp
Reimplemented in DirectApplicInterface, SerialDirectApplicInterface, ParallelDirectApplicInterface, SysCallApplicInterface, and ProcessHandleApplicInterface.
Referenced by ApplicationInterface::set communicators().
void master dynamic schedule analyses (
) [protected]
blocking dynamic schedule of all analyses within a function evaluation using message passing
This code is called from derived classes to provide the master portion of a master-slave algorithm for the
dynamic scheduling of analyses among slave servers. It is patterned after master dynamic schedule evaluations().
It performs no analyses locally and matches either serve analyses synch() or serve analyses asynch() on the slave
servers, depending on the value of asynchLocalAnalysisConcurrency. Dynamic scheduling assigns jobs in 2
passes. The 1st pass gives each server the same number of jobs (equal to asynchLocalAnalysisConcurrency).
The 2nd pass assigns the remaining jobs to slave servers as previous jobs are completed. Single- and multilevel
parallel use intra- and inter-communicators, respectively, for send/receive. Specific syntax is encapsulated within
ParallelLibrary.
References ApplicationInterface::asynchLocalAnalysisConcurrency, ParallelLibrary::free(), ParallelLibrary::irecv ea(), ParallelLibrary::isend ea(), ApplicationInterface::numAnalysisDrivers, ApplicationInterface::numAnalysisServers, ApplicationInterface::parallelLib, ParallelLibrary::waitall(), and ParallelLibrary::waitsome().
Referenced by ProcessHandleApplicInterface::create evaluation process(), SysCallApplicInterface::create evaluation process(), and DirectApplicInterface::derived map().
void serve analyses synch (
) [protected]
serve the master analysis scheduler and manage one synchronous analysis job at a time
This code is called from derived classes to run synchronous analyses on slave processors. The slaves receive requests (blocking receive), do local derived map acs, and return codes. This is done continuously until a
termination signal is received from the master. It is patterned after serve evaluations synch().
References ApplicationInterface::analysisCommRank, ParallelLibrary::bcast a(), ParallelLibrary::isend ea(),
ApplicationInterface::multiProcAnalysisFlag, ApplicationInterface::parallelLib, ParallelLibrary::recv ea(), ApplicationInterface::synchronous local analysis(), and ParallelLibrary::wait().
Referenced by ProcessHandleApplicInterface::create evaluation process(), SysCallApplicInterface::create evaluation process(), and DirectApplicInterface::derived map().
bool duplication detect ( const Variables & vars, Response & response, bool asynch flag ) [private]
checks data pairs and beforeSynchCorePRPQueue to see if the current evaluation request has already been performed or queued
Called from map() to check incoming evaluation request for duplication with content of data pairs and beforeSynchCorePRPQueue. If duplication is detected, return true, else return false. Manage bookkeeping with historyDuplicateMap and beforeSynchDuplicateMap. Note that the list searches can get very expensive if a long list is
searched on every new function evaluation (either from a large number of previous jobs, a large number of pending
jobs, or both). For this reason, a user request for deactivation of the evaluation cache results in a complete bypass
of duplication detect(), even though a beforeSynchCorePRPQueue search would still be meaningful. Since the
intent of this request is to streamline operations, both list searches are bypassed.
302
References Response::active set(), ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::beforeSynchDuplicateMap, Response::copy(), Dakota::data pairs, ParamResponsePair::eval id(), Interface::evalIdCntr, ApplicationInterface::historyDuplicateMap, Interface::interfaceId, Dakota::lookup by val(), ApplicationInterface::nearbyDuplicateDetect, ApplicationInterface::nearbyTolerance, and Response::update().
Referenced by ApplicationInterface::map().
void master dynamic schedule evaluations (
) [private]
blocking dynamic schedule of all evaluations in beforeSynchCorePRPQueue using message passing on a dedicated master partition; executes on iteratorComm master
This code is called from synch() to provide the master portion of a master-slave algorithm for the dynamic
scheduling of evaluations among slave servers. It performs no evaluations locally and matches either serve evaluations synch() or serve evaluations asynch() on the slave servers, depending on the value of asynchLocalEvalConcurrency. Dynamic scheduling assigns jobs in 2 passes. The 1st pass gives each server the same number
of jobs (equal to asynchLocalEvalConcurrency). The 2nd pass assigns the remaining jobs to slave servers as
previous jobs are completed and returned. Single- and multilevel parallel use intra- and inter-communicators,
respectively, for send/receive. Specific syntax is encapsulated within ParallelLibrary. peer
References ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::beforeSynchCorePRPQueue, Dakota::lookup by eval id(), ApplicationInterface::numEvalServers, Interface::outputLevel, ApplicationInterface::parallelLib, ApplicationInterface::receive evaluation(), ApplicationInterface::recvBuffers, ApplicationInterface::recvRequests, ApplicationInterface::send evaluation(), ApplicationInterface::sendBuffers, ParallelLibrary::waitall(), and ParallelLibrary::waitsome().
Referenced by ApplicationInterface::synch().
void peer static schedule evaluations (
) [private]
blocking static schedule of all evaluations in beforeSynchCorePRPQueue using message passing on a peer partition; executes on iteratorComm master
This code runs on the iteratorCommRank 0 processor (the iterator) and is called from synch() in order to
manage a static schedule for cases where peer 1 must block when evaluating its local job allocation (e.g., single or
multiprocessor direct interface evaluations). It matches serve evaluations peer() for any other processors within
the first evaluation partition and serve evaluations {synch,asynch}() for all other evaluation partitions (depending
on asynchLocalEvalConcurrency). It performs function evaluations locally for its portion of the job allocation using either asynchronous local evaluations() or synchronous local evaluations(). Single-level and multilevel parallel use intra- and inter-communicators, respectively, for send/receive. Specific syntax is encapsulated within
ParallelLibrary. The iteratorCommRank 0 processor assigns the static schedule since it is the only processor with
access to beforeSynchCorePRPQueue (it runs the iterator and calls synchronize). The alternate design of each
peer selecting its own jobs using the modulus operator would be applicable if execution of this function (and
therefore the job list) were distributed.
References ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::asynchronous local evaluations(), ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::numEvalServers, Interface::outputLevel, ApplicationInterface::parallelLib, ApplicationInterface::receive evaluation(), ApplicationInterface::recvBuffers, ApplicationInterface::recvRequests, ApplicationInterface::send evaluation(), ApplicationInterface::sendBuffers, ApplicationInterface::synchronous local evaluations(), and ParallelLibrary::waitall().
Referenced by ApplicationInterface::synch().
void peer dynamic schedule evaluations (
) [private]
blocking dynamic schedule of all evaluations in beforeSynchCorePRPQueue using message passing on a peer
partition; executes on iteratorComm master
303
This code runs on the iteratorCommRank 0 processor (the iterator) and is called from synch() in order to
manage a dynamic schedule, as enabled by nonblocking management of local asynchronous jobs. It matches
serve evaluations {synch,asynch}() for other evaluation partitions, depending on asynchLocalEvalConcurrency;
it does not match serve evaluations peer() since, for local asynchronous jobs, the first evaluation partition cannot
be multiprocessor. It performs function evaluations locally for its portion of the job allocation using asynchronouslocal evaluations nowait(). Single-level and multilevel parallel use intra- and inter-communicators, respectively,
for send/receive. Specific syntax is encapsulated within ParallelLibrary.
References ApplicationInterface::assign asynch local queue(), ApplicationInterface::asynchLocalEvalConcurrency,
ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::msgPassRunningMap, ApplicationInterface::numEvalServers, Interface::outputLevel, ApplicationInterface::recvBuffers, ApplicationInterface::recvRequests,
ApplicationInterface::send evaluation(), ApplicationInterface::sendBuffers, ApplicationInterface::test local backfill(),
and ApplicationInterface::test receives backfill().
Referenced by ApplicationInterface::synch().
void asynchronous local evaluations ( PRPQueue & local prp queue ) [private]
perform all jobs in prp queue using asynchronous approaches on the local processor
This function provides blocking synchronization for the local asynch case (background system call, nonblocking fork, or threads). It can be called from synch() for a complete local scheduling of all asynchronous jobs or
from peer {static,dynamic} schedule evaluations() to perform a local portion of the total job set. It uses derivedmap asynch() to initiate asynchronous evaluations and wait local evaluations() to capture completed jobs, and
mirrors the master dynamic schedule evaluations() message passing scheduler as much as possible (wait local evaluations() is modeled after MPI Waitsome()).
References ApplicationInterface::assign asynch local queue(), ApplicationInterface::asynchLocalActivePRPQueue, ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::asynchLocalEvalStatic, ApplicationInterface::completionSet, ApplicationInterface::launch asynch local(), ApplicationInterface::localServerAssigned,
Dakota::lookup by eval id(), ApplicationInterface::numEvalServers, Interface::outputLevel, ApplicationInterface::process asynch local(), Interface::rawResponseMap, and ApplicationInterface::wait local evaluations().
Referenced by ApplicationInterface::peer static schedule evaluations(), and ApplicationInterface::synch().
void synchronous local evaluations ( PRPQueue & local prp queue ) [private]
perform all jobs in prp queue using synchronous approaches on the local processor
This function provides blocking synchronization for the local synchronous case (foreground system call,
blocking fork, or procedure call from derived map()). It is called from peer static schedule evaluations() to perform a local portion of the total job set.
References ApplicationInterface::broadcast evaluation(), Interface::currEvalId, ApplicationInterface::derivedmap(), ApplicationInterface::manage failure(), Interface::multiProcEvalFlag, and ApplicationInterface::processsynch local().
Referenced by ApplicationInterface::peer static schedule evaluations().
void master dynamic schedule evaluations nowait (
) [private]
304
slave servers as previous jobs are completed. Single- and multilevel parallel use intra- and inter-communicators,
respectively, for send/receive. Specific syntax is encapsulated within ParallelLibrary.
References Dakota::abort handler(), ApplicationInterface::asynchLocalEvalConcurrency, ApplicationInterface::beforeSynchCorePRPQueue, ApplicationInterface::msgPassRunningMap, ApplicationInterface::numEvalServers,
ApplicationInterface::recvBuffers, ApplicationInterface::recvRequests, ApplicationInterface::send evaluation(),
ApplicationInterface::sendBuffers, and ApplicationInterface::test receives backfill().
Referenced by ApplicationInterface::synch nowait().
void peer dynamic schedule evaluations nowait (
) [private]
305
) [private]
serve the evaluation message passing schedulers and perform one synchronous evaluation at a time
This code is invoked by serve evaluations() to perform one synchronous job at a time on each slave/peer
server. The servers receive requests (blocking receive), do local synchronous maps, and return results. This is
done continuously until a termination signal is received from the master (sent via stop evaluation servers()).
References ParallelLibrary::bcast e(), Interface::currEvalId, ApplicationInterface::derived map(), ApplicationInterface::evalCommRank, ParallelLibrary::isend ie(), ApplicationInterface::lenResponseMessage, ApplicationInterface::lenVarsActSetMessage, ApplicationInterface::manage failure(), Interface::multiProcEvalFlag, ApplicationInterface::parallelLib, ParallelLibrary::recv ie(), MPIPackBuffer::reset(), and ParallelLibrary::wait().
Referenced by ApplicationInterface::serve evaluations().
void serve evaluations synch peer (
) [private]
serve the evaluation message passing schedulers and perform one synchronous evaluation at a time as part of the
1st peer
This code is invoked by serve evaluations() to perform a synchronous evaluation in coordination with the
iteratorCommRank 0 processor (the iterator) for static schedules. The bcast() matches either the bcast() in
synchronous local evaluations(), which is invoked by peer static schedule evaluations(), or the bcast() in map().
References ParallelLibrary::bcast e(), Interface::currEvalId, ApplicationInterface::derived map(), ApplicationInterface::lenVarsActSetMessage, ApplicationInterface::manage failure(), and ApplicationInterface::parallelLib.
Referenced by ApplicationInterface::serve evaluations().
void serve evaluations asynch (
) [private]
serve the evaluation message passing schedulers and manage multiple asynchronous evaluations
This code is invoked by serve evaluations() to perform multiple asynchronous jobs on each slave/peer server.
The servers test for any incoming jobs, launch any new jobs, process any completed jobs, and return any results.
Each of these components is nonblocking, although the server loop continues until a termination signal is received
from the master (sent via stop evaluation servers()). In the master-slave case, the master maintains the correct
number of jobs on each slave. In the static scheduling case, each server is responsible for limiting concurrency
(since the entire static schedule is sent to the peers at start up).
References Dakota::abort handler(), ApplicationInterface::asynchLocalActivePRPQueue, ApplicationInterface::asynchLocalEvalConcurrency, ParallelLibrary::bcast e(), ApplicationInterface::completionSet, ApplicationInterface::derived map asynch(), ApplicationInterface::evalCommRank, Interface::interfaceId, ParallelLibrary::irecv ie(),
ApplicationInterface::lenResponseMessage, ApplicationInterface::lenVarsActSetMessage, Dakota::lookup by evalid(), Interface::multiProcEvalFlag, ApplicationInterface::parallelLib, ParallelLibrary::recv ie(), MPIUnpackBuffer::reset(), ParallelLibrary::send ie(), ParallelLibrary::test(), and ApplicationInterface::test local evaluations().
Referenced by ApplicationInterface::serve evaluations().
void serve evaluations asynch peer (
) [private]
serve the evaluation message passing schedulers and perform multiple asynchronous evaluations as part of the 1st
peer
This code is invoked by serve evaluations() to perform multiple asynchronous jobs on multiprocessor slave/peer
servers. It matches the multiProcEvalFlag bcasts in ApplicationInterface::asynchronous local evaluations().
References Dakota::abort handler(), ApplicationInterface::asynchLocalActivePRPQueue, ApplicationInterface::asynchLocalEvalConcurrency, ParallelLibrary::bcast e(), ApplicationInterface::completionSet, ApplicationInterface::derived map asynch(), Interface::interfaceId, ApplicationInterface::lenVarsActSetMessage, Dakota::lookup byeval id(), ApplicationInterface::parallelLib, MPIUnpackBuffer::reset(), and ApplicationInterface::test local evaluations().
Referenced by ApplicationInterface::serve evaluations().
306
13.4
PecosApproximation
SurfpackApproximation
TANA3Approximation
TaylorApproximation
virtual Approximation ()
destructor
307
virtual void challenge diagnostics (const RealMatrix &challenge points, int fn index)
compute and print all requested diagnostics for user provided challenge pts
virtual void coefficient labels (std::vector< std::string > &coeff labels) const
print the coefficient array computed in build()/rebuild()
void add (const Variables &vars, bool anchor flag, bool deep copy)
extract the relevant vectors from Variables and invoke add(RealVector&, IntVector&, RealVector&)
308
void add (const RealVector &c vars, const IntVector &di vars, const RealVector &dr vars, bool anchor flag,
bool deep copy)
shared code among add(Variables&) and add(Real); adds a new data point by either appending to SurrogateData::varsData or assigning to SurrogateData::anchorVars, as dictated by anchor flag. Uses add point() and
add anchor().
void add (const Response &response, int fn index, bool anchor flag, bool deep copy)
adds a new data point by either appending to SurrogateData::respData or assigning to SurrogateData::anchorResp, as dictated by anchor flag. Uses add point() and add anchor().
void set bounds (const RealVector &c l bnds, const RealVector &c u bnds, const IntVector &di l bnds,
const IntVector &di u bnds, const RealVector &dr l bnds, const RealVector &dr u bnds)
set approximation lower and upper bounds (currently only used by graphics)
Protected Attributes
RealVector approxGradient
gradient of the approximation returned by gradient()
RealSymMatrix approxHessian
Hessian of the approximation returned by hessian()
Pecos::SurrogateData approxData
309
contains the variables/response data for constructing a single approximation model (one response function)
SharedApproxData sharedDataRep
contains the approximation data that is shared among the response set
Private Attributes
SizetArray popCountStack
a stack managing the number of points previously added by calls to append() that can be removed by calls to pop()
Approximation approxRep
pointer to the letter (initialized only for the envelope)
int referenceCount
number of objects sharing approxRep
13.4.1
Detailed Description
13.4.2
Approximation (
default constructor
The default constructor is used in Array<Approximation> instantiations and by the alternate envelope constructor. approxRep is NULL in this case (problem db is needed to build a meaningful Approximation object).
This makes it necessary to check for NULL in the copy constructor, assignment operator, and destructor.
Approximation ( ProblemDescDB & problem db, const SharedApproxData & shared data )
standard constructor for envelope
Envelope constructor only needs to extract enough data to properly execute get approx, since Approximation(BaseConstructor, problem db) builds the actual base class data for the derived approximations.
References Dakota::abort handler(), Approximation::approxRep, and Approximation::get approx().
310
) [virtual]
destructor
Destructor decrements referenceCount and only deletes approxRep when referenceCount reaches zero.
References Approximation::approxRep, and Approximation::referenceCount.
Approximation ( BaseConstructor , const ProblemDescDB & problem db, const SharedApproxData &
shared data ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get approx() instantiates
a derived class letter and the derived constructor selects this base class constructor in its initialization list (to avoid
recursion in the base class constructor calling get approx() again). Since the letter IS the representation, its rep
pointer is set to NULL (an uninitialized pointer causes problems in Approximation).
Approximation ( NoDBBaseConstructor , const SharedApproxData & shared data ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get approx() instantiates
a derived class letter and the derived constructor selects this base class constructor in its initialization list (to avoid
recursion in the base class constructor calling get approx() again). Since the letter IS the representation, its rep
pointer is set to NULL (an uninitialized pointer causes problems in Approximation).
13.4.3
311
) [virtual]
) [virtual]
) [virtual]
) [virtual]
312
) [inline], [virtual]
) [inline]
clear all build data (current and history) to restore original state
Clears out any history (e.g., TANA3Approximation use for a different response function in NonDReliability).
References Approximation::approxData, Approximation::approxRep, and Approximation::clear all().
Referenced by Approximation::clear all(), and Approximation::clear current().
Approximation get approx ( ProblemDescDB & problem db, const SharedApproxData & shared data )
[private]
Used only by the standard envelope constructor to initialize approxRep to the appropriate derived type.
Used only by the envelope constructor to initialize approxRep to the appropriate derived type.
References SharedApproxData::approxType, SharedApproxData::data rep(), and Dakota::strends().
Referenced by Approximation::Approximation().
Approximation get approx ( const SharedApproxData & shared data ) [private]
Used only by the alternate envelope constructor to initialize approxRep to the appropriate derived type.
Used only by the envelope constructor to initialize approxRep to the appropriate derived type.
References SharedApproxData::approxType, SharedApproxData::data rep(), and Dakota::strends().
The documentation for this class was generated from the following files:
DakotaApproximation.hpp
DakotaApproximation.cpp
13.5
Derived class within the interface class hierarchy for supporting approximations to simulation-based results.
Inheritance diagram for ApproximationInterface:
Interface
ApproximationInterface
313
ApproximationInterface (const String &approx type, const UShortArray &approx order, const Variables
&am vars, bool am cache, const String &am interface id, size t num fns, short data order, short output level)
alternate constructor for instantiations on the fly
ApproximationInterface ()
destructor
void update approximation (const Variables &vars, const IntResponsePair &response pr)
void update approximation (const RealMatrix &samples, const IntResponseMap &resp map)
void update approximation (const VariablesArray &vars array, const IntResponseMap &resp map)
void append approximation (const Variables &vars, const IntResponsePair &response pr)
void append approximation (const RealMatrix &samples, const IntResponseMap &resp map)
void append approximation (const VariablesArray &vars array, const IntResponseMap &resp map)
void build approximation (const RealVector &c l bnds, const RealVector &c u bnds, const IntVector &dil bnds, const IntVector &di u bnds, const RealVector &dr l bnds, const RealVector &dr u bnds)
void rebuild approximation (const BoolDeque &rebuild deque)
void pop approximation (bool save surr data)
void restore approximation ()
bool restore available ()
queries the approximation for the ability to restore a previous increment
314
void mixed add (const Real c vars, const Response &response, bool anchor)
add variables/response data to functionSurfaces using a mixture of shallow and deep copies
void shallow add (const Variables &vars, const Response &response, bool anchor)
add variables/response data to functionSurfaces using a shallow copy
void sample to variables (const Real sample c vars, size t num cv, Variables &vars)
populate continuous variables within vars from sample c vars
Private Attributes
IntSet approxFnIndices
for incomplete approximation sets, this array specifies the response function subset that is approximated
SharedApproxData sharedData
data that is shared among all functionSurfaces
RealVectorArray functionSurfaceCoeffs
array of approximation coefficient vectors, one vector per response function
RealVector functionSurfaceVariances
vector of approximation variances, one value per response function
String challengeFile
data file for user-supplied challenge data (per interface, since may contain multiple responses)
315
bool challengeAnnotated
whether the points file is annotated
RealMatrix challengePoints
container for the challenge points data
Variables actualModelVars
copy of the actualModel variables object used to simplify conversion among differing variable views
bool actualModelCache
indicates usage of an evaluation cache by the actualModel
String actualModelInterfaceId
the interface id from the actualModel used for ordered PRPCache lookups
IntResponseMap beforeSynchResponseMap
bookkeeping map to catalogue responses generated in map() for use in synch() and synch nowait(). This supports
pseudo-asynchronous operations (approximate responses are always computed synchronously, but asynchronous
virtual functions are supported through bookkeeping).
Detailed Description
Derived class within the interface class hierarchy for supporting approximations to simulation-based results.
ApproximationInterface provides an interface class for building a set of global/local/multipoint approximations and performing approximate function evaluations using them. It contains a list of Approximation objects,
one for each response function.
13.5.2
void update approximation ( const Variables & vars, const IntResponsePair & response pr )
[protected], [virtual]
This function populates/replaces each Approximation::anchorPoint with the incoming variables/response data
point.
Reimplemented from Interface.
References ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, Dakota::data pairs, Dakota::lookup by ids(), ApproximationInterface::mixed add(), and ApproximationInterface::shallowadd().
void update approximation ( const RealMatrix & samples, const IntResponseMap & resp map )
[protected], [virtual]
This function populates/replaces each Approximation::currentPoints with the incoming variables/response arrays.
Reimplemented from Interface.
References Dakota::abort handler(), ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, ApproximationInterface::actualModelVars, ApproximationInterface::approxFnIndices, Dakota::data pairs, ApproximationInterface::functionSurfaces, Dakota::lookup by ids(), ApproximationInterface::mixedadd(), ApproximationInterface::sample to variables(), and ApproximationInterface::shallow add().
316
void update approximation ( const VariablesArray & vars array, const IntResponseMap & resp map )
[protected], [virtual]
This function populates/replaces each Approximation::currentPoints with the incoming variables/response arrays.
Reimplemented from Interface.
References Dakota::abort handler(), ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, ApproximationInterface::approxFnIndices, Dakota::data pairs, ApproximationInterface::functionSurfaces, Dakota::lookup by ids(), ApproximationInterface::mixed add(), and ApproximationInterface::shallowadd().
void append approximation ( const Variables & vars, const IntResponsePair & response pr )
[protected], [virtual]
This function appends to each Approximation::currentPoints with one incoming variables/response data point.
Reimplemented from Interface.
References ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, ApproximationInterface::approxFnIndices, Dakota::data pairs, ApproximationInterface::functionSurfaces, Dakota::lookup by ids(), ApproximationInterface::mixed add(), and ApproximationInterface::shallow add().
void append approximation ( const RealMatrix & samples, const IntResponseMap & resp map )
[protected], [virtual]
This function appends to each Approximation::currentPoints with multiple incoming variables/response data
points.
Reimplemented from Interface.
References Dakota::abort handler(), ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, ApproximationInterface::actualModelVars, Dakota::data pairs, Dakota::lookup by ids(), ApproximationInterface::mixed add(), ApproximationInterface::sample to variables(), ApproximationInterface::shallow add(),
and ApproximationInterface::update pop counts().
void append approximation ( const VariablesArray & vars array, const IntResponseMap & resp map )
[protected], [virtual]
This function appends to each Approximation::currentPoints with multiple incoming variables/response data
points.
Reimplemented from Interface.
References Dakota::abort handler(), ApproximationInterface::actualModelCache, ApproximationInterface::actualModelInterfaceId, Dakota::data pairs, Dakota::lookup by ids(), ApproximationInterface::mixed add(), ApproximationInterface::shallow add(), and ApproximationInterface::update pop counts().
void build approximation ( const RealVector & c l bnds, const RealVector & c u bnds, const IntVector &
di l bnds, const IntVector & di u bnds, const RealVector & dr l bnds, const RealVector & dr u bnds )
[protected], [virtual]
This function finds the coefficients for each Approximation based on the data passed through update approximation()
calls. The bounds are used only for graphics visualization.
Reimplemented from Interface.
References ApproximationInterface::approxFnIndices, SharedApproxData::build(), ApproximationInterface::challengeFile, ApproximationInterface::challengePoints, ApproximationInterface::functionSurfaces, ApproximationInterface::read challenge points(), SharedApproxData::set bounds(), and ApproximationInterface::sharedData.
317
void rebuild approximation ( const BoolDeque & rebuild deque ) [protected], [virtual]
This function updates the coefficients for each Approximation based on data increments provided by {update,append}approximation().
Reimplemented from Interface.
References ApproximationInterface::approxFnIndices, ApproximationInterface::functionSurfaces, SharedApproxData::rebuild(), and ApproximationInterface::sharedData.
void pop approximation ( bool save surr data ) [inline], [protected], [virtual]
This function removes data provided by a previous append approximation() call, possibly different numbers for
each function, or as specified in pop count, which is assumed to be the same for all functions.
Reimplemented from Interface.
References ApproximationInterface::approxFnIndices, ApproximationInterface::functionSurfaces, SharedApproxData::pop(), and ApproximationInterface::sharedData.
void restore approximation (
This function updates the coefficients for each Approximation based on data increments provided by {update,append}approximation().
Reimplemented from Interface.
References ApproximationInterface::approxFnIndices, ApproximationInterface::functionSurfaces, SharedApproxData::post restore(), SharedApproxData::pre restore(), and ApproximationInterface::sharedData.
13.5.3
13.6
318
APPSEvalMgr ()
destructor
bool submit (const int apps tag, const HOPSPACK::Vector &apps xtrial, const HOPSPACK::EvalRequestType apps request)
performs a function evaluation at APPS-provided x in
int recv (int &apps tag, HOPSPACK::Vector &apps f, HOPSPACK::Vector &apps cEqs, HOPSPACK::Vector &apps cIneqs, string &apps msg)
returns a function value to APPS
void set constraint map (std::vector< int > constraintMapIndices, std::vector< double > constraintMapMultipliers, std::vector< double > constraintMapOffsets)
publishes constraint transformation
Private Attributes
Model & iteratedModel
reference to the APPSOptimizers model passed in the constructor
bool modelAsynchFlag
flag for asynchronous function evaluations
bool blockingSynch
flag for APPS synchronous behavior
int numWorkersUsed
number of processors actively performing function evaluations
int numWorkersTotal
total number of processors available for performing function evaluations
319
RealVector xTrial
trial iterate
IntResponseMap dakotaResponseMap
map of DAKOTA responses returned by synchronize nowait()
13.6.1
Detailed Description
13.6.2
13.6.3
bool isReadyForWork (
) const
tells APPS whether or not there is a processor available to perform a function evaluation
Check to see if all processors available for function evaluations are being used. If not, tell APPS that one is
available.
References APPSEvalMgr::numWorkersTotal, and APPSEvalMgr::numWorkersUsed.
bool submit ( const int apps tag, const HOPSPACK::Vector & apps xtrial, const
HOPSPACK::EvalRequestType apps request )
performs a function evaluation at APPS-provided x in
Convert APPSPACK vector of variables to DAKOTA vector of variables and perform function evaluation
asynchronously or not as specified in the DAKOTA input deck. If evaluation is asynchronous, map the dakota id
to the APPS tag. If evaluation is synchronous, map the responses to the APPS tag.
References Model::asynch compute response(), Model::compute response(), Model::continuous variables(),
Model::current response(), Model::evaluation id(), Response::function values(), APPSEvalMgr::functionList, APPSEvalMgr::iteratedModel, APPSEvalMgr::modelAsynchFlag, APPSEvalMgr::numWorkersTotal, APPSEvalMgr::numWorkersUsed, APPSEvalMgr::tagList, and APPSEvalMgr::xTrial.
320
int recv ( int & apps tag, HOPSPACK::Vector & apps f, HOPSPACK::Vector & apps cEqs,
HOPSPACK::Vector & apps cIneqs, string & apps msg )
returns a function value to APPS
Retrieve a set of reponse values, convert to APPS data structures, and return them to APPS. APPS tags are
tied to corresponding responses using the appropriate (i.e., asynchronous or synchronous) map.
References APPSEvalMgr::blockingSynch, APPSEvalMgr::constrMapIndices, APPSEvalMgr::constrMapMultipliers,
APPSEvalMgr::constrMapOffsets, APPSEvalMgr::dakotaResponseMap, APPSEvalMgr::functionList, APPSEvalMgr::iteratedModel, APPSEvalMgr::modelAsynchFlag, Model::num nonlinear eq constraints(), APPSEvalMgr::numWorkersUsed, Model::primary response fn sense(), Model::synchronize(), Model::synchronize nowait(), and
APPSEvalMgr::tagList.
The documentation for this class was generated from the following files:
APPSEvalMgr.hpp
APPSEvalMgr.cpp
13.7
APPSOptimizer ()
destructor
321
Protected Attributes
HOPSPACK::ParameterList params
Pointer to APPS parameter list.
HOPSPACK::ParameterList problemParams
Pointer to APPS problem parameter sublist.
HOPSPACK::ParameterList linearParams
Pointer to APPS linear constraint parameter sublist.
HOPSPACK::ParameterList mediatorParams
Pointer to APPS mediator parameter sublist.
HOPSPACK::ParameterList citizenParams
Pointer to APPS citizen/algorithm parameter sublist.
APPSEvalMgr evalMgr
Pointer to the APPS evaluation manager object.
Detailed Description
13.7.2
) [virtual]
322
References Model::asynch flag(), Iterator::bestResponseArray, Iterator::bestVariablesArray, APPSOptimizer::constraintMapIndices, APPSOptimizer::constraintMapMultipliers, APPSOptimizer::constraintMapOffsets, APPSOptimizer::evalMgr, Model::evaluation capacity(), APPSOptimizer::initialize variables and constraints(), Iterator::iteratedModel, Optimizer::localObjectiveRecast, Minimizer::numContinuousVars, Minimizer::numFunctions, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, APPSOptimizer::params, Model::primaryresponse fn sense(), APPSEvalMgr::set asynch flag(), and APPSEvalMgr::set total workers().
void set apps parameters (
) [protected]
) [protected]
13.8
13.8.1
323
Detailed Description
13.9
Public Attributes
double rosen cdv upper bd
upper bound value to pass through parser to callback function
13.9.1
Detailed Description
Data structure to pass application-specific values through Dakota back to the callback function, for example to
convey late updates to bounds, initial points, etc., to Dakota.
The documentation for this struct was generated from the following file:
library mode.cpp
13.10
COLINApplication ()
Destructor.
virtual utilib::Any spawn evaluation impl (const utilib::Any &domain, const colin::AppRequest::request map t &requests, utilib::seed t &seed)
Schedule one or more requests at specified domain point, returning a DAKOTA-specific evaluation tracking ID.
324
virtual void colin request to dakota request (const utilib::Any &domain, const colin::AppRequest::requestmap t &requests, utilib::seed t &seed)
Helper function to convert evaluation request data from COLIN structures to DAKOTA structures.
virtual void dakota response to colin response (const Response &dakota response, colin::AppResponse::response map t &colin responses)
Gelper function to convert evaluation response data from DAKOTA structures to COLIN structures.
virtual bool map domain (const utilib::Any &src, utilib::Any &native, bool forward=true) const
Map the domain point into data type desired by this application context.
Protected Attributes
Model iteratedModel
Shallow copy of the model on which COLIN will iterate.
bool blockingSynch
Flag for COLIN synchronous behavior (Pattern Search only).
ActiveSet activeSet
Local copy of models active set for convenience.
13.10.1
Detailed Description
COLINApplication is a DAKOTA class that is derived from COLINs Application hierarchy. It redefines a variety
of virtual COLIN functions to use the corresponding DAKOTA functions. This is a more flexible algorithm library
interfacing approach than can be obtained with the function pointer approaches used by NPSOLOptimizer and
SNLLOptimizer.
13.10.2
325
Model::linear eq constraint targets(), Model::linear ineq constraint coeffs(), Model::linear ineq constraint lowerbounds(), Model::linear ineq constraint upper bounds(), Model::nonlinear eq constraint targets(), Model::nonlinearineq constraint lower bounds(), Model::nonlinear ineq constraint upper bounds(), Model::num functions(), Model::num linear eq constraints(), Model::num linear ineq constraints(), Model::num nonlinear eq constraints(), Model::num nonlinear ineq constraints(), and Model::primary response fn sense().
Referenced by COLINApplication::COLINApplication().
utilib::Any spawn evaluation impl ( const utilib::Any & domain, const colin::AppRequest::request map t
& requests, utilib::seed t & seed ) [virtual]
Schedule one or more requests at specified domain point, returning a DAKOTA-specific evaluation tracking ID.
Schedule one or more requests at specified domain point, returning a DAKOTA-specific evaluation tracking
ID. This is only called by COLINs concurrent evaluator, which is only instantiated when the Model supports
asynch evals. The domain point is guaranteed to be compatible with data type specified by map domain(...)
References Model::asynch compute response(), COLINApplication::colin request to dakota request(), Model::evaluation id(), and COLINApplication::iteratedModel.
bool evaluation available (
) [virtual]
326
13.11
COLINOptimizer (const String &method name, Model &model, int seed, int max iter, int max eval)
alternate constructor for on-the-fly instantiations
COLINOptimizer ()
327
destructor
void reset ()
clears internal optimizer state
std::pair< bool, bool > colin cache lookup (const colin::AppResponse &colinResponse, Response &tmpResponseHolder)
Retrieve response from Colin AppResponse, return pair indicating success for <objective, constraints>
Protected Attributes
short solverType
COLIN solver sub-type as enumerated in COLINOptimizer.cpp.
colin::SolverHandle colinSolver
handle to the COLIN solver
std::pair
< colin::ApplicationHandle,
COLINApplication > colinProblem
handle and pointer to the COLINApplication object
utilib::RNG rng
random number generator pointer
bool blockingSynch
the synchronization setting: true if blocking, false if nonblocking
328
Detailed Description
13.11.2
13.11.3
) [virtual]
329
Model::discrete int variables(), Model::discrete real variables(), Model::discrete set int values(), Model::discreteset real values(), Model::evaluation capacity(), Iterator::iteratedModel, Minimizer::numDiscreteIntVars, Minimizer::numDiscreteRealVars, Iterator::outputLevel, Dakota::set value to index(), and COLINOptimizer::solverType.
bool returns multiple points (
) const [virtual]
) [protected]
sets construct-time options for specific methods based on user specifications, including calling method-specific
set functions
Sets solver properties based on user specifications. Called at construction time.
References Model::asynch flag(), COLINOptimizer::blockingSynch, COLINOptimizer::colinSolver, COLINOptimizer::constant penalty, COLINOptimizer::constraint penalty, Iterator::convergenceTol, ProblemDescDB::get bool(), ProblemDescDB::get int(), ProblemDescDB::get real(), ProblemDescDB::get sa(), ProblemDescDB::get string(), ProblemDescDB::is null(), Iterator::iteratedModel, Iterator::maxEvalConcurrency, Iterator::maxFunctionEvals, Iterator::maxIterations, Minimizer::numContinuousVars, Iterator::outputLevel, Iterator::probDescDB, and COLINOptimizer::solverType.
Referenced by COLINOptimizer::COLINOptimizer().
void post run ( std::ostream & s ) [protected], [virtual]
Get the final set of points from the solver Look up responses and sort, first according to constraint violation, then
according to function value.
Supplement Optimizer::post run to first retrieve points from the Colin cache (or possibly the Dakota DB)
and rank them. When complete, this function will populate bestVariablesArray and bestResponsesArray with
iterator-space data, that is, in the context of the solver, leaving any further untransformation to Optimizer.
Reimplemented from Iterator.
References Iterator::bestResponseArray, Iterator::bestVariablesArray, COLINOptimizer::colin cache lookup(),
COLINOptimizer::colinProblem, COLINOptimizer::colinSolver, COLINOptimizer::constraint violation(), Variables::continuous variables(), Variables::copy(), Response::copy(), Model::current response(), Model::current variables(),
330
Model::discrete int sets(), Variables::discrete int variable(), Variables::discrete real variable(), Model::discrete set int values(), Model::discrete set real values(), Response::function values(), Iterator::iteratedModel, Optimizer::localObjectiveRecast, Minimizer::numDiscreteIntVars, Minimizer::numDiscreteRealVars, Iterator::numFinalSolutions,
Optimizer::numObjectiveFns, Minimizer::objective(), Optimizer::post run(), Model::primary response fn sense(),
Model::primary response fn weights(), Minimizer::resize best resp array(), Minimizer::resize best vars array(),
Dakota::set index to value(), and Model::subordinate model().
std::pair< bool, bool > colin cache lookup ( const colin::AppResponse & colinResponse, Response &
tmpResponseHolder ) [protected]
Retrieve response from Colin AppResponse, return pair indicating success for <objective, constraints>
Encapsulated Colin Cache response extraction, which will ultimately become the default lookup. Might want
to return separate vectors of function values and constraints for use in the sort, but not for now (least change).
Return true if not needed or successful lookup.
References Response::function value(), Minimizer::numNonlinearConstraints, and Optimizer::numObjectiveFns.
Referenced by COLINOptimizer::post run().
double constraint violation ( const Response & tmpResponseHolder ) [protected]
Compute constraint violation, based on nonlinear constraints in iteratedModel and provided Response data.
BMA TODO: incorporate constraint tolerance, possibly via elevating SurrBasedMinimizer::constraint violation().
Always use iteratedModel to get the constraints; they are in the right space.
References Response::function values(), Iterator::iteratedModel, Model::nonlinear eq constraint targets(), Model::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraint upper bounds(), Model::num nonlineareq constraints(), Model::num nonlinear ineq constraints(), and Minimizer::numIterPrimaryFns.
Referenced by COLINOptimizer::post run().
The documentation for this class was generated from the following files:
COLINOptimizer.hpp
COLINOptimizer.cpp
13.12
Meta-iterator for hybrid iteration using multiple collaborating optimization and nonlinear least squares methods.
Inheritance diagram for CollabHybridMetaIterator:
Iterator
MetaIterator
CollabHybridMetaIterator
331
standard constructor
CollabHybridMetaIterator ()
destructor
Private Attributes
String hybridCollabType
abo or hops
StringArray methodList
the list of method name identifiers
bool lightwtCtor
indicates use of lightweight Iterator ctors
IteratorArray selectedIterators
the set of iterators, one for each entry in methodList
ModelArray selectedModels
the set of models, one for each iterator
Variables bestVariables
best variables found in collaborative iteration
Response bestResponse
best response found in collaborative iteration
Detailed Description
Meta-iterator for hybrid iteration using multiple collaborating optimization and nonlinear least squares methods.
This meta-iterator has two approaches to hybrid iteration: (1) agent-based using the ABO framework; (2)
nonagent-based using the HOPSPACK framework.
The documentation for this class was generated from the following files:
CollabHybridMetaIterator.hpp
CollabHybridMetaIterator.cpp
332
13.13
GetLongOpt
CommandLineHandler
CommandLineHandler ()
destructor
Private Attributes
int worldRank
Rank of this process within Dakotas allocation; manages conditional output.
Detailed Description
13.13.2
void output helper ( const std::string & message, std::ostream & os ) const [private]
output only on Dakota worldRank 0 if possible
When there is a valid ParallelLibrary, output only on rank 0
References CommandLineHandler::worldRank.
Referenced by CommandLineHandler::check usage().
The documentation for this class was generated from the following files:
CommandLineHandler.hpp
CommandLineHandler.cpp
13.14
Utility class which defines convenience operators for spawning processes with system calls.
CommandShell ()
destructor
Private Attributes
const std::string & workDir
To convey working directory when useWorkdir is true:
std::string sysCommand
The command string that is constructed through one or more << insertions and then executed by flush.
333
334
bool suppressOutputFlag
flags suppression of shell output (no command echo)
13.14.1
Detailed Description
Utility class which defines convenience operators for spawning processes with system calls.
The CommandShell class wraps the C system() utility and defines convenience operators for building a command string and then passing it to the shell.
13.14.2
13.15
Iterator
MetaIterator
ConcurrentMetaIterator
335
ConcurrentMetaIterator ()
destructor
void pack parameters buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack starting data for an iterator run
void pack results buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack results data from an iterator run
void unpack results buffer (MPIUnpackBuffer &recv buffer, int job index)
used by IteratorScheduler to unpack results data from an iterator run
336
Private Attributes
Iterator selectedIterator
the iterator selected for concurrent iteration
bool lightwtCtor
indicates use of lightweight Iterator ctors
RealVector initialPt
the initial continuous variables for restoring the starting point in the Pareto set minimization
RealVectorArray parameterSets
an array of parameter set vectors (either multistart variable sets or pareto multi-objective/least squares weighting
sets) to be performed.
PRPArray prpResults
1-d array of ParamResponsePair results corresponding to numIteratorJobs
Detailed Description
13.15.2
13.16
337
Iterator
Minimizer
Optimizer
CONMINOptimizer
CONMINOptimizer ()
destructor
Private Attributes
int conminInfo
INFO from CONMIN manual.
int printControl
IPRINT from CONMIN manual (controls output verbosity)
Real objFnValue
338
RealVector constraintValues
array of nonlinear constraint values passed to CONMIN
int numConminNlnConstr
total number of nonlinear constraints seen by CONMIN
int numConminLinConstr
total number of linear constraints seen by CONMIN
int numConminConstr
total number of linear and nonlinear constraints seen by CONMIN
SizetArray constraintMappingIndices
a container of indices for referencing the corresponding Response constraints used in computing the CONMIN
constraints.
RealArray constraintMappingMultipliers
a container of multipliers for mapping the Response constraints to the CONMIN constraints.
RealArray constraintMappingOffsets
a container of offsets for mapping the Response constraints to the CONMIN constraints.
int N1
Size variable for CONMIN arrays. See CONMIN manual.
int N2
Size variable for CONMIN arrays. See CONMIN manual.
int N3
Size variable for CONMIN arrays. See CONMIN manual.
int N4
Size variable for CONMIN arrays. See CONMIN manual.
int N5
Size variable for CONMIN arrays. See CONMIN manual.
int NFDG
Finite difference flag.
int IPRINT
Flag to control amount of output data.
int ITMAX
Flag to specify the maximum number of iterations.
double FDCH
Relative finite difference step size.
double FDCHM
Absolute finite difference step size.
double CT
Constraint thickness parameter.
double CTMIN
Minimum absolute value of CT used during optimization.
double CTL
Constraint thickness parameter for linear and side constraints.
double CTLMIN
339
double DELFUN
Relative convergence criterion threshold.
double DABFUN
Absolute convergence criterion threshold.
double conminDesVars
Array of design variables used by CONMIN (length N1 = numdv+2)
double conminLowerBnds
Array of lower bounds used by CONMIN (length N1 = numdv+2)
double conminUpperBnds
Array of upper bounds used by CONMIN (length N1 = numdv+2)
double S
Internal CONMIN array.
double G1
Internal CONMIN array.
double G2
Internal CONMIN array.
double B
Internal CONMIN array.
double C
Internal CONMIN array.
int MS1
Internal CONMIN array.
double SCAL
Internal CONMIN array.
double DF
Internal CONMIN array.
double A
Internal CONMIN array.
int ISC
Internal CONMIN array.
int IC
Internal CONMIN array.
Detailed Description
340
The user input mappings are as follows: max iterations is mapped into CONMINs ITMAX parameter,
max function evaluations is implemented directly in the find optimum() loop since there is no CONMIN parameter equivalent, convergence tolerance is mapped into CONMINs DELFUN and DABFUN
parameters, output verbosity is mapped into CONMINs IPRINT parameter (verbose: IPRINT = 4; quiet: IPRINT = 2), gradient mode is mapped into CONMINs NFDG parameter, and finite difference step size is
mapped into CONMINs FDCH and FDCHM parameters. Refer to [Vanderplaats, 1978] for additional information
on CONMIN parameters.
13.16.2
341
342
double G1 [private]
Internal CONMIN array.
Temporary storage of constraint values.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
double G2 [private]
Internal CONMIN array.
Temporary storage of constraint values.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
double B [private]
Internal CONMIN array.
Temporary storage for computations involving array S.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
double C [private]
Internal CONMIN array.
Temporary storage for use with arrays B and S.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
int MS1 [private]
Internal CONMIN array.
Temporary storage for use with arrays B and S.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
double SCAL [private]
Internal CONMIN array.
Vector of scaling parameters for design parameter values.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
double DF [private]
Internal CONMIN array.
Temporary storage for analytic gradient data.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
343
double A [private]
Internal CONMIN array.
Temporary 2-D array for storage of constraint gradients.
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), and
CONMINOptimizer::find optimum().
int ISC [private]
Internal CONMIN array.
Array of flags to identify linear constraints. (not used in this implementation of CONMIN)
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), CONMINOptimizer::find optimum(), and CONMINOptimizer::initialize run().
int IC [private]
Internal CONMIN array.
Array of flags to identify active and violated constraints
Referenced by CONMINOptimizer::allocate workspace(), CONMINOptimizer::deallocate workspace(), CONMINOptimizer::find optimum(), and CONMINOptimizer::initialize run().
The documentation for this class was generated from the following files:
CONMINOptimizer.hpp
CONMINOptimizer.cpp
13.17
Constraints
MixedVarConstraints
RelaxedVarConstraints
virtual Constraints ()
destructor
344
void inactive discrete int lower bounds (const IntVector &idil bnds)
set the inactive discrete lower bounds
void inactive discrete int upper bounds (const IntVector &idiu bnds)
set the inactive discrete upper bounds
void inactive discrete real lower bounds (const RealVector &idrl bnds)
set the inactive discrete lower bounds
void inactive discrete real upper bounds (const RealVector &idru bnds)
set the inactive discrete upper bounds
void all discrete int lower bounds (const IntVector &adil bnds)
sets all discrete lower bounds using a single array
void all discrete int lower bound (int adil bnd, size t i)
set a lower bound within the all discrete lower bounds array
345
346
void all discrete int upper bounds (const IntVector &adiu bnds)
sets all discrete upper bounds using a single array
void all discrete int upper bound (int adiu bnd, size t i)
set an upper bound within the all discrete upper bounds array
void all discrete real lower bounds (const RealVector &adrl bnds)
sets all discrete lower bounds using a single array
void all discrete real lower bound (Real adrl bnd, size t i)
set a lower bound within the all discrete lower bounds array
void all discrete real upper bounds (const RealVector &adru bnds)
sets all discrete upper bounds using a single array
void all discrete real upper bound (Real adru bnd, size t i)
set an upper bound within the all discrete upper bounds array
void linear ineq constraint coeffs (const RealMatrix &lin ineq coeffs)
set the linear inequality constraint coefficients
void linear ineq constraint lower bounds (const RealVector &lin ineq l bnds)
set the linear inequality constraint lower bounds
void linear ineq constraint upper bounds (const RealVector &lin ineq u bnds)
set the linear inequality constraint upper bounds
347
void nonlinear ineq constraint lower bounds (const RealVector &nln ineq l bnds)
set the nonlinear inequality constraint lower bounds
void nonlinear ineq constraint upper bounds (const RealVector &nln ineq u bnds)
set the nonlinear inequality constraint upper bounds
void reshape (size t num nln ineq cons, size t num nln eq cons, size t num lin ineq cons, size t num lineq cons, const SizetArray &vc totals)
reshape the linear/nonlinear/bound constraint arrays arrays within the Constraints hierarchy
void reshape (size t num nln ineq cons, size t num nln eq cons, size t num lin ineq cons, size t num lineq cons)
reshape the linear/nonlinear constraint arrays within the Constraints hierarchy
348
Protected Attributes
SharedVariablesData sharedVarsData
configuration data shared from a Variables instance
RealVector allContinuousLowerBnds
a continuous lower bounds array combining continuous design, uncertain, and continuous state variable types (all
view).
RealVector allContinuousUpperBnds
a continuous upper bounds array combining continuous design, uncertain, and continuous state variable types (all
view).
IntVector allDiscreteIntLowerBnds
a discrete lower bounds array combining discrete design and discrete state variable types (all view).
IntVector allDiscreteIntUpperBnds
a discrete upper bounds array combining discrete design and discrete state variable types (all view).
RealVector allDiscreteRealLowerBnds
a discrete lower bounds array combining discrete design and discrete state variable types (all view).
RealVector allDiscreteRealUpperBnds
a discrete upper bounds array combining discrete design and discrete state variable types (all view).
size t numNonlinearIneqCons
number of nonlinear inequality constraints
size t numNonlinearEqCons
number of nonlinear equality constraints
RealVector nonlinearIneqConLowerBnds
nonlinear inequality constraint lower bounds
RealVector nonlinearIneqConUpperBnds
nonlinear inequality constraint upper bounds
RealVector nonlinearEqConTargets
nonlinear equality constraint targets
size t numLinearIneqCons
number of linear inequality constraints
size t numLinearEqCons
number of linear equality constraints
RealMatrix linearIneqConCoeffs
linear inequality constraint coefficients
RealMatrix linearEqConCoeffs
linear equality constraint coefficients
RealVector linearIneqConLowerBnds
linear inequality constraint lower bounds
RealVector linearIneqConUpperBnds
linear inequality constraint upper bounds
RealVector linearEqConTargets
linear equality constraint targets
RealVector continuousLowerBnds
the active continuous lower bounds array view
349
RealVector continuousUpperBnds
the active continuous upper bounds array view
IntVector discreteIntLowerBnds
the active discrete lower bounds array view
IntVector discreteIntUpperBnds
the active discrete upper bounds array view
RealVector discreteRealLowerBnds
the active discrete lower bounds array view
RealVector discreteRealUpperBnds
the active discrete upper bounds array view
RealVector inactiveContinuousLowerBnds
the inactive continuous lower bounds array view
RealVector inactiveContinuousUpperBnds
the inactive continuous upper bounds array view
IntVector inactiveDiscreteIntLowerBnds
the inactive discrete lower bounds array view
IntVector inactiveDiscreteIntUpperBnds
the inactive discrete upper bounds array view
RealVector inactiveDiscreteRealLowerBnds
the inactive discrete lower bounds array view
RealVector inactiveDiscreteRealUpperBnds
the inactive discrete upper bounds array view
Private Attributes
Constraints constraintsRep
pointer to the letter (initialized only for the envelope)
int referenceCount
number of objects sharing constraintsRep
13.17.1
Detailed Description
350
13.17.2
Constraints (
default constructor
The default constructor: constraintsRep is NULL in this case (a populated problem db is needed to build a
meaningful Constraints object). This makes it necessary to check for NULL in the copy constructor, assignment
operator, and destructor.
Constraints ( const ProblemDescDB & problem db, const SharedVariablesData & svd )
standard constructor
The envelope constructor only needs to extract enough data to properly execute get constraints, since the
constructor overloaded with BaseConstructor builds the actual base class data inherited by the derived classes.
References Dakota::abort handler(), Constraints::constraintsRep, and Constraints::get constraints().
Constraints ( const SharedVariablesData & svd )
alternate constructor for instantiations on the fly
Envelope constructor for instantiations on the fly. This constructor executes get constraints(view), which
invokes the default derived/base constructors, followed by a reshape() based on vars comps.
References Dakota::abort handler(), Constraints::constraintsRep, and Constraints::get constraints().
Constraints ( const Constraints & con )
copy constructor
Copy constructor manages sharing of constraintsRep and incrementing of referenceCount.
References Constraints::constraintsRep, and Constraints::referenceCount.
Constraints (
) [virtual]
destructor
Destructor decrements referenceCount and only deletes constraintsRep when referenceCount reaches zero.
References Constraints::constraintsRep, and Constraints::referenceCount.
Constraints ( BaseConstructor , const ProblemDescDB & problem db, const SharedVariablesData & svd
) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get constraints() instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization list (to
avoid recursion in the base class constructor calling get constraints() again). Since the letter IS the representation,
its rep pointer is set to NULL (an uninitialized pointer causes problems in Constraints).
Constraints ( BaseConstructor , const SharedVariablesData & svd ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get constraints() instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization list (to
351
avoid recursion in the base class constructor calling get constraints() again). Since the letter IS the representation,
its rep pointer is set to NULL (an uninitialized pointer causes problems in Constraints).
13.17.3
) const
for use when a deep copy is needed (the representation is not shared)
Deep copies are used for history mechanisms that catalogue permanent copies (should not change as the
representation within userDefinedConstraints changes).
References Constraints::allContinuousLowerBnds, Constraints::allContinuousUpperBnds, Constraints::allDiscreteIntLowerBnds, Constraints::allDiscreteIntUpperBnds, Constraints::allDiscreteRealLowerBnds, Constraints::allDiscreteRealUpperBnds, Constraints::build views(), Constraints::constraintsRep, Constraints::get constraints(),
Constraints::linearEqConCoeffs, Constraints::linearEqConTargets, Constraints::linearIneqConCoeffs, Constraints::linearIneqConLowerBnds, Constraints::linearIneqConUpperBnds, Constraints::nonlinearEqConTargets, Constraints::nonlinearIneqConLowerBnds, Constraints::nonlinearIneqConUpperBnds, Constraints::numLinearEqCons, Constraints::numLinearIneqCons, Constraints::numNonlinearEqCons, Constraints::numNonlinearIneqCons, and Constraints::sharedVarsData.
Referenced by SurrogateModel::force rebuild(), and RecastModel::RecastModel().
void reshape ( size t num nln ineq cons, size t num nln eq cons, size t num lin ineq cons, size t
num lin eq cons )
reshape the linear/nonlinear constraint arrays within the Constraints hierarchy
Resizes the linear and nonlinear constraint arrays at the base class. Does NOT currently resize the derived
bounds arrays.
References Constraints::constraintsRep, Constraints::linearEqConTargets, Constraints::linearIneqConLowerBnds, Constraints::linearIneqConUpperBnds, Constraints::nonlinearEqConTargets, Constraints::nonlinearIneqConLowerBnds, Constraints::nonlinearIneqConUpperBnds, Constraints::numLinearEqCons, Constraints::numLinearIneqCons, Constraints::numNonlinearEqCons, Constraints::numNonlinearIneqCons, and Constraints::reshape().
352
) [inline], [protected]
13.18
353
DataEnvironment ()
destructor
Private Attributes
DataEnvironmentRep dataEnvRep
pointer to the body (handle-body idiom)
Friends
class ProblemDescDB
class NIDRProblemDescDB
13.18.1
Detailed Description
13.19
354
Public Attributes
bool graphicsFlag
flags use of graphics by the environment (from the graphics specification in EnvIndControl)
bool tabularDataFlag
flags tabular data collection by the environment (from the tabular graphics data specification in EnvIndControl)
String tabularDataFile
the filename used for tabular data collection by the environment (from the tabular graphics file specification in
EnvIndControl)
int outputPrecision
output precision for tabular and screen output
bool resultsOutputFlag
flags use of results output to default file
String resultsOutputFile
named file for results output
String topMethodPointer
method identifier for the environment (from the top method pointer specification
DataEnvironmentRep ()
destructor
Private Attributes
int referenceCount
number of handle objects sharing this dataEnvironmentRep
Friends
class DataEnvironment
the handle class can access attributes of the body class directly
13.19.1
355
Detailed Description
13.20
Derived model class within the surrogate model branch for managing data fit surrogates (global and local)
Inheritance diagram for DataFitSurrModel:
Model
SurrogateModel
DataFitSurrModel
DataFitSurrModel (Iterator &dace iterator, Model &actual model, const String &approx type, const UShortArray &approx order, short corr type, short corr order, short data order, short output level, const
String &point reuse, const String &export points file=String(), bool export annotated=true, const String
&import points file=String(), bool import annotated=true)
alternate constructor for instantiations on the fly
DataFitSurrModel ()
destructor
356
void primary response fn weights (const RealVector &wts, bool recurse flag=true)
set the relative weightings for multiple objective functions or least squares terms and optionally recurses into
actualModel
bool build approximation (const Variables &vars, const IntResponsePair &response pr)
Builds the local/multipoint/global approximation using daceIterator/actualModel to generate new data points that
augment the vars/response anchor point.
void update approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuild flag)
replaces the anchor point, and rebuilds the approximation if requested
void update approximation (const VariablesArray &vars array, const IntResponseMap &resp map, bool
rebuild flag)
replaces the current points array and rebuilds the approximation if requested
void append approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuild flag)
appends a point to a global approximation and rebuilds it if requested
void append approximation (const VariablesArray &vars array, const IntResponseMap &resp map, bool
rebuild flag)
appends an array of points to a global approximation and rebuilds it if requested
void pop approximation (bool save surr data, bool rebuild flag=false)
remove approximation data added on previous append approximation() call or a specified number of points
357
void derived init communicators (int max eval concurrency, bool recurse flag=true)
set up actualModel for parallel operations
void derived set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration within actualModel
void derived free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for the DataFitSurrModel (request forwarded to actualModel)
358
void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true) const
print the evaluation summary for the DataFitSurrModel (request forwarded to approxInterface and actualModel)
void export point (int eval id, const Variables &vars, const Response &resp)
initialize file stream for exporting surrogate evaluations
void derived synchronize approx (const IntResponseMap &approx resp map, IntResponseMap &approx resp map rekey)
Common code for processing of approximate response maps shared by derived synchronize() and derived synchronizenowait()
bool inside (const RealVector &c vars, const IntVector &di vars, const RealVector &dr vars)
test if c vars and d vars are within [c l bnds,c u bnds] and [d l bnds,d u bnds]
359
Private Attributes
int surrModelEvalCntr
number of calls to derived compute response()/ derived asynch compute response()
int pointsTotal
total points the user specified to construct the surrogate
short pointsManagement
configuration for points management in build global()
String pointReuse
type of point reuse for approximation builds: all, region (default if points file), or none (default if no points
file)
bool manageRecasting
flag indicating need to manage data recastings when importing build data or exporting approximate evaluations
BoolDeque recastFlags
a key indicating which models within a model recursion involve recasting
String importPointsFile
file name from import points file specification
String exportPointsFile
file name from export points file specification
bool exportAnnotated
annotation setting for file export of variables and approximate responses
std::ofstream exportFileStream
file name for export points file specification
VariablesList reuseFileVars
array of variables sets read from the import points file
ResponseList reuseFileResponses
array of response sets read from the import points file
Interface approxInterface
manages the building and subsequent evaluation of the approximations (required for both global and local)
Model actualModel
the truth model which provides evaluations for building the surrogate (optional for global, required for local)
Iterator daceIterator
selects parameter sets on which to evaluate actualModel in order to generate the necessary data for building global
approximations (optional for global since restart data may also be used)
String evalTagPrefix
cached evalTag Prefix from parents to use at compute response time
Detailed Description
Derived model class within the surrogate model branch for managing data fit surrogates (global and local)
The DataFitSurrModel class manages global or local approximations (surrogates that involve data fits) that are
used in place of an expensive model. The class contains an approxInterface (required for both global and local)
which manages the approximate function evaluations, an actualModel (optional for global, required for local)
which provides truth evaluations for building the surrogate, and a daceIterator (optional for global, not used for
local) which selects parameter sets on which to evaluate actualModel in order to generate the necessary data for
building global approximations.
360
13.20.2
DataFitSurrModel (
) [inline]
destructor
Virtual destructor handles referenceCount at Strategy level.
References DataFitSurrModel::exportFileStream, and DataFitSurrModel::exportPointsFile.
13.20.3
void derived compute response ( const ActiveSet & set ) [protected], [virtual]
portion of compute response() specific to DataFitSurrModel
Compute the response synchronously using actualModel, approxInterface, or both (mixed case). For the
approxInterface portion, build the approximation if needed, evaluate the approximate response, and apply correction (if active) to the results.
Reimplemented from Model.
References DiscrepancyCorrection::active(), Response::active set(), DataFitSurrModel::actualModel, DiscrepancyCorrection::apply(), SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface, SurrogateModel::asv mapping(), DataFitSurrModel::build approximation(), DataFitSurrModel::component parallel mode(), DiscrepancyCorrection::compute(), Model::compute response(), Response::copy(), Model::current response(), Model::currentResponse, Model::currentVariables, SurrogateModel::deltaCorr, Model::eval tag prefix(), DataFitSurrModel::evalTagPrefix, DataFitSurrModel::export point(), SurrogateModel::force rebuild(), Model::hierarchicalTagging, Interface::map(), Model::outputLevel, ActiveSet::request vector(), SurrogateModel::response mapping(), SurrogateModel::responseMode, DataFitSurrModel::surrModelEvalCntr, Response::update(), and DataFitSurrModel::update actualmodel().
void derived asynch compute response ( const ActiveSet & set ) [protected], [virtual]
portion of asynch compute response() specific to DataFitSurrModel
Compute the response asynchronously using actualModel, approxInterface, or both (mixed case). For the
approxInterface portion, build the approximation if needed and evaluate the approximate response in a quasiasynchronous approach (ApproximationInterface::map() performs the map synchronously and bookkeeps the results for return in derived synchronize() below).
Reimplemented from Model.
References DataFitSurrModel::actualModel, SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface,
SurrogateModel::asv mapping(), Model::asynch compute response(), DataFitSurrModel::build approximation(),
Variables::copy(), Model::currentResponse, Model::currentVariables, Model::eval tag prefix(), DataFitSurrModel::evalTagPrefix, Interface::evaluation id(), Model::evaluation id(), DataFitSurrModel::exportPointsFile, SurrogateModel::force rebuild(), Model::hierarchicalTagging, Interface::map(), SurrogateModel::rawVarsMap, ActiveSet::request vector(), SurrogateModel::responseMode, SurrogateModel::surrIdMap, DataFitSurrModel::surrModelEvalCntr, SurrogateModel::truthIdMap, and DataFitSurrModel::update actual model().
const IntResponseMap & derived synchronize (
) [protected], [virtual]
361
References DataFitSurrModel::actualModel, DataFitSurrModel::approxInterface, DataFitSurrModel::componentparallel mode(), DiscrepancyCorrection::compute(), SurrogateModel::deltaCorr, DataFitSurrModel::derived synchronizeapprox(), Model::outputLevel, SurrogateModel::response mapping(), SurrogateModel::responseMode, SurrogateModel::surrIdMap, SurrogateModel::surrResponseMap, Interface::synch(), Model::synchronize(), and SurrogateModel::truthIdMap.
const IntResponseMap & derived synchronize nowait (
) [protected], [virtual]
) [protected], [virtual]
Builds the local/multipoint/global approximation using daceIterator/actualModel to generate new data points.
This function constructs a new approximation, discarding any previous data. It constructs any required data
for SurrogateData::{vars,resp}Data and does not define an anchor point for SurrogateData::anchor{Vars,Resp}.
Reimplemented from Model.
References DataFitSurrModel::actualModel, SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface,
Interface::build approximation(), DataFitSurrModel::build global(), DataFitSurrModel::build local multipoint(),
Interface::clear current(), Constraints::continuous lower bounds(), Model::continuous lower bounds(), Constraints::continuous upper bounds(), Model::continuous upper bounds(), Constraints::discrete int lower bounds(), Model::discrete int lower bounds(), Constraints::discrete int upper bounds(), Model::discrete int upper bounds(), Constraints::discrete real lower bounds(), Model::discrete real lower bounds(), Constraints::discrete real upper bounds(), Model::discrete real upper bounds(), Model::is null(), Dakota::strbegins(), Model::surrogateType, DataFitSurrModel::update actual model(), DataFitSurrModel::update global(), DataFitSurrModel::update local multipoint(), and
Model::userDefinedConstraints.
Referenced by DataFitSurrModel::derived asynch compute response(), and DataFitSurrModel::derived computeresponse().
bool build approximation ( const Variables & vars, const IntResponsePair & response pr )
[protected], [virtual]
Builds the local/multipoint/global approximation using daceIterator/actualModel to generate new data points that
augment the vars/response anchor point.
This function constructs a new approximation, discarding any previous data. It uses the passed data to populate
SurrogateData::anchor{Vars,Resp} and constructs any required data points for SurrogateData::{vars,resp}Data.
Reimplemented from Model.
References DataFitSurrModel::actualModel, SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface,
Interface::build approximation(), DataFitSurrModel::build global(), Interface::clear current(), Constraints::continuouslower bounds(), Model::continuous lower bounds(), Constraints::continuous upper bounds(), Model::continuousupper bounds(), Constraints::discrete int lower bounds(), Model::discrete int lower bounds(), Constraints::discrete-
362
int upper bounds(), Model::discrete int upper bounds(), Constraints::discrete real lower bounds(), Model::discretereal lower bounds(), Constraints::discrete real upper bounds(), Model::discrete real upper bounds(), Model::isnull(), Dakota::strbegins(), Model::surrogateType, DataFitSurrModel::update actual model(), Interface::updateapproximation(), DataFitSurrModel::update global(), DataFitSurrModel::update local multipoint(), and Model::userDefinedConstraints.
void update approximation ( bool rebuild flag ) [protected], [virtual]
replaces the approximation data with daceIterator results and rebuilds the approximation if requested
This function populates/replaces SurrogateData::anchor{Vars,Resp} and rebuilds the approximation, if requested. It does not clear other data (i.e., SurrogateData::{vars,resp}Data) and does not update the actualModel
with revised bounds, labels, etc. Thus, it updates data from a previous call to build approximation(), and is not
intended to be used in isolation.
Reimplemented from Model.
References Iterator::all responses(), Iterator::all samples(), Iterator::all variables(), SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface, Iterator::compact mode(), DataFitSurrModel::daceIterator, Model::numFns, Interface::rebuild approximation(), Model::surrogateType, and Interface::update approximation().
void update approximation ( const Variables & vars, const IntResponsePair & response pr, bool
rebuild flag ) [protected], [virtual]
replaces the anchor point, and rebuilds the approximation if requested
This function populates/replaces SurrogateData::anchor{Vars,Resp} and rebuilds the approximation, if requested. It does not clear other data (i.e., SurrogateData::{vars,resp}Data) and does not update the actualModel
with revised bounds, labels, etc. Thus, it updates data from a previous call to build approximation(), and is not
intended to be used in isolation.
Reimplemented from Model.
References SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface, Model::numFns, Interface::rebuild approximation(), Model::surrogateType, and Interface::update approximation().
void update approximation ( const VariablesArray & vars array, const IntResponseMap & resp map,
bool rebuild flag ) [protected], [virtual]
replaces the current points array and rebuilds the approximation if requested
This function populates/replaces SurrogateData::{vars,resp}Data and rebuilds the approximation, if requested.
It does not clear other data (i.e., SurrogateData::anchor{Vars,Resp}) and does not update the actualModel with
revised bounds, labels, etc. Thus, it updates data from a previous call to build approximation(), and is not intended
to be used in isolation.
Reimplemented from Model.
References SurrogateModel::approxBuilds, DataFitSurrModel::approxInterface, Model::numFns, Interface::rebuild approximation(), Model::surrogateType, and Interface::update approximation().
void append approximation ( bool rebuild flag ) [protected], [virtual]
appends daceIterator results to a global approximation and rebuilds it if requested
This function appends one point to SurrogateData::{vars,resp}Data and rebuilds the approximation, if requested. It does not modify other data (i.e., SurrogateData::anchor{Vars,Resp}) and does not update the actualModel with revised bounds, labels, etc. Thus, it appends to data from a previous call to build approximation(),
and is not intended to be used in isolation.
Reimplemented from Model.
363
364
) [private]
) [private]
) [private]
365
) [private]
) [private]
) [private]
13.20.4
366
13.21
DataInterface ()
destructor
Private Attributes
DataInterfaceRep dataIfaceRep
pointer to the body (handle-body idiom)
Friends
class ProblemDescDB
class NIDRProblemDescDB
13.21.1
Detailed Description
13.22
367
DataMethod ()
destructor
Private Attributes
DataMethodRep dataMethodRep
pointer to the body (handle-body idiom)
Friends
class ProblemDescDB
class NIDRProblemDescDB
13.22.1
Detailed Description
368
13.23
Public Attributes
String idMethod
string identifier for the method specification data set (from the id method specification in MethodIndControl)
String modelPointer
string pointer to the model specification to be used by this method (from the model pointer specification in
MethodIndControl)
short methodOutput
method verbosity control: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG} OUTPUT (from the output specification in MethodIndControl)
int maxIterations
maximum number of iterations allowed for the method (from the max iterations specification in MethodIndControl)
int maxFunctionEvaluations
maximum number of function evaluations allowed for the method (from the max function evaluations specification in MethodIndControl)
bool speculativeFlag
flag for use of speculative gradient approaches for maintaining parallel load balance during the line search portion
of optimization algorithms (from the speculative specification in MethodIndControl)
bool methodUseDerivsFlag
flag for usage of derivative data to enhance the computation of surrogate models (PCE/SC expansions, GP models
for EGO/EGRA/EGIE) based on the use derivatives specification
Real convergenceTolerance
iteration convergence tolerance for the method (from the convergence tolerance specification in MethodIndControl)
Real constraintTolerance
tolerance for controlling the amount of infeasibility that is allowed before an active constraint is considered to be
violated (from the constraint tolerance specification in MethodIndControl)
bool methodScaling
flag indicating scaling status (from the scaling specification in MethodIndControl)
size t numFinalSolutions
number of final solutions returned from the iterator
RealVector linearIneqConstraintCoeffs
coefficient matrix for the linear inequality constraints (from the linear inequality constraint matrix
specification in MethodIndControl)
RealVector linearIneqLowerBnds
lower bounds for the linear inequality constraints (from the linear inequality lower bounds specification in MethodIndControl)
RealVector linearIneqUpperBnds
upper bounds for the linear inequality constraints (from the linear inequality upper bounds specification in MethodIndControl)
StringArray linearIneqScaleTypes
369
scaling types for the linear inequality constraints (from the linear inequality scale types specification
in MethodIndControl)
RealVector linearIneqScales
scaling factors for the linear inequality constraints (from the linear inequality scales specification in
MethodIndControl)
RealVector linearEqConstraintCoeffs
coefficient matrix for the linear equality constraints (from the linear equality constraint matrix specification in MethodIndControl)
RealVector linearEqTargets
targets for the linear equality constraints (from the linear equality targets specification in MethodIndControl)
StringArray linearEqScaleTypes
scaling types for the linear equality constraints (from the linear equality scale types specification in
MethodIndControl)
RealVector linearEqScales
scaling factors for the linear equality constraints (from the linear equality scales specification in MethodIndControl)
String subMethodName
string identifier for a sub-method name within a multi-option method specification (e.g., from meta-iterators)
String subModelPointer
string pointer for a sub-model specification used by a meta-iterator
String subMethodPointer
string pointer for a sub-method specification used by a meta-iterator
int iteratorServers
number of servers for concurrent iterator parallelism (from the iterator servers specification)
int procsPerIterator
number of processors for each concurrent iterator partition (from the processors per iterator specification)
short iteratorScheduling
type of scheduling ({DEFAULT,MASTER,PEER} SCHEDULING) used in concurrent iterator parallelism (from
the iterator scheduling specification)
StringArray hybridMethodNames
array of methods for the sequential and collaborative hybrid meta-iterators (from the method name list specification)
StringArray hybridModelPointers
array of models for the sequential and collaborative hybrid meta-iterators (from the model pointer list
specification)
StringArray hybridMethodPointers
array of methods for the sequential and collaborative hybrid meta-iterators (from the method pointer list
specification)
String hybridGlobalMethodName
370
String hybridGlobalModelPointer
global model pointer for embedded hybrids (from the global model pointer specification)
String hybridGlobalMethodPointer
global method pointer for embedded hybrids (from the global method pointer specification)
String hybridLocalMethodName
local method name for embedded hybrids (from the local method name specification)
String hybridLocalModelPointer
local model pointer for embedded hybrids (from the local model pointer specification)
String hybridLocalMethodPointer
local method pointer for embedded hybrids (from the local method pointer specification)
Real hybridLSProb
local search probability for embedded hybrids (from the local search probability specification)
int concurrentRandomJobs
number of random jobs to perform in the pareto set and multi start meta-iterators (from the random starts and
random weight sets specifications)
RealVector concurrentParameterSets
user-specified (i.e., nonrandom) parameter sets to evaluate in the pareto set and multi start meta-iterators (from
the starting points and weight sets specifications)
int surrBasedLocalSoftConvLimit
number of consecutive iterations with change less than convergenceTolerance required to trigger convergence
within the surrogate-based local method (from the soft convergence limit specification in MethodSBL)
bool surrBasedLocalLayerBypass
flag to indicate user-specification of a bypass of any/all layerings in evaluating truth response values in SBL.
Real surrBasedLocalTRInitSize
initial trust region size in the surrogate-based local method (from the initial size specification in MethodSBL) note: this is a relative value, e.g., 0.1 = 10% of global bounds distance (upper bound - lower bound) for each
variable
Real surrBasedLocalTRMinSize
minimum trust region size in the surrogate-based local method (from the minimum size specification in MethodSBL), if the trust region size falls below this threshold the SBL iterations are terminated (note: if kriging is used
with SBL, the min trust region size is set to 1.0e-3 in attempt to avoid ill-conditioned matrixes that arise in kriging
over small trust regions)
Real surrBasedLocalTRContractTrigger
trust region minimum improvement level (ratio of actual to predicted decrease in objective fcn) in the surrogatebased local method (from the contract threshold specification in MethodSBL), the trust region shrinks or is
rejected if the ratio is below this value (eta 1 in the Conn-Gould-Toint trust region book)
Real surrBasedLocalTRExpandTrigger
trust region sufficient improvement level (ratio of actual to predicted decrease in objective fn) in the surrogate-based
local method (from the expand threshold specification in MethodSBL), the trust region expands if the ratio is
above this value (eta 2 in the Conn-Gould-Toint trust region book)
Real surrBasedLocalTRContract
trust region contraction factor in the surrogate-based local method (from the contraction factor specification in MethodSBL)
Real surrBasedLocalTRExpand
371
trust region expansion factor in the surrogate-based local method (from the expansion factor specification in
MethodSBL)
short surrBasedLocalSubProbObj
SBL approximate subproblem objective: ORIGINAL PRIMARY, SINGLE OBJECTIVE, LAGRANGIAN OBJECTIVE, or AUGMENTED LAGRANGIAN OBJECTIVE.
short surrBasedLocalSubProbCon
SBL approximate subproblem constraints: NO CONSTRAINTS, LINEARIZED CONSTRAINTS, or ORIGINAL CONSTRAINTS.
short surrBasedLocalMeritFn
SBL merit function type: BASIC PENALTY, ADAPTIVE PENALTY, BASIC LAGRANGIAN, or AUGMENTED LAGRANGIAN.
short surrBasedLocalAcceptLogic
SBL iterate acceptance logic: TR RATIO or FILTER.
short surrBasedLocalConstrRelax
SBL constraint relaxation method: NO RELAX or HOMOTOPY.
bool surrBasedGlobalReplacePts
user-specified method for adding points to the set upon which the next surrogate is based in the surrogate based global method.
String dlDetails
string of options for a dynamically linked solver
void dlLib
handle to dynamically loaded library
int verifyLevel
the verify level specification in MethodNPSOLDC
Real functionPrecision
the function precision specification in MethodNPSOLDC and the EPSILON specification in NOMAD
Real lineSearchTolerance
the linesearch tolerance specification in MethodNPSOLDC
Real absConvTol
absolute function convergence tolerance
Real xConvTol
x-convergence tolerance
Real singConvTol
singular convergence tolerance
Real singRadius
radius for singular convergence test
Real falseConvTol
false-convergence tolerance
Real initTRRadius
initial trust radius
int covarianceType
kind of covariance required
bool regressDiag
whether to print the regression diagnostic vector
372
Real gradientTolerance
the gradient tolerance specification in MethodOPTPPDC
Real maxStep
the max step specification in MethodOPTPPDC
short meritFn
the merit function specification for nonlinear interior-point methods in MethodOPTPPDC
Real stepLenToBoundary
the steplength to boundary specification for nonlinear interior-point methods in MethodOPTPPDC
Real centeringParam
the centering parameter specification for nonlinear interior-point methods in MethodOPTPPDC
int searchSchemeSize
the search scheme size specification for PDS methods in MethodOPTPPDC
Real initStepLength
the initStepLength choice for nonlinearly constrained APPS in MethodAPPSDC
Real contractStepLength
the contractStepLength choice for nonlinearly constrained APPS in MethodAPPSDC
Real threshStepLength
the threshStepLength choice for nonlinearly constrained APPS in MethodAPPSDC
String meritFunction
the meritFunction choice for nonlinearly constrained APPS in MethodAPPSDC
Real constrPenalty
the constrPenalty choice for nonlinearly constrained APPS in MethodAPPSDC
Real smoothFactor
the initial smoothFactor value for nonlinearly constrained APPS in MethodAPPSDC
Real constraintPenalty
the initial constraint penalty for COLINY methods in MethodAPPS, MethodSCOLIBDIR, MethodSCOLIBPS, MethodSCOLIBSW and MethodSCOLIBEA
bool constantPenalty
the constant penalty flag for COLINY methods in MethodSCOLIBPS and MethodSCOLIBSW
Real globalBalanceParam
the global balance parameter for the DIRECT method in MethodSCOLIBDIR
Real localBalanceParam
the local balance parameter for the DIRECT method in MethodSCOLIBDIR
Real maxBoxSize
the max boxsize limit for the DIRECT method in MethodSCOLIBDIR
Real minBoxSize
the min boxsize limit for the DIRECT method in MethodSCOLIBDIR and MethodNCSUDC
String boxDivision
the division setting (major dimension or all dimensions) for the DIRECT method in MethodSCOLIBDIR
bool mutationAdaptive
373
bool showMiscOptions
the show misc options specification in MethodSCOLIBDC
StringArray miscOptions
the misc options specification in MethodSCOLIBDC
Real solnTarget
the solution target specification in MethodSCOLIBDC
Real crossoverRate
the crossover rate specification for EA methods in MethodSCOLIBEA
Real mutationRate
the mutation rate specification for EA methods in MethodSCOLIBEA
Real mutationScale
the mutation scale specification for EA methods in MethodSCOLIBEA
Real mutationMinScale
the min scale specification for mutation in EA methods in MethodSCOLIBEA
Real initDelta
the initial delta specification for APPS/COBYLA/PS/SW methods in MethodAPPS, MethodSCOLIBCOB,
MethodSCOLIBPS, and MethodSCOLIBSW
Real threshDelta
the threshold delta specification for APPS/COBYLA/PS/SW methods in MethodAPPS, MethodSCOLIBCOB,
MethodSCOLIBPS, and MethodSCOLIBSW
Real contractFactor
the contraction factor specification for APPS/PS/SW methods in MethodAPPS, MethodSCOLIBPS, and
MethodSCOLIBSW
int newSolnsGenerated
the new solutions generated specification for GA/EPSA methods in MethodSCOLIBEA
int numberRetained
the integer assignment to random, chc, or elitist in the replacement type specification for GA/EPSA methods
in MethodSCOLIBEA
bool expansionFlag
the no expansion specification for APPS/PS/SW methods in MethodAPPS, MethodSCOLIBPS, and MethodSCOLIBSW
int expandAfterSuccess
the expand after success specification for PS/SW methods in MethodSCOLIBPS and MethodSCOLIBSW
int contractAfterFail
the contract after failure specification for the SW method in MethodSCOLIBSW
int mutationRange
the mutation range specification for the pga int method in MethodSCOLIBEA
int totalPatternSize
the total pattern size specification for PS methods in MethodSCOLIBPS
bool randomizeOrderFlag
the stochastic specification for the PS method in MethodSCOLIBPS
String selectionPressure
the fitness type specification for EA methods in MethodSCOLIBEA
374
String crossoverType
the crossover type specification for EA methods in MethodSCOLIBEA
String mutationType
the mutation type specification for EA methods in MethodSCOLIBEA
String exploratoryMoves
the exploratory moves specification for the PS method in MethodSCOLIBPS
String patternBasis
the pattern basis specification for APPS/PS methods in MethodAPPS and MethodSCOLIBPS
String betaSolverName
beta solvers dont need documentation
String evalSynchronize
the synchronization setting for parallel pattern search methods in MethodSCOLIBPS and MethodAPPS
size t numCrossPoints
The number of crossover points or multi-point schemes.
size t numParents
The number of parents to use in a crossover operation.
size t numOffspring
The number of children to produce in a crossover operation.
String fitnessType
the fitness assessment operator to use.
String convergenceType
The means by which this JEGA should converge.
Real percentChange
The minimum percent change before convergence for a fitness tracker converger.
size t numGenerations
The number of generations over which a fitness tracker converger should track.
Real fitnessLimit
The cutoff value for survival in fitness limiting selectors (e.g., below limit selector).
Real shrinkagePercent
The minimum percentage of the requested number of selections that must take place on each call to the selector (0,
1).
String nichingType
The niching type.
RealVector nicheVector
The discretization percentage along each objective.
size t numDesigns
The maximum number of designs to keep when using the max designs nicher.
String postProcessorType
The post processor type.
RealVector distanceVector
The discretization percentage along each objective.
375
String initializationType
The means by which the JEGA should initialize the population.
String flatFile
The filename to use for initialization.
String logFile
The filename to use for logging.
int populationSize
the population size specification for GA methods in MethodSCOLIBEA
bool printPopFlag
The print each pop flag to set the printing of the population at each generation.
Real volBoxSize
the volume boxsize limit for the DIRECT method in MethodNCSUDC
int numSymbols
the symbols specification for DACE methods
bool mainEffectsFlag
the main effects specification for sampling methods in MethodDDACE)
bool latinizeFlag
the latinize specification for FSU QMC and CVT methods in MethodFSUDACE
bool volQualityFlag
the quality metrics specification for sampling methods (FSU QMC and CVT methods in MethodFSUDACE)
IntVector sequenceStart
the sequenceStart specification in MethodFSUDACE
IntVector sequenceLeap
the sequenceLeap specification in MethodFSUDACE
IntVector primeBase
the primeBase specification in MethodFSUDACE
int numTrials
the numTrials specification in MethodFSUDACE
String trialType
the trial type specification in MethodFSUDACE
int randomSeed
the seed specification for COLINY, NonD, & DACE methods
String historyFile
the HISTORY FILE specification for NOMAD
String displayFormat
the DISPLAY STATS specification for NOMAD
Real vns
the VNS specification for NOMAD
bool showAllEval
the DISPLAY ALL EVAL specification for NOMAD
int numSamples
the samples specification for NonD & DACE methods
bool fixedSeedFlag
376
bool fixedSequenceFlag
flag for fixing the sequence for Halton or Hammersley QMC sample sets. This results in the use of the same
sampling stencil/pattern throughout an execution with repeated sampling.
int previousSamples
the number of previous samples when augmenting a LHS sample
bool vbdFlag
the var based decomp specification for a variety of sampling methods
Real vbdDropTolerance
the var based decomp tolerance for omitting index output
short covarianceControl
restrict the calculation of a full response covariance matrix for high dimensional outputs: {DEFAULT,DIAGONAL,FULL} COVARIANCE
String rngName
the basic random-number generator for NonD
short refinementType
refinement type for stochastic expansions from dimension refinement keyword group
short refinementControl
refinement control for stochastic expansions from dimension refinement keyword group
short nestingOverride
override for default point nesting policy: NO NESTING OVERRIDE, NESTED, or NON NESTED
short growthOverride
override for default point growth restriction policy: NO GROWTH OVERRIDE, RESTRICTED, or UNRESTRICTED
short expansionType
enumeration for u-space type that defines u-space variable targets for probability space transformations: EXTENDED U (default), ASKEY U, STD NORMAL U, or STD UNIFORM U
bool piecewiseBasis
boolean indicating presence of piecewise keyword
short expansionBasisType
enumeration for type of basis in sparse grid interpolation (Pecos::{NODAL,HIERARCHICAL} INTERPOLANT)
or regression (Pecos::{TENSOR PRODUCT,TOTAL ORDER,ADAPTED} BASIS).
UShortArray expansionOrder
the expansion order specification in MethodNonDPCE
SizetArray expansionSamples
the expansion samples specification in MethodNonDPCE
String expansionSampleType
allows for incremental PCE construction using the incremental lhs specification in MethodNonDPCE
UShortArray quadratureOrder
the quadrature order specification in MethodNonDPCE and MethodNonDSC
UShortArray sparseGridLevel
377
the sparse grid level specification in MethodNonDPCE, MethodNonDSC, and other stochastic expansionenabled methods
RealVector anisoDimPref
the dimension preference specification for tensor and sparse grids and expansion orders in MethodNonDPCE and MethodNonDSC
SizetArray collocationPoints
the collocation points specification in MethodNonDPCE
Real collocationRatio
the collocation ratio specification in MethodNonDPCE
Real collocRatioTermsOrder
order applied to the number of expansion terms when applying or computing the collocation ratio within regression
PCE; based on the ratio order specification in MethodNonDPCE
short regressionType
type of regression: LS, OMP, BP, BPDN, LARS, or LASSO
short lsRegressionType
type of least squares regression: SVD or EQ CON QR
RealVector regressionNoiseTol
noise tolerance(s) for OMP, BPDN, LARS, and LASSO
Real regressionL2Penalty
L2 regression penalty for a variant of LASSO known as the elastic net method (default of 0 gives standard LASSO)
bool crossValidation
flag indicating the use of cross-validation across expansion orders (given a prescribed maximum order) and, for
some methods, noise tolerances
bool normalizedCoeffs
flag indicating the output of PCE coefficients corresponding to normalized basis polynomials
String pointReuse
allows PCE construction to reuse points from previous sample sets or data import using the reuse points
specification in MethodNonDPCE
bool tensorGridFlag
flag for usage of a sub-sampled set of tensor-product grid points within regression PCE; based on the tensor grid specification in MethodNonDPCE
UShortArray tensorGridOrder
order of tensor-product grid points that are sub-sampled within orthogonal least interpolation PCE; based on the
tensor grid specification in MethodNonDPCE
String expansionImportFile
the import expansion file specification in MethodNonDPCE
String expansionExportFile
the export expansion file specification in MethodNonDPCE
378
String reliabilityIntegration
the first order or second order integration selection in MethodNonDLocalRel
int refineSamples
the refinement samples selection in MethodNonDLocalRel, MethodNonDPCE, and MethodNonDSC
short distributionType
the distribution cumulative or complementary specification in MethodNonD
short responseLevelTarget
the compute probabilities, reliabilities, or gen reliabilities specification in MethodNonD
short responseLevelTargetReduce
the system series or parallel specification in MethodNonD
RealVectorArray responseLevels
the response levels specification in MethodNonD
RealVectorArray probabilityLevels
the probability levels specification in MethodNonD
RealVectorArray reliabilityLevels
the reliability levels specification in MethodNonD
RealVectorArray genReliabilityLevels
the gen reliability levels specification in MethodNonD
int emulatorSamples
the number of samples to construct a GP emulator for Bayesian calibration methods (MethodNonDBayesCalib)
short emulatorType
the emulator specification in MethodNonDBayesCalib
String mcmcType
the mcmc type specification in MethodNonDBayesCalib
String rejectionType
the rejection type specification in MethodNonDBayesCalib
String metropolisType
the metropolis type specification in MethodNonDBayesCalib
RealVector proposalCovScale
the proposal covariance scale factor in MethodNonDBayesCalib
Real likelihoodScale
the likelihood scale factor in MethodNonDBayesCalib
String fitnessMetricType
the fitness metric type specification in MethodNonDAdaptive
String batchSelectionType
the batch selection type specification in MethodNonDAdaptive
int batchSize
379
The size of the batch (e.g. number of supplemental points added) to be added to be added to the build points for an
emulator at each iteration.
bool calibrateSigmaFlag
flag to indicate if the sigma terms should be calibrated in MethodNonDBayesCalib
int numChains
number of concurrent chains
int numCR
number of CR-factors
int crossoverChainPairs
number of crossover chain pairs
Real grThreshold
threshold for the Gelmin-Rubin statistic
int jumpStep
how often to perform a long jump in generations
RealVector finalPoint
the final point specification in MethodPSVPS
RealVector stepVector
the step vector specification in MethodPSVPS and MethodPSCPS
int numSteps
the num steps specification in MethodPSVPS
IntVector stepsPerVariable
the deltas per variable specification in MethodPSCPS
RealVector listOfPoints
the list of points specification in MethodPSLPS
String pstudyFilename
the import points file spec for a file-based parameter study
bool pstudyFileAnnotated
whether the parameter study points file is annotated
UShortArray varPartitions
the partitions specification for PStudy method in MethodPSMPS
Real refinementRate
rate of mesh refinement in Richardson extrapolation
String approxImportFile
the file name for point import in surrogate-based methods
bool approxImportAnnotated
whether the point import file is annotated (default true)
String approxExportFile
the file name for point export in surrogate-based methods
bool approxExportAnnotated
whether the point export file is annotated (default true)
380
DataMethodRep ()
destructor
Private Attributes
int referenceCount
number of handle objects sharing this dataMethodRep
Friends
class DataMethod
the handle class can access attributes of the body class directly
13.23.1
Detailed Description
13.24
DataModel ()
destructor
381
assignment operator
Private Attributes
DataModelRep dataModelRep
pointer to the body (handle-body idiom)
Friends
class ProblemDescDB
class NIDRProblemDescDB
13.24.1
Detailed Description
13.25
Public Attributes
String idModel
string identifier for the model specification data set (from the id model specification in ModelIndControl)
String modelType
model type selection: single, surrogate, or nested (from the model type specification in ModelIndControl)
382
String interfacePointer
string pointer to the interface specification to be used by this model (from the interface pointer specification
in ModelSingle and the optional interface pointer specification in ModelNested)
String responsesPointer
string pointer to the responses specification to be used by this model (from the responses pointer specification in ModelIndControl)
bool hierarchicalTags
whether this model and its children will add hierarchy-based tags to eval ids
String subMethodPointer
pointer to a sub-iterator used for global approximations (from the dace method pointer specification in
ModelSurrG) or by nested models (from the sub method pointer specification in ModelNested)
IntSet surrogateFnIndices
array specifying the response function set that is approximated
String surrogateType
the selected surrogate type: local taylor, multipoint tana, global (neural network,mars,orthogonal polynomial,gaussian,
polynomial,kriging), or hierarchical
String truthModelPointer
pointer to the model specification for constructing the truth model used in building local, multipoint, and hierarchical approximations (from the actual model pointer specification in ModelSurrL and ModelSurrMP and
the high fidelity model pointer specification in ModelSurrH)
String lowFidelityModelPointer
pointer to the low fidelity model specification used in hierarchical approximations (from the low fidelity model pointer specification in ModelSurrH)
int pointsTotal
user-specified lower bound on total points with which to build the model (if reuse points < pointsTotal, new samples
will make up the difference)
short pointsManagement
points management configuration for DataFitSurrModel: DEFAULT POINTS, MINIMUM POINTS, or RECOMMENDED POINTS
String approxPointReuse
sample reuse selection for building global approximations: none, all, region, or file (from the reuse samples
specification in ModelSurrG)
String approxImportFile
the file name from the import points file specification in ModelSurrG
bool approxImportAnnotated
whether the point import file is annotated (default true)
String approxExportFile
the file name from the export points file specification in ModelSurrG
bool approxExportAnnotated
whether the point export file is annotated (default true)
String approxExportModelFile
the file name from the export model file specification in ModelSurrG
383
short approxCorrectionType
correction type for global and hierarchical approximations: NO CORRECTION, ADDITIVE CORRECTION, MULTIPLICATIVE CORRECTION, or COMBINED CORRECTION (from the correction specification in ModelSurrG and ModelSurrH)
short approxCorrectionOrder
correction order for global and hierarchical approximations: 0, 1, or 2 (from the correction specification in
ModelSurrG and ModelSurrH)
bool modelUseDerivsFlag
flags the use of derivatives in building global approximations (from the use derivatives specification in
ModelSurrG)
short polynomialOrder
scalar integer indicating the order of the polynomial approximation (1=linear, 2=quadratic, 3=cubic; from the
polynomial specification in ModelSurrG)
RealVector krigingCorrelations
vector of correlations used in building a kriging approximation (from the correlations specification in ModelSurrG)
String krigingOptMethod
optimization method to use in finding optimal correlation parameters: none, sampling, local, global
short krigingMaxTrials
maximum number of trials in optimization of kriging correlations
RealVector krigingMaxCorrelations
upper bound on kriging correlation vector
RealVector krigingMinCorrelations
lower bound on kriging correlation vector
Real krigingNugget
nugget value for kriging
short krigingFindNugget
option to have Kriging find the best nugget value to use
short mlsPolyOrder
polynomial order for moving least squares approximation
short mlsWeightFunction
weight function for moving least squares approximation
short rbfBases
bases for radial basis function approximation
short rbfMaxPts
maximum number of points for radial basis function approximation
short rbfMaxSubsets
maximum number of subsets for radial basis function approximation
short rbfMinPartition
minimum partition for radial basis function approximation
short marsMaxBases
maximum number of bases for MARS approximation
String marsInterpolation
interpolation type for MARS approximation
384
short annNodes
number of nodes for artificial neural network approximation
Real annRange
range for artificial neural network approximation
String trendOrder
scalar integer indicating the order of the Gaussian process mean (0= constant, 1=linear, 2=quadratic, 3=cubic);
from the gaussian process specification in ModelSurrG)
bool pointSelection
flag indicating the use of point selection in the Gaussian process
StringArray diagMetrics
List of diagnostic metrics the user requests to assess the goodness of fit for a surrogate model.
bool crossValidateFlag
flag indicating the use of cross validation on the metrics specified
int numFolds
number of folds to perform in cross validation
Real percentFold
percentage of data to withhold for cross validation process
bool pressFlag
flag indicating the use of PRESS on the metrics specified
String approxChallengeFile
the file name from the challenge points file specification in ModelSurrG
bool approxChallengeAnnotated
whether the challenge data file is annotated (default true)
String optionalInterfRespPointer
string pointer to the responses specification used by the optional interface in nested models (from the optionalinterface responses pointer specification in ModelNested)
StringArray primaryVarMaps
the primary variable mappings used in nested models for identifying the lower level variable targets for inserting
top level variable values (from the primary variable mapping specification in ModelNested)
StringArray secondaryVarMaps
the secondary variable mappings used in nested models for identifying the (distribution) parameter targets within
the lower level variables for inserting top level variable values (from the secondary variable mapping
specification in ModelNested)
RealVector primaryRespCoeffs
the primary response mapping matrix used in nested models for weighting contributions from the sub-iterator
responses in the top level (objective) functions (from the primary response mapping specification in ModelNested)
RealVector secondaryRespCoeffs
the secondary response mapping matrix used in nested models for weighting contributions from the sub-iterator
responses in the top level (constraint) functions (from the secondary response mapping specification in
ModelNested)
int subMethodServers
number of servers for concurrent sub-iterator parallelism
385
int subMethodProcs
number of processors for each concurrent sub-iterator partition
short subMethodScheduling
scheduling approach for concurrent sub-iterator parallelism: {DEFAULT,MASTER,PEER} SCHEDULING
DataModelRep ()
destructor
Private Attributes
int referenceCount
number of handle objects sharing this dataModelRep
Friends
class DataModel
the handle class can access attributes of the body class directly
13.25.1
Detailed Description
13.26
386
DataResponses ()
destructor
Private Attributes
DataResponsesRep dataRespRep
pointer to the body (handle-body idiom)
Friends
class ProblemDescDB
class NIDRProblemDescDB
13.26.1
Detailed Description
13.27
387
Public Attributes
String idResponses
string identifier for the responses specification data set (from the id responses specification in RespSetId)
StringArray responseLabels
the response labels array (from the response descriptors specification in RespLabels)
size t numObjectiveFunctions
number of objective functions (from the num objective functions specification in RespFnOpt)
size t numNonlinearIneqConstraints
number of nonlinear inequality constraints (from the num nonlinear inequality constraints specification in RespFnOpt)
size t numNonlinearEqConstraints
number of nonlinear equality constraints (from the num nonlinear equality constraints specification
in RespFnOpt)
size t numLeastSqTerms
number of least squares terms (from the num least squares terms specification in RespFnLS)
size t numResponseFunctions
number of generic response functions (from the num response functions specification in RespFnGen)
StringArray primaryRespFnSense
optimization sense for each objective function: minimize or maximize
RealVector primaryRespFnWeights
vector of weightings for multiobjective optimization or weighted nonlinear least squares (from the multi objective weights specification in RespFnOpt and the least squares weights specification in RespFnLS)
RealVector nonlinearIneqLowerBnds
vector of nonlinear inequality constraint lower bounds (from the nonlinear inequality lower bounds
specification in RespFnOpt)
RealVector nonlinearIneqUpperBnds
vector of nonlinear inequality constraint upper bounds (from the nonlinear inequality upper bounds
specification in RespFnOpt)
RealVector nonlinearEqTargets
vector of nonlinear equality constraint targets (from the nonlinear equality targets specification in
RespFnOpt)
StringArray primaryRespFnScaleTypes
vector of primary response function scaling types (from the objective function scale types specification in RespFnOpt and the least squares term scale types specification in RespFnLS)
RealVector primaryRespFnScales
vector of primary response function scaling factors (from the objective function scales specification in
RespFnOpt and the least squares term scales specification in RespFnLS)
StringArray nonlinearIneqScaleTypes
vector of nonlinear inequality constraint scaling types (from the nonlinear inequality scale types
specification in RespFnOpt)
388
StringArray nonlinearEqScaleTypes
vector of nonlinear equality constraint scaling types (from the nonlinear equality scale types specification in RespFnOpt)
RealVector nonlinearEqScales
vector of nonlinear equality constraint scaling factors (from the nonlinear equality scales specification
in RespFnOpt)
size t numExperiments
number of distinct experiments in experimental data
IntVector numReplicates
number of replicates in experimental data (e.g. one experiment run many times at the same configuration gives
replicates)
size t numExpConfigVars
number of experimental configuration vars (state variables) in each row of data
size t numExpStdDeviations
whether to read num responses standard deviations from each row of data file
RealVector expConfigVars
list of num experiments x num config vars configuration variable values
RealVector expObservations
list of num calibration terms observation data
RealVector expStdDeviations
list of 1 or num calibration terms observation standard deviations
String expDataFileName
name of experimental data file containing response data (with optional state variable and sigma data) to read
bool expDataFileAnnotated
whether the experimental data is in annotated format
String gradientType
gradient type: none, numerical, analytic, or mixed (from the no gradients, numerical gradients, analyticgradients, and mixed gradients specifications in RespGrad)
String hessianType
Hessian type: none, numerical, quasi, analytic, or mixed (from the no hessians, numerical hessians,
quasi hessians, analytic hessians, and mixed hessians specifications in RespHess)
bool ignoreBounds
option to ignore bounds when doing finite differences (default is to honor bounds)
bool centralHess
Temporary(?) option to use old 2nd-order diffs when computing finite-difference Hessians; default is forward
differences.
String quasiHessianType
quasi-Hessian type: bfgs, damped bfgs, or sr1 (from the bfgs and sr1 specifications in RespHess)
String methodSource
numerical gradient method source: dakota or vendor (from the method source specification in RespGradNum
and RespGradMixed)
String intervalType
389
numerical gradient interval type: forward or central (from the interval type specification in RespGradNum
and RespGradMixed)
RealVector fdGradStepSize
vector of finite difference step sizes for numerical gradients, one step size per active continuous variable, used in
computing 1st-order forward or central differences (from the fd gradient step size specification in RespGradNum and RespGradMixed)
String fdGradStepType
type of finite difference step to use for numerical gradient: relative - step length is relative to x absolute - step length
is what is specified bounds - step length is relative to range of x
RealVector fdHessStepSize
vector of finite difference step sizes for numerical Hessians, one step size per active continuous variable, used in
computing 1st-order gradient-based differences and 2nd-order function-based differences (from the fd hessianstep size specification in RespHessNum and RespHessMixed)
String fdHessStepType
type of finite difference step to use for numerical Hessian: relative - step length is relative to x absolute - step length
is what is specified bounds - step length is relative to range of x
IntSet idNumericalGrads
mixed gradient numerical identifiers (from the id numerical gradients specification in RespGradMixed)
IntSet idAnalyticGrads
mixed gradient analytic identifiers (from the id analytic gradients specification in RespGradMixed)
IntSet idNumericalHessians
mixed Hessian numerical identifiers (from the id numerical hessians specification in RespHessMixed)
IntSet idQuasiHessians
mixed Hessian quasi identifiers (from the id quasi hessians specification in RespHessMixed)
IntSet idAnalyticHessians
mixed Hessian analytic identifiers (from the id analytic hessians specification in RespHessMixed)
DataResponsesRep ()
destructor
Private Attributes
int referenceCount
number of handle objects sharing this dataResponsesRep
390
Friends
class DataResponses
the handle class can access attributes of the body class directly
13.27.1
Detailed Description
13.28
DataVariables ()
destructor
size t design ()
return total number of design variables
391
size t uncertain ()
return total number of uncertain variables
size t state ()
return total number of state variables
Private Attributes
DataVariablesRep dataVarsRep
pointer to the body (handle-body idiom)
Friends
class ProblemDescDB
class NIDRProblemDescDB
13.28.1
Detailed Description
13.29
392
Public Attributes
String idVariables
string identifier for the variables specification data set (from the id variables specification in VarSetId)
short varsView
user selection/override of variables view: {DEFAULT,ALL,DESIGN, UNCERTAIN,ALEATORY UNCERTAIN,EPISTEMIC UNCERTAIN,STATE} VIEW
short varsDomain
user selection/override of variables domain: {DEFAULT,MIXED,RELAXED} DOMAIN
bool uncertainVarsInitPt
flag indicating user specification of initial points (for local optimization-based UQ methods) for at least one uncertain variable type
size t numContinuousDesVars
number of continuous design variables (from the continuous design specification in VarDV)
size t numDiscreteDesRangeVars
number of discrete design variables defined by an integer range (from the discrete design range specification in VarDV)
size t numDiscreteDesSetIntVars
number of discrete design variables defined by a set of integers (from the discrete design set integer
specification in VarDV)
size t numDiscreteDesSetRealVars
number of discrete design variables defined by a set of reals (from the discrete design set real specification in VarDV)
size t numNormalUncVars
number of normal uncertain variables (from the normal uncertain specification in VarAUV)
size t numLognormalUncVars
number of lognormal uncertain variables (from the lognormal uncertain specification in VarAUV)
size t numUniformUncVars
number of uniform uncertain variables (from the uniform uncertain specification in VarAUV)
size t numLoguniformUncVars
number of loguniform uncertain variables (from the loguniform uncertain specification in VarAUV)
size t numTriangularUncVars
number of triangular uncertain variables (from the triangular uncertain specification in VarAUV)
size t numExponentialUncVars
number of exponential uncertain variables (from the exponential uncertain specification in VarAUV)
size t numBetaUncVars
number of beta uncertain variables (from the beta uncertain specification in VarAUV)
size t numGammaUncVars
number of gamma uncertain variables (from the gamma uncertain specification in VarAUV)
size t numGumbelUncVars
number of gumbel uncertain variables (from the gumbel uncertain specification in VarAUV)
size t numFrechetUncVars
number of frechet uncertain variables (from the frechet uncertain specification in VarAUV)
size t numWeibullUncVars
393
number of weibull uncertain variables (from the weibull uncertain specification in VarAUV)
size t numHistogramBinUncVars
number of histogram bin uncertain variables (from the histogram bin uncertain specification in VarAUV)
size t numPoissonUncVars
number of Poisson uncertain variables (from the poisson uncertain specification in VarAUV)
size t numBinomialUncVars
number of binomial uncertain variables (from the binomial uncertain specification in VarAUV)
size t numNegBinomialUncVars
number of negative binomial uncertain variables (from the negative binomial uncertain specification in
VarAUV)
size t numGeometricUncVars
number of geometric uncertain variables (from the geometric uncertain specification in VarAUV
size t numHyperGeomUncVars
number of hypergeometric uncertain variables (from the hypergeometric uncertain specification in VarAUV))
size t numHistogramPtUncVars
number of histogram point uncertain variables (from the histogram point uncertain specification in VarAUV)
size t numContinuousIntervalUncVars
number of continuous epistemic interval uncertain variables (from the continuous interval uncertain
specification in VarEUV)
size t numDiscreteIntervalUncVars
number of discrete epistemic interval uncertain variables (from the discrete interval uncertain specification in VarEUV)
size t numDiscreteUncSetIntVars
number of discrete epistemic uncertain integer set variables (from the discrete uncertain set integer
specification in VarEUV)
size t numDiscreteUncSetRealVars
number of discrete epistemic uncertain real set variables (from the discrete uncertain set real specification in VarEUV)
size t numContinuousStateVars
number of continuous state variables (from the continuous state specification in VarSV)
size t numDiscreteStateRangeVars
number of discrete state variables defined by an integer range (from the discrete state range specification
in VarDV)
size t numDiscreteStateSetIntVars
number of discrete state variables defined by a set of integers (from the discrete state set integer specification in VarDV)
size t numDiscreteStateSetRealVars
number of discrete state variables defined by a set of reals (from the discrete state set real specification
in VarDV)
RealVector continuousDesignVars
initial values for the continuous design variables array (from the continuous design initial point specification in VarDV)
RealVector continuousDesignLowerBnds
394
RealVector continuousDesignUpperBnds
upper bounds array for the continuous design variables (from the continuous design upper bounds specification in VarDV)
StringArray continuousDesignScaleTypes
scale types array for the continuous design variables (from the continuous design scale types specification in VarDV)
RealVector continuousDesignScales
scales array for the continuous design variables (from the continuous design scales specification in VarDV)
IntVector discreteDesignRangeVars
initial values for the discrete design variables defined by an integer range (from the discrete design range
initial point specification in VarDV)
IntVector discreteDesignRangeLowerBnds
lower bounds array for the discrete design variables defined by an integer range (from the discrete designrange lower bounds specification in VarDV)
IntVector discreteDesignRangeUpperBnds
upper bounds array for the discrete design variables defined by an integer range(from the discrete design range upper bounds specification in VarDV)
IntVector discreteDesignSetIntVars
initial values for the discrete design variables defined by an integer set (from the discrete design set integer initial point specification in VarDV)
RealVector discreteDesignSetRealVars
initial values for the discrete design variables defined by a real set (from the discrete design set real
initial point specification in VarDV)
IntSetArray discreteDesignSetInt
complete set of admissible values for each of the discrete design variables defined by an integer set (from the
discrete design set integer set values specification in VarDV)
RealSetArray discreteDesignSetReal
complete set of admissible values for each of the discrete design variables defined by a real set (from the discretedesign set real set values specification in VarDV)
StringArray continuousDesignLabels
labels array for the continuous design variables (from the continuous design descriptors specification
in VarDV)
StringArray discreteDesignRangeLabels
labels array for the discrete design variables defined by an integer range (from the discrete design range
descriptors specification in VarDV)
StringArray discreteDesignSetIntLabels
labels array for the discrete design variables defined by an integer set (from the discrete design range
descriptors specification in VarDV)
StringArray discreteDesignSetRealLabels
labels array for the discrete design variables defined by a real set (from the discrete design range descriptors
specification in VarDV)
RealVector normalUncMeans
means of the normal uncertain variables (from the means specification in VarCAUV Normal)
395
RealVector normalUncStdDevs
standard deviations of the normal uncertain variables (from the std deviations specification in VarCAUV Normal)
RealVector normalUncLowerBnds
distribution lower bounds for the normal uncertain variables (from the lower bounds specification in VarCAUV Normal)
RealVector normalUncUpperBnds
distribution upper bounds for the normal uncertain variables (from the upper bounds specification in VarCAUV Normal)
RealVector normalUncVars
initial values of the normal uncertain variables (from the initial point specification in VarCAUV Normal)
RealVector lognormalUncLambdas
lambdas (means of the corresponding normals) of the lognormal uncertain variables (from the lambdas specification in VarCAUV Lognormal)
RealVector lognormalUncZetas
zetas (standard deviations of the corresponding normals) of the lognormal uncertain variables (from the zetas
specification in VarCAUV Lognormal)
RealVector lognormalUncMeans
means of the lognormal uncertain variables (from the means specification in VarCAUV Lognormal)
RealVector lognormalUncStdDevs
standard deviations of the lognormal uncertain variables (from the std deviations specification in VarCAUV Lognormal)
RealVector lognormalUncErrFacts
error factors for the lognormal uncertain variables (from the error factors specification in VarCAUV Lognormal)
RealVector lognormalUncLowerBnds
distribution lower bounds for the lognormal uncertain variables (from the lower bounds specification in VarCAUV Lognormal)
RealVector lognormalUncUpperBnds
distribution upper bounds for the lognormal uncertain variables (from the upper bounds specification in VarCAUV Lognormal)
RealVector lognormalUncVars
initial values of the lognormal uncertain variables (from the initial point specification in VarCAUV Lognormal)
RealVector uniformUncLowerBnds
distribution lower bounds for the uniform uncertain variables (from the lower bounds specification in VarCAUV Uniform)
RealVector uniformUncUpperBnds
distribution upper bounds for the uniform uncertain variables (from the upper bounds specification in VarCAUV Uniform)
RealVector uniformUncVars
initial values of the uniform uncertain variables (from the initial point specification in VarCAUV Uniform)
RealVector loguniformUncLowerBnds
distribution lower bounds for the loguniform uncertain variables (from the lower bounds specification in VarCAUV Loguniform)
RealVector loguniformUncUpperBnds
distribution upper bounds for the loguniform uncertain variables (from the upper bounds specification in VarCAUV Loguniform)
396
RealVector triangularUncModes
modes of the triangular uncertain variables (from the modes specification in VarCAUV Triangular)
RealVector triangularUncLowerBnds
distribution lower bounds for the triangular uncertain variables (from the lower bounds specification in VarCAUV Triangular)
RealVector triangularUncUpperBnds
distribution upper bounds for the triangular uncertain variables (from the upper bounds specification in VarCAUV Triangular)
RealVector triangularUncVars
initial values of the triangular uncertain variables (from the initial point specification in VarCAUV Triangular)
RealVector exponentialUncBetas
beta factors for the exponential uncertain variables (from the betas specification in VarCAUV Exponential)
RealVector exponentialUncVars
initial values of the exponential uncertain variables (from the initial point specification in VarCAUV Exponential)
RealVector betaUncAlphas
alpha factors for the beta uncertain variables (from the means specification in VarCAUV Beta)
RealVector betaUncBetas
beta factors for the beta uncertain variables (from the std deviations specification in VarCAUV Beta)
RealVector betaUncLowerBnds
distribution lower bounds for the beta uncertain variables (from the lower bounds specification in VarCAUV Beta)
RealVector betaUncUpperBnds
distribution upper bounds for the beta uncertain variables (from the upper bounds specification in VarCAUV Beta)
RealVector betaUncVars
initial values of the beta uncertain variables (from the initial point specification in VarCAUV Beta)
RealVector gammaUncAlphas
alpha factors for the gamma uncertain variables (from the alphas specification in VarCAUV Gamma)
RealVector gammaUncBetas
beta factors for the gamma uncertain variables (from the betas specification in VarCAUV Gamma)
RealVector gammaUncVars
initial values of the gamma uncertain variables (from the initial point specification in VarCAUV Gamma)
RealVector gumbelUncAlphas
alpha factors for the gumbel uncertain variables (from the alphas specification in VarCAUV Gumbel)
RealVector gumbelUncBetas
beta factors for of the gumbel uncertain variables (from the betas specification in VarCAUV Gumbel)
RealVector gumbelUncVars
initial values of the gumbel uncertain variables (from the initial point specification in VarCAUV Gumbel)
RealVector frechetUncAlphas
alpha factors for the frechet uncertain variables (from the alphas specification in VarCAUV Frechet)
RealVector frechetUncBetas
397
beta factors for the frechet uncertain variables (from the betas specification in VarCAUV Frechet)
RealVector frechetUncVars
initial values of the frechet uncertain variables (from the initial point specification in VarCAUV Frechet)
RealVector weibullUncAlphas
alpha factors for the weibull uncertain variables (from the alphas specification in VarCAUV Weibull)
RealVector weibullUncBetas
beta factors for the weibull uncertain variables (from the betas specification in VarCAUV Weibull)
RealVector weibullUncVars
initial values of the weibull uncertain variables (from the initial point specification in VarCAUV Weibull)
RealVectorArray histogramUncBinPairs
an array containing a vector of (x,c) pairs for each bin-based histogram uncertain variable (see continuous linear
histogram in LHS manual; from the histogram bin uncertain specification in VarCAUV Bin Histogram).
(x,y) ordinate specifications are converted to (x,c) counts within NIDR.
RealVector histogramBinUncVars
initial values of the histogram bin uncertain variables (from the initial point specification in VarCAUV BinHistogram)
RealVector poissonUncLambdas
lambdas (rate parameter) for the poisson uncertain variables (from the lambdas specification in VarDAUV Poisson)
IntVector poissonUncVars
initial values of the poisson uncertain variables (from the initial point specification in VarDAUV Poisson)
RealVector binomialUncProbPerTrial
probabilities per each trial (p) for the binomial uncertain variables from the prob per trial specification in
VarDAUV Binomial)
IntVector binomialUncNumTrials
Number of trials (N) for the binomial uncertain variables from the num trials specification in VarDAUV Binomial)
IntVector binomialUncVars
initial values of the binomial uncertain variables (from the initial point specification in VarDAUV Binomial)
RealVector negBinomialUncProbPerTrial
probabilities per each trial (p) for the negative binomial uncertain variables from the prob per trial specification in VarDAUV Negative Binomial)
IntVector negBinomialUncNumTrials
Number of trials (N) for the negative binomial uncertain variables from the num trials specification in VarDAUV Negative Binomial)
IntVector negBinomialUncVars
initial values of the negative binomial uncertain variables (from the initial point specification in VarDAUVNegative Binomial)
RealVector geometricUncProbPerTrial
probabilities per each trial (p) for the geometric uncertain variables from the prob per trial specification in
VarDAUV Geometric)
IntVector geometricUncVars
initial values of the geometric uncertain variables (from the initial point specification in VarDAUV Geometric)
IntVector hyperGeomUncTotalPop
398
IntVector hyperGeomUncSelectedPop
Size of selected populations for the hypergeometric uncertain variables from the selected population specification in VarDAUV Hypergeometric)
IntVector hyperGeomUncNumDrawn
Number failed in the selected populations for the hypergeometric variables from the num drawn specification in
VarDAUV Hypergeometric)
IntVector hyperGeomUncVars
initial values of the hypergeometric uncertain variables (from the initial point specification in VarDAUV Hypergeometric)
RealVectorArray histogramUncPointPairs
an array containing a vector of (x,c) pairs for each point-based histogram uncertain variable (see discrete histogram in LHS manual; from the histogram point uncertain specification in VarDAUV Point Histogram)
RealVector histogramPointUncVars
initial values of the histogram point uncertain variables (from the initial point specification in VarDAUV Point Histogram)
RealSymMatrix uncertainCorrelations
correlation matrix for all uncertain variables (from the uncertain correlation matrix specification in
VarAUV Correlations). This matrix specifies rank correlations for LHS sampling and correlation coefficients (rhoij = normalized covariance matrix) for other methods.
RealVectorArray continuousIntervalUncBasicProbs
Probability values per interval cell per epistemic interval uncertain variable (from the continuous intervaluncertain interval probs specification in VarCEUV Interval)
RealVectorArray continuousIntervalUncLowerBounds
lower bounds defining cells for each epistemic interval uncertain variable (from the continuous interval uncertain lower bounds specification in VarCEUV Interval)
RealVectorArray continuousIntervalUncUpperBounds
upper bounds defining cells for each epistemic interval uncertain variable (from the continuous interval uncertain upper bounds specification in VarCEUV Interval)
RealVector continuousIntervalUncVars
initial values of the continuous interval uncertain variables (from the initial point specification in VarCEUV Interval)
RealVectorArray discreteIntervalUncBasicProbs
Probability values per interval cell per epistemic interval uncertain variable (from the discrete interval uncertain interval probs specification in VarDIUV)
IntVectorArray discreteIntervalUncLowerBounds
lower bounds defining cells for each epistemic interval uncertain variable (from the discrete interval uncertain lower bounds specification in VarDIUV)
IntVectorArray discreteIntervalUncUpperBounds
upper bounds defining cells for each epistemic interval uncertain variable (from the discrete interval uncertain upper bounds specification in VarDIUV)
IntVector discreteIntervalUncVars
initial values of the discrete interval uncertain variables (from the initial point specification in VarDIUV)
IntRealMapArray discreteUncSetIntValuesProbs
399
complete set of admissible values with associated basic probability assignments for each of the discrete epistemic
uncertain variables defined by an integer set (from the discrete uncertain set integer set values
specification in VarDUSIV)
IntVector discreteUncSetIntVars
initial values of the discrete uncertain set integer variables (from the initial point specification in VarDUSIV)
RealRealMapArray discreteUncSetRealValuesProbs
complete set of admissible values with associated basic probability assignments for each of the discrete epistemic
uncertain variables defined by a real set (from the discrete uncertain set real set values specification in VarDUSRV)
RealVector discreteUncSetRealVars
initial values of the discrete uncertain set real variables (from the initial point specification in VarDUSRV)
RealVector continuousStateVars
initial values for the continuous state variables array (from the continuous state initial point specification in VarSV)
RealVector continuousStateLowerBnds
lower bounds array for the continuous state variables (from the continuous state lower bounds specification in VarSV)
RealVector continuousStateUpperBnds
upper bounds array for the continuous state variables (from the continuous state upper bounds specification in VarSV)
IntVector discreteStateRangeVars
initial values for the discrete state variables defined by an integer range (from the discrete state range
initial point specification in VarSV)
IntVector discreteStateRangeLowerBnds
lower bounds array for the discrete state variables defined by an integer range (from the discrete state range lower bounds specification in VarSV)
IntVector discreteStateRangeUpperBnds
upper bounds array for the discrete state variables defined by an integer range(from the discrete state range upper bounds specification in VarSV)
IntVector discreteStateSetIntVars
initial values for the discrete state variables defined by an integer set (from the discrete state set integer
initial point specification in VarSV)
RealVector discreteStateSetRealVars
initial values for the discrete state variables defined by a real set (from the discrete state set real initialpoint specification in VarSV)
IntSetArray discreteStateSetInt
complete set of admissible values for each of the discrete state variables defined by an integer set (from the
discrete state set integer set values specification in VarSV)
RealSetArray discreteStateSetReal
complete set of admissible values for each of the discrete state variables defined by a real set (from the discretestate set real set values specification in VarSV)
StringArray continuousStateLabels
labels array for the continuous state variables (from the continuous state descriptors specification in
VarSV)
StringArray discreteStateRangeLabels
400
StringArray discreteStateSetIntLabels
labels array for the discrete state variables defined by an integer set (from the discrete state range descriptors
specification in VarSV)
StringArray discreteStateSetRealLabels
labels array for the discrete state variables defined by a real set (from the discrete state range descriptors
specification in VarSV)
IntVector discreteDesignSetIntLowerBnds
discrete design integer set lower bounds inferred from set values
IntVector discreteDesignSetIntUpperBnds
discrete design integer set upper bounds inferred from set values
RealVector discreteDesignSetRealLowerBnds
discrete design real set lower bounds inferred from set values
RealVector discreteDesignSetRealUpperBnds
discrete design real set upper bounds inferred from set values
RealVector continuousAleatoryUncVars
array of values for all continuous aleatory uncertain variables
RealVector continuousAleatoryUncLowerBnds
distribution lower bounds for all continuous aleatory uncertain variables (collected from nuv lower bounds,
lnuv lower bounds, uuv lower bounds, luuv lower bounds, tuv lower bounds, and buv lowerbounds specifications in VarAUV, and derived for gamma, gumbel, frechet, weibull and histogram bin specifications)
RealVector continuousAleatoryUncUpperBnds
distribution upper bounds for all continuous aleatory uncertain variables (collected from nuv upper bounds,
lnuv upper bounds, uuv upper bounds, luuv upper bounds, tuv lower bounds, and buv upperbounds specifications in VarAUV, and derived for gamma, gumbel, frechet, weibull and histogram bin specifications)
StringArray continuousAleatoryUncLabels
labels for all continuous aleatory uncertain variables (collected from nuv descriptors, lnuv descriptors,
uuv descriptors, luuv descriptors, tuv descriptors, buv descriptors, gauv descriptors,
guuv descriptors, fuv descriptors, wuv descriptors, and hbuv descriptors specifications
in VarAUV)
IntVector discreteIntAleatoryUncVars
array of values for all discrete integer aleatory uncertain variables
IntVector discreteIntAleatoryUncLowerBnds
distribution lower bounds for all discrete integer aleatory uncertain variables
IntVector discreteIntAleatoryUncUpperBnds
distribution upper bounds for all discrete integer aleatory uncertain variables
StringArray discreteIntAleatoryUncLabels
labels for all discrete integer aleatory uncertain variables
RealVector discreteRealAleatoryUncVars
array of values for all discrete real aleatory uncertain variables
RealVector discreteRealAleatoryUncLowerBnds
distribution lower bounds for all discrete real aleatory uncertain variables
StringArray discreteRealAleatoryUncLabels
labels for all discrete real aleatory uncertain variables
RealVector continuousEpistemicUncVars
array of values for all continuous epistemic uncertain variables
RealVector continuousEpistemicUncLowerBnds
distribution lower bounds for all continuous epistemic uncertain variables
RealVector continuousEpistemicUncUpperBnds
distribution upper bounds for all continuous epistemic uncertain variables
StringArray continuousEpistemicUncLabels
labels for all continuous epistemic uncertain variables
IntVector discreteIntEpistemicUncVars
array of values for all discrete integer epistemic uncertain variables
IntVector discreteIntEpistemicUncLowerBnds
distribution lower bounds for all discrete integer epistemic uncertain variables
IntVector discreteIntEpistemicUncUpperBnds
distribution upper bounds for all discrete integer epistemic uncertain variables
StringArray discreteIntEpistemicUncLabels
labels for all discrete integer epistemic uncertain variables
RealVector discreteRealEpistemicUncVars
array of values for all discrete real epistemic uncertain variables
RealVector discreteRealEpistemicUncLowerBnds
distribution lower bounds for all discrete real epistemic uncertain variables
RealVector discreteRealEpistemicUncUpperBnds
distribution upper bounds for all discrete real epistemic uncertain variables
StringArray discreteRealEpistemicUncLabels
labels for all discrete real epistemic uncertain variables
IntVector discreteStateSetIntLowerBnds
discrete state integer set lower bounds inferred from set values
IntVector discreteStateSetIntUpperBnds
discrete state integer set upper bounds inferred from set values
RealVector discreteStateSetRealLowerBnds
discrete state real set lower bounds inferred from set values
RealVector discreteStateSetRealUpperBnds
discrete state real set upper bounds inferred from set values
401
402
DataVariablesRep ()
destructor
Private Attributes
int referenceCount
number of handle objects sharing dataVarsRep
Friends
class DataVariables
the handle class can access attributes of the body class directly
13.29.1
Detailed Description
13.30
403
DDACEDesignCompExp (Model &model, int samples, int symbols, int seed, unsigned short sampling method)
alternate constructor used for building approximations
DDACEDesignCompExp ()
destructor
404
Private Attributes
unsigned short daceMethod
oas, lhs, oa lhs, random, box behnken, central composite, or grid
int samplesSpec
initial specification of number of samples
int symbolsSpec
initial specification of number of symbols
int numSamples
current number of samples to be evaluated
int numSymbols
current number of symbols to be used in generating the sample set (inversely related to number of replications)
int randomSeed
current seed for the random number generator
bool allDataFlag
flag which triggers the update of allVars/allResponses for use by Iterator::all variables() and Iterator::all responses()
size t numDACERuns
counter for number of executions for this object
bool varyPattern
flag for continuing the random number sequence from a previous execution (e.g., for surrogate-based optimization)
so that multiple executions are repeatable but not correlated.
bool mainEffectsFlag
flag which specifies main effects
Detailed Description
13.30.2
405
DDACEDesignCompExp ( Model & model, int samples, int symbols, int seed, unsigned short
sampling method )
alternate constructor used for building approximations
This alternate constructor is used for instantiations on-the-fly, using only the incoming data. No problem
description database queries are used.
References Iterator::maxEvalConcurrency, DDACEDesignCompExp::numSamples, and DDACEDesignCompExp::resolve samples symbols().
13.30.3
) [virtual]
pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori
pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call
its nearest parents pre run(), if implemented, typically before performing its own implementation steps.
Reimplemented from Iterator.
References DDACEDesignCompExp::get parameter sets(), Iterator::iteratedModel, and PStudyDACE::varBasedDecompFlag.
void post run ( std::ostream & s ) [virtual]
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Analyzer.
References Analyzer::allResponses, Analyzer::allSamples, SensAnalysisGlobal::compute correlations(), DDACEDesignCompExp::compute main effects(), DDACEDesignCompExp::mainEffectsFlag, Analyzer::post run(),
PStudyDACE::pStudyDACESensGlobal, Iterator::subIteratorFlag, and PStudyDACE::varBasedDecompFlag.
int num samples (
Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References DDACEDesignCompExp::numSamples.
void resolve samples symbols (
) [private]
convenience function for resolving number of samples and number of symbols from input.
This function must define a combination of samples and symbols that is acceptable for a particular sampling
algorithm. Users provide requests for these quantities, but this function must enforce any restrictions imposed by
the sampling algorithms.
References Dakota::abort handler(), DDACEDesignCompExp::daceMethod, Analyzer::numContinuousVars,
DDACEDesignCompExp::numSamples, and DDACEDesignCompExp::numSymbols.
Referenced by DDACEDesignCompExp::DDACEDesignCompExp(), and DDACEDesignCompExp::get parameter sets().
406
void copy data ( const std::vector< DDaceSamplePoint > & dspa, Real ptr, const int ptr len )
[static], [private]
copy DDACE point to RealVector
copy DDACE point array to RealVectorArray copy DDACE point array to Real
References Dakota::abort handler().
Referenced by DDACEDesignCompExp::get parameter sets().
The documentation for this class was generated from the following files:
DDACEDesignCompExp.hpp
DDACEDesignCompExp.cpp
13.31
Derived application interface class which spawns simulation codes and testers using direct procedure calls.
Inheritance diagram for DirectApplicInterface:
Interface
ApplicationInterface
DirectApplicInterface
MatlabInterface
PythonInterface
ScilabInterface
TestDriverInterface
ParallelDirectApplicInterface
SerialDirectApplicInterface
DirectApplicInterface ()
destructor
void derived map (const Variables &vars, const ActiveSet &set, Response &response, int fn eval id)
Called by map() and other functions to execute the simulation in synchronous mode. The portion of performing an
evaluation that is specific to a derived class.
407
void set local data (const Variables &vars, const ActiveSet &set)
convenience function for local test simulators which sets per-evaluation variable and active set attributes
void set local data (const Variables &vars, const ActiveSet &set, const Response &response)
convenience function for local test simulators which sets per-evaluation variable, active set, and response attributes
Protected Attributes
String iFilterName
name of the direct function input filter
String oFilterName
name of the direct function output filter
driver t iFilterType
enum type of the direct function input filter
driver t oFilterType
enum type of the direct function output filter
bool gradFlag
signals use of fnGrads in direct simulator functions
bool hessFlag
signals use of fnHessians in direct simulator functions
size t numFns
number of functions in fnVals
size t numVars
total number of continuous and discrete variables
size t numACV
total number of continuous variables
size t numADIV
total number of discete integer variables
size t numADRV
total number of discete real variables
size t numDerivVars
number of active derivative variables
408
RealVector xC
continuous variables used within direct simulator fns
IntVector xDI
discrete int variables used within direct simulator fns
RealVector xDR
discrete real variables used within direct simulator fns
StringMultiArray xCLabels
continuous variable labels
StringMultiArray xDILabels
discrete integer variable labels
StringMultiArray xDRLabels
discrete real variable labels
ShortArray directFnASV
class scope active set vector
SizetArray directFnDVV
class scope derivative variables vector
RealVector fnVals
response fn values within direct simulator fns
RealMatrix fnGrads
response fn gradients w/i direct simulator fns
RealSymMatrixArray fnHessians
response fn Hessians within direct fns
StringArray analysisDrivers
409
the set of analyses within each function evaluation (from the analysis drivers interface specification)
size t analysisDriverIndex
the index of the active analysis driver within analysisDrivers
String2DArray analysisComponents
the set of optional analysis components used by the analysis drivers (from the analysis components interface specification)
13.31.1
Detailed Description
Derived application interface class which spawns simulation codes and testers using direct procedure calls.
DirectApplicInterface uses a few linkable simulation codes and several internal member functions to perform
parameter to response mappings.
13.31.2
410
13.32
DiscrepancyCorrection (Model &surr model, const IntSet &surr fn indices, short corr type, short corr order)
standard constructor
DiscrepancyCorrection (const IntSet &surr fn indices, size t num fns, size t num vars, short corr type,
short corr order)
alternate constructor
DiscrepancyCorrection ()
destructor
void initialize (Model &surr model, const IntSet &surr fn indices, short corr type, short corr order)
initialize the DiscrepancyCorrection data
void initialize (const IntSet &surr fn indices, size t num fns, size t num vars, short corr type, short corr order)
initialize the DiscrepancyCorrection data
void compute (const Variables &vars, const Response &truth response, const Response &approx response,
bool quiet flag=false)
compute the correction required to bring approx response into agreement with truth response and store in {add,mult}Corrections
void compute (const Response &truth response, const Response &approx response, Response &discrepancyresponse, bool quiet flag=false)
compute the correction required to bring approx response into agreement with truth response and store in discrepancyresponse
void apply (const Variables &vars, Response &approx response, bool quiet flag=false)
apply the correction computed in compute() to approx response
411
return dataOrder
Protected Attributes
IntSet surrogateFnIndices
for mixed response sets, this array specifies the response function subset that is approximated
short correctionType
approximation correction approach to be used: NO CORRECTION, ADDITIVE CORRECTION, MULTIPLICATIVE CORRECTION, or COMBINED CORRECTION.
short correctionOrder
approximation correction order to be used: 0, 1, or 2
short dataOrder
order of correction data in 3-bit format: overlay of 1 (value), 2 (gradient), and 4 (Hessian)
bool correctionComputed
flag indicating whether or not a correction has been computed and is available for application
size t numFns
total number of response functions (of which surrogateFnIndices may define a subset)
size t numVars
number of continuous variables active in the correction
bool check scaling (const RealVector &truth fns, const RealVector &approx fns)
define badScalingFlag
void compute additive (const Response &truth response, const Response &approx response, int index,
Real &discrep fn, RealVector &discrep grad, RealSymMatrix &discrep hess)
internal convenience function for computing additive corrections between truth and approximate responses
void compute multiplicative (const Response &truth response, const Response &approx response, int index, Real &discrep fn, RealVector &discrep grad, RealSymMatrix &discrep hess)
internal convenience function for computing multiplicative corrections between truth and approximate responses
const Response & search db (const Variables &search vars, const ShortArray &search asv)
search data pairs for missing approximation data
412
Private Attributes
bool badScalingFlag
flag used to indicate function values near zero for multiplicative corrections; triggers an automatic switch to additive corrections
bool computeAdditive
flag indicating the need for additive correction calculations
bool computeMultiplicative
flag indicating the need for multiplicative correction calculations
SharedApproxData sharedData
data that is shared among all correction Approximations
Model surrModel
shallow copy of the surrogate model instance as returned by Model::surrogate model() (the DataFitSurrModel or
HierarchSurrModel::lowFidelityModel instance)
RealVector combineFactors
factors for combining additive and multiplicative corrections. Each factor is the weighting applied to the additive
correction and 1.-factor is the weighting applied to the multiplicative correction. The factor value is determined by
an additional requirement to match the high fidelity function value at the previous correction point (e.g., previous
trust region center). This results in a multipoint correction instead of a strictly local correction.
Variables correctionPrevCenterPt
copy of center point from the previous correction cycle
RealVector truthFnsCenter
truth function values at the current correction point
RealVector approxFnsCenter
Surrogate function values at the current correction point.
RealMatrix approxGradsCenter
Surrogate gradient values at the current correction point.
RealVector truthFnsPrevCenter
copy of truth function values at center of previous correction cycle
RealVector approxFnsPrevCenter
copy of approximate function values at center of previous correction cycle
13.32.1
Detailed Description
13.32.2
413
void compute ( const Variables & vars, const Response & truth response, const Response &
approx response, bool quiet flag = false )
compute the correction required to bring approx response into agreement with truth response and store in {add,mult}Corrections
Compute an additive or multiplicative correction that corrects the approx response to have 0th-order consistency (matches values), 1st-order consistency (matches values and gradients), or 2nd-order consistency (matches
values, gradients, and Hessians) with the truth response at a single point (e.g., the center of a trust region). The
0th-order, 1st-order, and 2nd-order corrections use scalar values, linear scaling functions, and quadratic scaling
functions, respectively, for each response function.
References Response::active set(), DiscrepancyCorrection::addCorrections, DiscrepancyCorrection::apply(),
DiscrepancyCorrection::apply additive(), DiscrepancyCorrection::apply multiplicative(), DiscrepancyCorrection::approxFnsCenter, DiscrepancyCorrection::approxFnsPrevCenter, DiscrepancyCorrection::approxGradsCenter,
DiscrepancyCorrection::badScalingFlag, DiscrepancyCorrection::check scaling(), DiscrepancyCorrection::combineFactors, DiscrepancyCorrection::compute additive(), DiscrepancyCorrection::compute multiplicative(), DiscrepancyCorrection::computeAdditive, DiscrepancyCorrection::computeMultiplicative, Variables::continuous variables(),
Response::copy(), DiscrepancyCorrection::correctionComputed, DiscrepancyCorrection::correctionOrder, DiscrepancyCorrection::correctionPrevCenterPt, DiscrepancyCorrection::correctionType, DiscrepancyCorrection::dataOrder,
Variables::discrete int variables(), Variables::discrete real variables(), Response::function gradients(), Response::function values(), Model::is null(), DiscrepancyCorrection::multCorrections, DiscrepancyCorrection::numFns,
DiscrepancyCorrection::numVars, ActiveSet::request values(), DiscrepancyCorrection::sharedData, DiscrepancyCorrection::surrModel, DiscrepancyCorrection::surrogateFnIndices, DiscrepancyCorrection::truthFnsCenter, and
DiscrepancyCorrection::truthFnsPrevCenter.
Referenced by HierarchSurrModel::derived asynch compute response(), HierarchSurrModel::derived computeresponse(), DataFitSurrModel::derived compute response(), HierarchSurrModel::derived synchronize(), DataFitSurrModel::derived synchronize(), HierarchSurrModel::derived synchronize nowait(), DataFitSurrModel::derivedsynchronize nowait(), and SurrBasedLocalMinimizer::minimize surrogates().
The documentation for this class was generated from the following files:
DiscrepancyCorrection.hpp
DiscrepancyCorrection.cpp
13.33
414
DOTOptimizer ()
destructor
Private Attributes
int dotInfo
INFO from DOT manual.
int dotFDSinfo
internal DOT parameter NGOTOZ
int dotMethod
METHOD from DOT manual.
int printControl
IPRINT from DOT manual (controls output verbosity)
RealArray realCntlParmArray
RPRM from DOT manual.
IntArray intCntlParmArray
IPRM from DOT manual.
RealVector designVars
array of design variable values passed to DOT
Real objFnValue
value of the objective function passed to DOT
RealVector constraintValues
415
int realWorkSpaceSize
size of realWorkSpace
int intWorkSpaceSize
size of intWorkSpace
RealArray realWorkSpace
real work space for DOT
IntArray intWorkSpace
int work space for DOT
int numDotNlnConstr
total number of nonlinear constraints seen by DOT
int numDotLinConstr
total number of linear constraints seen by DOT
int numDotConstr
total number of linear and nonlinear constraints seen by DOT
SizetArray constraintMappingIndices
a container of indices for referencing the corresponding Response constraints used in computing the DOT constraints.
RealArray constraintMappingMultipliers
a container of multipliers for mapping the Response constraints to the DOT constraints.
RealArray constraintMappingOffsets
a container of offsets for mapping the Response constraints to the DOT constraints.
Detailed Description
13.33.2
416
417
13.34
A subclass of the JEGA front end driver that exposes the individual protected methods to execute the algorithm.
Inherits Driver.
13.34.1
Detailed Description
A subclass of the JEGA front end driver that exposes the individual protected methods to execute the algorithm.
This is necessary because DAKOTA requires that all problem information be extracted from the problem
description DB at the time of Optimizer construction and the front end does it all in the execute algorithm method
which must be called in find optimum.
13.34.2
418
Parameters
The definition of the problem to be solved by this Driver whenever ExecuteAlgorithm is
called.
The problem can be solved in multiple ways by multiple algorithms even using multiple different evaluators by
probConfig
13.34.3
The fully loaded configuration object containing the database of parameters for the algorithm to be run on the known problem.
Returns
The fully configured and loaded GA ready to be run using the PerformIterations method.
Referenced by JEGAOptimizer::find optimum().
DesignOFSortSet PerformIterations ( GeneticAlgorithm theGA ) [inline]
Performs the required iterations on the supplied GA.
This includes the calls to AlgorithmInitialize and AlgorithmFinalize and logs some information if appropriate.
This is just here to expose the base class method to users.
Parameters
theGA
Returns
The final solutions reported by the supplied GA after all iterations and call to AlgorithmFinalize.
Referenced by JEGAOptimizer::find optimum().
void DestroyAlgorithm ( GeneticAlgorithm theGA ) [inline]
Deletes the supplied GA.
Use this method to destroy a GA after all iterations have been run. This method knows if the log associated
with the GA was created here and needs to be destroyed as well or not.
This is just here to expose the base class method to users.
Be sure to use this prior to destoying the algorithm config object which contains the target. The GA destructor
needs the target to be in tact.
419
Parameters
theGA
13.35
EffGlobalMinimizer ()
alternate constructor for instantiations on the fly
420
Private Attributes
String setUpType
controls iteration mode: model (normal usage) or user functions (user-supplied functions mode for on the
fly instantiations).
Model fHatModel
GP model of response, one approximation per response function.
Model eifModel
recast model which assimilates mean and variance to solve the max(EIF) sub-problem
Real meritFnStar
minimum penalized response from among true function evaluations
RealVector truthFnStar
true function values corresponding to the minimum penalized response
RealVector varStar
point that corresponds to the optimal value meritFnStar
short dataOrder
order of the data used for surrogate construction, in ActiveSet request vector 3-bit format; user may override
responses spec
Detailed Description
13.35.2
421
EffGlobalMinimizer (
13.35.3
) [private]
13.36
422
EfficientSubspaceMethod ()
Destructor.
void expand basis (bool &mach svtol met, bool &user svtol met)
generate fullspace samples, append to matrix, and factor, returning whether tolerance met
void compute svd (bool &mach svtol met, bool &user svtol met)
factor the derivative matrix and analyze singular values, assessing convergence and rank, returning whether tolerance met
void uncertain vars to subspace (Model &native model, Model &vars transform model)
translate the characterization of uncertain variables in the native model to the reduced space of the transformed
model
423
Private Attributes
int seedSpec
seed controlling all samplers
int initialSamples
initial number of samples at which to query the truth model
int batchSize
number of points to add at each iteration
int subspaceSamples
number of UQ samples to perform in the reduced space
double userSVTol
user-specified tolerance on singular value ratio
double nullspaceTol
user-specified tolerance on nullspace
double svRatio
current singular value ratio (sigma k/sigma 0)
RealMatrix reducedBasis
basis for the reduced subspace
RealMatrix derivativeMatrix
matrix of derivative data with numFunctions columns per fullspace sample; each column contains the gradient of
one function at one sample point, so total matrix size is numContinuousVars (numFunctions numSamples) [ D1
| D2 | ... | Dnum samples] [ dy1/dx(k=1) | dy2/dx(k=1) | ... | dyM/dx(k=1) | k=2 | ... | k=n s ]
RealMatrix varsMatrix
matrix of fullspace variable points samples size numContinuousVars (numSamples)
Iterator fullSpaceSampler
Monte Carlo sampler for the full parameter space.
Detailed Description
424
13.36.2
) [virtual]
) [private]
experimental method to demonstrate creating a RecastModel and perform sampling-based UQ in the reduced
space
This function is experimental and needs to be reviewed and cleaned up. In particular the translation of the
correlations from full to reduced space is likely wrong. Transformation may be correct for covariance, but likely
not correlations.
References Model::assign rep(), NonD::construct lhs(), Model::free communicators(), NonD::generate systemseed(), Model::init communicators(), Iterator::iteratedModel, EfficientSubspaceMethod::map xi to x(), Analyzer::numContinuousVars, Analyzer::numFunctions, Iterator::print results(), EfficientSubspaceMethod::reducedRank,
Iterator::run(), Iterator::sampling reset(), EfficientSubspaceMethod::seedSpec, Iterator::sub iterator flag(), EfficientSubspaceMethod::subspaceSamples, EfficientSubspaceMethod::uncertain vars to subspace(), and Analyzer::varypattern().
Referenced by EfficientSubspaceMethod::quantify uncertainty().
void uncertain vars to subspace ( Model & native model, Model & vars transform model ) [private]
translate the characterization of uncertain variables in the native model to the reduced space of the transformed
model
transform and set the distribution parameters in the reduced model
Convert the user-specified normal random variables to the appropriate reduced space variables, based on the
orthogonal transformation.
TODO: Generalize to convert other random variable types
References Dakota::abort handler(), Model::aleatory distribution parameters(), Analyzer::numContinuousVars,
Iterator::outputLevel, EfficientSubspaceMethod::reducedBasis, and EfficientSubspaceMethod::reducedRank.
Referenced by EfficientSubspaceMethod::reduced space uq().
425
void map xi to x ( const Variables & recast xi vars, Variables & sub model x vars ) [static],
[private]
map the active continuous recast variables to the active submodel variables (linear transformation)
Perform the variables mapping from recast reduced dimension variables xi to original model x variables via
linear transformation. Maps only continuous variables.
References Variables::continuous variables(), Dakota::copy data(), EfficientSubspaceMethod::esmInstance,
Iterator::outputLevel, and EfficientSubspaceMethod::reducedBasis.
Referenced by EfficientSubspaceMethod::reduced space uq().
The documentation for this class was generated from the following files:
EfficientSubspaceMethod.hpp
EfficientSubspaceMethod.cpp
13.37
Meta-iterator for closely-coupled hybrid iteration, typically involving the embedding of local search methods
within global search methods.
Inheritance diagram for EmbedHybridMetaIterator:
Iterator
MetaIterator
EmbedHybridMetaIterator
EmbedHybridMetaIterator ()
destructor
426
Private Attributes
Iterator globalIterator
the top-level outer iterator (e.g., global minimizer)
Model globalModel
the model employed by the top-level outer iterator
Iterator localIterator
the inner iterator (e.g., local minimizer)
Model localModel
the model employed by the inner iterator
Real localSearchProb
the probability of running a local search refinement within phases of the global minimization for tightly-coupled
hybrids
Detailed Description
Meta-iterator for closely-coupled hybrid iteration, typically involving the embedding of local search methods
within global search methods.
This meta-iterator uses multiple methods in close coordination, generally using a local search minimizer
repeatedly within a global minimizer (the local search minimizer refines candidate minima which are fed back to
the global minimizer).
The documentation for this class was generated from the following files:
EmbedHybridMetaIterator.hpp
EmbedHybridMetaIterator.cpp
13.38
LibraryEnvironment
427
virtual Environment ()
destructor
Environment (BaseConstructor, ProgramOptions prog opts, MPI Comm dakota mpi comm=MPI COMM WORLD)
constructor initializes the base class part of library letter classes
void parse (bool check bcast database=true, DbCallbackFunctionPtr callback=NULL, void callback data=NULL)
parse inputs, callbacks, and optionally check and broadcast
void construct ()
Instantiate topLevelIterator.
void destruct ()
Deallocate parallel partitioning for topLevelIterator.
428
Protected Attributes
MPIManager mpiManager
the MPI manager instance
ProgramOptions programOptions
the command line options manager
OutputManager outputManager
(tagged) output stream manager
ParallelLibrary parallelLib
the parallel library instance
ProblemDescDB probDescDB
the parser database instance
Iterator topLevelIterator
the top level (meta-)iterator
Private Attributes
Environment environmentRep
pointer to the letter (initialized only for the envelope)
int referenceCount
number of objects sharing environmentRep
13.38.1
Detailed Description
13.38.2
Environment (
429
) [virtual]
destructor
Destructor decrements referenceCount and only deletes environmentRep when referenceCount reaches zero.
References Environment::destruct(), Environment::environmentRep, and Environment::referenceCount.
Environment ( BaseConstructor ) [protected]
constructor initializes the base class part of default-constructed letters
This letter constructor initializes base class data for inherited environments that are default constructed. Since
the letter IS the representation, its representation pointer is set to NULL (an uninitialized pointer causes problems
in Environment).
Use cases: library with no options, no MPI comm
430
13.38.3
13.39
431
Evaluator (void)
Destructor.
bool eval x (NOMAD::Eval Point &x, const NOMAD::Double &h max, bool &count eval) const
Main Evaluation Method.
Private Attributes
int numNomadNonlinearEqConstr
std::vector< int > constrMapIndices
map from Dakota constraint number to Nomad constraint number
13.39.1
Detailed Description
13.39.2
432
Parameters
p
model
13.39.3
bool eval x ( NOMAD::Eval Point & x, const NOMAD::Double & h max, bool & count eval ) const
Main Evaluation Method.
Method that handles the communication between
the NOMAD search process and the Black Box Evaluation managed by DAKOTAs Interface.
Parameters
x
h max
count eval
Object that contains the points that need to evaluated. Once the evaluation is completed,
this object also stores the output back to be read by NOMAD.
Current value of the barrier parameter. Not used in this implementation.
Flag that indicates whether this evaluation counts towards the max number of evaluations,
often set to false when the evaluation does not meet certain costs during expensive evaluations. Not used in this implementation.
Returns
true if the evaluation was successful; false otherwise.
References Dakota::set index to value().
The documentation for this class was generated from the following files:
NomadOptimizer.hpp
NomadOptimizer.cpp
13.40
433
Private Attributes
Model & model
The Model known by this evaluator.
13.40.1
Detailed Description
13.40.2
434
Parameters
algorithm
model
Evaluator ( const Evaluator & copy, GeneticAlgorithm & algorithm, Model & model ) [inline]
Copy constructs a Evaluator for use by algorithm.
The optimizer is needed for purposes of variable scaling.
Parameters
copy
algorithm
model
13.40.3
) [inline], [static]
) [inline], [static]
435
Returns
A description of the operation of this operator.
void SeparateVariables ( const Design & from, RealVector & intoCont, IntVector & intoDiscInt,
RealVector & intoDiscReal ) const [protected]
This method fills intoCont, intoDiscInt and intoDiscReal appropriately using the values of from.
The discrete integer design variable values are placed in intoDiscInt, the discrete real design variable values
are placed in intoDiscReal, and the continuum are placed into intoCont. The values are written into the vectors
from the beginning so any previous contents of the vectors will be overwritten.
Parameters
from
intoDiscInt
intoDiscReal
intoCont
The Design class object from which to extract the discrete design variable values.
The vector into which to place the extracted discrete integer values.
The vector into which to place the extracted discrete real values.
The vector into which to place the extracted continuous values.
std::size t GetNumberNonLinearConstraints (
std::size t GetNumberLinearConstraints (
436
Returns
true if all evaluations completed and false otherwise.
virtual bool Evaluate ( Design & des ) [inline], [virtual]
This method cannot be used!!
This method does nothing and cannot be called. This is because in the case of asynchronous evaluation, this
method would be unable to conform. It would require that each evaluation be done in a synchronous fashion.
Parameters
des
Returns
Would return true if the Design were evaluated and false otherwise. Never actually returns here. Issues a
fatal error. Otherwise, it would always return false.
virtual std::string GetName (
Returns
A clone of this operator.
13.40.4
13.41
Private Attributes
Model & theModel
The user defined model to be passed to the constructor of the Evaluator.
13.41.1
Detailed Description
13.41.2
437
438
Parameters
theModel
13.41.3
Returns
A pointer to a newly created Evaluator.
The documentation for this class was generated from the following file:
JEGAOptimizer.cpp
13.42
Environment
ExecutableEnvironment
ExecutableEnvironment ()
destructor
void execute ()
the run function for the environment: invoke the iterator(s) on the model(s). Called from main.cpp.
439
Private Attributes
boost::shared ptr< TrackerHTTP > usageTracker
posts usage data to Web server; using shared ptr due to potentially incomplete type and requirements for checkeddelete in debug builds (scoped ptr would suffice)
Detailed Description
13.43
Public Attributes
std::vector< ExpDataPerResponse > allExperiments
At the outer level, ExperimentData will just be a vector of ExpDataPerResponse;.
13.43.1
Detailed Description
The ExperimentData class is used to read and populate data (currently from user-specified files and/or the input
spec) relating to experimental (physical observations) data for the purposes of calibration. Such data may include
(for example): number of experiments, number of replicates, configuration variables, type of data (scalar vs.
functional), treatment of sigma (experimental uncertainties). This class also provides an interpolation capability to
interpolate between simulation or experimental data so that the differencing between simulation and experimental
data may be performed properly.
440
13.43.2
void load scalar ( const std::string & expDataFilename, const std::string & context message, size t
numExperiments, IntVector & numReplicates, size t numExpConfigVars, size t numFunctions, size t
numExpStdDeviationsRead, bool expDataFileAnnotated, bool calc sigma from data, short verbosity )
constructor
Constructor from legacy file format
References Dakota::read historical data().
Referenced by Minimizer::data transform model(), NonDQUESOBayesCalibration::quantify uncertainty(),
NonDDREAMBayesCalibration::quantify uncertainty(), and NonDGPMSABayesCalibration::quantify uncertainty().
The documentation for this class was generated from the following files:
ExperimentData.hpp
ExperimentData.cpp
13.44
Derived application interface class which spawns simulation codes using fork/execvp/waitpid.
Inheritance diagram for ForkApplicInterface:
Interface
ApplicationInterface
ProcessApplicInterface
ProcessHandleApplicInterface
ForkApplicInterface
ForkApplicInterface ()
destructor
441
For asynchronous function evaluations, this method is used to detect completion of jobs and process their results. It
provides the processing code that is specific to derived classes. This version is nonblocking and will return without
any completions if none are immediately available.
pid t create analysis process (bool block flag, bool new group)
spawn a child process for an analysis component within an evaluation using fork()/vfork()/execvp() and wait for
completion using waitpid() if block flag is true
void join process group (pid t &process group id, bool new group)
core code used by join {evaluation,analysis} process group()
Private Attributes
pid t evalProcGroupId
the process group id used to identify a set of child evaluation processes used by this interface instance (to distinguish
from other interface instances that could be running at the same time)
pid t analysisProcGroupId
the process group id used to identify a set of child analysis processes used by this interface instance (to distinguish
from other interface instances that could be running at the same time)
442
Detailed Description
Derived application interface class which spawns simulation codes using fork/execvp/waitpid.
ForkApplicInterface is used on Unix systems and is a peer to SpawnApplicInterface for Windows systems.
The documentation for this class was generated from the following files:
ForkApplicInterface.hpp
ForkApplicInterface.cpp
13.45
FSUDesignCompExp (Model &model, int samples, int seed, unsigned short sampling method)
alternate constructor for building a DACE iterator on-the-fly
FSUDesignCompExp ()
destructor
443
Private Attributes
int samplesSpec
initial specification of number of samples
int numSamples
current number of samples to be evaluated
bool allDataFlag
flag which triggers the update of allVars/allResponses for use by Iterator::all variables() and Iterator::all responses()
size t numDACERuns
counter for number of executions for this object
bool latinizeFlag
flag which specifies latinization of QMC or CVT sample sets
IntVector sequenceStart
Integer vector defining a starting index into the sequence for random variable sampled. Default is 0 0 0 (e.g. for
three random variables).
IntVector sequenceLeap
Integer vector defining the leap number for each sequence being generated. Default is 1 1 1 (e.g. for three random
vars.)
IntVector primeBase
Integer vector defining the prime base for each sequence being generated. Default is 2 3 5 (e.g., for three random
vars.)
int seedSpec
the user seed specification for the random number generator (allows repeatable results)
int randomSeed
current seed for the random number generator
bool varyPattern
flag for continuing the random number or QMC sequence from a previous execution (e.g., for surrogate-based
optimization) so that multiple executions are repeatable but not identical.
int numCVTTrials
specifies the number of sample points taken at internal CVT iteration
int trialType
Trial type in CVT. Specifies where the points are placed for consideration relative to the centroids. Choices are grid
(2), halton (1), uniform (0), or random (-1). Default is random.
444
Detailed Description
13.45.2
13.45.3
) [virtual]
pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori
pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call
its nearest parents pre run(), if implemented, typically before performing its own implementation steps.
Reimplemented from Iterator.
References FSUDesignCompExp::get parameter sets(), Iterator::iteratedModel, and PStudyDACE::varBasedDecompFlag.
void post run ( std::ostream & s ) [virtual]
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
445
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Analyzer.
References Analyzer::allResponses, Analyzer::allSamples, SensAnalysisGlobal::compute correlations(), Analyzer::post run(), PStudyDACE::pStudyDACESensGlobal, Iterator::subIteratorFlag, and PStudyDACE::varBasedDecompFlag.
int num samples (
Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References FSUDesignCompExp::numSamples.
void enforce input rules (
) [private]
13.46
Approximation
GaussProcApproximation
GaussProcApproximation ()
destructor
446
void build ()
find the covariance parameters governing the Gaussian process response
void GPmodel apply (const RealVector &new x, bool variance flag, bool gradients flag)
Function returns a response value using the GP surface.
447
static void constraint eval (int mode, int n, const Teuchos::SerialDenseVector< int, double > &X, Teuchos::SerialDenseVector< int, double > &g, Teuchos::SerialDenseMatrix< int, double > &gradC, int &resultmode)
static function used by OPT++ as the constraint function in the optimization of the negative log likelihood. Currently this function is empty: it is an unconstrained optimization.
448
Private Attributes
Real approxValue
value of the approximation returned by value()
Real approxVariance
value of the approximation returned by prediction variance()
RealMatrix trainPoints
A 2-D array (num sample sites = rows, num vars = columns) used to create the Gaussian process.
RealMatrix trainValues
An array of response values; one response value per sample site.
RealVector trainMeans
The mean of the input columns of trainPoints.
RealVector trainStdvs
The standard deviation of the input columns of trainPoints.
RealMatrix normTrainPoints
Current working set of normalized points upon which the GP is based.
RealMatrix trendFunction
matrix to hold the trend function
RealMatrix betaCoeffs
matrix to hold the beta coefficients for the trend function
RealSymMatrix covMatrix
The covariance matrix where each element (i,j) is the covariance between points Xi and Xj in the initial set of
samples.
RealMatrix covVector
The covariance vector where each element (j,0) is the covariance between a new point X and point Xj from the
initial set of samples.
RealMatrix approxPoint
Point at which a prediction is requested. This is currently a single point, but it could be generalized to be a vector
of points.
RealMatrix gradNegLogLikTheta
matrix to hold the gradient of the negative log likelihood with respect to the theta correlation terms
Teuchos::SerialSpdDenseSolver
< int, Real > covSlvr
The global solver for all computations involving the inverse of the covariance matrix.
RealMatrix gradCovVector
A matrix, where each column is the derivative of the covVector with respect to a particular componenet of X.
RealMatrix normTrainPointsAll
Set of all original samples available.
RealMatrix trainValuesAll
All original samples available.
RealMatrix trendFunctionAll
Trend function values corresponding to all original samples.
449
size t numObs
The number of observations on which the GP surface is built.
size t numObsAll
The original number of observations.
short trendOrder
The number of variables in each X variable (number of dimensions of the problem).
RealVector thetaParams
Theta is the vector of covariance parameters for the GP. We determine the values of theta by optimization Currently,
the covariance function is theta[0]exp(-0.5sume)+deltapow(sige,2). sume is the sum squared of weighted distances; it involves a sum of theta[1](Xi(1)-Xj(1)) 2 + theta[2](Xi(2)-Xj(2)) 2 + ... where Xi(1) is the first dimension value of multi-dimensional variable Xi. deltapow(sige,2) is a jitter term used to improve matrix computations.
delta is zero for the covariance between different points and 1 for the covariance between the same point. sige is
the underlying process error.
Real procVar
The process variance, the multiplier of the correlation matrix.
IntArray pointsAddedIndex
Used by the point selection algorithm, this vector keeps track all points which have been added.
int cholFlag
A global indicator for success of the Cholesky factorization.
bool usePointSelection
a flag to indicate the use of point selection
Detailed Description
13.46.2
GaussProcApproximation (
) [inline]
default constructor
alternate constructor used by EffGlobalOptimization and NonDGlobalReliability that does not use a problem
database defaults here are no point selectinn and quadratic trend function.
450
13.46.3
void GPmodel apply ( const RealVector & new x, bool variance flag, bool gradients flag ) [private]
Function returns a response value using the GP surface.
The response value is computed at the design point specified by the RealVector function argument.
References Dakota::abort handler(), GaussProcApproximation::approxPoint, GaussProcApproximation::getcov vector(), SharedApproxData::numVars, GaussProcApproximation::predict(), Approximation::sharedDataRep,
GaussProcApproximation::trainMeans, and GaussProcApproximation::trainStdvs.
Referenced by GaussProcApproximation::gradient(), GaussProcApproximation::pointsel get errors(), GaussProcApproximation::prediction variance(), and GaussProcApproximation::value().
13.46.4
13.47
GetLongOpt is a general command line utility from S. Manoharan (Advanced Computer Research Institute, Lyon,
France).
Inheritance diagram for GetLongOpt:
GetLongOpt
CommandLineHandler
Public Types
enum OptType { Valueless, OptionalValue, MandatoryValue }
enum for different types of values associated with command line options.
GetLongOpt ()
451
Destructor.
int enroll (const char const opt, const OptType t, const char const desc, const char const val)
Add an option to the list of valid command options.
Private Attributes
Cell table
option table
char pname
program basename
char optmarker
option marker
Cell last
last entry in option table
13.47.1
Detailed Description
GetLongOpt is a general command line utility from S. Manoharan (Advanced Computer Research Institute, Lyon,
France).
GetLongOpt manages the definition and parsing of long options. Command line options can be abbreviated
as long as there is no ambiguity. If an option requires a value, the value should be separated from the option either
by whitespace or an =.
452
13.47.2
enum OptType
enum for different types of values associated with command line options.
Enumerator
Valueless option that may never have a value
OptionalValue option with optional value
MandatoryValue option with required value
13.47.3
13.47.4
453
13.48
The Graphics class provides a single interface to 2D (motif) and 3D (PLPLOT) graphics as well as tabular cataloguing of data for post-processing with Matlab, Tecplot, etc.
Graphics ()
destructor
void create tabular datastream (const Variables &vars, const Response &response, const std::string &tabulardata file)
opens the tabular data file stream and prints the headings
void close ()
454
Private Attributes
Graphics2D graphics2D
pointer to the 2D graphics object
bool win2dOn
flag to indicate if 2D graphics window is active
bool tabularDataFlag
flag to indicate if tabular data stream is active
int graphicsCntr
used for x axis values in 2D graphics and for 1st column in tabular data
std::string tabularCntrLabel
label for counter used in first line comment w/i the tabular data file
std::ofstream tabularDataFStream
file stream for tabulation of graphics data within compute response
13.48.1
Detailed Description
The Graphics class provides a single interface to 2D (motif) and 3D (PLPLOT) graphics as well as tabular cataloguing of data for post-processing with Matlab, Tecplot, etc.
There is only one Graphics object (dakotaGraphics) and it is global (for convenient access from strategies,
models, and approximations).
13.48.2
455
void create plots 2d ( const Variables & vars, const Response & response )
creates the 2d graphics window and initializes the plots
Sets up a single event loop for duration of the dakotaGraphics object, continuously adding data to a single
window. There is no reset. To start over with a new data set, you need a new object (delete old and instantiate
new).
References Variables::continuous variable labels(), Variables::cv(), Variables::discrete int variable labels(),
Variables::discrete real variable labels(), Variables::div(), Variables::drv(), Response::function labels(), Graphics::graphics2D, Response::num functions(), Dakota::re match(), and Graphics::win2dOn.
Referenced by SurrBasedMinimizer::initialize graphics(), NonDReliability::initialize graphics(), and Iterator::initialize graphics().
void create tabular datastream ( const Variables & vars, const Response & response, const std::string &
tabular data file )
opens the tabular data file stream and prints the headings
Opens the tabular data file stream and prints headings, one for each continuous and discrete variable and
one for each response function, using the variable and response function labels. This tabular data is used for
post-processing of DAKOTA results in Matlab, Tecplot, etc.
References Graphics::tabularCntrLabel, Graphics::tabularDataFlag, and Graphics::tabularDataFStream.
Referenced by SurrBasedMinimizer::initialize graphics(), and Iterator::initialize graphics().
void add datapoint ( const Variables & vars, const Response & response )
adds data to each window in the 2d graphics and adds a row to the tabular data file based on the results of a model
evaluation
Adds data to each 2d plot and each tabular data column (one for each active variable and for each response
function). graphicsCntr is used for the x axis in the graphics and the first column in the tabular data.
References Response::active set request vector(), Variables::continuous variables(), Variables::discrete intvariables(), Variables::discrete real variables(), Response::function values(), Graphics::graphics2D, Graphics::graphicsCntr, Graphics::tabularDataFlag, Graphics::tabularDataFStream, and Graphics::win2dOn.
Referenced by Model::compute response(), NonDLocalReliability::mean value(), SurrBasedLocalMinimizer::minimize surrogates(), Model::synchronize(), Model::synchronize nowait(), and NonDLocalReliability::updatelevel data().
void add datapoint ( int i, double x, double y )
adds data to a single window in the 2d graphics
Adds data to a single 2d plot. Allows complete flexibility in defining other kinds of x-y plotting in the 2D
graphics.
References Graphics::graphics2D, and Graphics::win2dOn.
void new dataset ( int i )
creates a separate line graphic for subsequent data points for a single window in the 2d graphics
Used for displaying multiple data sets within the same plot.
References Graphics::graphics2D, and Graphics::win2dOn.
Referenced by NonDLocalReliability::update level data().
The documentation for this class was generated from the following files:
456
13.49
Derived application interface class which spawns simulation codes using grid services such as Condor or Globus.
Inheritance diagram for GridApplicInterface:
Interface
ApplicationInterface
ProcessApplicInterface
SysCallApplicInterface
GridApplicInterface
GridApplicInterface ()
destructor
void derived map (const Variables &vars, const ActiveSet &set, Response &response, int fn eval id)
Called by map() and other functions to execute the simulation in synchronous mode. The portion of performing an
evaluation that is specific to a derived class.
457
Protected Attributes
IntSet idSet
Set of function evaluation ids for active asynchronous system call evaluations.
IntShortMap failCountMap
map linking function evaluation ids to number of response read failures
13.49.1
Detailed Description
Derived application interface class which spawns simulation codes using grid services such as Condor or Globus.
This class is currently a modified copy of SysCallApplicInterface adapted for use with an external grid dervices
library which was dynamically linked using dlopen() services.
13.49.2
13.50
Derived model class within the surrogate model branch for managing hierarchical surrogates (models of varying
fidelity).
Inheritance diagram for HierarchSurrModel:
Model
SurrogateModel
HierarchSurrModel
458
HierarchSurrModel ()
destructor
void primary response fn weights (const RealVector &wts, bool recurse flag=true)
set the relative weightings for multiple objective functions or least squares terms and optionally recurses into LF/HF
models
void derived init communicators (int max eval concurrency, bool recurse flag=true)
set up lowFidelityModel and highFidelityModel for parallel operations
void derived set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration within lowFidelityModel and highFidelityModel
void derived free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for the HierarchSurrModel (request forwarded to lowFidelityModel and highFidelityModel)
459
Service lowFidelityModel and highFidelityModel job requests received from the master. Completes when a termination message is received from stop servers().
void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true) const
print the evaluation summary for the HierarchSurrModel (request forwarded to lowFidelityModel and highFidelityModel)
Private Attributes
int hierModelEvalCntr
number of calls to derived compute response()/ derived asynch compute response()
IntResponseMap cachedTruthRespMap
map of high-fidelity responses retrieved in derived synchronize nowait() that could not be returned since corresponding low-fidelity response portions were still pending.
Model lowFidelityModel
provides approximate low fidelity function evaluations. Model is of arbitrary type and supports recursions (e.g.,
lowFidelityModel can be a data fit surrogate on a low fidelity model).
Model highFidelityModel
provides truth evaluations for computing corrections to the low fidelity results. Model is of arbitrary type and
supports recursions.
Response highFidRefResponse
the reference high fidelity response computed in build approximation() and used for calculating corrections.
String evalTagPrefix
cached evalTag Prefix from parents to use at compute response time
460
Detailed Description
Derived model class within the surrogate model branch for managing hierarchical surrogates (models of varying
fidelity).
The HierarchSurrModel class manages hierarchical models of varying fidelity. In particular, it uses a low
fidelity model as a surrogate for a high fidelity model. The class contains a lowFidelityModel which performs
the approximate low fidelity function evaluations and a highFidelityModel which provides truth evaluations for
computing corrections to the low fidelity results.
13.50.2
void derived compute response ( const ActiveSet & set ) [protected], [virtual]
portion of compute response() specific to HierarchSurrModel
Compute the response synchronously using lowFidelityModel, highFidelityModel, or both (mixed case). For
the lowFidelityModel portion, compute the high fidelity response if needed with build approximation(), and, if
correction is active, correct the low fidelity results.
Reimplemented from Model.
References Response::active set(), DiscrepancyCorrection::apply(), SurrogateModel::approxBuilds, SurrogateModel::asv mapping(), HierarchSurrModel::build approximation(), HierarchSurrModel::component parallel mode(),
DiscrepancyCorrection::compute(), Model::compute response(), DiscrepancyCorrection::computed(), Response::copy(), Model::current response(), Model::currentResponse, Model::currentVariables, SurrogateModel::deltaCorr, Model::eval tag prefix(), HierarchSurrModel::evalTagPrefix, SurrogateModel::force rebuild(), Model::hierarchicalTagging, HierarchSurrModel::hierModelEvalCntr, HierarchSurrModel::highFidelityModel, HierarchSurrModel::highFidRefResponse, HierarchSurrModel::lowFidelityModel, Model::outputLevel, ActiveSet::request vector(),
SurrogateModel::response mapping(), SurrogateModel::responseMode, Response::update(), and HierarchSurrModel::update model().
void derived asynch compute response ( const ActiveSet & set ) [protected], [virtual]
portion of asynch compute response() specific to HierarchSurrModel
Compute the response asynchronously using lowFidelityModel, highFidelityModel, or both (mixed case). For
the lowFidelityModel portion, compute the high fidelity response with build approximation() (for correcting the
low fidelity results in derived synchronize() and derived synchronize nowait()) if not performed previously.
Reimplemented from Model.
References DiscrepancyCorrection::apply(), SurrogateModel::approxBuilds, SurrogateModel::asv mapping(),
Model::asynch compute response(), Model::asynch flag(), HierarchSurrModel::build approximation(), SurrogateModel::cachedApproxRespMap, HierarchSurrModel::cachedTruthRespMap, HierarchSurrModel::component parallelmode(), DiscrepancyCorrection::compute(), Model::compute response(), DiscrepancyCorrection::computed(), Variables::copy(), Response::copy(), Model::current response(), Model::currentVariables, SurrogateModel::deltaCorr, ActiveSet::derivative vector(), Model::eval tag prefix(), HierarchSurrModel::evalTagPrefix, Model::evaluation id(), SurrogateModel::force rebuild(), Model::hierarchicalTagging, HierarchSurrModel::hierModelEvalCntr, HierarchSurrModel::highFidelityModel, HierarchSurrModel::highFidRefResponse, HierarchSurrModel::lowFidelityModel, Model::outputLevel, SurrogateModel::rawVarsMap, ActiveSet::request vector(), SurrogateModel::responseMode, SurrogateModel::surrIdMap, SurrogateModel::truthIdMap, and HierarchSurrModel::update model().
const IntResponseMap & derived synchronize (
) [protected], [virtual]
461
) [protected], [virtual]
int evaluation id (
13.51
462
ApproximationInterface
ProcessApplicInterface
MatlabInterface
ProcessHandleApplicInterface
PythonInterface
SysCallApplicInterface
ScilabInterface
TestDriverInterface
ParallelDirectApplicInterface
SerialDirectApplicInterface
virtual Interface ()
destructor
virtual void map (const Variables &vars, const ActiveSet &set, Response &response, bool asynch flag=false)
the function evaluator: provides a mapping from the variables to the responses.
virtual void init communicators (const IntArray &message lengths, int max eval concurrency)
allocate communicator partitions for concurrent evaluations within an iterator and concurrent multiprocessor analyses within an evaluation.
virtual void set communicators (const IntArray &message lengths, int max eval concurrency)
set the local parallel partition data for an interface (the partitions are already allocated in ParallelLibrary).
463
deallocate communicator partitions for concurrent evaluations within an iterator and concurrent multiprocessor
analyses within an evaluation.
virtual void update approximation (const Variables &vars, const IntResponsePair &response pr)
updates the anchor point for an approximation
virtual void update approximation (const RealMatrix &samples, const IntResponseMap &resp map)
updates the current data points for an approximation
virtual void update approximation (const VariablesArray &vars array, const IntResponseMap &resp map)
updates the current data points for an approximation
virtual void append approximation (const Variables &vars, const IntResponsePair &response pr)
appends a single point to an existing approximation
virtual void append approximation (const RealMatrix &samples, const IntResponseMap &resp map)
appends multiple points to an existing approximation
virtual void append approximation (const VariablesArray &vars array, const IntResponseMap &resp map)
appends multiple points to an existing approximation
virtual void build approximation (const RealVector &c l bnds, const RealVector &c u bnds, const IntVector &di l bnds, const IntVector &di u bnds, const RealVector &dr l bnds, const RealVector &dr u bnds)
builds the approximation
464
virtual std::vector
< Approximation > & approximations ()
retrieve the Approximations within an ApproximationInterface
virtual const
Pecos::SurrogateData & approximation data (size t index)
retrieve the approximation data from a particular Approximation within an ApproximationInterface
void assign rep (Interface interface rep, bool ref count incr=true)
replaces existing letter with a new one
void print evaluation summary (std::ostream &s, bool minimal header, bool relative count) const
465
void eval tag prefix (const String &eval id str, bool append iface id=true)
set the evaluation tag prefix (does not recurse)
void init algebraic mappings (const Variables &vars, const Response &response)
Define algebraicACVIndices, algebraicACVIds, and algebraicFnIndices.
void asv mapping (const ActiveSet &total set, ActiveSet &algebraic set, ActiveSet &core set)
define the evaluation requirements for algebraic mappings() (algebraic set) and the core Application/Approximation
mapping (core set) from the total Interface evaluation requirements (total set)
void asv mapping (const ActiveSet &algebraic set, ActiveSet &total set)
map an algebraic ASV back to original total ordering for asynch recovery
void algebraic mappings (const Variables &vars, const ActiveSet &algebraic set, Response &algebraic response)
evaluate the algebraic response using the AMPL solver library and the data extracted from the algebraic mappings
file
void response mapping (const Response &algebraic response, const Response &core response, Response
&total response)
combine the response from algebraic mappings() with the response from derived map() to create the total response
Protected Attributes
String interfaceType
the interface type: system, fork, direct, grid, or approximation
String interfaceId
the interface specification identifier string from the DAKOTA input file
bool algebraicMappings
flag for the presence of algebraic mappings that define the subset of an Interfaces parameter to response mapping
that is explicit and algebraic.
bool coreMappings
466
int currEvalId
identifier for the current evaluation, which may differ from the evaluation counters in the case of evaluation scheduling; used on iterator master as well as server processors. Currently, this is set prior to all invocations of derived map() for all processors.
bool fineGrainEvalCounters
controls use of fn val/grad/hess counters
int evalIdCntr
total interface evaluation counter
int newEvalIdCntr
new (non-duplicate) interface evaluation counter
int evalIdRefPt
iteration reference point for evalIdCntr
int newEvalIdRefPt
iteration reference point for newEvalIdCntr
IntArray fnValCounter
number of value evaluations by resp fn
IntArray fnGradCounter
number of gradient evaluations by resp fn
IntArray fnHessCounter
number of Hessian evaluations by resp fn
IntArray newFnValCounter
number of new value evaluations by resp fn
IntArray newFnGradCounter
number of new gradient evaluations by resp fn
IntArray newFnHessCounter
number of new Hessian evaluations by resp fn
IntArray fnValRefPt
iteration reference point for fnValCounter
IntArray fnGradRefPt
iteration reference point for fnGradCounter
IntArray fnHessRefPt
iteration reference point for fnHessCounter
IntArray newFnValRefPt
iteration reference point for newFnValCounter
IntArray newFnGradRefPt
iteration reference point for newFnGradCounter
IntArray newFnHessRefPt
iteration reference point for newFnHessCounter
IntResponseMap rawResponseMap
Set of responses returned after either a blocking or nonblocking schedule of asynchronous evaluations.
StringArray fnLabels
467
response function descriptors from the DAKOTA input file (used in print evaluation summary() and derived direct
interface classes)
bool multiProcEvalFlag
flag for multiprocessor evaluation partitions (evalComm)
bool ieDedMasterFlag
flag for dedicated master partitioning at the iterator level
short outputLevel
output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG} OUTPUT
String evalTagPrefix
set of period-delimited evaluation ID tags to use in evaluation tagging
bool appendIfaceId
whether to append the interface ID to the prefix during map (default true)
Private Attributes
StringArray algebraicVarTags
set of variable tags from AMPL stub.col
SizetArray algebraicACVIndices
set of indices mapping AMPL algebraic variables to DAKOTA all continuous variables
SizetArray algebraicACVIds
set of ids mapping AMPL algebraic variables to DAKOTA all continuous variables
StringArray algebraicFnTags
set of function tags from AMPL stub.row
IntArray algebraicFnTypes
function type: > 0 = objective, < 0 = constraint |value|-1 is the objective (constraint) index when making AMPL
objval (conival) calls
SizetArray algebraicFnIndices
set of indices mapping AMPL algebraic objective functions to DAKOTA response functions
RealArray algebraicConstraintWeights
set of weights for computing Hessian matrices for algebraic constraints;
int numAlgebraicResponses
number of algebraic responses (objectives+constraints)
Interface interfaceRep
pointer to the letter (initialized only for the envelope)
int referenceCount
number of objects sharing interfaceRep
ASL asl
pointer to an AMPL solver library (ASL) object
468
13.51.1
Detailed Description
13.51.2
Interface (
default constructor
used in Model envelope class instantiations
Interface ( ProblemDescDB & problem db )
standard constructor for envelope
Used in Model instantiation to build the envelope. This constructor only needs to extract enough data to properly execute get interface, since Interface::Interface(BaseConstructor, problem db) builds the actual base class
data inherited by the derived interfaces.
References Dakota::abort handler(), Interface::get interface(), and Interface::interfaceRep.
Interface ( const Interface & interface in )
copy constructor
Copy constructor manages sharing of interfaceRep and incrementing of referenceCount.
References Interface::interfaceRep, and Interface::referenceCount.
Interface (
) [virtual]
destructor
Destructor decrements referenceCount and only deletes interfaceRep if referenceCount is zero.
References Interface::interfaceRep, and Interface::referenceCount.
Interface ( BaseConstructor , const ProblemDescDB & problem db ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all inherited interfaces. get interface()
instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization
list (to avoid the recursion of the base class constructor calling get interface() again). Since this is the letter and the
letter IS the representation, interfaceRep is set to NULL (an uninitialized pointer causes problems in Interface).
References Dakota::abort handler(), Interface::algebraic function type(), Interface::algebraicConstraintWeights,
Interface::algebraicFnTags, Interface::algebraicFnTypes, Interface::algebraicMappings, Interface::algebraicVarTags, Interface::asl, Interface::fineGrainEvalCounters, Interface::fnLabels, ProblemDescDB::get sa(), ProblemDescDB::get string(), Interface::init evaluation counters(), Interface::outputLevel, and Dakota::strends().
13.51.3
469
470
Response::function hessian(), Response::function hessian view(), Response::function hessians(), Response::functionvalue(), Response::function values(), Response::function values view(), Interface::outputLevel, Response::reset(),
and Response::reset inactive().
Referenced by ApproximationInterface::map(), ApplicationInterface::map(), ApplicationInterface::synch(),
and ApplicationInterface::synch nowait().
Interface get interface ( ProblemDescDB & problem db ) [private]
Used by the envelope to instantiate the correct letter class.
used only by the envelope constructor to initialize interfaceRep to the appropriate derived type.
References ProblemDescDB::get string(), and Interface::interface type().
Referenced by Interface::Interface().
13.51.4
13.52
MetaIterator
Minimizer
NonD
CollabHybridMetaIterator
LeastSq
PStudyDACE
ConcurrentMetaIterator
Optimizer
Verification
EmbedHybridMetaIterator
SurrBasedMinimizer
SeqHybridMetaIterator
471
virtual Iterator ()
destructor
virtual void pack parameters buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack starting data for an iterator run
472
virtual void unpack results buffer (MPIUnpackBuffer &recv buffer, int job index)
used by IteratorScheduler to unpack results data from an iterator run
virtual void sampling reset (int min samples, bool all data flag, bool stats flag)
void assign rep (Iterator iterator rep, bool ref count incr=true)
replaces existing letter with a new one
unsigned short method string to enum (const String &method name) const
convert a method name string to an enumeration value
473
474
void active variable mappings (const SizetArray &c index1, const SizetArray &di index1, const SizetArray &dr index1, const ShortArray &c target2, const ShortArray &di target2, const ShortArray &dr target2)
set primaryA{CV,DIV,DRV}MapIndices, secondaryA{CV,DIV,DRV}MapTargets
475
Protected Attributes
ProblemDescDB & probDescDB
class member reference to the problem description database
Model iteratedModel
the model to be iterated (for iterators and meta-iterators employing a single model instance)
Real convergenceTol
iteration convergence tolerance
int maxIterations
maximum number of iterations for the iterator
int maxFunctionEvals
maximum number of fn evaluations for the iterator
int maxEvalConcurrency
maximum number of concurrent model evaluations
ActiveSet activeSet
the response data requirements on each function evaluation
size t numFinalSolutions
number of solutions to retain in best variables/response arrays
VariablesArray bestVariablesArray
collection of N best solution variables found during the study; always in context of Model originally passed to the
Iterator (any in-flight Recasts must be undone)
ResponseArray bestResponseArray
collection of N best solution responses found during the study; always in context of Model originally passed to the
Iterator (any in-flight Recasts must be undone)
bool subIteratorFlag
flag indicating if this Iterator is a sub-iterator (NestedModel::subIterator or DataFitSurrModel::daceIterator)
SizetArray primaryACVarMapIndices
primary all continuous variable mapping indices flowed down from higher level iteration
SizetArray primaryADIVarMapIndices
primary all discrete int variable mapping indices flowed down from higher level iteration
SizetArray primaryADRVarMapIndices
primary all discrete real variable mapping indices flowed down from higher level iteration
ShortArray secondaryACVarMapTargets
secondary all continuous variable mapping targets flowed down from higher level iteration
ShortArray secondaryADIVarMapTargets
secondary all discrete int variable mapping targets flowed down from higher level iteration
ShortArray secondaryADRVarMapTargets
secondary all discrete real variable mapping targets flowed down from higher level iteration
short outputLevel
output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG} OUTPUT
bool summaryOutputFlag
476
ResultsNames resultsNames
valid names for iterator results
Private Attributes
String methodId
method identifier string from the input file
size t execNum
an execution number for this instance of the class, unique across all instances of same methodName/methodId
Iterator iteratorRep
pointer to the letter (initialized only for the envelope)
int referenceCount
number of objects sharing iteratorRep
13.52.1
Detailed Description
13.52.2
Iterator (
default constructor
The default constructor is used in Vector<Iterator> instantiations and for initialization of Iterator objects
contained in meta-Iterators and Model recursions. iteratorRep is NULL in this case, making it necessary to check
for NULL pointers in the copy constructor, assignment operator, and destructor.
Referenced by SurrBasedGlobalMinimizer::SurrBasedGlobalMinimizer(), and SurrBasedLocalMinimizer::SurrBasedLocalMinimizer().
477
) [virtual]
destructor
Destructor decrements referenceCount and only deletes iteratorRep when referenceCount reaches zero.
References Iterator::iteratorRep, and Iterator::referenceCount.
Iterator ( BaseConstructor , ProblemDescDB & problem db ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor builds the base class data for all inherited iterators, including meta-iterators. get iterator()
instantiates a derived class and the derived class selects this base class constructor in its initialization list (to avoid
the recursion of the base class constructor calling get iterator() again). Since the letter IS the representation, its
representation pointer is set to NULL (an uninitialized pointer causes problems in Iterator).
References Iterator::method enum to string(), Iterator::methodName, and Iterator::outputLevel.
478
13.52.3
) [virtual]
utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance pointers
Perform initialization phases of run sequence, like allocating memory and setting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call
its nearest parents initialize run(), typically before performing its own implementation steps.
Reimplemented in SNLLOptimizer, NLPQLPOptimizer, NonD, SNLLLeastSq, Analyzer, Minimizer, CONMINOptimizer, DOTOptimizer, Optimizer, and LeastSq.
References Iterator::initialize run(), and Iterator::iteratorRep.
Referenced by Iterator::initialize run(), Iterator::run(), and SeqHybridMetaIterator::run sequential adaptive().
void pre run (
) [virtual]
pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori
pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call
its nearest parents pre run(), if implemented, typically before performing its own implementation steps.
Reimplemented in NonDLHSSampling, DDACEDesignCompExp, ParamStudy, FSUDesignCompExp, and
PSUADEDesignCompExp.
References Iterator::iteratorRep, and Iterator::pre run().
Referenced by ParamStudy::pre run(), Iterator::pre run(), and Iterator::run().
void core run (
) [virtual]
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented in NonD, SeqHybridMetaIterator, Optimizer, ConcurrentMetaIterator, EmbedHybridMetaIterator, CollabHybridMetaIterator, LeastSq, PStudyDACE, Verification, and SurrBasedMinimizer.
References Dakota::abort handler(), Iterator::core run(), and Iterator::iteratorRep.
Referenced by Iterator::core run(), and Iterator::run().
479
) [virtual]
utility function to perform common operations following post run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class
must call its nearest parents finalize run(), typically after performing its own implementation steps.
Reimplemented in SNLLOptimizer, SNLLLeastSq, NonD, Minimizer, Optimizer, and LeastSq.
References Iterator::finalize run(), and Iterator::iteratorRep.
Referenced by Minimizer::finalize run(), Iterator::finalize run(), NonD::finalize run(), Iterator::run(), and SeqHybridMetaIterator::run sequential adaptive().
void initialize graphics ( int iterator server id = 1 ) [virtual]
initialize the 2D graphics window and the tabular graphics data
This is a convenience function for encapsulating graphics initialization operations.
Reimplemented in NonDReliability, and SurrBasedMinimizer.
References Model::auto graphics(), Graphics::create plots 2d(), Graphics::create tabular datastream(), Model::current response(), Model::current variables(), Dakota::dakota graphics, OutputManager::graph2DFlag, Iterator::initialize graphics(), Iterator::iteratedModel, Iterator::iteratorRep, ParallelLibrary::output manager(), Model::parallellibrary(), OutputManager::tabularDataFile, and OutputManager::tabularDataFlag.
Referenced by CollabHybridMetaIterator::core run(), EmbedHybridMetaIterator::core run(), ConcurrentMetaIterator::core run(), Environment::execute(), Iterator::initialize graphics(), SeqHybridMetaIterator::run sequential(),
and SeqHybridMetaIterator::run sequential adaptive().
void print results ( std::ostream & s ) [virtual]
print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation
summary printed in finalize run().
Reimplemented in Analyzer, NonDLHSSampling, NonDPOFDarts, NonDLocalReliability, NonDAdaptiveSampling, NonDGPImpSampling, Optimizer, SeqHybridMetaIterator, ConcurrentMetaIterator, NonDAdaptImpSampling, NonDIncremLHSSampling, NonDGlobalReliability, NonDInterval, NonDExpansion, LeastSq, PStudyDACE, RichExtrapVerification, Verification, and SurrBasedMinimizer.
References Iterator::iteratorRep, and Iterator::print results().
Referenced by MetaIterator::post run(), Minimizer::post run(), Iterator::print results(), and EfficientSubspaceMethod::reduced space uq().
480
) const [virtual]
481
ref count incr = false: the incoming letter is instantiated on the fly and has no envelope. This case is
modeled after get iterator(): a letter is dynamically allocated using new and passed into assign rep, the
letters reference count is not incremented, and the letter is not remotely deleted (its memory management
is passed over to the envelope).
References Dakota::abort handler(), Iterator::iterator rep(), Iterator::iteratorRep, and Iterator::referenceCount.
Referenced by NonDExpansion::construct cubature(), NonDExpansion::construct expansion sampler(), NonDAdaptiveSampling::construct fsu sampler(), NonD::construct lhs(), NonDExpansion::construct quadrature(), NonDExpansion::construct sparse grid(), EffGlobalMinimizer::EffGlobalMinimizer(), EfficientSubspaceMethod::initfullspace sampler(), NonDLocalInterval::method recourse(), NonDLocalReliability::method recourse(), NonDAdaptiveSampling::NonDAdaptiveSampling(), NonDBayesCalibration::NonDBayesCalibration(), NonDGlobalInterval::NonDGlobalInterval(), NonDGlobalReliability::NonDGlobalReliability(), NonDGPImpSampling::NonDGPImpSampling(), NonDGPMSABayesCalibration::NonDGPMSABayesCalibration(), NonDLHSInterval::NonDLHSInterval(), NonDLocalInterval::NonDLocalInterval(), NonDLocalReliability::NonDLocalReliability(), GaussProcApproximation::optimize theta global(), GaussProcApproximation::optimize theta multipoint(), and SurrBasedLocalMinimizer::relax constraints().
void eval tag prefix ( const String & eval id str ) [virtual]
set the hierarchical eval ID tag prefix
This prepend may need to become a virtual function if the tagging should propagate to other subModels or
helper Iterators an Iterator may contain.
References Model::eval tag prefix(), Iterator::eval tag prefix(), Iterator::iteratedModel, and Iterator::iteratorRep.
Referenced by DataFitSurrModel::build global(), NestedModel::derived compute response(), and Iterator::eval tag prefix().
Iterator get iterator ( ProblemDescDB & problem db ) [private]
Used by the envelope to instantiate the correct letter class.
Used only by the envelope constructor to initialize iteratorRep to the appropriate derived type, as given by
the DBs method name. Supports all iterators and meta-iterators. These instantiations will NOT recurse on the
Iterator(problem db) constructor due to the use of BaseConstructor.
References ProblemDescDB::get model(), ProblemDescDB::get ushort(), Iterator::method enum to string(),
Iterator::method name(), and Dakota::SUBMETHOD COLLABORATIVE.
Referenced by Iterator::Iterator().
Iterator get iterator ( ProblemDescDB & problem db, Model & model ) [private]
Used by the envelope to instantiate the correct letter class.
Used only by the envelope constructor to initialize iteratorRep to the appropriate derived type. Alternate
construction of meta-iterators is supported to enable use of meta-iterators as components. These instantiations
will NOT recurse on the Iterator(problem db, model) constructor due to the use of BaseConstructor.
References ProblemDescDB::get ushort(), Iterator::method enum to string(), Iterator::method name(), Iterator::probDescDB, and Dakota::SUBMETHOD COLLABORATIVE.
Iterator get iterator ( const String & method string, Model & model ) [private]
Used by the envelope to instantiate the correct letter class.
482
Used only by the envelope constructor to initialize iteratorRep to the appropriate derived type, as given by
the passed method string. Lightweight instantiations by name are supported by a subset of Iterators (primarily
Minimizers).
References Dakota::strbegins(), and Dakota::strends().
13.52.4
483
Analyzer::initialize run(), NonDExpansion::initialize u space model(), JEGAOptimizer::JEGAOptimizer(), Iterator::maximum evaluation concurrency(), NonDAdaptImpSampling::NonDAdaptImpSampling(), NonDBayesCalibration::NonDBayesCalibration(), NonDCubature::NonDCubature(), NonDGlobalInterval::NonDGlobalInterval(), NonDGlobalReliability::NonDGlobalReliability(), NonDLHSInterval::NonDLHSInterval(), NonDPolynomialChaos::NonDPolynomialChaos(), NonDQuadrature::NonDQuadrature(), NonDSampling::NonDSampling(), NonDSparseGrid::NonDSparseGrid(), Analyzer::num samples(), ParamStudy::ParamStudy(), PSUADEDesignCompExp::PSUADEDesignCompExp(), RichExtrapVerification::RichExtrapVerification(), APPSOptimizer::set apps parameters(),
Iterator::set communicators(), COLINOptimizer::set solver parameters(), SNLLOptimizer::SNLLOptimizer(), and
Iterator::update from model().
The documentation for this class was generated from the following files:
DakotaIterator.hpp
DakotaIterator.cpp
13.53
IteratorScheduler ()
destructor
void init iterator parallelism (int max iterator concurrency, int min procs per iterator=1, int max procs per iterator=0, short default config=PUSH DOWN)
convenience function for initializing iterator communicators, setting parallel configuration attributes, and managing outputs and restart.
int init evaluation concurrency (ProblemDescDB &problem db, Iterator &the iterator, Model &the model,
const ParallelLevel &pl)
convenience function for performing sufficient initialization to define the maximum evaluation concurrency
int init evaluation concurrency (const String &method string, Iterator &the iterator, Model &the model,
const ParallelLevel &pl)
convenience function for performing sufficient initialization to define the maximum evaluation concurrency
484
void iterator message lengths (int params msg len, int results msg len)
update paramsMsgLen and resultsMsgLen
static void init iterator (ProblemDescDB &problem db, Iterator &the iterator, Model &the model, const
ParallelLevel &pl)
convenience function for allocation of an iterator and (parallel) initialization of its comms
static void init iterator (const String &method string, Iterator &the iterator, Model &the model, const
ParallelLevel &pl)
convenience function for lightweight allocation of an iterator and (parallel) initialization of its comms
static void run iterator (Iterator &the iterator, const ParallelLevel &pl)
Convenience function for invoking an iterator and managing parallelism. This version omits communicator repartitioning. Function must be public due to use by MINLPNode.
static void free iterator (Iterator &the iterator, const ParallelLevel &pl)
convenience function for deallocating comms after running an iterator
Public Attributes
ParallelLibrary & parallelLib
reference to the ParallelLibrary instance
int numIteratorJobs
number of iterator executions to schedule
int numIteratorServers
number of concurrent iterator partitions
int procsPerIterator
partition size request
int iteratorCommRank
processor rank in iteratorComm
int iteratorCommSize
number of processors in iteratorComm
int iteratorServerId
identifier for an iterator server
bool messagePass
flag for message passing at si level
short iteratorScheduling
{DEFAULT,MASTER,PEER} SCHEDULING
485
Private Attributes
int paramsMsgLen
length of MPI buffer for parameter input instance(s)
int resultsMsgLen
length of MPI buffer for results output instance(s)
13.53.1
Detailed Description
13.53.2
IteratorScheduler ( ParallelLibrary & parallel lib, int num servers = 0, int procs per iterator = 0, short
scheduling = DEFAULT SCHEDULING )
constructor
Current constructor parameters are the input specification components, which are requests subject to override
by ParallelLibrary::init iterator communicators().
13.53.3
486
void init iterator ( const String & method string, Iterator & the iterator, Model & the model, const
ParallelLevel & pl ) [static]
convenience function for lightweight allocation of an iterator and (parallel) initialization of its comms
This is a convenience function for encapsulating the allocation of communicators prior to running an iterator.
References ParallelLevel::dedicated master(), Model::init comms bcast flag(), Iterator::init communicators(),
Iterator::is null(), Iterator::iterated model(), Iterator::maximum evaluation concurrency(), Iterator::method string(),
Model::serve configurations(), ParallelLevel::server communicator rank(), ParallelLevel::server communicatorsize(), ParallelLevel::server id(), and Model::stop configurations().
void run iterator ( Iterator & the iterator, const ParallelLevel & pl ) [static]
Convenience function for invoking an iterator and managing parallelism. This version omits communicator repartitioning. Function must be public due to use by MINLPNode.
This is a convenience function for encapsulating the parallel features (run/serve) of running an iterator. This
function omits allocation/deallocation of communicators to provide greater efficiency in approaches that involve
multiple iterator executions but only require communicator allocation/deallocation to be performed once.
References Iterator::iterated model(), Iterator::maximum evaluation concurrency(), Iterator::run(), Model::serve(),
ParallelLevel::server communicator rank(), and Model::stop servers().
Referenced by Environment::execute(), IteratorScheduler::peer static schedule iterators(), SeqHybridMetaIterator::run sequential adaptive(), and IteratorScheduler::serve iterators().
void free iterator ( Iterator & the iterator, const ParallelLevel & pl ) [static]
convenience function for deallocating comms after running an iterator
This is a convenience function for encapsulating the deallocation of communicators after running an iterator.
References ParallelLevel::dedicated master(), Iterator::free communicators(), and ParallelLevel::server id().
Referenced by MetaIterator::deallocate(), Environment::destruct(), and ConcurrentMetaIterator::ConcurrentMetaIterator().
void init iterator parallelism ( int max iterator concurrency, int min procs per iterator = 1, int
max procs per iterator = 0, short default config = PUSH DOWN )
convenience function for initializing iterator communicators, setting parallel configuration attributes, and managing outputs and restart.
Called from derived class constructors once maxIteratorConcurrency is defined but prior to instantiating Iterators and Models.
References ParallelLevel::dedicated master(), ParallelLibrary::init iterator communicators(), IteratorScheduler::iteratorCommRank, IteratorScheduler::iteratorCommSize, IteratorScheduler::iteratorScheduling, IteratorScheduler::iteratorServerId, ParallelLibrary::manage outputs restart(), ParallelLevel::message pass(), IteratorScheduler::messagePass, ParallelLevel::num servers(), IteratorScheduler::numIteratorServers, IteratorScheduler::parallelLib, IteratorScheduler::procsPerIterator, ParallelLevel::server communicator rank(), ParallelLevel::server communicator size(),
ParallelLevel::server id(), and ParallelLibrary::world size().
Referenced by CollabHybridMetaIterator::CollabHybridMetaIterator(), ConcurrentMetaIterator::ConcurrentMetaIterator(), EmbedHybridMetaIterator::EmbedHybridMetaIterator(), and SeqHybridMetaIterator::SeqHybridMetaIterator().
int init evaluation concurrency ( ProblemDescDB & problem db, Iterator & the iterator, Model &
the model, const ParallelLevel & pl )
convenience function for performing sufficient initialization to define the maximum evaluation concurrency
487
This is a convenience function for computing the maximum evaluation concurrency prior to concurrent iterator
partitioning.
References ParallelLibrary::bcast(), ProblemDescDB::get iterator(), Iterator::is null(), Iterator::maximum evaluation concurrency(), ProblemDescDB::parallel library(), ParallelLevel::server communicator rank(), and ParallelLevel::server communicator size().
Referenced by ConcurrentMetaIterator::ConcurrentMetaIterator(), MetaIterator::estimate by name(), and MetaIterator::estimate by pointer().
int init evaluation concurrency ( const String & method string, Iterator & the iterator, Model &
the model, const ParallelLevel & pl )
convenience function for performing sufficient initialization to define the maximum evaluation concurrency
This is a convenience function for computing the maximum evaluation concurrency prior to concurrent iterator
partitioning.
References ParallelLibrary::bcast(), Iterator::is null(), Iterator::maximum evaluation concurrency(), Model::parallel library(), ParallelLevel::server communicator rank(), and ParallelLevel::server communicator size().
void schedule iterators ( Iterator & meta iterator, Iterator & sub iterator )
short convenience function for distributing control among master dynamic schedule iterators(), serve iterators(),
and peer static schedule iterators()
This implementation supports the scheduling of multiple jobs using a single iterator/model pair. Additional
future (overloaded) implementations could involve independent iterator instances.
References IteratorScheduler::iteratorScheduling, IteratorScheduler::iteratorServerId, IteratorScheduler::leadrank(), IteratorScheduler::master dynamic schedule iterators(), IteratorScheduler::numIteratorServers, IteratorScheduler::peer static schedule iterators(), IteratorScheduler::serve iterators(), and IteratorScheduler::stop iteratorservers().
Referenced by CollabHybridMetaIterator::core run(), EmbedHybridMetaIterator::core run(), ConcurrentMetaIterator::core run(), and SeqHybridMetaIterator::run sequential().
void master dynamic schedule iterators ( Iterator & meta iterator )
executed by the scheduler master to manage a dynamic schedule of iterator jobs among slave iterator servers
This function is adapted from ApplicationInterface::master dynamic schedule evaluations().
References ParallelLibrary::free(), ParallelLibrary::irecv si(), ParallelLibrary::isend si(), IteratorScheduler::numIteratorJobs, IteratorScheduler::numIteratorServers, Iterator::pack parameters buffer(), IteratorScheduler::parallelLib, ParallelLibrary::print configuration(), MPIPackBuffer::reset(), MPIUnpackBuffer::resize(), IteratorScheduler::resultsMsgLen, Iterator::unpack results buffer(), ParallelLibrary::waitall(), and ParallelLibrary::waitsome().
Referenced by IteratorScheduler::schedule iterators().
void serve iterators ( Iterator & meta iterator, Iterator & sub iterator )
executed on the slave iterator servers to perform iterator jobs assigned by the scheduler master
This function is similar in structure to ApplicationInterface::serve evaluations synch().
References ParallelLibrary::bcast i(), IteratorScheduler::iteratorCommRank, IteratorScheduler::iteratorCommSize, Iterator::pack results buffer(), ParallelLibrary::parallel configuration(), ParallelLibrary::parallel time(), IteratorScheduler::parallelLib, IteratorScheduler::paramsMsgLen, ParallelLibrary::recv si(), IteratorScheduler::resultsMsgLen, IteratorScheduler::run iterator(), ParallelLibrary::send si(), ParallelConfiguration::si parallel level(), Iterator::unpack parameters buffer(), and Iterator::update local results().
Referenced by IteratorScheduler::schedule iterators().
488
13.54
Classes
class Driver
A subclass of the JEGA front end driver that exposes the individual protected methods to execute the algorithm.
class Evaluator
An evaluator specialization that knows how to interact with Dakota.
class EvaluatorCreator
A specialization of the JEGA::FrontEnd::EvaluatorCreator that creates a new instance of a Evaluator.
JEGAOptimizer ()
Destructs a JEGAOptimizer.
489
void ReCreateTheParameterDatabase ()
Destroys the current parameter database and creates a new empty one.
void LoadTheParameterDatabase ()
Reads information out of the known Dakota::ProblemDescDB and puts it into the current parameter database.
void GetBestSolutions (const JEGA::Utilities::DesignOFSortSet &from, std::multimap< RealRealPair, JEGA::Utilities::Design > &designSortMap)
Returns up to numBest designs sorted by DAKOTAs fitness (L2 constraint violation, then utopia or objective),
taking into account the algorithm type. The front of the returned map can be viewed as a single best.
Private Attributes
EvaluatorCreator theEvalCreator
A pointer to an EvaluatorCreator used to create the evaluator used by JEGA in Dakota (a JEGAEvaluator).
JEGA::Utilities::ParameterDatabase theParamDB
A pointer to the ParameterDatabase from which all parameters are retrieved by the created algorithms.
VariablesArray initPts
An array of initial points to use as an initial population.
Detailed Description
490
13.54.2
References JEGAOptimizer:: theEvalCreator, ProblemDescDB::get int(), ProblemDescDB::get short(), Iterator::iteratedModel, JEGAOptimizer::LoadTheParameterDatabase(), Iterator::maxEvalConcurrency, Iterator::methodName, Iterator::numFinalSolutions, and Iterator::probDescDB.
13.54.3
The JEGA Design class object from which to extract the variable and response information
for Dakota.
The Dakota::Variables object into which to load the design variable values of from.
The Dakota::Response object into which to load the objective function and constraint values
of from.
) [protected]
Reads information out of the known Dakota::ProblemDescDB and puts it into the current parameter database.
This should be called from the JEGAOptimizer constructor since it is the only time when the problem description database is certain to be configured to supply data for this optimizer.
Referenced by JEGAOptimizer::JEGAOptimizer().
void LoadAlgorithmConfig ( JEGA::FrontEnd::AlgorithmConfig & aConfig ) [protected]
Completely initializes the supplied algorithm configuration.
This loads the supplied configuration object with appropriate data retrieved from the parameter database.
Parameters
aConfig
491
This loads the fresh configuration object using the LoadTheDesignVariables, LoadTheObjectiveFunctions,
and LoadTheConstraints methods.
492
Parameters
pConfig
References Dakota::asstring(), Dakota::copy row vector(), and Model::nonlinear ineq constraint lower bounds().
void GetBestSolutions ( const JEGA::Utilities::DesignOFSortSet & from, std::multimap< RealRealPair,
JEGA::Utilities::Design > & designSortMap ) [protected]
Returns up to numBest designs sorted by DAKOTAs fitness (L2 constraint violation, then utopia or objective),
taking into account the algorithm type. The front of the returned map can be viewed as a single best.
Parameters
from The full set of designs returned by the solver.
designSortMap Map of best solutions with key pair<constraintViolation, fitness>
eventually this functionality must be moved into a separate post-processing application for MO datasets.
493
The array of DakotaVariables objects to use as the contents of the returned matrix.
Returns
The matrix created using the supplied VariablesArray.
void find optimum (
) [virtual]
) const [virtual]
Overridden to return true since JEGA algorithms can accept multiple initial points.
Returns
true, always.
Reimplemented from Iterator.
bool returns multiple points (
) const [virtual]
Overridden to return true since JEGA algorithms can return multiple final points.
Returns
true, always.
Reimplemented from Iterator.
void initial points ( const VariablesArray & pts ) [virtual]
Overridden to assign the initPts member variable to the passed in collection of Dakota::Variables.
494
Parameters
pts
The array of initial points for the JEGA algorithm created and run by this JEGAOptimizer.
) const [virtual]
Overridden to return the collection of initial points for the JEGA algorithm created and run by this JEGAOptimizer.
Returns
The collection of initial points for the JEGA algorithm created and run by this JEGAOptimizer.
Reimplemented from Iterator.
13.54.4
13.55
Base class for the nonlinear least squares branch of the iterator hierarchy.
Inheritance diagram for LeastSq:
Iterator
Minimizer
LeastSq
NL2SOLLeastSq
NLSSOLLeastSq
SNLLLeastSq
495
standard constructor
LeastSq ()
destructor
Protected Attributes
int numLeastSqTerms
number of least squares terms
LeastSq prevLSqInstance
pointer containing previous value of leastSqInstance
bool weightFlag
flag indicating whether weighted least squares is active
RealVector confBoundsLower
lower bounds for confidence intervals on calibration parameters
RealVector confBoundsUpper
upper bounds for confidence intervals on calibration parameters
496
Detailed Description
Base class for the nonlinear least squares branch of the iterator hierarchy.
The LeastSq class provides common data and functionality for least squares solvers (including NL2OL, NLSSOLLeastSq, and SNLLLeastSq.
13.55.2
13.55.3
) [protected], [virtual]
This function should be invoked (or reimplemented) by any derived implementations of initialize run() (which
would otherwise hide it).
Reimplemented from Iterator.
Reimplemented in SNLLLeastSq.
References Minimizer::initialize run(), Iterator::iteratedModel, LeastSq::leastSqInstance, Minimizer::obsDataFlag, LeastSq::prevLSqInstance, Minimizer::scaleFlag, and Model::update from subordinate model().
Referenced by SNLLLeastSq::initialize run().
void core run (
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References LeastSq::minimize residuals().
void post run ( std::ostream & s ) [protected], [virtual]
Implements portions of post run specific to LeastSq for scaling back to native variables and functions. This function should be invoked (or reimplemented) by any derived implementations of post run() (which would otherwise
hide it).
Reimplemented from Iterator.
Reimplemented in SNLLLeastSq.
References Dakota::abort handler(), Response::active set request vector(), Iterator::bestResponseArray, Iterator::bestVariablesArray, Variables::continuous variables(), Response::copy(), Minimizer::cvScaleMultipliers, Minimizer::cvScaleOffsets, Minimizer::cvScaleTypes, Response::function value(), Response::function values(), Iterator::iteratedModel, Minimizer::modify s2n(), Minimizer::need resp trans byvars(), LeastSq::numLeastSqTerms, Minimizer::numNonlinearConstraints, Minimizer::post run(), Model::primary response fn weights(), Minimizer::primary-
497
RespScaleFlag, Minimizer::response modify s2n(), Minimizer::secondaryRespScaleFlag, Model::subordinate model(), Response::update partial(), Minimizer::varsScaleFlag, and LeastSq::weightFlag.
void finalize run (
utility function to perform common operations following post run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class
must call its nearest parents finalize run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in SNLLLeastSq.
References Minimizer::finalize run(), LeastSq::leastSqInstance, and LeastSq::prevLSqInstance.
Referenced by SNLLLeastSq::finalize run().
void print results ( std::ostream & s ) [protected], [virtual]
Redefines default iterator results printing to include nonlinear least squares results (residual terms and constraints).
Reimplemented from Iterator.
References Iterator::activeSet, Minimizer::archive allocate best(), Minimizer::archive best(), Iterator::bestResponseArray, Iterator::bestVariablesArray, LeastSq::confBoundsLower, LeastSq::confBoundsUpper, Model::continuous variable labels(), Dakota::data pairs, Model::interface id(), Iterator::iteratedModel, Dakota::lookupby val(), Minimizer::numContinuousVars, Minimizer::numFunctions, LeastSq::numLeastSqTerms, Model::primaryresponse fn weights(), ActiveSet::request values(), Model::subordinate model(), and Dakota::write precision.
void get confidence intervals (
) [protected]
) [private]
498
void primary resp weighter ( const Variables & unweighted vars, const Variables & weighted vars, const
Response & unweighted response, Response & weighted response ) [static], [private]
Recast callback function to weight least squares residuals, gradients, and Hessians.
Apply weights to least squares residuals
References Dakota:: NPOS, Response::active set derivative vector(), Response::active set request vector(),
Variables::acv(), Variables::all continuous variable ids(), Variables::continuous variable ids(), Variables::cv(), Dakota::find index(), Response::function gradients(), Response::function gradients view(), Response::function hessian(),
Response::function hessian view(), Response::function values(), Response::function values view(), Variables::icv(),
Variables::inactive continuous variable ids(), Iterator::iteratedModel, LeastSq::leastSqInstance, LeastSq::numLeastSqTerms, Iterator::outputLevel, Model::primary response fn weights(), and Model::subordinate model().
Referenced by LeastSq::weight model().
The documentation for this class was generated from the following files:
DakotaLeastSq.hpp
DakotaLeastSq.cpp
13.56
Environment
LibraryEnvironment
LibraryEnvironment (MPI Comm dakota mpi comm, ProgramOptions prog opts=ProgramOptions(), bool
check bcast construct=true, DbCallbackFunctionPtr callback=NULL, void callback data=NULL)
Alternate constructor accepting communicator, same options as primary.
LibraryEnvironment ()
destructor
499
bool plugin interface (const String &model type, const String &interf type, const String &an driver, Interface plugin iface)
Plug-in the passed interface into any interface matching the specified (possibly empty) model, interface, and driver
strings; returns true if a plugin was performed.
InterfaceList filtered interface list (const String &interf type, const String &an driver)
filter the available Interface instances based on matching interface type and analysis drivers (empty String matches
any)
ModelList filtered model list (const String &model type, const String &interf type, const String &an driver)
filter the available Model instances based on matching model type, interface type, and analysis drivers (empty
String matches any)
Detailed Description
13.56.2
13.56.3
InterfaceList filtered interface list ( const String & interf type, const String & an driver )
filter the available Interface instances based on matching interface type and analysis drivers (empty String matches
any)
This convenience function helps clients locate and plugin to the right Interface instance for simple cases. Pass
an empty string to match any instead of a specific instance
500
13.57
MatlabInterface ()
Destructor: close Matlab engine.
501
int matlab field prep (mxArray dakota matlab, const char field name)
check that the dakota matlab strucutre has the specified field name and add if necessary; free structure memory in
preparation for new alloc
Protected Attributes
engine matlabEngine
pointer to the MATLAB engine used for direct evaluations
13.57.1
Detailed Description
Specialization of DirectApplicInterface to link to Matlab analysis drivers. Includes convenience functions to map
data to/from Matlab
13.57.2
502
13.58
ConcurrentMetaIterator
EmbedHybridMetaIterator
SeqHybridMetaIterator
MetaIterator ()
destructor
int get max procs per iterator (ProblemDescDB &problem db, int max eval concurrency)
compute a maximum iterator partition size based on lower level concurrency
void allocate by pointer (const String &method ptr, Iterator &the iterator, Model &the model)
initialize the iterator and the model based on method ptr
void allocate by name (const String &method string, const String &model ptr, Iterator &the iterator, Model
&the model)
initialize the iterator based on method string
std::pair< int, int > estimate by pointer (const String &method ptr, Iterator &the iterator, Model &the model)
estimate minimum and maximum processors per iterator needed for init iterator parallelism(); instantiates the iterator and the model as needed, but on minimal processor ranks (is later augmented by allocate by pointer())
std::pair< int, int > estimate by name (const String &method string, const String &model ptr, Iterator
&the iterator, Model &the model)
estimate minimum and maximum processors per iterator needed for init iterator parallelism(); instantiates the iterator and the model as needed, but on minimal processor ranks (is later augmented by allocate by name())
503
Protected Attributes
IteratorScheduler iterSched
scheduler for concurrent execution of Iterators
int maxIteratorConcurrency
maximum number of concurrent sub-iterator executions
Detailed Description
13.58.2
13.59
Base class for the optimizer and least squares branches of the iterator hierarchy.
Inheritance diagram for Minimizer:
504
Optimizer
SurrBasedMinimizer
NL2SOLLeastSq
APPSOptimizer
EffGlobalMinimizer
NLSSOLLeastSq
COLINOptimizer
SurrBasedGlobalMinimizer
SNLLLeastSq
CONMINOptimizer
SurrBasedLocalMinimizer
DOTOptimizer
JEGAOptimizer
NCSUOptimizer
NLPQLPOptimizer
NomadOptimizer
NonlinearCGOptimizer
NPSOLOptimizer
OptDartsOptimizer
SNLLOptimizer
Minimizer (unsigned short method name, size t num lin ineq, size t num lin eq, size t num nln ineq, sizet num nln eq)
alternate constructor for on the fly instantiations
Minimizer ()
destructor
505
virtual void pack parameters buffer (MPIPackBuffer &send buffer, int job index)
pack a send buffer for assigning an iterator job to a server
virtual void pack results buffer (MPIPackBuffer &send buffer, int job index)
pack a send buffer for returning iterator results from a server
virtual void unpack results buffer (MPIUnpackBuffer &recv buffer, int job index)
unpack a recv buffer for accepting iterator results from a server
bool need resp trans byvars (const ShortArray &asv, int start index, int num resp)
determine if response transformation is needed due to variable transformations
RealVector modify s2n (const RealVector &scaled vars, const IntArray &scale types, const RealVector
&multipliers, const RealVector &offsets) const
general RealVector mapping from scaled to native variables (and values)
void response modify s2n (const Variables &native vars, const Response &scaled response, Response &nativeresponse, int start offset, int num responses) const
map responses from scaled to native space
Real objective (const RealVector &fn vals, const BoolDeque &max sense, const RealVector &primary wts)
const
compute a composite objective value from one or more primary functions
Real objective (const RealVector &fn vals, size t num fns, const BoolDeque &max sense, const RealVector
&primary wts) const
compute a composite objective with specified number of source primary functions, instead of userPrimaryFns
void objective gradient (const RealVector &fn vals, const RealMatrix &fn grads, const BoolDeque &maxsense, const RealVector &primary wts, RealVector &obj grad) const
compute the gradient of the composite objective function
void objective gradient (const RealVector &fn vals, size t num fns, const RealMatrix &fn grads, const
BoolDeque &max sense, const RealVector &primary wts, RealVector &obj grad) const
compute the gradient of the composite objective function
506
void objective hessian (const RealVector &fn vals, size t num fns, const RealMatrix &fn grads, const RealSymMatrixArray &fn hessians, const BoolDeque &max sense, const RealVector &primary wts, RealSymMatrix &obj hess) const
compute the Hessian of the composite objective function
void archive best (size t index, const Variables &best vars, const Response &best resp)
archive the best point into the results array
static void replicate set recast (const Variables &recast vars, const ActiveSet &recast set, ActiveSet &submodel set)
conversion of request vector values for Least Squares
static void secondary resp copier (const Variables &input vars, const Variables &output vars, const Response &input response, Response &output response)
copy the partial response for secondary functions when needed (data and reduction transforms)
Protected Attributes
size t numFunctions
number of response functions
size t numContinuousVars
number of active continuous vars
size t numDiscreteIntVars
number of active discrete integer vars
size t numDiscreteRealVars
number of active discrete real vars
Real constraintTol
optimizer/least squares constraint tolerance
Real bigRealBoundSize
cutoff value for inequality constraint and continuous variable bounds
507
int bigIntBoundSize
cutoff value for discrete variable bounds
size t numNonlinearIneqConstraints
number of nonlinear inequality constraints
size t numNonlinearEqConstraints
number of nonlinear equality constraints
size t numLinearIneqConstraints
number of linear inequality constraints
size t numLinearEqConstraints
number of linear equality constraints
int numNonlinearConstraints
total number of nonlinear constraints
int numLinearConstraints
total number of linear constraints
int numConstraints
total number of linear and nonlinear constraints
bool optimizationFlag
flag for use where optimization and NLS must be distinguished
size t numUserPrimaryFns
number of objective functions or least squares terms in the users model always initialize at Minimizer, even if
overridden later
size t numIterPrimaryFns
number of objective functions or least squares terms in iterators view always initialize at Minimizer, even if overridden later
bool boundConstraintFlag
convenience flag for denoting the presence of user-specified bound constraints. Used for method selection and error
checking.
bool speculativeFlag
flag for speculative gradient evaluations
String obsDataFilename
filename from which to read observed data
bool obsDataFlag
flag indicating whether user-supplied data is active
ExperimentData expData
Container for experimental data to which to calibrate model using least squares or other formulations which minimize SSE.
size t numExperiments
number of experiments
IntVector numReplicates
number of replicates
size t numRowsExpData
number of total rows of data since we are allowing varying numbers of experiments and replicates per experiment
508
bool varsScaleFlag
flag for variables scaling
bool primaryRespScaleFlag
flag for primary response scaling
bool secondaryRespScaleFlag
flag for secondary response scaling
IntArray cvScaleTypes
scale flags for continuous vars.
RealVector cvScaleMultipliers
scales for continuous variables
RealVector cvScaleOffsets
offsets for continuous variables
IntArray responseScaleTypes
scale flags for all responses
RealVector responseScaleMultipliers
scales for all responses
RealVector responseScaleOffsets
offsets for all responses (zero
IntArray linearIneqScaleTypes
scale flags for linear ineq
RealVector linearIneqScaleMultipliers
scales for linear ineq constrs.
RealVector linearIneqScaleOffsets
offsets for linear ineq constrs.
IntArray linearEqScaleTypes
scale flags for linear eq.
RealVector linearEqScaleMultipliers
scales for linear constraints
RealVector linearEqScaleOffsets
offsets for linear constraints
Minimizer prevMinInstance
pointer containing previous value of minimizerInstance
bool vendorNumericalGradFlag
convenience flag for gradient type == numerical && method source == vendor
509
void compute scaling (int object type, int auto type, int num vars, RealVector &lbs, RealVector &ubs,
RealVector &targets, const StringArray &scale strings, const RealVector &scales, IntArray &scale types,
RealVector &scale mults, RealVector &scale offsets)
general helper function for initializing scaling types and factors on a vector of variables, functions, constraints,
etc.
bool compute scale factor (const Real lower bound, const Real upper bound, Real multiplier, Real offset)
automatically compute a single scaling factor bounds case
void response scaler core (const Variables &native vars, const Variables &scaled vars, const Response
&native response, Response &iterator response, size t start offset, size t num responses)
Core of response scaling, which doesnt perform any output.
RealVector modify n2s (const RealVector &native vars, const IntArray &scale types, const RealVector
&multipliers, const RealVector &offsets) const
general RealVector mapping from native to scaled variables vectors:
void response modify n2s (const Variables &scaled vars, const Response &native response, Response &scaledresponse, int start offset, int num responses) const
map reponses from native to scaled variable space
RealMatrix lin coeffs modify n2s (const RealMatrix &native coeffs, const RealVector &cv multipliers,
const RealVector &lin multipliers) const
general linear coefficients mapping from native to scaled space
void print scaling (const String &info, const IntArray &scale types, const RealVector &scale mults, const
RealVector &scale offsets, const StringArray &labels)
print scaling information for a particular response type in tabular form
static void variables scaler (const Variables &scaled vars, Variables &native vars)
RecastModel callback for variables scaling: transform variables from scaled to native (user) space.
static void primary resp scaler (const Variables &native vars, const Variables &scaled vars, const Response
&native response, Response &iterator response)
RecastModel callback for primary response scaling: transform responses (grads, Hessians) from native (user) to
scaled space.
static void secondary resp scaler (const Variables &native vars, const Variables &scaled vars, const Response &native response, Response &scaled response)
RecastModel callback for secondary response scaling: transform constraints (grads, Hessians) from native (user)
to scaled space.
510
Friends
class SOLBase
the SOLBase class is not derived the iterator hierarchy but still needs access to iterator hierarchy data (to avoid
attribute replication)
class SNLLBase
the SNLLBase class is not derived the iterator hierarchy but still needs access to iterator hierarchy data (to avoid
attribute replication)
13.59.1
Detailed Description
Base class for the optimizer and least squares branches of the iterator hierarchy.
The Minimizer class provides common data and functionality for Optimizer and LeastSq.
13.59.2
13.59.3
) [protected], [virtual]
utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance pointers
Perform initialization phases of run sequence, like allocating memory and setting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call
its nearest parents initialize run(), typically before performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in SNLLOptimizer, NLPQLPOptimizer, SNLLLeastSq, DOTOptimizer, and Optimizer.
References Model::all continuous variables(), Model::all discrete int variables(), Model::all discrete real variables(), Iterator::bestVariablesArray, Model::is null(), Iterator::iteratedModel, Iterator::maxEvalConcurrency,
Minimizer::minimizerInstance, Minimizer::minimizerRecasts, Minimizer::prevMinInstance, Model::set communicators(),
Model::set evaluation reference(), Iterator::subIteratorFlag, Model::subordinate model(), and Iterator::summaryOutputFlag.
Referenced by LeastSq::initialize run(), and Optimizer::initialize run().
void post run ( std::ostream & s ) [protected], [virtual]
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in SNLLOptimizer, SNLLLeastSq, and Optimizer.
511
utility function to perform common operations following post run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class
must call its nearest parents finalize run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
Reimplemented in SNLLOptimizer, SNLLLeastSq, and Optimizer.
References Iterator::finalize run(), Minimizer::minimizerInstance, and Minimizer::prevMinInstance.
Referenced by LeastSq::finalize run(), and Optimizer::finalize run().
void pack parameters buffer ( MPIPackBuffer & send buffer, int job index ) [inline],
[protected], [virtual]
pack a send buffer for assigning an iterator job to a server
This virtual function redefinition is executed on the dedicated master processor for self scheduling. It is not
used for peer partitions.
Reimplemented from Iterator.
void unpack parameters buffer ( MPIUnpackBuffer & recv buffer ) [inline], [protected],
[virtual]
unpack a recv buffer for accepting an iterator job from the scheduler
This virtual function redefinition is executed on an iterator server for dedicated master self scheduling. It is
not used for peer partitions.
Reimplemented from Iterator.
void pack results buffer ( MPIPackBuffer & send buffer, int job index ) [inline], [protected],
[virtual]
pack a send buffer for returning iterator results from a server
This virtual function redefinition is executed either on an iterator server for dedicated master self scheduling
or on peers 2 through n for static scheduling.
Reimplemented from Iterator.
512
void unpack results buffer ( MPIUnpackBuffer & recv buffer, int job index ) [inline],
[protected], [virtual]
unpack a recv buffer for accepting iterator results from a server
This virtual function redefinition is executed on an environment master (either the dedicated master processor
for self scheduling or peer 1 for static scheduling).
Reimplemented from Iterator.
bool data transform model ( bool weight flag = false ) [protected]
Wrap iteratedModel in a RecastModel that subtracts provided observed data from the primary response functions
(variables and secondary responses are unchanged)
Reads observation data to compute least squares residuals. Does not change size of responses, and is the
first wrapper, therefore sizes are based on iteratedModel. This will set weights to sigma[i] -2 if appropriate.
weight flag is true is there already exist user-specified weights in the calling context.
References Dakota::abort handler(), Iterator::activeSet, Model::assign rep(), Minimizer::expData, ProblemDescDB::get bool(), ProblemDescDB::get iv(), ProblemDescDB::get sizet(), Iterator::iteratedModel, ExperimentData::load scalar(), Minimizer::numContinuousVars, Minimizer::numExperiments, Minimizer::numFunctions, Minimizer::numNonlinearConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numReplicates, Minimizer::numRowsExpData, Minimizer::numUserPrimaryFns, Minimizer::obsDataFilename, Iterator::outputLevel, Minimizer::primary resp differencer(), Model::primary response fn sense(), Model::primary response fn weights(), Iterator::probDescDB, Minimizer::replicate set recast(), ActiveSet::request vector(), ExperimentData::scalar data(), ExperimentData::scalar sigma(), Minimizer::secondary resp copier(), and Model::subordinate model().
Referenced by LeastSq::LeastSq(), and Optimizer::Optimizer().
void scale model (
) [protected]
513
514
Real objective ( const RealVector & fn vals, size t num fns, const BoolDeque & max sense, const
RealVector & primary wts ) const [protected]
compute a composite objective with specified number of source primary functions, instead of userPrimaryFns
This composite objective is a more general case of the previous objective(), but doesnt presume a reduction
map from user to iterated space. Used to apply weights and sense in COLIN results sorting. Leaving as a duplicate
implementation pending resolution of COLIN lookups.
References Minimizer::optimizationFlag.
void objective gradient ( const RealVector & fn vals, size t num fns, const RealMatrix & fn grads,
const BoolDeque & max sense, const RealVector & primary wts, RealVector & obj grad ) const
[protected]
compute the gradient of the composite objective function
The composite objective gradient computation combines the contributions from one of more primary function
gradients, including the effect of any primary function weights. In the case of a linear mapping (MOO), only the
primary function gradients are required, but in the case of a nonlinear mapping (NLS), primary function values
are also needed. Within RecastModel::set mapping(), the active set requests are automatically augmented to make
values available when needed, based on nonlinearRespMapping settings.
References Minimizer::numContinuousVars, and Minimizer::optimizationFlag.
void objective hessian ( const RealVector & fn vals, size t num fns, const RealMatrix & fn grads, const
RealSymMatrixArray & fn hessians, const BoolDeque & max sense, const RealVector & primary wts,
RealSymMatrix & obj hess ) const [protected]
compute the Hessian of the composite objective function
The composite objective Hessian computation combines the contributions from one of more primary function
Hessians, including the effect of any primary function weights. In the case of a linear mapping (MOO), only the
primary function Hessians are required, but in the case of a nonlinear mapping (NLS), primary function values
and gradients are also needed in general (gradients only in the case of a Gauss-Newton approximation). Within
the default RecastModel::set mapping(), the active set requests are automatically augmented to make values and
gradients available when needed, based on nonlinearRespMapping settings.
References Dakota::abort handler(), Minimizer::numContinuousVars, and Minimizer::optimizationFlag.
void resize best vars array ( size t newsize ) [protected]
Safely resize the best variables array to newsize taking into account the envelope-letter design pattern and any
recasting.
Uses data from the innermost model, should any Minimizer recasts be active. Called by multipoint return
solvers. Do not directly call resize on the bestVariablesArray object unless you intend to share the internal content
(letter) with other objects after assignment.
References Iterator::bestVariablesArray, Variables::copy(), Model::current variables(), Iterator::iteratedModel,
Minimizer::minimizerRecasts, and Model::subordinate model().
Referenced by COLINOptimizer::post run().
void resize best resp array ( size t newsize ) [protected]
Safely resize the best response array to newsize taking into account the envelope-letter design pattern and any
recasting.
515
Uses data from the innermost model, should any Minimizer recasts be active. Called by multipoint return
solvers. Do not directly call resize on the bestResponseArray object unless you intend to share the internal
content (letter) with other objects after assignment.
References Iterator::bestResponseArray, Response::copy(), Model::current response(), Iterator::iteratedModel,
Minimizer::minimizerRecasts, and Model::subordinate model().
Referenced by COLINOptimizer::post run().
void primary resp differencer ( const Variables & raw vars, const Variables & residual vars, const
Response & raw response, Response & residual response ) [static], [private]
Recast callback function to difference residuals with observed data.
Difference the primary responses with observed data
References Minimizer::data difference core(), Response::function labels(), Response::function values(), Minimizer::minimizerInstance, and Iterator::outputLevel.
Referenced by Minimizer::data transform model().
) [private]
void variables scaler ( const Variables & scaled vars, Variables & native vars ) [static], [private]
RecastModel callback for variables scaling: transform variables from scaled to native (user) space.
Variables map from iterator/scaled space to user/native space using a RecastModel.
References Variables::continuous variable labels(), Variables::continuous variables(), Minimizer::cvScaleMultipliers,
Minimizer::cvScaleOffsets, Minimizer::cvScaleTypes, Minimizer::minimizerInstance, Minimizer::modify s2n(),
and Iterator::outputLevel.
Referenced by Minimizer::scale model().
516
void secondary resp scaler ( const Variables & native vars, const Variables & scaled vars, const Response
& native response, Response & iterator response ) [static], [private]
RecastModel callback for secondary response scaling: transform constraints (grads, Hessians) from native (user)
to scaled space.
Constraint function map from user/native space to iterator/scaled/combined space using a RecastModel.
References Minimizer::minimizerInstance, Minimizer::numNonlinearConstraints, Minimizer::numUserPrimaryFns, and Minimizer::response scaler core().
Referenced by Minimizer::scale model().
RealVector modify n2s ( const RealVector & native vars, const IntArray & scale types, const RealVector
& multipliers, const RealVector & offsets ) const [private]
general RealVector mapping from native to scaled variables vectors:
general RealVector mapping from native to scaled variables; loosely, in greatest generality: scaled var = log(
(native var - offset) / multiplier )
Referenced by Minimizer::initialize scaling().
void response modify n2s ( const Variables & native vars, const Response & native response, Response &
recast response, int start offset, int num responses ) const [private]
map reponses from native to scaled variable space
Scaling response mapping: modifies response from a model (user/native) for use in iterators (scaled). Maps
num responses starting at response offset
References Response::active set(), Variables::acv(), Variables::all continuous variable ids(), Variables::allcontinuous variables(), Variables::continuous variable ids(), Variables::continuous variables(), Dakota::copy data(), Variables::cv(), Minimizer::cvScaleMultipliers, Minimizer::cvScaleOffsets, Minimizer::cvScaleTypes, ActiveSet::derivative vector(), Dakota::find index(), Response::function gradient view(), Response::function gradients(),
Response::function hessian view(), Response::function hessians(), Response::function labels(), Response::functionvalue(), Response::function values(), Variables::icv(), Variables::inactive continuous variable ids(), Variables::inactive continuous variables(), Minimizer::numUserPrimaryFns, Iterator::outputLevel, ActiveSet::request vector(),
Minimizer::responseScaleMultipliers, Minimizer::responseScaleOffsets, Minimizer::responseScaleTypes, and Dakota::write precision.
Referenced by Minimizer::response scaler core().
RealMatrix lin coeffs modify n2s ( const RealMatrix & src coeffs, const RealVector & cv multipliers,
const RealVector & lin multipliers ) const [private]
general linear coefficients mapping from native to scaled space
compute scaled linear constraint matrix given design variable multipliers and linear scaling multipliers. Only
scales components corresponding to continuous variables so for src coeffs of size MxN, lin multipliers.size() <=
M, cv multipliers.size() <= N
Referenced by Minimizer::initialize scaling().
The documentation for this class was generated from the following files:
DakotaMinimizer.hpp
DakotaMinimizer.cpp
13.60
517
Derived class within the Constraints hierarchy which separates continuous and discrete variables (no domain type
array merging).
Inheritance diagram for MixedVarConstraints:
Constraints
MixedVarConstraints
MixedVarConstraints ()
destructor
Detailed Description
Derived class within the Constraints hierarchy which separates continuous and discrete variables (no domain type
array merging).
Derived variable constraints classes take different views of the design, uncertain, and state variable types
and the continuous and discrete domain types. The MixedVarConstraints derived class separates the continuous
and discrete domain types (see Variables::get variables(problem db) for variables type selection; variables type is
passed to the Constraints constructor in Model).
518
13.60.2
MixedVarConstraints ( const ProblemDescDB & problem db, const SharedVariablesData & svd )
standard constructor
In this class, mixed continuous/discrete variables are used. Most iterators/strategies use this approach, which
is the default in Constraints::get constraints().
References Constraints::allContinuousLowerBnds, Constraints::allContinuousUpperBnds, Constraints::allDiscreteIntLowerBnds, Constraints::allDiscreteIntUpperBnds, Constraints::allDiscreteRealLowerBnds, Constraints::allDiscreteRealUpperBnds, Constraints::build views(), SharedVariablesData::components totals(), Dakota::copy data partial(), ProblemDescDB::get iv(), ProblemDescDB::get rv(), Constraints::manage linear constraints(), Constraints::numLinearEqCons, Constraints::numLinearIneqCons, Constraints::sharedVarsData, SharedVariablesData::vc lookup(), and SharedVariablesData::view().
13.60.3
13.61
Derived class within the Variables hierarchy which separates continuous and discrete variables (no domain type
array merging).
Inheritance diagram for MixedVariables:
Variables
MixedVariables
MixedVariables ()
destructor
519
Detailed Description
Derived class within the Variables hierarchy which separates continuous and discrete variables (no domain type
array merging).
Derived variables classes take different views of the design, uncertain, and state variable types and the continuous and discrete domain types. The MixedVariables derived class separates the continuous and discrete domain
types (see Variables::get variables(problem db)).
13.61.2
MixedVariables ( const ProblemDescDB & problem db, const std::pair< short, short > & view )
standard constructor
In this class, the distinct approach is used (design, uncertain, and state variable types and continuous and
discrete domain types are distinct). Most iterators/strategies use this approach.
References Variables::allContinuousVars, Variables::allDiscreteIntVars, Variables::allDiscreteRealVars, Variables::build views(), SharedVariablesData::components totals(), Dakota::copy data partial(), ProblemDescDB::get iv(), ProblemDescDB::get rv(), Variables::sharedVarsData, SharedVariablesData::vc lookup(), and SharedVariablesData::view().
13.61.3
520
13.62
RecastModel
SingleModel
SurrogateModel
DataFitSurrModel
HierarchSurrModel
virtual Model ()
destructor
virtual void derived subordinate models (ModelList &ml, bool recurse flag)
portion of subordinate models() specific to derived model classes
virtual void primary response fn weights (const RealVector &wts, bool recurse flag=true)
set the relative weightings for multiple objective functions or least squares terms
521
virtual bool build approximation (const Variables &vars, const IntResponsePair &response pr)
build a new SurrogateModel approximation using/enforcing response at vars
virtual void update approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuildflag)
replace the anchor point data within an existing surrogate
virtual void update approximation (const VariablesArray &vars array, const IntResponseMap &resp map,
bool rebuild flag)
replace the data points within an existing surrogate
virtual void append approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuildflag)
append a single point to an existing surrogates data
virtual void append approximation (const VariablesArray &vars array, const IntResponseMap &resp map,
bool rebuild flag)
append multiple points to an existing surrogates data
virtual void pop approximation (bool save surr data, bool rebuild flag=false)
remove the previous data set addition to a surrogate (e.g., due to a previous append approximation() call); flag
manages storing of surrogate data for use in a subsequent restore approximation()
virtual std::vector
< Approximation > & approximations ()
retrieve the set of Approximations within the ApproximationInterface of a DataFitSurrModel
virtual const
Pecos::SurrogateData & approximation data (size t index)
retrieve the approximation data from a particular Approximation instance within the ApproximationInterface of a
DataFitSurrModel
522
virtual void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true)
const
523
void init communicators (int max eval concurrency, bool recurse flag=true)
allocate communicator partitions for a model and store configuration in modelPCIterMap
void set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration for the model (set modelPCIter from modelPCIterMap)
void free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for a model
void assign rep (Model model rep, bool ref count incr=true)
replaces existing letter with a new one
size t tv () const
returns total number of vars
524
void discrete int variable type (unsigned short div type, size t i)
set an active discrete variable type in currentVariables
void discrete real variable type (unsigned short drv type, size t i)
set an active discrete variable type in currentVariables
525
526
527
return aleatDistParams
std::pair< Real, Real > continuous distribution bounds (size t cv index) const
return a set of distribution bounds for a particular index within the active aleatory random variables
528
void all continuous variable label (const String &a c v label, size t i)
set a label within the all continuous labels in currentVariables
void all discrete int variable label (const String &a d v label, size t i)
set a label within the all discrete labels in currentVariables
void all discrete real variable label (const String &a d v label, size t i)
set a label within the all discrete labels in currentVariables
void inactive discrete int lower bounds (const IntVector &i d l bnds)
set the inactive discrete lower bounds in userDefinedConstraints
void inactive discrete int upper bounds (const IntVector &i d u bnds)
set the inactive discrete upper bounds in userDefinedConstraints
void inactive discrete real lower bounds (const RealVector &i d l bnds)
set the inactive discrete lower bounds in userDefinedConstraints
void inactive discrete real upper bounds (const RealVector &i d u bnds)
set the inactive discrete upper bounds in userDefinedConstraints
529
530
void all discrete int lower bounds (const IntVector &a d l bnds)
set all discrete lower bounds in userDefinedConstraints
void all discrete int upper bounds (const IntVector &a d u bnds)
set all discrete upper bounds in userDefinedConstraints
void all discrete real lower bounds (const RealVector &a d l bnds)
set all discrete lower bounds in userDefinedConstraints
void all discrete real upper bounds (const RealVector &a d u bnds)
set all discrete upper bounds in userDefinedConstraints
void linear ineq constraint coeffs (const RealMatrix &lin ineq coeffs)
set the linear inequality constraint coefficients
void linear ineq constraint lower bounds (const RealVector &lin ineq l bnds)
set the linear inequality constraint lower bounds
void nonlinear ineq constraint lower bounds (const RealVector &nln ineq l bnds)
set the nonlinear inequality constraint lower bounds
void nonlinear ineq constraint upper bounds (const RealVector &nln ineq u bnds)
set the nonlinear inequality constraint upper bounds
531
532
533
Real initialize h (Real x j, Real lb j, Real ub j, Real step size, String step type)
function to determine initial finite difference h (before step length adjustment) based on type of step desired
Public Attributes
bool shortStep
flags finite-difference step size adjusted by bounds
534
Model (NoDBBaseConstructor, ParallelLibrary ¶llel lib, const SharedVariablesData &svd, const ActiveSet &set, short output level)
constructor initializing base class for derived model class instances constructed on the fly
virtual void derived init communicators (int max eval concurrency, bool recurse flag=true)
portion of init communicators() specific to derived model classes
virtual void derived set communicators (int max eval concurrency, bool recurse flag=true)
portion of set communicators() specific to derived model classes
virtual void derived free communicators (int max eval concurrency, bool recurse flag=true)
portion of free communicators() specific to derived model classes
Protected Attributes
Variables currentVariables
the set of current variables used by the model for performing function evaluations
size t numDerivVars
the number of active continuous variables used in computing most response derivatives (i.e., in places such as
quasi-Hessians and response corrections where only the active continuous variables are supported)
Response currentResponse
the set of current responses that holds the results of model function evaluations
size t numFns
the number of functions in currentResponse
Constraints userDefinedConstraints
Explicit constraints on variables are maintained in the Constraints class hierarchy. Currently, this includes linear
constraints and bounds, but could be extended in the future to include other explicit constraints which (1) have their
form specified by the user, and (2) are not catalogued in Response since their form and coefficients are published
to an iterator at startup.
String modelType
type of model: single, nested, or surrogate
535
String surrogateType
type of surrogate model: local , multipoint , global , or hierarchical
String gradientType
type of gradient data: analytic, numerical, mixed, or none
String methodSource
source of numerical gradient routine: dakota or vendor
String intervalType
type of numerical gradient interval: central or forward
String hessianType
type of Hessian data: analytic, numerical, quasi, mixed, or none
RealVector fdGradStepSize
relative finite difference step size for numerical gradients
String fdGradStepType
type of finite difference step to use for numerical gradient: relative - step length is relative to x absolute - step length
is what is specified bounds - step length is relative to range of x
RealVector fdHessByGradStepSize
relative finite difference step size for numerical Hessians estimated using first-order differences of gradients
RealVector fdHessByFnStepSize
relative finite difference step size for numerical Hessians estimated using second-order differences of function values
String fdHessStepType
type of finite difference step to use for numerical Hessian: relative - step length is relative to x absolute - step length
is what is specified bounds - step length is relative to range of x
bool ignoreBounds
option to ignore bounds when computing finite diffs
bool centralHess
option to use old 2nd-order finite diffs for Hessians
bool supportsEstimDerivs
whether model should perform or forward derivative estimation
String quasiHessType
quasi-Hessian type: bfgs, damped bfgs, sr1
IntSet gradIdAnalytic
analytic ids for mixed gradients
IntSet gradIdNumerical
numerical ids for mixed gradients
IntSet hessIdAnalytic
analytic ids for mixed Hessians
IntSet hessIdNumerical
numerical ids for mixed Hessians
IntSet hessIdQuasi
quasi ids for mixed Hessians
IntArray messageLengths
length of packed MPI buffers containing vars, vars/set, response, and PRPair
536
ParConfigLIter modelPCIter
the ParallelConfiguration node used by this model instance
short componentParallelMode
the component parallelism mode: 0 (none), 1 (INTERFACE/LF MODEL), or 2 (SUB MODEL/HF MODEL/TRUTH MODEL)
bool asynchEvalFlag
flags asynch evaluations (local or distributed)
int evaluationCapacity
capacity for concurrent evaluations supported by the Model
short outputLevel
output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG} OUTPUT
ModelList modelList
used to collect sub-models for subordinate models()
IntSetArray discreteDesignSetIntValues
array of IntSets, each containing the set of allowable integer values corresponding to a discrete design integer set
variable
RealSetArray discreteDesignSetRealValues
array of RealSets, each containing the set of allowable real values corresponding to a discrete design real set
variable
IntSetArray discreteStateSetIntValues
array of IntSets, each containing the set of allowable integer values corresponding to a discrete state integer set
variable
RealSetArray discreteStateSetRealValues
array of RealSets, each containing the set of allowable real values corresponding to a discrete state real set
variable
Pecos::AleatoryDistParams aleatDistParams
container for aleatory random variable distribution parameters
Pecos::EpistemicDistParams epistDistParams
container for epistemic random variable distribution parameters
BoolDeque primaryRespFnSense
array of flags (one per primary function) for switching the sense to maximize the primary function (default is
minimize)
RealVector primaryRespFnWts
primary response function weightings (either weights for multiobjective optimization or weighted least squares)
bool hierarchicalTagging
whether to perform hierarchical evalID tagging of params/results
537
int estimate derivatives (const ShortArray &map asv, const ShortArray &fd grad asv, const ShortArray
&fd hess asv, const ShortArray &quasi hess asv, const ActiveSet &original set, const bool asynch flag)
evaluate numerical gradients using finite differences. This routine is selected with method source dakota (the
default method source) in the numerical gradient specification.
void synchronize derivatives (const Variables &vars, const IntResponseMap &fd responses, Response &newresponse, const ShortArray &fd grad asv, const ShortArray &fd hess asv, const ShortArray &quasi hessasv, const ActiveSet &original set)
combine results from an array of finite difference response objects (fd grad responses) into a single response (newresponse)
void update response (const Variables &vars, Response &new response, const ShortArray &fd grad asv,
const ShortArray &fd hess asv, const ShortArray &quasi hess asv, const ActiveSet &original set, Response &initial map response, const RealMatrix &new fn grads, const RealSymMatrixArray &new fn hessians)
overlay results to update a response object
void update quasi hessians (const Variables &vars, Response &new response, const ActiveSet &original set)
perform quasi-Newton Hessian updates
Real finite difference lower bound (UShortMultiArrayConstView cv types, const RealVector &global c lbnds, size t cv index)
return the lower bound for a finite difference offset, drawn from global or distribution bounds
Real finite difference upper bound (UShortMultiArrayConstView cv types, const RealVector &global c u bnds, size t cv index)
return the upper bound for a finite difference offset, drawn from global or distribution bounds
bool manage asv (const ShortArray &asv in, ShortArray &map asv out, ShortArray &fd grad asv out,
ShortArray &fd hess asv out, ShortArray &quasi hess asv out)
Coordinates usage of estimate derivatives() calls based on asv in.
Private Attributes
String modelId
model identifier string from the input file
int modelEvalCntr
evaluation counter for top-level compute response() and asynch compute response() calls. Differs from lower level
counters in case of numerical derivative estimation (several lower level evaluations are assimilated into a single
higher level evaluation)
bool estDerivsFlag
flags presence of estimated derivatives within a set of calls to asynch compute response()
bool initCommsBcastFlag
flag for determining need to bcast the max concurrency from init communicators(); set from Strategy::init iterator()
bool modelAutoGraphicsFlag
538
VariablesList varsList
history of vars populated in asynch compute response() and used in synchronize().
BoolList initialMapList
transfers initial map flag values from estimate derivatives() to synchronize derivatives()
BoolList dbCaptureList
transfers db capture flag values from estimate derivatives() to synchronize derivatives()
ResponseList dbResponseList
transfers database captures from estimate derivatives() to synchronize derivatives()
RealList deltaList
transfers deltas from estimate derivatives() to synchronize derivatives()
IntIntMap numFDEvalsMap
tracks the number of evaluations used within estimate derivatives(). Used in synchronize() as a key for combining
finite difference responses into numerical gradients.
IntIntMap rawEvalIdMap
maps from the raw evaluation ids returned by derived synchronize() and derived synchronize nowait() to the corresponding modelEvalCntr id. Used for rekeying responseMap.
RealVectorArray xPrev
previous parameter vectors used in computing s for quasi-Newton updates
RealMatrix fnGradsPrev
previous gradient vectors used in computing y for quasi-Newton updates
RealSymMatrixArray quasiHessians
quasi-Newton Hessian approximations
SizetArray numQuasiUpdates
number of quasi-Newton Hessian updates applied
IntResponseMap responseMap
used to return a map of responses for asynchronous evaluations in final concatenated form. The similar map in
Interface contains raw responses.
IntResponseMap graphicsRespMap
used to cache the data returned from derived synchronize nowait() prior to sequential input into the graphics
IntSetArray activeDiscSetIntValues
aggregation of the admissible value sets for all active discrete set integer variables
RealSetArray activeDiscSetRealValues
aggregation of the admissible value sets for all active discrete set real variables
BitArray discreteIntSets
key for identifying discrete integer set variables within the active discrete integer variables
Model modelRep
pointer to the letter (initialized only for the envelope)
int referenceCount
number of objects sharing modelRep
539
Friends
bool operator== (const Model &m1, const Model &m2)
equality operator (detect same letter instance)
13.62.1
Detailed Description
13.62.2
Model (
default constructor
The default constructor is used in vector<Model> instantiations and for initialization of Model objects contained in Iterator and derived Strategy classes. modelRep is NULL in this case (a populated problem db is needed
to build a meaningful Model object). This makes it necessary to check for NULL in the copy constructor, assignment operator, and destructor.
Model ( ProblemDescDB & problem db )
standard constructor for envelope
Used in model instantiations within strategy constructors. Envelope constructor only needs to extract enough
data to properly execute get model, since Model(BaseConstructor, problem db) builds the actual base class data
for the derived models.
References Dakota::abort handler(), Model::get model(), and Model::modelRep.
Model ( const Model & model )
copy constructor
Copy constructor manages sharing of modelRep and incrementing of referenceCount.
References Model::modelRep, and Model::referenceCount.
Model (
) [virtual]
destructor
Destructor decrements referenceCount and only deletes modelRep when referenceCount reaches zero.
References Model::modelRep, and Model::referenceCount.
540
13.62.3
) [virtual]
541
) [virtual]
return a single sub-model defined from subModel in nested and recast models and truth model() in surrogate
models; used for a directed dive through model recursions that may bypass some components.
return by reference requires use of dummy objects, but is important to allow use of assign rep() since this
operation must be performed on the original envelope object.
Reimplemented in RecastModel, NestedModel, and SurrogateModel.
References Dakota::dummy model, Model::modelRep, and Model::subordinate model().
Referenced by Minimizer::data transform model(), NonDGlobalReliability::expected feasibility(), NonDGlobalReliability::expected improvement(), SurrogateModel::force rebuild(), NonDExpansion::initialize expansion(), Minimizer::initialize run(), Minimizer::initialize scaling(), NonDExpansion::initialize u space model(), NonDGlobalReliability::optimize gaussian process(), LeastSq::post run(), COLINOptimizer::post run(), Optimizer::primary resp reducer(),
LeastSq::primary resp weighter(), LeastSq::print results(), Optimizer::print results(), Minimizer::resize best resparray(), Minimizer::resize best vars array(), Minimizer::scale model(), Model::subordinate model(), DataFitSurrModel::update global(), and LeastSq::weight model().
Model & surrogate model (
) [virtual]
) [virtual]
542
) [virtual]
return the interface employed by the derived model class, if present: SingleModel::userDefinedInterface, DataFitSurrModel::approxInterface, or NestedModel::optionalInterface
return by reference requires use of dummy objects, but is important to allow use of assign rep() since this
operation must be performed on the original envelope object.
Reimplemented in RecastModel, DataFitSurrModel, NestedModel, and SingleModel.
References Model::derived interface(), Dakota::dummy interface, and Model::modelRep.
Referenced by Model::derived interface(), RecastModel::derived interface(), and SurrBasedGlobalMinimizer::minimize surrogates().
String local eval synchronization (
) [virtual]
NestedModels: a subIterator can support message passing parallelism, but not asynch local.
DataFitSurrModels: while asynch evals on approximations will work due to some added bookkeeping,
avoiding them is preferable.
Reimplemented in RecastModel, and SingleModel.
References Model::local eval synchronization(), and Model::modelRep.
Referenced by Model::init serial(), Model::local eval synchronization(), RecastModel::local eval synchronization(),
and Model::set communicators().
int local eval concurrency (
) [virtual]
) const [virtual]
543
Referenced by DataFitSurrModel::build global(), DataFitSurrModel::DataFitSurrModel(), Model::estimate derivatives(), Model::estimate message lengths(), SurrBasedLocalMinimizer::find center approx(), Model::interfaceid(), RecastModel::interface id(), Optimizer::local objective recast retrieve(), SNLLLeastSq::post run(), SurrBasedMinimizer::print results(), LeastSq::print results(), Optimizer::print results(), SeqHybridMetaIterator::runsequential(), DiscrepancyCorrection::search db(), Analyzer::update best(), ConcurrentMetaIterator::update localresults(), SeqHybridMetaIterator::update local results(), and NonDLocalReliability::update mpp search data().
bool evaluation cache (
) const [virtual]
544
for cases where init communicators() will not be called, modify some default settings to behave properly in serial.
The init serial() and derived init serial() functions are stuctured to separate base class (common) operations
from derived class (specialized) operations.
References Model::asynchEvalFlag, Model::derived init serial(), Model::init serial(), Model::local eval synchronization(),
and Model::modelRep.
Referenced by NestedModel::derived init serial(), HierarchSurrModel::derived init serial(), DataFitSurrModel::derived init serial(), RecastModel::derived init serial(), and Model::init serial().
void estimate message lengths (
545
) const
546
int estimate derivatives ( const ShortArray & map asv, const ShortArray & fd grad asv, const
ShortArray & fd hess asv, const ShortArray & quasi hess asv, const ActiveSet & original set, const bool
asynch flag ) [private]
evaluate numerical gradients using finite differences. This routine is selected with method source dakota (the
default method source) in the numerical gradient specification.
Estimate derivatives by computing finite difference gradients, finite difference Hessians, and/or quasi-Newton
Hessians. The total number of finite difference evaluations is returned for use by synchronize() to track response
arrays, and it could be used to improve management of max function evaluations within the iterators. ! new logic
References Model::all continuous lower bounds(), Model::all continuous upper bounds(), Model::all continuousvariable ids(), Model::all continuous variable types(), Variables::all continuous variables(), Model::centralHess,
Model::continuous lower bounds(), Model::continuous upper bounds(), Variables::continuous variable ids(), Model::continuous variable ids(), Model::continuous variable types(), Variables::continuous variables(), Response::copy(),
Dakota::copy data(), Model::currentResponse, Model::currentVariables, Dakota::data pairs, Model::dbCaptureList, Model::dbResponseList, Model::deltaList, ActiveSet::derivative vector(), Model::derived asynch computeresponse(), Model::derived compute response(), Model::fdGradStepSize, Model::fdGradStepType, Model::fdHessByFnStepSize, Model::fdHessByGradStepSize, Model::fdHessStepType, Model::FDstep1(), Model::FDstep2(),
Dakota::find index(), Model::finite difference lower bound(), Model::finite difference upper bound(), Response::function gradients(), Response::function values(), Model::ignoreBounds, Model::inactive continuous lower bounds(), Model::inactive continuous upper bounds(), Variables::inactive continuous variable ids(), Model::inactivecontinuous variable ids(), Model::inactive continuous variable types(), Variables::inactive continuous variables(),
Model::initialize h(), Model::initialMapList, Model::interface id(), Model::intervalType, Dakota::lookup by val(),
Model::numFns, Model::outputLevel, ActiveSet::request vector(), Model::shortStep, and Model::update response().
Referenced by Model::asynch compute response(), and Model::compute response().
void synchronize derivatives ( const Variables & vars, const IntResponseMap & fd responses, Response
& new response, const ShortArray & fd grad asv, const ShortArray & fd hess asv, const ShortArray &
quasi hess asv, const ActiveSet & original set ) [private]
combine results from an array of finite difference response objects (fd grad responses) into a single response
(new response)
Merge an array of fd responses into a single new response. This function is used both by synchronous
compute response() for the case of asynchronous estimate derivatives() and by synchronize() for the case where
one or more asynch compute response() calls has employed asynchronous estimate derivatives(). !
References Response::active set(), Model::acv(), Variables::all continuous variable ids(), Model::centralHess,
Variables::continuous variable ids(), Response::copy(), Model::currentResponse, Model::currentVariables, Model::cv(), Model::dbCaptureList, Model::dbResponseList, Model::deltaList, ActiveSet::derivative vector(), Dakota::find index(), Response::function gradients(), Response::function values(), Model::icv(), Variables::inactive continuousvariable ids(), Model::initialMapList, Model::intervalType, Model::numFns, ActiveSet::request values(), Response::reset inactive(), and Model::update response().
Referenced by Model::compute response(), and Model::synchronize().
void update response ( const Variables & vars, Response & new response, const ShortArray
& fd grad asv, const ShortArray & fd hess asv, const ShortArray & quasi hess asv, const
ActiveSet & original set, Response & initial map response, const RealMatrix & new fn grads, const
RealSymMatrixArray & new fn hessians ) [private]
overlay results to update a response object
Overlay the initial map response with numerically estimated new fn grads and new fn hessians to populate
new response as governed by asv vectors. Quasi-Newton secant Hessian updates are also performed here, since
547
this is where the gradient data needed for the updates is first consolidated. Convenience function used by estimatederivatives() for the synchronous case and by synchronize derivatives() for the asynchronous case.
References Response::active set request vector(), Variables::continuous variable ids(), Response::copy(), Model::currentResponse, Model::currentVariables, ActiveSet::derivative vector(), Response::function gradients(), Response::function hessians(), Response::function values(), Model::hessianType, Model::hessIdQuasi, Response::is null(),
Model::numFns, Model::outputLevel, Model::quasiHessians, ActiveSet::request vector(), Response::reset inactive(),
Model::supportsEstimDerivs, Model::surrogate response mode(), and Model::update quasi hessians().
Referenced by Model::estimate derivatives(), and Model::synchronize derivatives().
void update quasi hessians ( const Variables & vars, Response & new response, const ActiveSet &
original set ) [private]
perform quasi-Newton Hessian updates
quasi-Newton updates are performed for approximating response function Hessians using BFGS or SR1 formulations. These Hessians are supported only for the active continuous variables, and a check is performed on
the DVV prior to invoking the function.
References Dakota::contains(), Variables::continuous variables(), Dakota::copy data(), Model::fnGradsPrev,
Response::function gradients(), Model::hessianType, Model::hessIdQuasi, Model::modelType, Model::numDerivVars, Model::numFns, Model::numQuasiUpdates, Model::outputLevel, Model::quasiHessians, Model::quasiHessType, ActiveSet::request vector(), and Model::xPrev.
Referenced by Model::update response().
bool manage asv ( const ShortArray & asv in, ShortArray & map asv out, ShortArray &
fd grad asv out, ShortArray & fd hess asv out, ShortArray & quasi hess asv out ) [private]
Coordinates usage of estimate derivatives() calls based on asv in.
Splits asv in total request into map asv out, fd grad asv out, fd hess asv out, and quasi hess asv out as governed by the responses specification. If the returned use est deriv is true, then these asv outputs are used by
estimate derivatives() for the initial map, finite difference gradient evals, finite difference Hessian evals, and
quasi-Hessian updates, respectively. If the returned use est deriv is false, then only map asv out is used.
References Dakota::abort handler(), Dakota::contains(), Model::gradIdAnalytic, Model::gradIdNumerical, Model::gradientType, Model::hessianType, Model::hessIdAnalytic, Model::hessIdNumerical, Model::hessIdQuasi, Model::intervalType, Model::methodSource, Model::supportsEstimDerivs, and Model::surrogate response mode().
Referenced by Model::asynch compute response(), and Model::compute response().
13.62.4
548
13.63
Class MPIManager to manage Dakotas MPI world, which may be a subset of MPI COMM WORLD.
MPIManager ()
destructor: calls finalize if Dakota owns MPI
Private Attributes
MPI Comm dakotaMPIComm
MPI Comm on which DAKOTA is running.
int worldRank
rank in MPI Comm in which DAKOTA is running
int worldSize
size of MPI Comm in which DAKOTA is running
bool mpirunFlag
flag for a parallel mpirun/yod launch
bool ownMPIFlag
flag for ownership of MPI Init/MPI Finalize
13.63.1
Detailed Description
Class MPIManager to manage Dakotas MPI world, which may be a subset of MPI COMM WORLD.
The documentation for this class was generated from the following files:
MPIManager.hpp
MPIManager.cpp
13.64
MPIPackBuffer ()
Desctructor.
int size ()
The number of bytes of packed data.
int capacity ()
the allocated size of Buffer.
void reset ()
Resets the buffer index in order to reuse the internal buffer.
549
550
551
Protected Attributes
char Buffer
The internal buffer for packing.
int Index
The index into the current buffer.
int Size
The total size that has been allocated for the buffer.
13.64.1
Detailed Description
13.65
MPIUnpackBuffer ()
Default constructor.
MPIUnpackBuffer ()
Destructor.
int size ()
Returns the length of the buffer.
int curr ()
Returns the number of bytes that have been unpacked from the buffer.
void reset ()
552
553
Protected Attributes
char Buffer
The internal buffer for unpacking.
int Index
The index into the current buffer.
int Size
The total size that has been allocated for the buffer.
bool ownFlag
If TRUE, then this class owns the internal buffer.
13.65.1
Detailed Description
13.66
NCSUOptimizer (Model &model, const int &max iter, const int &max eval, double min box size=-1.,
double vol box size=-1., double solution target=-DBL MAX)
alternate constructor for instantiations on the fly
554
NCSUOptimizer ()
destructor
Private Attributes
short setUpType
controls iteration mode: SETUP MODEL (normal usage) or SETUP USERFUNC (user-supplied functions mode
for on the fly instantiations). see enum in NCSUOptimizer.cpp NonDGlobalReliability currently uses the model
mode. GaussProcApproximation currently uses the user functions mode.
Real minBoxSize
holds the minimum boxsize
Real volBoxSize
hold the minimum volume boxsize
Real solutionTarget
holds the solution target minimum to drive towards
RealVector lowerBounds
holds variable lower bounds passed in for user functions mode.
RealVector upperBounds
holds variable upper bounds passed in for user functions mode.
555
Detailed Description
13.66.2
556
13.66.3
int objective eval ( int n, double c[ ], double l[ ], double u[ ], int point[ ], int maxI, int start, int
maxfunc, double fvec[ ], int iidata[ ], int iisize, double ddata[ ], int idsize, char cdata[ ], int icsize )
[static], [private]
fep in Griffin-modified NCSUDirect: computes the value of the objective function (potentially at multiple points,
passed by function pointer to NCSUDirect). Include unscaling from DIRECT.
Modified batch evaluator that accepts multiple points and returns corresponding vector of functions in fvec.
Must be used with modified DIRECT src (DIRbatch.f).
References Model::asynch compute response(), Model::asynch flag(), Model::compute response(), Model::continuous variables(), Model::current response(), Response::function value(), Iterator::iteratedModel, NCSUOptimizer::ncsudirectInstance, Model::primary response fn sense(), NCSUOptimizer::setUpType, Model::synchronize(),
and NCSUOptimizer::userObjectiveEval.
Referenced by NCSUOptimizer::find optimum().
The documentation for this class was generated from the following files:
NCSUOptimizer.hpp
NCSUOptimizer.cpp
13.67
Derived model class which performs a complete sub-iterator execution within every evaluation of the model.
Inheritance diagram for NestedModel:
Model
NestedModel
NestedModel ()
destructor
557
void derived init communicators (int max eval concurrency, bool recurse flag=true)
set up optionalInterface and subModel for parallel operations
void derived set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration within subModel
void derived free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for the NestedModel (forwarded to optionalInterface and subModel)
void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true) const
print the evaluation summary for the NestedModel (request forwarded to optionalInterface and subModel)
558
void resolve integer variable mapping (const String &map1, const String &map2, size t curr index, short
&inactive sm view)
for a named integer mapping, resolve primary index and secondary target
size t sm acv index map (size t pacvm index, short sacvm target)
offset pacvm index based on sacvm target to create mapped index
size t sm adiv index map (size t padivm index, short sadivm target)
offset padivm index based on sadivm target to create mapped index
size t sm adrv index map (size t padrvm index, short sadrvm target)
offset padrvm index based on sadrvm target to create mapped index
void real variable mapping (const Real &r var, size t mapped index, short svm target)
insert r var into appropriate recipient
void integer variable mapping (const int &i var, size t mapped index, short svm target)
insert i var into appropriate recipient
void set mapping (const ActiveSet &mapped set, ActiveSet &interface set, bool &opt interface map, ActiveSet &sub iterator set, bool &sub iterator map)
define the evaluation requirements for the optionalInterface (interface set) and the subIterator (sub iterator set)
from the total model evaluation requirements (mapped set)
void response mapping (const Response &interface response, const Response &sub iterator response, Response &mapped response)
combine the response from the optional interface evaluation with the response from the sub-iteration using the
primaryCoeffs/secondaryCoeffs mappings to create the total response for the model
559
Private Attributes
int nestedModelEvalCntr
number of calls to derived compute response()/ derived asynch compute response()
Iterator subIterator
the sub-iterator that is executed on every evaluation of this model
Model subModel
the sub-model used in sub-iterator evaluations
size t numSubIterFns
number of sub-iterator response functions prior to mapping
size t numSubIterMappedIneqCon
number of top-level inequality constraints mapped from the sub-iteration results
size t numSubIterMappedEqCon
number of top-level equality constraints mapped from the sub-iteration results
Interface optionalInterface
the optional interface contributes nonnested response data to the total model response
String optInterfacePointer
the optional interface pointer from the nested model specification
Response optInterfaceResponse
the response object resulting from optional interface evaluations
size t numOptInterfPrimary
number of primary response functions (objective/least squares/generic functions) resulting from optional interface
evaluations
size t numOptInterfIneqCon
number of inequality constraints resulting from optional interface evaluations
size t numOptInterfEqCon
number of equality constraints resulting from the optional interface evaluations
SizetArray active1ACVarMapIndices
primary variable mappings for inserting active continuous currentVariables within all continuous subModel
variables. If there are no secondary mappings defined, then the insertions replace the subModel variable values.
SizetArray active1ADIVarMapIndices
primary variable mappings for inserting active discrete int currentVariables within all discrete int subModel
variables. No secondary mappings are defined for discrete int variables, so the insertions replace the subModel
variable values.
SizetArray active1ADRVarMapIndices
primary variable mappings for inserting active discrete real currentVariables within all discrete real subModel
variables. No secondary mappings are defined for discrete real variables, so the insertions replace the subModel
variable values.
ShortArray active2ACVarMapTargets
secondary variable mappings for inserting active continuous currentVariables into sub-parameters (e.g., distribution parameters for uncertain variables or bounds for continuous design/state variables) within all continuous
subModel variables.
ShortArray active2ADIVarMapTargets
secondary variable mappings for inserting active discrete int currentVariables into sub-parameters (e.g., bounds
for discrete design/state variables) within all discrete int subModel variables.
560
SizetArray complement1ACVarMapIndices
primary variable mappings for inserting the complement of the active continuous currentVariables within all
continuous subModel variables
SizetArray complement1ADIVarMapIndices
primary variable mappings for inserting the complement of the active discrete int currentVariables within all
discrete int subModel variables
SizetArray complement1ADRVarMapIndices
primary variable mappings for inserting the complement of the active discrete real currentVariables within all
discrete real subModel variables
BoolDeque extraCVarsData
flags for updating subModel continuous bounds and labels, one for each active continuous variable in currentVariables
BoolDeque extraDIVarsData
flags for updating subModel discrete int bounds and labels, one for each active discrete int variable in currentVariables
BoolDeque extraDRVarsData
flags for updating subModel discrete real bounds and labels, one for each active discrete real variable in currentVariables
RealMatrix primaryRespCoeffs
primary response mapping matrix applied to the sub-iterator response functions. For OUU, the matrix is applied
to UQ statistics to create contributions to the top-level objective functions/least squares/ generic response terms.
RealMatrix secondaryRespCoeffs
secondary response mapping matrix applied to the sub-iterator response functions. For OUU, the matrix is
applied to UQ statistics to create contributions to the top-level inequality and equality constraints.
String evalTagPrefix
cached evalTag Prefix from parents to use at compute response time
Detailed Description
Derived model class which performs a complete sub-iterator execution within every evaluation of the model.
The NestedModel class nests a sub-iterator execution within every model evaluation. This capability is most
commonly used for optimization under uncertainty, in which a nondeterministic iterator is executed on every
optimization function evaluation. The NestedModel also contains an optional interface, for portions of the model
evaluation which are independent from the sub-iterator, and a set of mappings for combining sub-iterator and
optional interface data into a top level response for the model.
13.67.2
void derived compute response ( const ActiveSet & set ) [protected], [virtual]
portion of compute response() specific to NestedModel
Update subModels inactive variables with active variables from currentVariables, compute the optional interface and sub-iterator responses, and map these to the total model response.
561
flag which prevents overloading the master with a multiprocessor evaluation (forwarded to optionalInterface)
Derived master overload for subModel is handled separately in subModel.compute response() within subIterator.run().
Reimplemented from Model.
References Interface::iterator eval dedicated master(), Interface::multi proc eval(), NestedModel::optInterfacePointer, and NestedModel::optionalInterface.
void derived init communicators ( int max eval concurrency, bool recurse flag = true ) [inline],
[protected], [virtual]
set up optionalInterface and subModel for parallel operations
Asynchronous flags need to be initialized for the subModel. In addition, max eval concurrency is the outer
level iterator concurrency, not the subIterator concurrency that subModel will see, and recomputing the messagelengths on the subModel is probably not a bad idea either. Therefore, recompute everything on subModel using
init communicators().
Reimplemented from Model.
References Interface::init communicators(), Iterator::init communicators(), Model::messageLengths, NestedModel::optInterfacePointer, NestedModel::optionalInterface, and NestedModel::subIterator.
int evaluation id (
562
563
void response mapping ( const Response & opt interface response, const Response &
sub iterator response, Response & mapped response ) [private]
combine the response from the optional interface evaluation with the response from the sub-iteration using the
primaryCoeffs/secondaryCoeffs mappings to create the total response for the model
In the OUU case,
optionalInterface fns = {f}, {g} (deterministic primary functions, constraints)
subIterator fns
= {S}
(UQ response statistics)
Problem formulation for mapped functions:
minimize
{f} + [W]{S}
subject to {g_l} <= {g}
<= {g_u}
{a_l} <= [A]{S} <= {a_u}
{g}
== {g_t}
[A]{S} == {a_t}
where [W] is the primary mapping matrix user input (primaryRespCoeffs class attribute), [A] is the secondarymapping matrix user input (secondaryRespCoeffs class attribute), {{g l},{a l}} are the top level inequality constraint lower bounds, {{g u},{a u}} are the top level inequality constraint upper bounds, and {{g t},{a t}} are
the top level equality constraint targets.
NOTE: optionalInterface/subIterator primary fns (obj/lsq/generic fns) overlap but optionalInterface/subIterator
secondary fns (ineq/eq constraints) do not. The [W] matrix can be specified so as to allow
some purely deterministic primary functions and some combined: [W] filled and [W].num rows() < {f}.length()
[combined first] or [W].num rows() == {f}.length() and [W] contains rows of zeros [combined last]
some combined and some purely stochastic primary functions: [W] filled and [W].num rows() > {f}.length()
separate deterministic and stochastic primary functions: [W].num rows() > {f}.length() and [W] contains
{f}.length() rows of zeros.
If the need arises, could change constraint definition to allow overlap as well: {g l} <= {g} + [A]{S} <= {g u}
with [A] usage the same as for [W] above.
In the UOO case, things are simpler, just compute statistics of each optimization response function: [W] = [I],
{f}/{g}/[A] are empty.
References Dakota::abort handler(), Response::active set derivative vector(), Response::active set request vector(), Dakota::copy data(), Response::function gradient(), Response::function gradient view(), Response::functiongradients(), Response::function hessian(), Response::function hessian view(), Response::function hessians(), Response::function value(), Response::function values(), Response::function values view(), Response::num functions(),
NestedModel::numOptInterfEqCon, NestedModel::numOptInterfIneqCon, NestedModel::numOptInterfPrimary,
NestedModel::numSubIterFns, NestedModel::numSubIterMappedEqCon, NestedModel::numSubIterMappedIneqCon, NestedModel::optInterfacePointer, NestedModel::primaryRespCoeffs, Response::reset inactive(), and NestedModel::secondaryRespCoeffs.
Referenced by NestedModel::derived compute response().
13.67.3
564
Referenced by NestedModel::component parallel mode(), NestedModel::derived init serial(), NestedModel::derived subordinate models(), NestedModel::fine grained evaluation counters(), NestedModel::integer variablemapping(), NestedModel::NestedModel(), NestedModel::print evaluation summary(), NestedModel::real variablemapping(), NestedModel::resolve integer variable mapping(), NestedModel::resolve real variable mapping(), NestedModel::serve(), NestedModel::set mapping(), NestedModel::sm acv index map(), NestedModel::sm adiv indexmap(), NestedModel::subordinate model(), NestedModel::surrogate response mode(), NestedModel::update inactiveview(), and NestedModel::update sub model().
The documentation for this class was generated from the following files:
NestedModel.hpp
NestedModel.cpp
13.68
The derived input file database utilizing the new IDR parser.
Inheritance diagram for NIDRProblemDescDB:
ProblemDescDB
NIDRProblemDescDB
NIDRProblemDescDB ()
destructor
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
KWH (iface
Real)
Rlit)
false)
ilit)
pint)
lit)
start)
stop)
str)
str2D)
565
566
KWH (var
KWH (var
KWH (var
KWH (var
567
newrvec)
ivec)
rvec)
type)
Private Attributes
std::list< void > VIL
Detailed Description
The derived input file database utilizing the new IDR parser.
The NIDRProblemDescDB class is derived from ProblemDescDB for use by the NIDR parser in processing DAKOTA input file data. For information on modifying the NIDR input parsing procedures, refer to Dakota/docs/Dev Spec Change.dox. For more on the parsing technology, see Specifying and Reading Program Input with NIDR by David M. Gay (report SAND2008-2261P, which is available in PDF form as http://www.sandia.gov/dmgay/nidr08.pdf). Source for the routines declared herein is NIDRProblemDescDB.cpp, in which
most routines are so short that a description seems unnecessary.
13.68.2
void derived parse inputs ( const ProgramOptions & prog opts ) [virtual]
parses the input file and populates the problem description database using NIDR.
Parse the input file using the Input Deck Reader (IDR) parsing system. IDR populates the IDRProblemDescDB object with the input file data.
Reimplemented from ProblemDescDB.
568
13.69
Public Attributes
Real r
residual r = r(x)
Real J
Jacobian J = J(x)
Real x
corresponding parameter vector
int nf
function invocation count for r(x)
13.69.1
Detailed Description
13.70
569
NL2SOLLeastSq ()
destructor
static void calcj (int np, int pp, Real x, int nfp, Real J, int ui, void ur, Vf vf)
evaluator function for residual Jacobian
Private Attributes
int auxprt
auxilary printing bits (see Dakota Ref Manual): sum of
< 1 = x0prt (print initial guess) < 2 = solprt (print final solution) < 4 = statpr (print solution statistics) < 8 =
parprt (print nondefault parameters) < 16 = dradpr (print bound constraint drops/adds) < debug/verbose/normal
use default = 31 (everything), < quiet uses 3, silent uses 0.
int outlev
frequency of output summary lines in number of iterations
Real dltfdj
finite-diff step size for computing Jacobian approximation
Real delta0
finite-diff step size for gradient differences for H
< (a component of some covariance approximations, if desired) < (fd hessian step size)
Real dltfdc
finite-diff step size for function differences for H
int mxfcal
function-evaluation limit (max function evaluations)
int mxiter
iteration limit (max iterations)
Real rfctol
relative fn convergence tolerance (convergence tolerance)
Real afctol
absolute fn convergence tolerance (absolute conv tol)
Real xctol
570
Real sctol
singular convergence tolerance (singular conv tol)
Real lmaxs
radius for singular-convergence test (singular radius)
Real xftol
false-convergence tolerance (false conv tol)
int covreq
kind of covariance required (\c covariance):
int rdreq
whether to compute the regression diagnostic vector
Real fprec
expected response function precision (function precision)
Real lmax0
initial trust-region radius (initial trust radius)
Detailed Description
13.70.2
) [virtual]
Used within the least squares branch for minimizing the sum of squares residuals. Redefines the run virtual
function for the least squares branch.
Details on the following subscript values appear in Usage Summary for Selected Optimization Routines
by David M. Gay, Computing Science Technical Report No. 153, AT&T Bell Laboratories, 1990. http://netlib.bell-labs.com/cm/cs/cstr/153.ps.gz
Implements LeastSq.
571
References NL2SOLLeastSq::afctol, NL2SOLLeastSq::auxprt, Iterator::bestResponseArray, Iterator::bestVariablesArray, Minimizer::boundConstraintFlag, NL2SOLLeastSq::calcj(), NL2SOLLeastSq::calcr(), Model::continuouslower bounds(), Model::continuous upper bounds(), Model::continuous variables(), Dakota::copy data(), NL2SOLLeastSq::covreq, NL2SOLLeastSq::delta0, NL2SOLLeastSq::dltfdc, NL2SOLLeastSq::dltfdj, NL2SOLLeastSq::fprec, LeastSq::get confidence intervals(), Model::gradient type(), Iterator::iteratedModel, NL2SOLLeastSq::lmax0, NL2SOLLeastSq::lmaxs, NL2SOLLeastSq::mxfcal, NL2SOLLeastSq::mxiter, NL2SOLLeastSq::nl2solInstance, Minimizer::numContinuousVars, LeastSq::numLeastSqTerms, NL2SOLLeastSq::outlev, NL2SOLLeastSq::rdreq, NL2SOLLeastSq::rfctol, NL2SOLLeastSq::sctol, Minimizer::speculativeFlag, Minimizer::vendorNumericalGradFlag, NL2SOLLeastSq::xctol, and NL2SOLLeastSq::xftol.
The documentation for this class was generated from the following files:
NL2SOLLeastSq.hpp
NL2SOLLeastSq.cpp
13.71
NLPQLPOptimizer ()
destructor
572
Private Attributes
int L
L : Number of parallel systems, i.e. function calls during line search at predetermined iterates. HINT: If only less
than 10 parallel function evaluations are possible, it is recommended to apply the serial version by setting L=1.
int numEqConstraints
numEqConstraints : Number of equality constraints.
int MMAX
MMAX : Row dimension of array DG containing Jacobian of constraints. MMAX must be at least one and greater
or equal to M.
int N
N : Number of optimization variables.
int NMAX
NMAX : Row dimension of C. NMAX must be at least two and greater than N.
int MNN2
MNN2 : Must be equal to M+N+N+2.
double X
X(NMAX,L) : Initially, the first column of X has to contain starting values for the optimal solution. On return, X is
replaced by the current iterate. In the driving program the row dimension of X has to be equal to NMAX. X is used
internally to store L different arguments for which function values should be computed simultaneously.
double F
F(L) : On return, F(1) contains the final objective function value. F is used also to store L different objective
function values to be computed from L iterates stored in X.
double G
G(MMAX,L) : On return, the first column of G contains the constraint function values at the final iterate X. In the
driving program the row dimension of G has to be equal to MMAX. G is used internally to store L different set of
constraint function values to be computed from L iterates stored in X.
double DF
DF(NMAX) : DF contains the current gradient of the objective function. In case of numerical differentiation and a
distributed system (L>1), it is recommended to apply parallel evaluations of F to compute DF.
double DG
DG(MMAX,NMAX) : DG contains the gradients of the active constraints (ACTIVE(J)=.true.) at a current iterate
X. The remaining rows are filled with previously computed gradients. In the driving program the row dimension of
DG has to be equal to MMAX.
double U
573
U(MNN2) : U contains the multipliers with respect to the actual iterate stored in the first column of X. The first M
locations contain the multipliers of the M nonlinear constraints, the subsequent N locations the multipliers of the
lower bounds, and the final N locations the multipliers of the upper bounds. At an optimal solution, all multipliers
with respect to inequality constraints should be nonnegative.
double C
C(NMAX,NMAX) : On return, C contains the last computed approximation of the Hessian matrix of the Lagrangian
function stored in form of an LDL decomposition. C contains the lower triangular factor of an LDL factorization
of the final quasi-Newton matrix (without diagonal elements, which are always one). In the driving program, the
row dimension of C has to be equal to NMAX.
double D
D(NMAX) : The elements of the diagonal matrix of the LDL decomposition of the quasi-Newton matrix are stored
in the one-dimensional array D.
double ACC
ACC : The user has to specify the desired final accuracy (e.g. 1.0D-7). The termination accuracy should not be
smaller than the accuracy by which gradients are computed.
double ACCQP
ACCQP : The tolerance is needed for the QP solver to perform several tests, for example whether optimality
conditions are satisfied or whether a number is considered as zero or not. If ACCQP is less or equal to zero, then
the machine precision is computed by NLPQLP and subsequently multiplied by 1.0D+4.
double STPMIN
STPMIN : Minimum steplength in case of L>1. Recommended is any value in the order of the accuracy by which
functions are computed. The value is needed to compute a steplength reduction factor by STPMIN(1/L-1). If
STPMIN<=0, then STPMIN=ACC is used.
int MAXFUN
MAXFUN : The integer variable defines an upper bound for the number of function calls during the line search
(e.g. 20). MAXFUN is only needed in case of L=1, and must not be greater than 50.
int MAXIT
MAXIT : Maximum number of outer iterations, where one iteration corresponds to one formulation and solution of
the quadratic programming subproblem, or, alternatively, one evaluation of gradients (e.g. 100).
int MAX NM
MAX NM : Stack size for storing merit function values at previous iterations for non-monotone line search (e.g.
10). In case of MAX NM=0, monotone line search is performed.
double TOL NM
TOL NM : Relative bound for increase of merit function value, if line search is not successful during the very first
step. Must be non-negative (e.g. 0.1).
int IPRINT
IPRINT : Specification of the desired output level. IPRINT = 0 : No output of the program. IPRINT = 1 : Only
a final convergence analysis is given. IPRINT = 2 : One line of intermediate results is printed in each iteration.
IPRINT = 3 : More detailed information is printed in each iteration step, e.g. variable, constraint and multiplier
values. IPRINT = 4 : In addition to IPRINT=3, merit function and steplength values are displayed during the line
search.
int MODE
MODE : The parameter specifies the desired version of NLPQLP. MODE = 0 : Normal execution (reverse communication!). MODE = 1 : The user wants to provide an initial guess for the multipliers in U and for the Hessian of
the Lagrangian function in C and D in form of an LDL decomposition.
int IOUT
IOUT : Integer indicating the desired output unit number, i.e. all write-statements start with WRITE(IOUT,... .
574
double WA
WA(LWA) : WA is a real working array of length LWA.
int LWA
LWA : LWA value extracted from NLPQLP20.f.
int KWA
KWA(LKWA) : The user has to provide working space for an integer array.
int LKWA
LKWA : LKWA should be at least N+10.
int ACTIVE
ACTIVE(LACTIV) : The logical array shows a user the constraints, which NLPQLP considers to be active at the
last computed iterate, i.e. G(J,X) is active, if and only if ACTIVE(J)=.TRUE., J=1,...,M.
int LACTIVE
LACTIV : The length LACTIV of the logical array should be at least 2M+10.
int LQL
LQL : If LQL = .TRUE., the quadratic programming subproblem is to be solved with a full positive definite quasiNewton matrix. Otherwise, a Cholesky decomposition is performed and updated, so that the subproblem matrix
contains only an upper triangular factor.
int numNlpqlConstr
total number of constraints seen by NLPQL
SizetList nonlinIneqConMappingIndices
a list of indices for referencing the DAKOTA nonlinear inequality constraints used in computing the corresponding
NLPQL constraints.
RealList nonlinIneqConMappingMultipliers
a list of multipliers for mapping the DAKOTA nonlinear inequality constraints to the corresponding NLPQL constraints.
RealList nonlinIneqConMappingOffsets
a list of offsets for mapping the DAKOTA nonlinear inequality constraints to the corresponding NLPQL constraints.
SizetList linIneqConMappingIndices
a list of indices for referencing the DAKOTA linear inequality constraints used in computing the corresponding
NLPQL constraints.
575
RealList linIneqConMappingMultipliers
a list of multipliers for mapping the DAKOTA linear inequality constraints to the corresponding NLPQL constraints.
RealList linIneqConMappingOffsets
a list of offsets for mapping the DAKOTA linear inequality constraints to the corresponding NLPQL constraints.
Detailed Description
F(X)
G(J,X)
G(J,X)
XL <=
= 0
>= 0
X <=
, J=1,...,ME
, J=ME+1,...,M
XU
and is an extension of the code NLPQLD. NLPQLP is specifically tuned to run under distributed systems. A
new input parameter L is introduced for the number of parallel computers, that is the number of function calls
to be executed simultaneously. In case of L=1, NLPQLP is identical to NLPQLD. Otherwise the line search is
modified to allow L parallel function calls in advance. Moreover the user has the opportunity to used distributed
function calls for evaluating gradients.
The algorithm is a modification of the method of Wilson, Han, and Powell. In each iteration step, a linearly
constrained quadratic programming problem is formulated by approximating the Lagrangian function quadratically and by linearizing the constraints. Subsequently, a one-dimensional line search is performed with respect
to an augmented Lagrangian merit function to obtain a new iterate. Also the modified line search algorithm
guarantees convergence under the same assumptions as before.
For the new version, a non-monotone line search is implemented which allows to increase the merit function
in case of instabilities, for example caused by round-off errors, errors in gradient approximations, etc.
The subroutine contains the option to predetermine initial guesses for the multipliers or the Hessian of the
Lagrangian function and is called by reverse communication.
The documentation for this class was generated from the following files:
NLPQLPOptimizer.hpp
NLPQLPOptimizer.cpp
13.72
576
SOLBase
NLSSOLLeastSq
NLSSOLLeastSq ()
destructor
Detailed Description
577
convergence tolerance, output verbosity, verify level, function precision, and linesearchtolerance are mapped into NLSSOLs Major Iteration Limit, Optimality Tolerance, Major Print Level
(verbose: Major Print Level = 20; quiet: Major Print Level = 10), Verify Level, Function Precision, and
Linesearch Tolerance parameters, respectively, using NLSSOLs npoptn() subroutine (as wrapped by npoptn2()
from the npoptn wrapper.f file). Refer to [Gill, P.E., Murray, W., Saunders, M.A., and Wright, M.H., 1986] for
information on NLSSOLs optional input parameters and the npoptn() subroutine.
13.72.2
13.73
13.73.1
Detailed Description
578
13.74
Classes
class Evaluator
NOMAD-based Evaluator class.
NomadOptimizer ()
Destructor.
Private Attributes
int numTotalVars
Total across all types of variables.
int numNomadNonlinearIneqConstraints
Number of nonlinear inequality constraints after put into the format required by Nomad.
int randomSeed
Parameters passes to Nomad.
int maxBlackBoxEvals
int maxIterations
579
std::string outputFormat
std::string historyFile
bool displayAll
Real epsilon
Real vns
NOMAD::Point initialPoint
Pointer to Nomad initial point.
NOMAD::Point upperBound
Pointer to Nomad upper bounds.
NOMAD::Point lowerBound
Pointer to Nomad lower bounds.
Detailed Description
13.74.2
580
Parameters
model
References ProblemDescDB::get bool(), ProblemDescDB::get int(), ProblemDescDB::get real(), ProblemDescDB::get string(), NomadOptimizer::load parameters(), Iterator::probDescDB, and NomadOptimizer::randomSeed.
13.74.3
References Dakota:: NPOS, Dakota::abort handler(), Minimizer::bigIntBoundSize, Minimizer::bigRealBoundSize, NomadOptimizer::constraintMapIndices, NomadOptimizer::constraintMapMultipliers, NomadOptimizer::constraintMapOffsets, Model::continuous lower bounds(), Model::continuous upper bounds(), Model::continuousvariables(), Model::discrete int lower bounds(), Model::discrete int sets(), Model::discrete int upper bounds(),
Model::discrete int variables(), Model::discrete real lower bounds(), Model::discrete real upper bounds(), Model::discrete real variables(), Model::discrete set int values(), Model::discrete set real values(), NomadOptimizer::initialPoint, Iterator::iteratedModel, NomadOptimizer::lowerBound, Model::nonlinear eq constraint targets(),
Model::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraint upper bounds(), Minimizer::numContinuousVars, Minimizer::numDiscreteIntVars, Minimizer::numDiscreteRealVars, NomadOptimizer::numNomadNonlinearIneqConstraints, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints,
NomadOptimizer::numTotalVars, Dakota::set value to index(), and NomadOptimizer::upperBound.
Referenced by NomadOptimizer::NomadOptimizer().
The documentation for this class was generated from the following files:
NomadOptimizer.hpp
NomadOptimizer.cpp
13.75
581
Iterator
Analyzer
NonD
EfficientSubspaceMethod
NonDCalibration
NonDExpansion
NonDIntegration
NonDInterval
NonDPOFDarts
NonDReliability
NonDSampling
void requested levels (const RealVectorArray &req resp levels, const RealVectorArray &req prob levels,
const RealVectorArray &req rel levels, const RealVectorArray &req gen rel levels, short resp lev tgt, short
resp lev tgt reduce, bool cdf flag)
set requestedRespLevels, requestedProbLevels, requestedRelLevels, requestedGenRelLevels, respLevelTarget, and
cdfFlag (used in combination with alternate ctors)
582
NonD (unsigned short method name, const RealVector &lower bnds, const RealVector &upper bnds)
alternate constructor for sample generation on the fly
NonD ()
destructor
583
void transform model (Model &x model, Model &u model, bool global bounds=false, Real bound=10.)
recast x model from x-space to u-space to create u model
void construct lhs (Iterator &u space sampler, Model &u model, unsigned short sample type, int num samples, int seed, const String &rng, bool vary pattern, short sampling vars mode=ACTIVE)
assign a NonDLHSSampling instance within u space sampler
static void vars x to u mapping (const Variables &x vars, Variables &u vars)
static function for RecastModels used for inverse mapping of x-space variables from data import to u-space variables for NonD Iterators
static void set u to x mapping (const Variables &u vars, const ActiveSet &u set, ActiveSet &x set)
static function for RecastModels used to map u-space ActiveSets from NonD Iterators to x-space ActiveSets for
Model evaluations
static void resp x to u mapping (const Variables &x vars, const Variables &u vars, const Response &x response, Response &u response)
static function for RecastModels used to map x-space responses from Model evaluations to u-space responses for
return to NonD Iterator.
Protected Attributes
NonD prevNondInstance
pointer containing previous value of nondInstance
Pecos::ProbabilityTransformation natafTransform
584
size t numContDesVars
number of continuous design variables (modeled using uniform distribution for All view modes)
size t numDiscIntDesVars
number of discrete integer design variables (modeled using discrete histogram distributions for All view modes)
size t numDiscRealDesVars
number of discrete real design variables (modeled using discrete histogram distributions for All view modes)
size t numDesignVars
total number of design variables
size t numContStateVars
number of continuous state variables (modeled using uniform distribution for All view modes)
size t numDiscIntStateVars
number of discrete integer state variables (modeled using discrete histogram distributions for All view modes)
size t numDiscRealStateVars
number of discrete real state variables (modeled using discrete histogram distributions for All view modes)
size t numStateVars
total number of state variables
size t numNormalVars
number of normal uncertain variables (native space)
size t numLognormalVars
number of lognormal uncertain variables (native space)
size t numUniformVars
number of uniform uncertain variables (native space)
size t numLoguniformVars
number of loguniform uncertain variables (native space)
size t numTriangularVars
number of triangular uncertain variables (native space)
size t numExponentialVars
number of exponential uncertain variables (native space)
size t numBetaVars
number of beta uncertain variables (native space)
size t numGammaVars
number of gamma uncertain variables (native space)
size t numGumbelVars
number of gumbel uncertain variables (native space)
size t numFrechetVars
number of frechet uncertain variables (native space)
size t numWeibullVars
number of weibull uncertain variables (native space)
size t numHistogramBinVars
number of histogram bin uncertain variables (native space)
size t numPoissonVars
585
size t numBinomialVars
number of binomial uncertain variables (native space)
size t numNegBinomialVars
number of negative binomial uncertain variables (native space)
size t numGeometricVars
number of geometric uncertain variables (native space)
size t numHyperGeomVars
number of hypergeometric uncertain variables (native space)
size t numHistogramPtVars
number of histogram point uncertain variables (native space)
size t numContIntervalVars
number of continuous interval uncertain variables (native space)
size t numDiscIntervalVars
number of discrete interval uncertain variables (native space)
size t numDiscSetIntUncVars
number of discrete integer set uncertain variables (native space)
size t numDiscSetRealUncVars
number of discrete real set uncertain variables (native space)
size t numContAleatUncVars
total number of aleatory uncertain variables (native space)
size t numDiscIntAleatUncVars
total number of aleatory uncertain variables (native space)
size t numDiscRealAleatUncVars
total number of aleatory uncertain variables (native space)
size t numAleatoryUncVars
total number of aleatory uncertain variables (native space)
size t numContEpistUncVars
total number of epistemic uncertain variables (native space)
size t numDiscIntEpistUncVars
total number of epistemic uncertain variables (native space)
size t numDiscRealEpistUncVars
total number of epistemic uncertain variables (native space)
size t numEpistemicUncVars
total number of epistemic uncertain variables (native space)
size t numUncertainVars
total number of uncertain variables (native space)
bool epistemicStats
flag for computing interval-type metrics instead of integrated metrics If any epistemic variables are active in a
metric evaluation, then this flag is set.
RealMatrix momentStats
moments of response functions (mean, std deviation, skewness, and kurtosis calculated in compute moments()),
indexed as (moment,fn)
586
RealVectorArray computedProbLevels
output probability levels for all response functions resulting from requestedRespLevels
RealVectorArray computedRelLevels
output reliability levels for all response functions resulting from requestedRespLevels
RealVectorArray computedGenRelLevels
output generalized reliability levels for all response functions resulting from requestedRespLevels
short respLevelTarget
indicates mapping of z->p (PROBABILITIES), z->beta (RELIABILITIES), or z->beta (GEN RELIABILITIES)
short respLevelTargetReduce
indicates component or system series/parallel failure metrics
RealVectorArray requestedProbLevels
requested probability levels for all response functions
RealVectorArray requestedRelLevels
requested reliability levels for all response functions
RealVectorArray requestedGenRelLevels
requested generalized reliability levels for all response functions
RealVectorArray computedRespLevels
output response levels for all response functions resulting from requestedProbLevels, requestedRelLevels, or requestedGenRelLevels
size t totalLevelRequests
total number of levels specified within requestedRespLevels, requestedProbLevels, and requestedRelLevels
bool cdfFlag
flag for type of probabilities/reliabilities used in mappings: cumulative/CDF (true) or complementary/CCDF (false)
bool pdfOutput
flag for managing output of response probability density functions (PDFs)
Response finalStatistics
final statistics from the uncertainty propagation used in strategies: response means, standard deviations, and probabilities of failure
587
unsigned short pecos to dakota variable type (unsigned short pecos var type)
convert from Pecos To Dakota variable enumeration type for continuous aleatory uncertain variables used in variable transformations
Private Attributes
bool distParamDerivs
flags calculation of derivatives with respect to distribution parameters s within resp x to u mapping() using the
chain rule df/dx dx/ds. The default is to calculate derivatives with respect to standard random variables u using the
chain rule df/dx dx/du.
13.75.1
Detailed Description
13.75.2
utility function to perform common operations prior to pre run(); typically memory initialization; setting of instance pointers
Perform initialization phases of run sequence, like allocating memory and setting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class must call
its nearest parents initialize run(), typically before performing its own implementation steps.
Reimplemented from Analyzer.
References Analyzer::initialize run(), NonD::nondInstance, and NonD::prevNondInstance.
588
void core run (
utility function to perform common operations following post run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class
must call its nearest parents finalize run(), typically after performing its own implementation steps.
Reimplemented from Iterator.
References Iterator::finalize run(), NonD::nondInstance, and NonD::prevNondInstance.
void initialize final statistics (
) [protected], [virtual]
) [protected]
589
590
void print distribution map ( size t fn index, std::ostream & s ) const [private]
Print distribution mapping for a single response function to ostream.
Print the distribution mapping for a single response function to the passed output stream
References NonD::cdfFlag, NonD::computedGenRelLevels, NonD::computedProbLevels, NonD::computedRelLevels, NonD::computedRespLevels, Iterator::iteratedModel, NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonD::respLevelTarget, Model::responselabels(), and Dakota::write precision.
Referenced by NonD::distribution mappings file(), and NonD::print distribution mappings().
The documentation for this class was generated from the following files:
DakotaNonD.hpp
DakotaNonD.cpp
13.76
NonDAdaptImpSampling (Model &model, unsigned short sample type, int samples, int seed, const String
&rng, bool vary pattern, unsigned short is type, bool cdf flag, bool x space model, bool use model bounds)
alternate constructor for on-the-fly instantiations
NonDAdaptImpSampling ()
destructor
591
void initialize (const RealVectorArray &full points, bool x space data, size t resp index, Real initial prob,
Real failure threshold)
initializes data needed for importance sampling: an initial set of points around which to sample, a failure threshold,
an initial probability to refine, and flags to control transformations
void initialize (const RealMatrix &full points, bool x space data, size t resp index, Real initial prob, Real
failure threshold)
initializes data needed for importance sampling: an initial set of points around which to sample, a failure threshold,
an initial probability to refine, and flags to control transformations
void initialize (const RealVector &full point, bool x space data, size t resp index, Real initial prob, Real
failure threshold)
initializes data needed for importance sampling: an initial point around which to sample, a failure threshold, an
initial probability to refine, and flags to control transformations
void evaluate samples (const RealVectorArray &var samples u, RealVector &fn samples)
evaluate the model at the sample points and store the responses
void calculate statistics (const RealVectorArray &var samples u, const RealVector &fn samples, size t
total samples, Real &sum prob, Real &prob, bool compute cov, Real &sum var, Real &cov)
calculate the probability of exceeding the failure threshold and the coefficent of variation (if requested)
Private Attributes
Model uSpaceModel
importance sampling is performed in standardized probability space. This u-space model is either passed in (alternate constructor for helper AIS) or constructed using transform model() (standard constructor for stand-alone
AIS)
592
bool useModelBounds
flag to control if the sampler should respect the model bounds
bool invertProb
flag for inversion of probability values using 1.-p
int refineSamples
size of sample batch within each refinement iteration
size t respFnIndex
the active response function index in the model to be sampled
RealVector designPoint
design subset for which uncertain subset is being sampled
RealVectorArray initPointsU
the original set of u-space samples passed in initialize()
RealVectorArray repPointsU
the set of representative points in u-space around which to sample
RealVector repWeights
the weight associated with each representative point
Real probEstimate
the probability estimate that is iteratively refined by importance sampling
Real failThresh
the failure threshold (z-bar) for the problem.
Detailed Description
13.76.2
593
NonDAdaptImpSampling ( Model & model, unsigned short sample type, int refine samples, int
refine seed, const String & rng, bool vary pattern, unsigned short is type, bool cdf flag, bool
x space model, bool use model bounds )
alternate constructor for on-the-fly instantiations
This is an alternate constructor for instantiations on the fly using a Model but no ProblemDescDB. It will
perform refinement for one response QOI and one probability level (passed in initialize()).
References NonD::cdfFlag, Iterator::maxEvalConcurrency, NonDAdaptImpSampling::refineSamples, NonD::transform model(), NonDAdaptImpSampling::useModelBounds, and NonDAdaptImpSampling::uSpaceModel.
13.76.3
void initialize ( const RealVectorArray & acv points, bool x space data, size t resp index, Real
initial prob, Real failure threshold )
initializes data needed for importance sampling: an initial set of points around which to sample, a failure threshold,
an initial probability to refine, and flags to control transformations
Initializes data using a vector array of starting points.
References NonDAdaptImpSampling::designPoint, NonDAdaptImpSampling::failThresh, NonDAdaptImpSampling::initPointsU, NonDAdaptImpSampling::invertProb, NonD::natafTransform, NonD::numContDesVars,
NonD::numUncertainVars, NonDAdaptImpSampling::probEstimate, and NonDAdaptImpSampling::respFnIndex.
Referenced by NonDExpansion::compute statistics(), NonDGlobalReliability::importance sampling(), and NonDAdaptImpSampling::quantify uncertainty().
void initialize ( const RealMatrix & acv points, bool x space data, size t resp index, Real initial prob,
Real failure threshold )
initializes data needed for importance sampling: an initial set of points around which to sample, a failure threshold,
an initial probability to refine, and flags to control transformations
Initializes data using a matrix of starting points.
References NonDAdaptImpSampling::designPoint, NonDAdaptImpSampling::failThresh, NonDAdaptImpSampling::initPointsU, NonDAdaptImpSampling::invertProb, NonD::natafTransform, NonD::numContDesVars,
Analyzer::numContinuousVars, NonD::numUncertainVars, NonDAdaptImpSampling::probEstimate, and NonDAdaptImpSampling::respFnIndex.
void initialize ( const RealVector & acv point, bool x space data, size t resp index, Real initial prob, Real
failure threshold )
initializes data needed for importance sampling: an initial point around which to sample, a failure threshold, an
initial probability to refine, and flags to control transformations
Initializes data using only one starting point.
References NonDAdaptImpSampling::designPoint, NonDAdaptImpSampling::failThresh, NonDAdaptImpSampling::initPointsU, NonDAdaptImpSampling::invertProb, NonD::natafTransform, NonD::numContDesVars,
NonD::numUncertainVars, NonDAdaptImpSampling::probEstimate, and NonDAdaptImpSampling::respFnIndex.
The documentation for this class was generated from the following files:
NonDAdaptImpSampling.hpp
NonDAdaptImpSampling.cpp
594
13.77
Class for testing various Adaptively sampling methods using geometric, statisctical, and topological information
of the surrogate.
Inheritance diagram for NonDAdaptiveSampling:
Iterator
Analyzer
NonD
NonDSampling
NonDAdaptiveSampling
NonDAdaptiveSampling ()
alternate constructor for sample generation and evaluation on the fly has not been implemented
595
Function to compute the Distance scores for the candidate points Distance score is the shortest distance between
the candidate and an existing training point.
Real calc score topo bottleneck (int respFnCount, RealVector &test point)
Same as the otehr function of the same name, only this allows the user to specify the location of the candidate.
Real calc score topo avg persistence (int respFnCount, RealVector &test point)
Same as the otehr function of the same name, only this allows the user to specify the location of the candidate.
Real calc score topo alm hybrid (int respFnCount, RealVector &test point)
Same as the otehr function of the same name, only this allows the user to specify the location of the candidate.
596
void construct fsu sampler (Iterator &u space sampler, Model &u model, int num samples, int seed, unsigned short sample type)
Copy of construct lhs only it allows for the construction of FSU sample designs. This can break the fsu cvt, so it is
not used at the moment, and these designs only affect the initial sample build not the candidate sets constructed at
each round.
Private Attributes
Iterator gpBuild
LHS iterator for building the initial GP.
Iterator gpEval
LHS iterator for sampling on the GP.
Iterator gpFinalEval
LHS iterator for sampling on the final GP.
Model gpModel
GP model of response, one approximation per response function.
int numRounds
the number of rounds of additions of size batchSize to add to the original set of LHS samples
int numPtsTotal
the total number of points
int numEmulEval
the number of points evaluated by the GP each iteration
int numFinalEmulEval
number of points evaluated on the final GP
int scoringMethod
the type of scoring metric to use for sampling
Real finalProb
the final calculated probability (p)
RealVectorArray gpCvars
597
Vector to hold the current values of the current sample inputs on the GP.
RealVectorArray gpMeans
Vector to hold the current values of the current mean estimates for the sample values on the GP.
RealVectorArray gpVar
Vector to hold the current values of the current variance estimates for the sample values on the GP.
RealVector emulEvalScores
Vector to hold the scored values for the current GP samples.
RealVector predictionErrors
Vector to hold the RMSE after each round of adaptively fitting the model.
RealVectorArray validationSet
Validation point set used to determine predictionErrors above.
RealVector yTrue
True function responses at the values corresponding to validationSet.
RealVector yModel
Surrogate function responses at the values corresponding to validationSet.
int validationSetSize
Number of points used in the validationSet.
int batchSize
Number of points to add each round, default = 1.
String batchStrategy
String describing the tpye of batch addition to use. Allowable values are naive, distance, topology.
String outputDir
Temporary string for dumping validation files used in TopoAS visualization.
String scoringMetric
String describing the method for scoring candidate points. Options are: alm, distance, gradient, highest persistence,
avg persistence, bottleneck, alm topo hybrid Note: alm and alm topo hybrid will fail when used with surrogates
other than global kriging as it is based on the variance of the surrogate. At the time of implementation, global kriging is the only surrogate capable of yielding this information.
MS Complex AMSC
The approximate Morse-Smale complex data structure.
int numKneighbors
The number of approximate nearest neighbors to use in computing the AMSC.
bool outputValidationData
Temporary variable for toggling writing of data files to be used by TopoAS.
598
Detailed Description
Class for testing various Adaptively sampling methods using geometric, statisctical, and topological information
of the surrogate.
NonDAdaptiveSampling implements an adaptive sampling method based on the work presented in Adaptive
Sampling with Topological Scores by Dan Maljovec, Bei Wang, Ana Kupresanin, Gardar Johannesson, Valerio
Pascucci, and Peer-Timo Bremer presented in IJUQ (insert issue). The method computes scores based on the
topology of the known data and the topology of the surrogate model. A number of alternate adaption strategies
are offered as well.
13.77.2
instantiation. In this case, set db list nodes has been called and probDescDB can be queried for settings from the
method specification.
References NonDAdaptiveSampling::AMSC, NonDAdaptiveSampling::approx type, Iterator::assign rep(), Model::assign rep(), NonDAdaptiveSampling::batchSize, NonDAdaptiveSampling::batchStrategy, NonDAdaptiveSampling::construct fsu sampler(), NonD::construct lhs(), ProblemDescDB::get bool(), ProblemDescDB::get int(), ProblemDescDB::get sa(), ProblemDescDB::get string(), NonDAdaptiveSampling::gpBuild, NonDAdaptiveSampling::gpEval, NonDAdaptiveSampling::gpFinalEval, NonDAdaptiveSampling::gpModel, Model::gradient type(), Model::hessian type(), Iterator::iteratedModel, Iterator::maxIterations, NonDAdaptiveSampling::numEmulEval, NonDAdaptiveSampling::numFinalEmulEval, NonDAdaptiveSampling::numKneighbors, NonDAdaptiveSampling::numRounds, NonDSampling::numSamples, NonDAdaptiveSampling::outputDir, Iterator::outputLevel, NonDAdaptiveSampling::outputValidationData, NonDAdaptiveSampling::parse options(), Iterator::probDescDB, NonDSampling::randomSeed, NonDSampling::rngName, NonDAdaptiveSampling::sampleDesign, NonDAdaptiveSampling::scoringMetric, NonDSampling::vary pattern(), and NonDSampling::varyPattern.
NonDAdaptiveSampling (
alternate constructor for sample generation and evaluation on the fly has not been implemented
destructor
The documentation for this class was generated from the following files:
NonDAdaptiveSampling.hpp
NonDAdaptiveSampling.cpp
13.78
Base class for Bayesian inference: generates posterior distribution on model parameters given experimental data.
Inheritance diagram for NonDBayesCalibration:
599
Iterator
Analyzer
NonD
NonDCalibration
NonDBayesCalibration
NonDDREAMBayesCalibration
NonDGPMSABayesCalibration
NonDQUESOBayesCalibration
NonDBayesCalibration ()
destructor
Protected Attributes
Model emulatorModel
Model instance employed in the likelihood function; provides response function values from Gaussian processes,
stochastic expansions (PCE/SC), or direct access to simulations (no surrogate option)
bool standardizedSpace
flag indicating use of a variable transformation to standardized probability space
Iterator stochExpIterator
NonDPolynomialChaos or NonDStochCollocation instance for defining a PCE/SC-based emulatorModel.
Iterator lhsIterator
LHS iterator for generating samples for GP.
600
Private Attributes
short emulatorType
the emulator type: NO EMULATOR, GP EMULATOR, PCE EMULATOR, or SC EMULATOR
Detailed Description
Base class for Bayesian inference: generates posterior distribution on model parameters given experimental data.
This class will eventually provide a general-purpose framework for Bayesian inference. In the short term, it
only collects shared code between QUESO and GPMSA implementations.
13.78.2
13.78.3
13.79
601
Iterator
Analyzer
NonD
NonDCalibration
NonDBayesCalibration
NonDDREAMBayesCalibration
NonDGPMSABayesCalibration
NonDQUESOBayesCalibration
NonDCalibration ()
destructor
Protected Attributes
RealVector expStdDeviations
1 or numFunctions standard deviations
String expDataFileName
filename from which to read experimental data; optionally configuration vars x and standard deviations sigma
bool expDataFileAnnotated
whether the data file is in annotated format
size t numExperiments
number of experiments to read from data file
IntVector numReplicates
number of replicates per experiment
size t numExpConfigVars
number of columns in data file which are state variables
size t numExpStdDeviationsRead
how many sigmas to read from the data file (1 or numFunctions)
ExperimentData expData
Container for experimental data to which to calibrate model.
602
Private Attributes
size t continuousConfigVars
number of continuous configuration variables
size t discreteIntConfigVars
number of discrete integer configuration variables
size t discreteRealConfigVars
number of discrete real configuration variables
size t continuousConfigStart
index of configuration variables in all continuous array
size t discreteIntConfigStart
index of configuration variables in all discrete integer array
size t discreteRealConfigStart
index of configuration variables in all discrete real array
Detailed Description
13.79.2
13.80
603
Derived nondeterministic class that generates N-dimensional numerical cubature points for evaluation of expectation integrals.
Inheritance diagram for NonDCubature:
Iterator
Analyzer
NonD
NonDIntegration
NonDCubature
NonDCubature ()
destructor
void sampling reset (int min samples, bool all data flag, bool stats flag)
void increment grid ()
increment SSG level/TPQ order
604
Private Attributes
Pecos::CubatureDriver cubDriver
convenience pointer to the numIntDriver representation
Detailed Description
Derived nondeterministic class that generates N-dimensional numerical cubature points for evaluation of expectation integrals.
This class is used by NonDPolynomialChaos, but could also be used for general numerical integration of
moments. It employs Stroud cubature rules and extensions by D. Xiu.
13.80.2
NonDCubature ( Model & model, const Pecos::ShortArray & u types, unsigned short cub int order )
This alternate constructor is used for on-the-fly generation and evaluation of numerical cubature points.
References Model::aleatory distribution parameters(), NonDCubature::check integration(), NonDCubature::cubDriver, NonDCubature::cubIntOrderRef, Iterator::iteratedModel, and NonDIntegration::numIntDriver.
NonDCubature ( ProblemDescDB & problem db, Model & model ) [protected]
constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification. It is not currently
used, as there is not yet a separate nond cubature method specification.
References Model::aleatory distribution parameters(), NonDCubature::check integration(), NonDIntegration::check variables(), NonDCubature::cubDriver, NonDCubature::cubIntOrderRef, NonDCubature::cubIntRule, Iterator::iteratedModel, Iterator::maxEvalConcurrency, NonD::natafTransform, and NonDIntegration::numIntDriver.
13.80.3
void sampling reset ( int min samples, bool all data flag, bool stats flag ) [protected], [virtual]
used by DataFitSurrModel::build global() to publish the minimum number of points needed from the cubature
routine in order to build a particular global approximation.
Reimplemented from Iterator.
References NonDCubature::cubDriver, and NonDCubature::cubIntOrderRef.
605
void increment grid preference ( const RealVector & dim pref ) [inline], [protected],
[virtual]
Should not be used, but pure virtual must be defined.
Reimplemented from NonDIntegration.
References NonDCubature::increment grid().
int num samples (
Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References NonDCubature::cubDriver.
void increment reference (
) [inline], [private]
13.81
606
static void problem value (std::string chain filename, std::string gr filename, double &gr threshold, int
&jumpstep, double limits[ ], int par num, int &printstep, std::string restart read filename, std::string restartwrite filename)
Filename and data initializer for DREAM.
Protected Attributes
Real likelihoodScale
scale factor for proposal covariance
int numSamples
number of samples in the chain (e.g. number of MCMC samples)
bool calibrateSigmaFlag
flag to indicate if the sigma terms should be calibrated (default true)
int randomSeed
random seed to pass to QUESO
RealVector paramMins
lower bounds on calibrated parameters
RealVector paramMaxs
upper bounds on calibrated parameters
int numChains
number of concurrent chains
int numGenerations
number of generations
int numCR
number of CR-factors
int crossoverChainPairs
number of crossover chain pairs
607
Real grThreshold
threshold for the Gelmin-Rubin statistic
int jumpStep
how often to perform a long jump in generations
boost::mt19937 rnumGenerator
random number engine for sampling the prior
std::vector
< boost::uniform real< double > > priorSamplers
samplers for the uniform prior PDFs for each variable
Private Attributes
short emulatorType
the emulator type: NO EMULATOR, GP EMULATOR, PCE EMULATOR, or SC EMULATOR
Detailed Description
13.81.2
13.81.3
void problem size ( int & chain num, int & cr num, int & gen num, int & pair num, int & par num )
[static]
initializer for problem size characteristics in DREAM
See documentation in DREAM examples)
608
) [protected], [virtual]
609
Level, NonDDREAMBayesCalibration::paramMaxs, NonDDREAMBayesCalibration::paramMins, NonDDREAMBayesCalibration::priorDistributions, NonDDREAMBayesCalibration::priorSamplers, NonDBayesCalibration::quantify uncertainty(), NonDDREAMBayesCalibration::randomSeed, NonDDREAMBayesCalibration::rnumGenerator, ExperimentData::scalar sigma(), NonDBayesCalibration::standardizedSpace, and NonDBayesCalibration::stochExpIterator.
13.81.4
13.82
Base class for polynomial chaos expansions (PCE) and stochastic collocation (SC)
Inheritance diagram for NonDExpansion:
Iterator
Analyzer
NonD
NonDExpansion
NonDPolynomialChaos
NonDStochCollocation
NonDExpansion (unsigned short method name, Model &model, short exp coeffs approach, short u spacetype, bool piecewise basis, bool use derivs)
alternate constructor
NonDExpansion ()
destructor
610
void construct cubature (Iterator &u space sampler, Model &g u model, unsigned short cub int order)
611
void construct quadrature (Iterator &u space sampler, Model &g u model, const UShortArray &quad order seq, const RealVector &dim pref)
assign a NonDQuadrature instance within u space sampler based on a quad order specification
void construct quadrature (Iterator &u space sampler, Model &g u model, int filtered samples, const RealVector &dim pref)
assign a NonDQuadrature instance within u space sampler that generates a filtered tensor product sample set
void construct quadrature (Iterator &u space sampler, Model &g u model, int random samples, int seed,
const UShortArray &quad order seq, const RealVector &dim pref)
assign a NonDQuadrature instance within u space sampler that samples randomly from a tensor product multiindex
void construct sparse grid (Iterator &u space sampler, Model &g u model, const UShortArray &ssg levelseq, const RealVector &ssg dim pref)
assign a NonDSparseGrid instance within u space sampler
Protected Attributes
Model uSpaceModel
Model representing the approximate response function in u-space, after u-space recasting and orthogonal polynomial data fit recursions.
short expansionCoeffsApproach
method for collocation point generation and subsequent calculation of the expansion coefficients
short expansionBasisType
type of expansion basis: DEFAULT BASIS or Pecos::{NODAL,HIERARCHICAL} INTERPOLANT for SC or
Pecos::{TENSOR PRODUCT,TOTAL ORDER,ADAPTED} BASIS for PCE regression
size t numUncertainQuant
number of invocations of quantify uncertainty()
int numSamplesOnModel
number of truth samples performed on g u model to form the expansion
int numSamplesOnExpansion
number of approximation samples performed on the polynomial expansion in order to estimate probabilities
bool nestedRules
flag for indicating state of nested and non nested overrides of default rule nesting, which depends on the type
of integration driver
bool piecewiseBasis
flag for piecewise specification, indicating usage of local basis polynomials within the stochastic expansion
bool useDerivs
flag for use derivatives specification, indicating usage of derivative data (with respect to expansion variables) to enhance the calculation of the stochastic expansion.
612
short refineControl
refinement control: NO CONTROL, UNIFORM CONTROL, LOCAL ADAPTIVE CONTROL, DIMENSION ADAPTIVE CONTROL SOBOL, DIMENSION ADAPTIVE CONTROL DECAY, or DIMENSION ADAPTIVE CONTROL GENERALIZED
RealSymMatrix respCovariance
symmetric matrix of analytic response covariance (full response covariance option)
RealVector respVariance
vector of response variances (diagonal response covariance option)
RealVector initialPtU
stores the initial variables data in u-space
613
Private Attributes
short ruleNestingOverride
user override of default rule nesting: NO NESTING OVERRIDE, NESTED, or NON NESTED
short ruleGrowthOverride
user override of default rule growth: NO GROWTH OVERRIDE, RESTRICTED, or UNRESTRICTED
Iterator expansionSampler
Iterator used for sampling on the uSpaceModel to generate approximate probability/reliability/response level statistics. Currently this is an LHS sampling instance, but AIS could also be used.
Iterator importanceSampler
Iterator used to refine the approximate probability estimates generated by the expansionSampler using importance
sampling.
bool expSampling
flag to indicate calculation of numerical statistics by sampling on the expansion
bool impSampling
flag to use LHS sampling or MMAIS sampling on the expansion
RealMatrix expGradsMeanX
derivative of the expansion with respect to the x-space variables evaluated at the means (used as uncertainty
importance metrics)
bool vbdFlag
flag indicating the activation of variance-bsaed decomposition for computing Sobol indices
Real vbdDropTol
tolerance for omitting output of small VBD indices
short covarianceControl
enumeration for controlling response covariance calculation and output: {DEFAULT,DIAGONAL,FULL} COVARIANCE
Detailed Description
Base class for polynomial chaos expansions (PCE) and stochastic collocation (SC)
The NonDExpansion class provides a base class for methods that use polynomial expansions to approximate
the effect of parameter uncertainties on response functions of interest.
13.82.2
614
) [protected], [virtual]
) [protected], [virtual]
) [protected], [virtual]
) [protected]
615
NonDExpansion::initialPtU, ResultsManager::insert(), Iterator::iteratedModel, Iterator::iterator rep(), PecosApproximation::mean gradient(), PecosApproximation::moments(), NonD::natafTransform, NonD::numContDesVars, NonD::numContEpistUncVars, Analyzer::numContinuousVars, NonD::numContStateVars, Analyzer::numFunctions, NonDExpansion::numSamplesOnExpansion, Iterator::outputLevel, ActiveSet::request vector(), NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonDExpansion::respCovariance, NonD::respLevelTarget, Model::response labels(), Iterator::response results(), NonDExpansion::respVariance, Iterator::resultsDB, Iterator::resultsNames, Iterator::run(), Iterator::run identifier(), Iterator::subIteratorFlag, NonD::totalLevelRequests, NonDSampling::update final statistics(), NonDExpansion::uSpaceModel,
PecosApproximation::variance gradient(), and NonDExpansion::vbdFlag.
Referenced by NonDStochCollocation::compute final statistics metric(), NonDExpansion::compute final statisticsmetric(), NonDExpansion::compute print converged results(), NonDExpansion::compute print increment results(),
and NonDExpansion::compute print iteration results().
13.82.3
NonDExpansion.hpp
NonDExpansion.cpp
13.83
616
NonDGlobalEvidence ()
destructor
void initialize ()
perform any required initialization
Detailed Description
617
NonDGlobalEvidence.hpp
NonDGlobalEvidence.cpp
13.84
Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
Inheritance diagram for NonDGlobalInterval:
Iterator
Analyzer
NonD
NonDInterval
NonDGlobalInterval
NonDGlobalEvidence
NonDGlobalSingleInterval
NonDGlobalInterval ()
destructor
618
Protected Attributes
Iterator daceIterator
LHS iterator for constructing initial GP for all response functions.
Model fHatModel
GP model of response, one approximation per response function.
Iterator intervalOptimizer
optimizer for solving surrogate-based subproblem: NCSU DIRECT optimizer for maximizing expected improvement
or mixed EA if discrete variables.
Model intervalOptModel
recast model which formulates the surrogate-based optimization subproblem (recasts as design problem; may assimilate mean and variance to enable max(expected improvement))
Real approxFnStar
approximate response corresponding to minimum/maximum truth response
Real truthFnStar
minimum/maximum truth response function value
static void EIF objective max (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the objective function in the Expected Improvement Function (EIF) for maximizing the GP
static void extract objective (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used to extract the active objective function when optimizing for an interval lower or upper bound
(non-EIF formulations). The sense of the optimization is set separately.
619
Private Attributes
const int seedSpec
the user seed specification (default is 0)
int numSamples
the number of samples used in the surrogate
String rngName
name of the random number generator
bool gpModelFlag
flag indicating use of GP surrogate emulation
bool eifFlag
flag indicating use of maximized expected improvement for GP iterate selection
Real distanceTol
tolerance for L 2 change in optimal solution
RealVector prevCVStar
stores previous optimal point for continuous variables; used for assessing convergence
IntVector prevDIVStar
stores previous optimal point for discrete integer variables; used for assessing convergence
RealVector prevDRVStar
stores previous optimal point for discrete real variables; used for assessing convergence
Real prevFnStar
stores previous solution value for assessing convergence
size t sbIterNum
surrogate-based minimization/maximization iteration count
bool boundConverged
flag indicating convergence of a minimization or maximization cycle
bool allResponsesPerIter
flag for maximal response extraction (all response values obtained on each function call)
short dataOrder
order of the data used for surrogate construction, in ActiveSet request vector 3-bit format; user may override
responses spec
620
Detailed Description
Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
The NonDGlobalInterval class supports global nongradient-based optimization apporaches to determining
interval bounds for epistemic UQ. The interval bounds may be on the entire function in the case of pure interval
analysis (e.g. intervals on input = intervals on output), or the intervals may be on statistics of an inner loop
aleatory analysis such as intervals on means, variances, or percentile levels. The preliminary implementation will
use a Gaussian process surrogate to determine interval bounds.
13.84.2
13.85
NonDGlobalReliability ()
destructor
621
initialize the communicators associated with iteratedModel as well as any subordinate iterators or subordinate
models
Real constraint penalty (const Real &constraint, const RealVector &c variables)
calculate the penalty to be applied to the PMA constraint value
Real expected improvement (const RealVector &expected values, const Variables &recast vars)
expected improvement function for the GP
Real expected feasibility (const RealVector &expected values, const Variables &recast vars)
expected feasibility function for the GP
static void EFF objective eval (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the objective function in the Expected Feasibility (EFF) problem formulation for RIA
Private Attributes
Real fnStar
minimum penalized response from among true function evaluations
short meritFunctionType
type of merit function used to penalize sample data
Real lagrangeMult
Lagrange multiplier for standard Lagrangian merit function.
Real augLagrangeMult
Lagrange multiplier for augmented Lagrangian merit function.
622
Real lastConstraintViolation
constraint violation at last iteration, used to determine if the current iterate should be accepted (must reduce
violation)
bool lastIterateAccepted
flag to determine if last iterate was accepted this controls update of parameters for augmented Lagrangian merit fn
short dataOrder
order of the data used for surrogate construction, in ActiveSet request vector 3-bit format; user may override
responses spec
Detailed Description
13.86
Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
Inheritance diagram for NonDGlobalSingleInterval:
623
Iterator
Analyzer
NonD
NonDInterval
NonDGlobalInterval
NonDGlobalSingleInterval
NonDGlobalSingleInterval ()
destructor
Private Attributes
size t statCntr
counter for finalStatistics
Detailed Description
Class for using global nongradient-based optimization approaches to calculate interval bounds for epistemic uncertainty quantification.
The NonDGlobalSingleInterval class supports global nongradient-based optimization apporaches to determining interval bounds for epistemic UQ. The interval bounds may be on the entire function in the case of pure
interval analysis (e.g. intervals on input = intervals on output), or the intervals may be on statistics of an inner
loop aleatory analysis such as intervals on means, variances, or percentile levels. The preliminary implementation will use a Gaussian process surrogate to determine interval bounds.
The documentation for this class was generated from the following files:
624
13.87
NonDGPImpSampling ()
destructor
Real calcExpIndPoint (const int respFnCount, const Real respThresh, const RealVector this mean, const
RealVector this var)
void calcRhoDraw ()
function to update the rhoDraw data, adding x values and rho draw values
Private Attributes
Iterator gpBuild
LHS iterator for building the initial GP.
Iterator gpEval
LHS iterator for sampling on the GP.
Model gpModel
GP model of response, one approximation per response function.
Iterator sampleRhoOne
LHS iterator for sampling from the rhoOneDistribution.
int numPtsAdd
the number of points added to the original set of LHS samples
int numPtsTotal
the total number of points
int numEmulEval
the number of points evaluated by the GP each iteration
Real finalProb
the final calculated probability (p)
RealVectorArray gpCvars
Vector to hold the current values of the current sample inputs on the GP.
RealVectorArray gpMeans
Vector to hold the current values of the current mean estimates for the sample values on the GP.
RealVectorArray gpVar
Vector to hold the current values of the current variance estimates for the sample values on the GP.
RealVector expIndicator
Vector to hold the expected indicator values for the current GP samples.
RealVector rhoDraw
Vector to hold the rhoDraw values for the current GP samples.
RealVector normConst
Vector to hold the normalization constant calculated for each point added.
RealVector indicator
IntVector to hold indicator for actual simulation values vs. threshold.
RealVectorArray xDrawThis
xDrawThis, appended to locally to hold the X values of emulator points chosen
RealVector expIndThis
expIndThis, appended locally to hold the expected indicator
RealVector rhoDrawThis
625
626
RealVector rhoMix
rhoMix, mixture density
RealVector rhoOne
rhoOne, original importance density
Detailed Description
13.87.2
13.87.3
) [virtual]
627
Analyzer::numFunctions, NonDGPImpSampling::numPtsAdd, NonDGPImpSampling::numPtsTotal, NonDSampling::numSamples, Iterator::outputLevel, Model::pop approximation(), NonD::requestedRespLevels, NonDGPImpSampling::rhoDraw, NonDGPImpSampling::rhoDrawThis, NonDGPImpSampling::rhoMix, NonDGPImpSampling::rhoOne, Iterator::run(), NonDGPImpSampling::sampleRhoOne, and NonDGPImpSampling::xDrawThis.
The documentation for this class was generated from the following files:
NonDGPImpSampling.hpp
NonDGPImpSampling.cpp
13.88
NonDGPMSABayesCalibration ()
destructor
Public Attributes
String rejectionType
Rejection type (standard or delayed, in the DRAM framework)
String metropolisType
Metropolis type (hastings or adaptive, in the DRAM framework)
int numSamples
number of samples in the chain (e.g. number of MCMC samples)
int emulatorSamples
number of samples of the simulation to construct the GP
628
Real likelihoodScale
scale factor for likelihood
bool calibrateSigmaFlag
flag to indicated if the sigma terms should be calibrated (default true)
String approxImportFile
name of file from which to import build points to build GP
bool approxImportAnnotated
annotate flag
Protected Attributes
int randomSeed
print the final statistics
Private Attributes
Iterator lhsIter
LHS iterator for generating samples for GP.
Detailed Description
629
Instead, this class takes a pre-existing set of simulation data as well as experimental data, and maps priors on input
parameters to posterior distributions on those input parameters, according to a likelihood function. The goal of the
MCMC sampling is to produce posterior values of parameter estimates which will produce simulation response
values that match well to the experimental data. The MCMC is an integral part of the calibration. The data
structures in GPM/SA are fairly detailed and nested. Part of this prototyping exercise is to determine what data
structures need to be specified and initialized in DAKOTA and sent to GPM/SA, and what data structures will be
returned.
13.88.2
13.88.3
) [protected], [virtual]
performs a forward uncertainty propagation by using GPM/SA to generate a posterior distribution on parameters
given a set of simulation parameter/response data, a set of experimental data, and additional variables to be
specified here.
Perform the uncertainty quantification
Reimplemented from NonDBayesCalibration.
References Iterator::all responses(), Analyzer::all samples(), Iterator::all samples(), NonDGPMSABayesCalibration::approxImportAnnotated, NonDGPMSABayesCalibration::approxImportFile, NonDGPMSABayesCalibration::calibrateSigmaFlag, ExperimentData::config vars(), Model::continuous lower bounds(), Model::continuous upperbounds(), Model::continuous variables(), NonDGPMSABayesCalibration::emulatorSamples, NonDCalibration::expData, NonDCalibration::expDataFileAnnotated, NonDCalibration::expDataFileName, Iterator::iteratedModel,
NonDGPMSABayesCalibration::lhsIter, ExperimentData::load scalar(), NonDGPMSABayesCalibration::metropolisType, NonDGPMSABayesCalibration::NonDGPMSAInstance, NonDCalibration::numExpConfigVars, NonDCalibration::numExperiments, NonDCalibration::numExpStdDeviationsRead, Analyzer::numFunctions, NonDCalibration::numReplicates, NonDGPMSABayesCalibration::numSamples, NonD::numUncertainVars, Iterator::outputLevel,
NonDGPMSABayesCalibration::rejectionType, Iterator::run(), and ExperimentData::scalar data().
13.88.4
630
13.89
NonDIncremLHSSampling ()
destructor
Private Attributes
int previousSamples
number of samples in previous LHS run
bool varBasedDecompFlag
flags computation of VBD
631
Detailed Description
13.89.2
13.89.3
) [virtual]
performs a forward uncertainty propagation by using LHS to generate a set of parameter samples, performing
function evaluations on these parameter samples, and computing statistics on the ensemble of results.
Generate incremental samples. Loop over the set of samples and compute responses. Compute statistics on
the set of responses if statsFlag is set.
Implements NonD.
References Dakota::abort handler(), Model::aleatory distribution parameters(), Analyzer::allResponses, Analyzer::allSamples, NonDSampling::compute statistics(), Dakota::copy data(), Dakota::data pairs, Analyzer::evaluate parameter sets(), NonDSampling::get parameter sets(), Iterator::iteratedModel, NonD::numBetaVars, NonD::numBinomialVars, Analyzer::numContinuousVars, NonD::numExponentialVars, NonD::numFrechetVars, NonD::numGammaVars, NonD::numGeometricVars, NonD::numGumbelVars, NonD::numHistogramBinVars, NonD::numHistogramPtVars, NonD::numHyperGeomVars, NonD::numLognormalVars, NonD::numLoguniformVars, NonD::numNegBinomialVars, NonD::numNormalVars, NonD::numPoissonVars, NonDSampling::numSamples, NonD::numTriangularVars, NonD::numUniformVars, NonD::numWeibullVars, NonDIncremLHSSampling::previousSamples, NonDIncremLHSSampling::rank sort(), NonDIncremLHSSampling::rawData, NonDSampling::sampleRanks, NonDSampling::sampleRanksMode, NonDSampling::samplesRef, NonDSampling::sampleType, Iterator::submethod enum to string(), and NonDSampling::varyPattern.
The documentation for this class was generated from the following files:
NonDIncremLHSSampling.hpp
NonDIncremLHSSampling.cpp
13.90
Derived nondeterministic class that generates N-dimensional numerical integration points for evaluation of expectation integrals.
Inheritance diagram for NonDIntegration:
632
NonDQuadrature
NonDSparseGrid
static void anisotropic order to dimension preference (const UShortArray &aniso order, unsigned short
&scalar order, RealVector &dim pref)
convert vector aniso order to scalar order and vector dim pref
NonDIntegration (unsigned short method name, Model &model, const RealVector &dim pref)
alternate constructor for instantiations on the fly
633
NonDIntegration ()
destructor
Protected Attributes
Pecos::IntegrationDriver numIntDriver
Pecos utlity class for managing interface to tensor-product grids and VPISparseGrid utilities for Smolyak sparse
grids and cubature.
size t numIntegrations
counter for number of integration executions for this object
size t sequenceIndex
index into NonDQuadrature::quadOrderSpec and NonDSparseGrid::ssgLevelSpec that defines the current instance
of several possible refinement levels
RealVector dimPrefSpec
the user specification for anisotropic dimension preference
Detailed Description
Derived nondeterministic class that generates N-dimensional numerical integration points for evaluation of expectation integrals.
This class provides a base class for shared code among NonDQuadrature and NonDSparseGrid.
13.90.2
634
NonDIntegration ( unsigned short method name, Model & model, const RealVector & dim pref )
[protected]
alternate constructor for instantiations on the fly
This alternate constructor is used for on-the-fly generation and evaluation of numerical integration points.
13.90.3
void dimension preference to anisotropic order ( unsigned short scalar order spec, const RealVector &
dim pref spec, size t num v, UShortArray & aniso order ) [static]
convert scalar order spec and vector dim pref spec to vector aniso order
Converts a scalar order specification and a vector anisotropic dimension preference into an anisotropic order
vector. It is used for initialization and does not enforce a reference lower bound (see also NonDQuadrature::update anisotropic order()).
Referenced by NonDPolynomialChaos::increment specification sequence(), NonDQuadrature::initialize dimensionquadrature order(), and NonDPolynomialChaos::NonDPolynomialChaos().
void anisotropic order to dimension preference ( const UShortArray & aniso order, unsigned short &
scalar order, RealVector & dim pref ) [static]
convert vector aniso order to scalar order and vector dim pref
Converts a vector anisotropic order into a scalar order and vector anisotropic dimension preference.
Referenced by NonDPolynomialChaos::NonDPolynomialChaos().
13.91
635
Iterator
Analyzer
NonD
NonDInterval
NonDGlobalInterval
NonDGlobalEvidence
NonDGlobalSingleInterval
NonDLHSInterval
NonDLHSEvidence
NonDLHSSingleInterval
NonDLocalInterval
NonDLocalEvidence
NonDLocalSingleInterval
NonDInterval ()
destructor
Protected Attributes
bool singleIntervalFlag
flag for SingleInterval derived class
RealVectorArray ccBelFn
Storage array to hold CCBF values.
RealVectorArray ccPlausFn
Storage array to hold CCPF values.
RealVectorArray ccBelVal
Storage array to hold CCB response values.
RealVectorArray ccPlausVal
Storage array to hold CCP response values.
RealVectorArray cellContLowerBounds
Storage array to hold cell lower bounds for continuous variables.
636
IntVectorArray cellIntRangeLowerBounds
Storage array to hold cell lower bounds for discrete int range variables.
IntVectorArray cellIntRangeUpperBounds
Storage array to hold cell upper bounds for discrete int range variables.
IntVectorArray cellIntSetBounds
Storage array to hold cell values for discrete integer set variables.
IntVectorArray cellRealSetBounds
Storage array to hold cell value for discrete real set variables.
RealVectorArray cellFnLowerBounds
Storage array to hold cell min.
RealVectorArray cellFnUpperBounds
Storage array to hold cell max.
RealVector cellBPA
Storage array to hold cell bpa.
size t respFnCntr
response function counter
size t cellCntr
cell counter
size t numCells
total number of interval combinations
Detailed Description
13.92
637
Iterator
Analyzer
NonD
NonDInterval
NonDLHSInterval
NonDLHSEvidence
NonDLHSEvidence ()
destructor
void initialize ()
perform any required initialization
Detailed Description
13.93
638
NonDLHSSingleInterval
NonDLHSInterval ()
destructor
Protected Attributes
Iterator lhsSampler
the LHS sampler instance
int numSamples
the number of samples used
String rngName
name of the random number generator
639
Detailed Description
13.94
NonDLHSSampling (Model &model, unsigned short sample type, int samples, int seed, const String &rng,
bool vary pattern=true, short sampling vars mode=ACTIVE)
alternate constructor for sample generation and evaluation on the fly
NonDLHSSampling (unsigned short sample type, int samples, int seed, const String &rng, const RealVector &lower bnds, const RealVector &upper bnds)
alternate constructor for sample generation on the fly
NonDLHSSampling ()
destructor
640
Private Attributes
size t numResponseFunctions
number of response functions; used to distinguish NonD from opt/NLS usage
bool varBasedDecompFlag
flags computation of variance-based decomposition indices
Detailed Description
13.94.2
641
connection to a variables specification and allow sampling over parameter sets such as multiobjective weights).
In this case, a Model is not used and the object must only be used for sample generation (no evaluation).
References NonDSampling::get parameter sets().
13.94.3
) [protected], [virtual]
13.95
NonDLHSSingleInterval ()
destructor
642
Private Attributes
size t statCntr
counter for finalStatistics
Detailed Description
13.96
NonDLocalEvidence ()
destructor
643
Detailed Description
13.97
Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.
Inheritance diagram for NonDLocalInterval:
644
NonDLocalSingleInterval
NonDLocalInterval ()
destructor
645
Protected Attributes
Iterator minMaxOptimizer
local gradient-based optimizer
Model minMaxModel
recast model which extracts the active objective function
Private Attributes
bool npsolFlag
flag representing the gradient-based optimization algorithm selection (NPSOL SQP or OPT++ NIP)
Detailed Description
Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.
The NonDLocalInterval class supports local gradient-based optimization apporaches to determining interval
bounds for epistemic UQ. The interval bounds may be on the entire function in the case of pure interval analysis
(e.g. intervals on input = intervals on output), or the intervals may be on statistics of an inner loop aleatory
analysis such as intervals on means, variances, or percentile levels.
The documentation for this class was generated from the following files:
NonDLocalInterval.hpp
NonDLocalInterval.cpp
646
13.98
NonDLocalReliability ()
destructor
647
convenience function for encapsulating the simple Mean Value computation of approximate statistics and importance factors
void update mpp search data (const Variables &vars star, const Response &resp star)
convenience function for updating MPP search data for each z/p/beta level for each response function
void update pma maximize (const RealVector &mpp u, const RealVector &fn grad u, const RealSymMatrix &fn hess u)
update pmaMaximizeG from prescribed probabilities or prescribed generalized reliabilities by inverting secondorder integrations
void dg ds eval (const RealVector &x vars, const RealVector &fn grad x, RealVector &final stat grad)
convenience function for evaluating dg/ds
Real signed norm (const RealVector &mpp u, const RealVector &fn grad u, bool cdf flag)
convert norm of mpp u (u-space solution) to a signed reliability index
Real signed norm (Real norm mpp u, const RealVector &mpp u, const RealVector &fn grad u, bool cdf flag)
shared helper function
Real probability (bool cdf flag, const RealVector &mpp u, const RealVector &fn grad u, const RealSymMatrix &fn hess u)
Convert computed reliability to probability using either a first-order or second-order integration.
Real probability (Real beta, bool cdf flag, const RealVector &mpp u, const RealVector &fn grad u, const
RealSymMatrix &fn hess u)
Convert provided reliability to probability using either a first-order or second-order integration.
648
Real reliability (Real p, bool cdf flag, const RealVector &mpp u, const RealVector &fn grad u, const RealSymMatrix &fn hess u)
Convert probability to reliability using the inverse of a first-order or second-order integration.
bool reliability residual (const Real &p, const Real &beta, const RealVector &kappa, Real &res)
compute the residual for inversion of second-order probability corrections using Newtons method (called by reliability(p))
Real reliability residual derivative (const Real &p, const Real &beta, const RealVector &kappa)
compute the residual derivative for inversion of second-order probability corrections using Newtons method (called
by reliability(p))
void principal curvatures (const RealVector &mpp u, const RealVector &fn grad u, const RealSymMatrix
&fn hess u, RealVector &kappa u)
Compute the kappaU vector of principal curvatures from fnHessU.
void scale curvature (Real beta, bool cdf flag, const RealVector &kappa, RealVector &scaled kappa)
scale copy of principal curvatures by -1 if needed; else take a view
static void RIA constraint eval (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the constraint function in the Reliability Index Approach (RIA) problem formulation. This
equality-constrained optimization problem performs the search for the most probable point (MPP) with the constraint of G(u) = response level.
static void PMA objective eval (const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
static function used as the objective function in the Performance Measure Approach (PMA) problem formulation.
This equality-constrained optimization problem performs the search for the most probable point (MPP) with the
objective function of G(u).
static void PMA constraint eval (const Variables &sub model vars, const Variables &recast vars, const
Response &sub model response, Response &recast response)
static function used as the constraint function in the first-order Performance Measure Approach (PMA) problem
formulation. This optimization problem performs the search for the most probable point (MPP) with the equality
constraint of (norm u) 2 = (beta-bar) 2.
static void PMA2 constraint eval (const Variables &sub model vars, const Variables &recast vars, const
Response &sub model response, Response &recast response)
static function used as the constraint function in the second-order Performance Measure Approach (PMA) problem
formulation. This optimization problem performs the search for the most probable point (MPP) with the equality
constraint of beta = beta-bar.
static void PMA2 set mapping (const Variables &recast vars, const ActiveSet &recast set, ActiveSet &submodel set)
static function used to augment the sub-model ASV requests for second-order PMA
649
Private Attributes
Real computedRespLevel
output response level calculated
Real computedRelLevel
output reliability level calculated for RIA and 1st-order PMA
Real computedGenRelLevel
output generalized reliability level calculated for 2nd-order PMA
RealVector fnGradX
actual x-space gradient for current function from most recent response evaluation
RealVector fnGradU
u-space gradient for current function updated from fnGradX and Jacobian dx/du
RealSymMatrix fnHessX
actual x-space Hessian for current function from most recent response evaluation
RealSymMatrix fnHessU
u-space Hessian for current function updated from fnHessX and Jacobian dx/du
RealVector kappaU
principal curvatures derived from eigenvalues of orthonormal transformation of fnHessU
RealVector fnValsMeanX
response function values evaluated at mean x
RealMatrix fnGradsMeanX
response function gradients evaluated at mean x
RealSymMatrixArray fnHessiansMeanX
response function Hessians evaluated at mean x
RealVector ranVarMeansU
vector of means for all uncertain random variables in u-space
bool initialPtUserSpec
flag indicating user specification of (any portion of) initialPtU
RealVector initialPtUSpec
user specification or default initial guess for local optimization
RealVector initialPtU
current starting point for MPP searches in u-space
RealVector mostProbPointX
location of MPP in x-space
RealVector mostProbPointU
location of MPP in u-space
RealVectorArray prevMPPULev0
array of converged MPPs in u-space for level 0. Used for warm-starting initialPtU within RBDO.
RealMatrix prevFnGradDLev0
matrix of limit state sensitivities w.r.t. inactive/design variables for level 0. Used for warm-starting initialPtU
within RBDO.
RealMatrix prevFnGradULev0
matrix of limit state sensitivities w.r.t. active/uncertain variables for level 0. Used for warm-starting initialPtU
within RBDO.
650
ShortArray prevCumASVLev0
accumulation (using |=) of all previous design ASVs from requested finalStatistics. Used to detect availability of
prevFnGradDLev0 data for warm-starting initialPtU within RBDO.
bool npsolFlag
flag representing the optimization MPP search algorithm selection (NPSOL SQP or OPT++ NIP)
bool warmStartFlag
flag indicating the use of warm starts
bool nipModeOverrideFlag
flag indicating the use of move overrides within OPT++ NIP
bool curvatureDataAvailable
flag indicating that sufficient data (i.e., fnGradU, fnHessU, mostProbPointU) is available for computing principal
curvatures
bool kappaUpdated
track when kappaU requires updating via principal curvatures()
short integrationOrder
integration order (1 or 2) provided by integration specification
short secondOrderIntType
type of second-order integration: Breitung, Hohenbichler-Rackwitz, or Hong
Real curvatureThresh
cut-off value for 1/sqrt() term in second-order probability corrections.
short taylorOrder
order of Taylor series approximations (1 or 2) in MV/AMV/AMV+ derived from hessian type
RealMatrix impFactor
importance factors predicted by MV
int npsolDerivLevel
derivative level for NPSOL executions (1 = analytic grads of objective fn, 2 = analytic grads of constraints, 3 =
analytic grads of both).
Detailed Description
651
method (AMV, AMV 2) in x- or u-space, iterated advanced mean value method (AMV+, AMV 2+) in x- or uspace, two-point adaptive nonlinearity approximation (TANA) in x- or u-space, first order reliability method (FORM), and second order reliability method (SORM). All options except mean value employ an optimizer (currently
NPSOL SQP or OPT++ NIP) to solve an equality-constrained optimization problem for the most probable point
(MPP). The MPP search may be formulated as the reliability index approach (RIA) for mapping response levels
to reliabilities/probabilities or as the performance measure approach (PMA) for performing the inverse mapping
of reliability/probability levels to response levels.
13.98.2
void RIA objective eval ( const Variables & sub model vars, const Variables & recast vars, const
Response & sub model response, Response & recast response ) [static], [private]
static function used as the objective function in the Reliability Index Approach (RIA) problem formulation. This
equality-constrained optimization problem performs the search for the most probable point (MPP) with the objective function of (norm u) 2.
This function recasts a G(u) response set (already transformed and approximated in other recursions) into an
RIA objective function.
References Response::active set request vector(), Variables::continuous variables(), Response::function gradientview(), Response::function hessian view(), and Response::function value().
Referenced by NonDLocalReliability::mpp search().
void RIA constraint eval ( const Variables & sub model vars, const Variables & recast vars, const
Response & sub model response, Response & recast response ) [static], [private]
static function used as the constraint function in the Reliability Index Approach (RIA) problem formulation.
This equality-constrained optimization problem performs the search for the most probable point (MPP) with the
constraint of G(u) = response level.
This function recasts a G(u) response set (already transformed and approximated in other recursions) into an
RIA equality constraint.
References Response::active set request vector(), Response::function gradient(), Response::function gradientview(), Response::function hessian(), Response::function value(), NonDLocalReliability::nondLocRelInstance,
NonDReliability::requestedTargetLevel, and NonDReliability::respFnCount.
Referenced by NonDLocalReliability::mpp search().
void PMA objective eval ( const Variables & sub model vars, const Variables & recast vars, const
Response & sub model response, Response & recast response ) [static], [private]
static function used as the objective function in the Performance Measure Approach (PMA) problem formulation.
This equality-constrained optimization problem performs the search for the most probable point (MPP) with the
objective function of G(u).
This function recasts a G(u) response set (already transformed and approximated in other recursions) into an
PMA objective function.
References Response::active set request vector(), Variables::continuous variables(), NonDLocalReliability::curvatureDataAvailable, Response::function gradient(), Response::function gradient view(), Response::functionhessian(), Response::function hessian view(), Response::function value(), NonDLocalReliability::integrationOrder,
NonDLocalReliability::kappaUpdated, NonDReliability::mppSearchType, NonDLocalReliability::nondLocRelInstance, NonDReliability::pmaMaximizeG, NonDReliability::respFnCount, and NonDLocalReliability::updatepma maximize().
Referenced by NonDLocalReliability::mpp search().
652
void PMA constraint eval ( const Variables & sub model vars, const Variables & recast vars, const
Response & sub model response, Response & recast response ) [static], [private]
static function used as the constraint function in the first-order Performance Measure Approach (PMA) problem
formulation. This optimization problem performs the search for the most probable point (MPP) with the equality
constraint of (norm u) 2 = (beta-bar) 2.
This function recasts a G(u) response set (already transformed and approximated in other recursions) into a
first-order PMA equality constraint on reliability index beta.
References Response::active set request vector(), Variables::continuous variables(), Response::function gradientview(), Response::function hessian view(), Response::function value(), NonDLocalReliability::nondLocRelInstance,
and NonDReliability::requestedTargetLevel.
Referenced by NonDLocalReliability::mpp search().
void PMA2 constraint eval ( const Variables & sub model vars, const Variables & recast vars, const
Response & sub model response, Response & recast response ) [static], [private]
static function used as the constraint function in the second-order Performance Measure Approach (PMA) problem
formulation. This optimization problem performs the search for the most probable point (MPP) with the equality
constraint of beta = beta-bar.
This function recasts a G(u) response set (already transformed and approximated in other recursions) into a
second-order PMA equality constraint on generalized reliability index beta-star.
References Dakota::abort handler(), Response::active set request vector(), NonD::cdfFlag, NonDLocalReliability::computedGenRelLevel, NonDLocalReliability::computedRelLevel, Variables::continuous variables(), NonDLocalReliability::dp2 dbeta factor(), NonDLocalReliability::fnGradU, NonDLocalReliability::fnHessU, Response::functiongradient view(), Response::function hessian(), Response::function value(), NonDLocalReliability::mostProbPointU, NonDReliability::mppSearchType, NonDLocalReliability::nondLocRelInstance, NonDLocalReliability::probability(),
NonDLocalReliability::reliability(), NonDReliability::requestedTargetLevel, NonDReliability::respFnCount, and
NonDLocalReliability::signed norm().
Referenced by NonDLocalReliability::mpp search().
void initial taylor series (
) [private]
convenience function for performing the initial limit state Taylor-series approximation
An initial first- or second-order Taylor-series approximation is required for MV/AMV/AMV+/TANA or for
the case where momentStats (from MV) are required within finalStatistics for subIterator usage of NonDLocalReliability.
References Response::active set request vector(), Iterator::activeSet, Model::component parallel mode(), Model::compute response(), Model::continuous variables(), Model::current response(), NonD::finalStatistics, NonDLocalReliability::fnGradsMeanX, NonDLocalReliability::fnHessiansMeanX, NonDLocalReliability::fnValsMeanX, Response::function gradients(), Response::function hessians(), Response::function values(), Model::hessiantype(), Iterator::iteratedModel, NonD::momentStats, NonDReliability::mppSearchType, NonD::natafTransform,
Analyzer::numFunctions, NonD::numUncertainVars, ActiveSet::request vector(), NonD::requestedGenRelLevels,
NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, Iterator::subIteratorFlag,
NonDLocalReliability::taylorOrder, and NonDReliability::uSpaceModel.
Referenced by NonDLocalReliability::mean value(), and NonDLocalReliability::mpp search().
void initialize class data (
) [private]
653
) [private]
convenience function for initializing/warm starting MPP search data for each response function prior to level 0
For a particular response function prior to the first z/p/beta level, initialize/warm-start optimizer initial guess
(initialPtU), expansion point (mostProbPointX/U), and associated response data (computedRespLevel, fnGradX/U, and fnHessX/U).
References Iterator::activeSet, NonDLocalReliability::assign mean data(), Model::component parallel mode(),
Model::compute response(), NonDLocalReliability::computedRespLevel, Model::continuous variable ids(), Model::continuous variables(), Dakota::copy data(), Model::current response(), NonDLocalReliability::curvatureDataAvailable, NonDLocalReliability::fnGradU, NonDLocalReliability::fnGradX, NonDLocalReliability::fnHessU,
NonDLocalReliability::fnHessX, Response::function gradient copy(), Response::function hessian(), Response::function value(), Model::inactive continuous variables(), NonDLocalReliability::initialPtU, NonDLocalReliability::initialPtUSpec, Iterator::iteratedModel, NonDLocalReliability::kappaUpdated, NonDLocalReliability::mostProbPointU, NonDLocalReliability::mostProbPointX, NonDReliability::mppSearchType, NonD::natafTransform, NonDReliability::numRelAnalyses, NonD::numUncertainVars, NonDLocalReliability::prevCumASVLev0, NonDLocalReliability::prevFnGradDLev0, NonDLocalReliability::prevFnGradULev0, NonDLocalReliability::prevICVars, NonDLocalReliability::prevMPPULev0, ActiveSet::request value(), ActiveSet::request values(), NonD::requestedRespLevels, NonDReliability::respFnCount, Iterator::subIteratorFlag, Model::surrogate function indices(), NonDLocalReliability::taylorOrder, NonDLocalReliability::update limit state surrogate(), NonDReliability::uSpaceModel,
and NonDLocalReliability::warmStartFlag.
Referenced by NonDLocalReliability::mpp search().
void initialize mpp search data (
) [private]
convenience function for initializing/warm starting MPP search data for each z/p/beta level for each response
function
For a particular response function at a particular z/p/beta level, warm-start or reset the optimizer initial guess
(initialPtU), expansion point (mostProbPointX/U), and associated response data (computedRespLevel, fnGradX/U, and fnHessX/U).
References NonDLocalReliability::assign mean data(), NonD::computedGenRelLevels, NonD::computedRelLevels, NonDLocalReliability::fnGradU, Model::hessian type(), NonDLocalReliability::initialPtU, NonDLocalReliability::initialPtUSpec, NonDLocalReliability::integrationOrder, Iterator::iteratedModel, NonDReliability::levelCount, NonDLocalReliability::mostProbPointU, NonDReliability::mppSearchType, NonD::numUncertainVars,
NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonDReliability::requestedTargetLevel, NonDReliability::respFnCount, NonDLocalReliability::taylorOrder, and NonDLocalReliability::warmStartFlag.
Referenced by NonDLocalReliability::mpp search().
void update mpp search data ( const Variables & vars star, const Response & resp star ) [private]
convenience function for updating MPP search data for each z/p/beta level for each response function
654
Includes case-specific logic for updating MPP search data for the AMV/AMV+/TANA/NO APPROX methods.
References Response::active set(), Response::active set request vector(), Iterator::activeSet, NonDReliability::approxConverged, NonDReliability::approxIters, Model::component parallel mode(), Model::compute response(),
NonDLocalReliability::computedRelLevel, NonDLocalReliability::computedRespLevel, Model::continuous variableids(), Variables::continuous variables(), Model::continuous variables(), Iterator::convergenceTol, Variables::copy(),
Dakota::copy data(), Model::current response(), Model::current variables(), NonDLocalReliability::curvatureDataAvailable, Dakota::data pairs, NonD::finalStatistics, NonDLocalReliability::fnGradU, NonDLocalReliability::fnGradX, NonDLocalReliability::fnHessU, NonDLocalReliability::fnHessX, Response::function gradient copy(),
Response::function hessian(), Response::function value(), Response::function values(), NonDLocalReliability::initialPtU, NonDLocalReliability::integrationOrder, Model::interface id(), Iterator::iteratedModel, NonDLocalReliability::kappaUpdated, NonDReliability::levelCount, Dakota::lookup by val(), Iterator::maxIterations, NonDLocalReliability::mostProbPointU, NonDLocalReliability::mostProbPointX, NonDReliability::mppSearchType,
NonD::natafTransform, Analyzer::numFunctions, NonD::numNormalVars, NonD::numUncertainVars, NonDReliability::pmaMaximizeG, ActiveSet::request value(), ActiveSet::request values(), ActiveSet::request vector(), NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonDReliability::requestedTargetLevel, NonDReliability::respFnCount, NonDLocalReliability::signed norm(), NonDReliability::statCount, NonDLocalReliability::taylorOrder, NonDLocalReliability::update limit state surrogate(), NonDLocalReliability::update pma maximize(),
NonDReliability::uSpaceModel, NonDLocalReliability::warmStartFlag, and NonDLocalReliability::warningBits.
Referenced by NonDLocalReliability::mpp search().
void update level data (
) [private]
convenience function for updating z/p/beta level data and final statistics following MPP convergence
Updates computedRespLevels/computedProbLevels/computedRelLevels, finalStatistics, warm start, and graphics data.
References Response::active set derivative vector(), Response::active set request vector(), Graphics::add datapoint(),
NonD::cdfFlag, NonDLocalReliability::computedGenRelLevel, NonD::computedGenRelLevels, NonD::computedProbLevels, NonDLocalReliability::computedRelLevel, NonD::computedRelLevels, NonDLocalReliability::computedRespLevel, NonD::computedRespLevels, Dakota::dakota graphics, NonDLocalReliability::dg ds eval(), NonDLocalReliability::dp2 dbeta factor(), NonD::finalStatistics, NonDLocalReliability::fnGradU, NonDLocalReliability::fnGradX, NonDLocalReliability::fnHessU, Response::function gradient(), NonDLocalReliability::integrationOrder, NonDReliability::levelCount, NonDLocalReliability::mostProbPointU, NonDLocalReliability::mostProbPointX, Graphics::new dataset(), Analyzer::numFunctions, NonD::numUncertainVars, NonDLocalReliability::prevCumASVLev0, NonDLocalReliability::prevFnGradDLev0, NonDLocalReliability::prevFnGradULev0, NonDLocalReliability::prevMPPULev0, NonDLocalReliability::probability(), NonDLocalReliability::reliability(), NonD::requestedGenRelLevels, NonD::requestedProbLevels, NonD::requestedRelLevels, NonD::requestedRespLevels, NonDReliability::respFnCount, NonD::respLevelTarget, NonD::respLevelTargetReduce, NonDReliability::statCount, Iterator::subIteratorFlag, NonD::totalLevelRequests, and NonDLocalReliability::warmStartFlag.
Referenced by NonDLocalReliability::mpp search().
void dg ds eval ( const RealVector & x vars, const RealVector & fn grad x, RealVector & final stat grad
) [private]
convenience function for evaluating dg/ds
Computes dg/ds where s = design variables. Supports potentially overlapping cases of design variable augmentation and insertion.
References Response::active set derivative vector(), Iterator::activeSet, Model::all continuous variable ids(),
Model::component parallel mode(), Model::compute response(), Dakota::contains(), Model::continuous variableids(), Model::continuous variables(), Dakota::copy data(), Model::current response(), ActiveSet::derivative vector(),
655
NonD::finalStatistics, Response::function gradient copy(), Response::function gradients(), Model::inactive continuousvariable ids(), Iterator::iteratedModel, NonDReliability::mppSearchType, NonD::natafTransform, Iterator::primaryACVarMapIndices, ActiveSet::request value(), ActiveSet::request values(), NonDReliability::respFnCount, Iterator::secondaryACVarMapTargets, and NonDReliability::uSpaceModel.
Referenced by NonDLocalReliability::mean value(), NonDLocalReliability::mpp search(), and NonDLocalReliability::update level data().
Real dp2 dbeta factor ( Real beta, bool cdf flag ) [private]
compute factor for derivative of second-order probability with respect to reliability index (from differentiating
BREITUNG or HOHENRACK expressions)
Compute sensitivity of second-order probability w.r.t. beta for use in derivatives of p 2 or beta w.r.t. auxilliary
parameters s (design, epistemic) or derivatives of beta w.r.t. u in PMA2 constraint eval().
References Dakota::abort handler(), NonDLocalReliability::curvatureDataAvailable, NonDLocalReliability::curvatureThresh, NonDLocalReliability::kappaU, NonD::numUncertainVars, NonDLocalReliability::probability(),
NonDLocalReliability::scale curvature(), NonDLocalReliability::secondOrderIntType, and NonDLocalReliability::warningBits.
Referenced by NonDLocalReliability::PMA2 constraint eval(), and NonDLocalReliability::update level data().
Real probability ( Real beta, bool cdf flag, const RealVector & mpp u, const RealVector & fn grad u,
const RealSymMatrix & fn hess u ) [private]
Convert provided reliability to probability using either a first-order or second-order integration.
Converts beta into a probability using either first-order (FORM) or second-order (SORM) integration. The
SORM calculation first calculates the principal curvatures at the MPP (using the approach in Ch. 8 of Haldar &
Mahadevan), and then applies correction formulations from the literature (Breitung, Hohenbichler-Rackwitz, or
Hong).
References NonDLocalReliability::curvatureDataAvailable, NonDLocalReliability::curvatureThresh, NonDAdaptImpSampling::final probability(), NonDReliability::importanceSampler, NonDLocalReliability::integrationOrder, NonDReliability::integrationRefinement, Iterator::iterator rep(), NonDLocalReliability::kappaU, NonDLocalReliability::kappaUpdated, NonD::numUncertainVars, Iterator::outputLevel, NonDLocalReliability::principalcurvatures(), NonDLocalReliability::probability(), NonDReliability::requestedTargetLevel, NonDReliability::respFnCount, Iterator::run(), NonDLocalReliability::scale curvature(), NonDLocalReliability::secondOrderIntType,
NonDLocalReliability::warningBits, and Dakota::write precision.
The documentation for this class was generated from the following files:
NonDLocalReliability.hpp
NonDLocalReliability.cpp
13.99
Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.
Inheritance diagram for NonDLocalSingleInterval:
656
NonDLocalSingleInterval ()
destructor
Private Attributes
size t statCntr
counter for finalStatistics
Detailed Description
Class for using local gradient-based optimization approaches to calculate interval bounds for epistemic uncertainty
quantification.
The NonDLocalSingleInterval class supports local gradient-based optimization apporaches to determining
interval bounds for epistemic UQ. The interval bounds may be on the entire function in the case of pure interval
analysis (e.g. intervals on input = intervals on output), or the intervals may be on statistics of an inner loop
aleatory analysis such as intervals on means, variances, or percentile levels.
The documentation for this class was generated from the following files:
NonDLocalSingleInterval.hpp
NonDLocalSingleInterval.cpp
13.100
657
NonDPOFDarts ()
destructor
658
Protected Attributes
int samples
int seed
double Q [1220]
int indx
double cc
double c
double zc
double zx
double zy
size t qlen
size t n dim
double xmin
double xmax
double failure threshold
double num darts
double num successive misses p
double num successive misses m
double max num successive misses
double max radius
double accepted void ratio
size t num inserted points
size t total budget
double sample points
double dart
size t flat dim
size t line flat
size t num flat segments
double line flat start
double line flat end
double line flat length
double Lip
double fval
size t active response function
SharedApproxData sharedData
std::vector< Approximation > gpApproximations
Variables gpEvalVars
659
Detailed Description
13.101
NonDPolynomialChaos (Model &model, short exp coeffs approach, unsigned short num int level, short
u space type, bool piecewise basis, bool use derivs)
alternate constructor
NonDPolynomialChaos ()
destructor
660
void resolve inputs (short &u space type, short &data order)
perform error checks and mode overrides
Real terms samples to ratio (size t num exp terms, int samples, Real terms order)
convert number of expansion terms and number of collocation samples to a collocation ratio
void order to dim preference (const UShortArray &order, unsigned short &p, RealVector &dim pref)
convert an isotropic/anisotropic expansion order vector into a scalar plus a dimension preference vector
Private Attributes
String expansionExportFile
filename for export of chaos coefficients
String expansionImportFile
filename for import of chaos coefficients
Real collocRatio
factor applied to terms termsOrder in computing number of regression points, either user specified or inferred
Real termsOrder
exponent applied to number of expansion terms for computing number of regression points
bool tensorRegression
option for regression PCE using a filtered set tensor-product points
bool crossValidation
flag for use of cross-validation for selection of parameter settings in regression approaches
RealVector noiseTols
noise tolerance for compressive sensing algorithms; vector form used in cross-validation
661
Real l2Penalty
L2 penalty for LASSO algorithm (elastic net variant)
UShortArray expOrderSeqSpec
user specification for expansion order (array for multifidelity)
RealVector dimPrefSpec
user specification for dimension preference
SizetArray collocPtsSeqSpec
user specification for collocation points (array for multifidelity)
SizetArray expSamplesSeqSpec
user specification for expansion samples (array for multifidelity)
size t sequenceIndex
sequence index for {expOrder,collocPts,expSamples}SeqSpec
RealMatrix pceGradsMeanX
derivative of the PCE with respect to the x-space variables evaluated at the means (used as uncertainty importance
metrics)
bool normalizedCoeffOutput
user request for use of normalization when outputting PCE coefficients
Detailed Description
13.101.2
662
NonDPolynomialChaos::sequenceIndex, NonDPolynomialChaos::tensorRegression, NonDPolynomialChaos::termsratio to samples(), NonDPolynomialChaos::terms samples to ratio(), NonDPolynomialChaos::termsOrder, NonD::transform model(), NonDExpansion::uSpaceModel, and Analyzer::vary pattern().
NonDPolynomialChaos ( Model & model, short exp coeffs approach, unsigned short num int level, short
u space type, bool piecewise basis, bool use derivs )
alternate constructor
This constructor is used for helper iterator instantiation on the fly.
References Model::assign rep(), NonDExpansion::construct cubature(), NonDExpansion::construct quadrature(),
NonDExpansion::construct sparse grid(), NonDExpansion::expansionCoeffsApproach, NonDExpansion::initialize(),
NonDPolynomialChaos::initialize u space model(), Iterator::iteratedModel, NonD::numContDesVars, NonD::numContEpistUncVars, NonD::numContStateVars, Iterator::outputLevel, NonDPolynomialChaos::resolve inputs(), NonD::transform model(), and NonDExpansion::uSpaceModel.
13.101.3
) [protected], [virtual]
) [protected], [virtual]
13.102
663
Derived nondeterministic class that generates N-dimensional numerical quadrature points for evaluation of expectation integrals over uncorrelated standard normals/uniforms/exponentials/betas/gammas.
Inheritance diagram for NonDQuadrature:
Iterator
Analyzer
NonD
NonDIntegration
NonDQuadrature
NonDQuadrature (Model &model, int num filt samples, const RealVector &dim pref)
alternate constructor for instantiations on the fly that generate a filtered tensor product sample set
NonDQuadrature (Model &model, int num rand samples, int seed, const UShortArray &quad order seq,
const RealVector &dim pref)
alternate constructor for instantiations on the fly that sample randomly from a tensor product multi-index
void update ()
propagate any numSamples updates and/or grid updates/increments
NonDQuadrature ()
664
void reset ()
restore initial state for repeated sub-iterator executions
void sampling reset (int min samples, bool all data flag, bool stats flag)
void increment grid preference (const RealVector &dim pref)
increment SSG level/TPQ order and update anisotropy
void increment grid preference (const RealVector &dim pref, UShortArray &dim quad order)
convenience function used to make increment grid preference() more modular
void compute minimum quadrature order (size t min samples, const RealVector &dim pref, UShortArray
&dim quad order)
calculate smallest dim quad order with at least min samples
void update anisotropic order (const RealVector &dim pref, UShortArray &quad order ref)
update quad order ref based on an updated dimension preference, enforcing previous values as a lower bound
void initialize dimension quadrature order (unsigned short quad order spec, const RealVector &dim prefspec, UShortArray &dim quad order)
initialize dim quad order from quad order spec and dim pref spec
void increment dimension quadrature order (const RealVector &dim pref, UShortArray &dim quad order)
increment the dim quad order entry with maximum preference by 1 and then rebalance
Private Attributes
Pecos::TensorProductDriver tpqDriver
convenience pointer to the numIntDriver representation
bool nestedRules
for studies involving refinement strategies, allow for use of nested quadrature rules such as Gauss-Patterson
UShortArray quadOrderSeqSpec
a sequence of scalar quadrature orders, one per refinement level
UShortArray dimQuadOrderRef
reference point for Pecos::TensorProductDriver::quadOrder: the original user specification for the number of
Gauss points per dimension, plus any refinements posted by increment grid()
665
short quadMode
point generation mode: FULL TENSOR, FILTERED TENSOR, RANDOM TENSOR
size t numSamples
size of a subset of tensor quadrature points (filtered based on product weight or sampled uniformly from the tensor
multi-index); used by the regression PCE approach known as probabilistic collocation
int randomSeed
seed for the random number generator used in sampling of the tensor multi-index
Detailed Description
Derived nondeterministic class that generates N-dimensional numerical quadrature points for evaluation of expectation integrals over uncorrelated standard normals/uniforms/exponentials/betas/gammas.
This class is used by NonDPolynomialChaos, but could also be used for general numerical integration of
moments. It employs Gauss-Hermite, Gauss-Legendre, Gauss-Laguerre, Gauss-Jacobi and generalized Gauss-Laguerre quadrature for use with normal, uniform, exponential, beta, and gamma density functions and integration
bounds. The abscissas and weights for one-dimensional integration are extracted from the appropriate OrthogonalPolynomial class and are extended to n-dimensions using a tensor product approach.
13.102.2
NonDQuadrature ( Model & model, const UShortArray & quad order seq, const RealVector & dim pref
)
alternate constructor for instantiations on the fly based on a quadrature order specification
This alternate constructor is used for on-the-fly generation and evaluation of numerical quadrature points.
References NonDIntegration::numIntDriver, and NonDQuadrature::tpqDriver.
NonDQuadrature ( Model & model, int num filt samples, const RealVector & dim pref )
alternate constructor for instantiations on the fly that generate a filtered tensor product sample set
This alternate constructor is used for on-the-fly generation and evaluation of filtered tensor quadrature points.
References NonDIntegration::numIntDriver, and NonDQuadrature::tpqDriver.
NonDQuadrature ( Model & model, int num rand samples, int seed, const UShortArray &
quad order seq, const RealVector & dim pref )
alternate constructor for instantiations on the fly that sample randomly from a tensor product multi-index
This alternate constructor is used for on-the-fly generation and evaluation of random sampling from a tensor
quadrature multi-index.
References NonDIntegration::numIntDriver, and NonDQuadrature::tpqDriver.
NonDQuadrature ( ProblemDescDB & problem db, Model & model ) [protected]
constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification. It is not currently
used, as there is not yet a separate nond quadrature method specification.
666
13.102.3
void initialize grid ( const std::vector< Pecos::BasisPolynomial > & poly basis ) [protected],
[virtual]
Used in combination with alternate NonDQuadrature constructor.
Implements NonDIntegration.
References Iterator::maxEvalConcurrency, NonDQuadrature::nestedRules, Analyzer::numContinuousVars, NonDQuadrature::numSamples, NonDQuadrature::quadMode, NonDQuadrature::reset(), NonDQuadrature::tpqDriver,
and NonDQuadrature::update().
void sampling reset ( int min samples, bool all data flag, bool stats flag ) [protected], [virtual]
used by DataFitSurrModel::build global() to publish the minimum number of points needed from the quadrature
routine in order to build a particular global approximation.
Reimplemented from Iterator.
References NonDQuadrature::compute minimum quadrature order(), NonDIntegration::dimPrefSpec, NonDQuadrature::dimQuadOrderRef, NonDQuadrature::nestedRules, Analyzer::numContinuousVars, and NonDQuadrature::tpqDriver.
Referenced by NonDQuadrature::update().
Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References NonDQuadrature::numSamples, NonDQuadrature::quadMode, and NonDQuadrature::tpqDriver.
The documentation for this class was generated from the following files:
NonDQuadrature.hpp
NonDQuadrature.cpp
13.103
NonDQUESOBayesCalibration ()
destructor
Public Attributes
String mcmcType
MCMC type (DRAM or Multilevel, both within QUESO)
String rejectionType
Rejection type (standard or delayed, in the DRAM framework)
String metropolisType
Metropolis type (hastings or adaptive, in the DRAM framework)
int numSamples
number of samples in the chain (e.g. number of MCMC samples)
RealVector proposalCovScale
scale factor for proposal covariance
Real likelihoodScale
scale factor for likelihood
bool calibrateSigmaFlag
flag to indicated if the sigma terms should be calibrated (default true)
667
668
Protected Attributes
int randomSeed
random seed to pass to QUESO
Private Attributes
short emulatorType
the emulator type: NO EMULATOR, GP EMULATOR, PCE EMULATOR, or SC EMULATOR
Detailed Description
13.103.2
13.103.3
) [protected], [virtual]
669
ExperimentData::load scalar(), NonDQUESOBayesCalibration::mcmcType, NonDQUESOBayesCalibration::metropolisType, NonDQUESOBayesCalibration::NonDQUESOInstance, Analyzer::numContinuousVars, NonDCalibration::numExpConfigVars, NonDCalibration::numExperiments, NonDCalibration::numExpStdDeviationsRead, Analyzer::numFunctions, NonDCalibration::numReplicates, NonDQUESOBayesCalibration::numSamples, Iterator::outputLevel, NonDQUESOBayesCalibration::proposalCovScale, NonDBayesCalibration::quantify uncertainty(), NonDQUESOBayesCalibration::randomSeed, NonDQUESOBayesCalibration::rejectionType, ExperimentData::scalarsigma(), NonDBayesCalibration::standardizedSpace, NonDBayesCalibration::stochExpIterator, and Dakota::strends().
The documentation for this class was generated from the following files:
NonDQUESOBayesCalibration.hpp
NonDQUESOBayesCalibration.cpp
13.104
NonDLocalReliability
NonDReliability ()
destructor
Protected Attributes
Model uSpaceModel
Model representing the limit state in u-space, after any recastings and data fits.
Model mppModel
RecastModel which formulates the optimization subproblem: RIA, PMA, EGO.
Iterator mppOptimizer
670
Iterator importanceSampler
importance sampling instance used to compute/refine probabilities
size t numRelAnalyses
number of invocations of quantify uncertainty()
size t approxIters
number of approximation cycles for the current respFnCount/levelCount
bool approxConverged
indicates convergence of approximation-based iterations
int respFnCount
counter for which response function is being analyzed
size t levelCount
counter for which response/probability level is being analyzed
size t statCount
counter for which final statistic is being computed
bool pmaMaximizeG
flag indicating maximization of G(u) within PMA formulation
Real requestedTargetLevel
the {response,reliability,generalized reliability} level target for the current response function
Detailed Description
13.104.2
13.105
671
Base class for common code between NonDLHSSampling, NonDIncremLHSSampling, and NonDAdaptImpSampling.
Inheritance diagram for NonDSampling:
Iterator
Analyzer
NonD
NonDSampling
NonDAdaptImpSampling
NonDAdaptiveSampling
NonDGPImpSampling
NonDIncremLHSSampling
NonDLHSSampling
NonDSampling (unsigned short method name, Model &model, unsigned short sample type, int samples,
int seed, const String &rng, bool vary pattern, short sampling vars mode)
alternate constructor for sample generation and evaluation on the fly
NonDSampling (unsigned short sample type, int samples, int seed, const String &rng, const RealVector
&lower bnds, const RealVector &upper bnds)
alternate constructor for sample generation on the fly
NonDSampling ()
destructor
672
void get parameter sets (const RealVector &lower bnds, const RealVector &upper bnds)
Uses lhsDriver to generate a set of uniform samples over lower bnds/upper bnds.
void update model from sample (Model &model, const Real sample vars)
Override default update of continuous vars only.
void compute statistics (const RealMatrix &vars samples, const IntResponseMap &resp samples)
For the input sample set, computes mean, standard deviation, and probability/reliability/response levels (aleatory
uncertainties) or intervals (epsitemic or mixed uncertainties)
void view design counts (const Model &model, size t &num cdv, size t &num didv, size t &num drdv)
const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
void view aleatory uncertain counts (const Model &model, size t &num cauv, size t &num diauv, size t
&num drauv) const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
void view epistemic uncertain counts (const Model &model, size t &num ceuv, size t &num dieuv, size t
&num dreuv) const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
void view uncertain counts (const Model &model, size t &num cuv, size t &num diuv, size t &num druv)
const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
void view state counts (const Model &model, size t &num csv, size t &num disv, size t &num drsv) const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
void mode counts (const Model &model, size t &cv start, size t &num cv, size t &div start, size t &numdiv, size t &drv start, size t &num drv) const
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
673
Protected Attributes
const int seedSpec
the user seed specification (default is 0)
int randomSeed
the current seed
int samplesRef
reference number of samples updated for refinement
int numSamples
the current number of samples to evaluate
String rngName
name of the random number generator
Pecos::LHSDriver lhsDriver
the C++ wrapper for the F90 LHS library
bool statsFlag
flags computation/output of statistics
bool allDataFlag
flags update of allResponses
short samplingVarsMode
the sampling mode: ALEATORY UNCERTAIN{, UNIFORM}, EPISTEMIC UNCERTAIN{, UNIFORM}, UNCERTAIN{, UNIFORM}, ACTIVE{, UNIFORM}, or ALL{, UNIFORM}. This is a secondary control on top of the
variables view that allows sampling over subsets of variables that may differ from the view.
short sampleRanksMode
mode for input/output of LHS sample ranks: IGNORE RANKS, GET RANKS, SET RANKS, or SET GET RANKS
bool varyPattern
flag for generating a sequence of seed values within multiple get parameter sets() calls so that these executions
(e.g., for SBO/SBNLS) are not repeated, but are still repeatable
RealMatrix sampleRanks
data structure to hold the sample ranks
SensAnalysisGlobal nonDSampCorr
initialize statistical post processing
674
Private Attributes
size t numLHSRuns
counter for number of executions of get parameter sets() for this object
RealMatrix momentCIs
Matrix of confidence internals on moments, with rows for mean lower, mean upper, sd lower, sd upper (calculated
in compute moments())
RealMatrix extremeValues
Minimum (row 0) and maximum (row 1) values of response functions for epistemic calculations (calculated in
compute intervals()),.
RealVectorArray computedPDFAbscissas
sorted response PDF intervals bounds extracted from min/max sample and requested/computedRespLevels (vector
lengths = num bins + 1)
RealVectorArray computedPDFOrdinates
response PDF densities computed from bin counts divided by (unequal) bin widths (vector lengths = num bins)
Detailed Description
Base class for common code between NonDLHSSampling, NonDIncremLHSSampling, and NonDAdaptImpSampling.
This base class provides common code for sampling methods which employ the Latin Hypercube Sampling
(LHS) package from Sandia Albuquerques Risk and Reliability organization. NonDSampling now exclusively
utilizes the 1998 Fortran 90 LHS version as documented in SAND98-0210, which was converted to a UNIX link
library in
1. The 1970s vintage LHS (that had been f2cd and converted to incomplete classes) has been removed.
13.105.2
675
NonDSampling ( unsigned short sample type, int samples, int seed, const String & rng, const RealVector
& lower bnds, const RealVector & upper bnds ) [protected]
alternate constructor for sample generation on the fly
This alternate constructor is used by ConcurrentStrategy for generation of uniform, uncorrelated sample sets.
References Iterator::maxEvalConcurrency, NonDSampling::numSamples, NonDSampling::sampleType, and
Iterator::subIteratorFlag.
13.105.3
Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References NonDSampling::numSamples.
Referenced by NonDAdaptImpSampling::evaluate samples(), and NonDAdaptImpSampling::select rep points().
void sampling reset ( int min samples, bool all data flag, bool stats flag ) [inline], [protected],
[virtual]
resets number of samples and sampling flags
used by DataFitSurrModel::build global() to publish the minimum number of samples needed from the sampling routine (to build a particular global approximation) and to set allDataFlag and statsFlag. In this case, allDataFlag is set to true (vectors of variable and response sets must be returned to build the global approximation)
and statsFlag is set to false (statistics computations are not needed).
Reimplemented from Iterator.
References NonDSampling::allDataFlag, NonDSampling::numSamples, NonDSampling::samplesRef, and NonDSampling::statsFlag.
void get parameter sets ( Model & model ) [protected], [virtual]
Uses lhsDriver to generate a set of samples from the distributions/bounds defined in the incoming model.
This version of get parameter sets() extracts data from the user-defined model in any of the four sampling
modes.
Reimplemented from Analyzer.
References Dakota::abort handler(), Model::acv(), Model::adiv(), Model::aleatory distribution parameters(),
Model::all continuous lower bounds(), Model::all continuous upper bounds(), Model::all discrete int lower bounds(),
Model::all discrete int upper bounds(), Analyzer::allSamples, Model::continuous lower bounds(), Model::continuousupper bounds(), Model::current variables(), Model::discrete design set int values(), Model::discrete design setreal values(), Model::discrete state set int values(), Model::discrete state set real values(), Model::epistemic distribution parameters(), NonDSampling::initialize lhs(), NonDSampling::lhsDriver, NonDSampling::mode counts(),
NonD::numContDesVars, NonD::numContStateVars, NonD::numDiscIntDesVars, NonD::numDiscIntStateVars,
NonD::numDiscRealDesVars, NonD::numDiscRealStateVars, NonDSampling::numSamples, NonDSampling::sampleRanks, NonDSampling::samplingVarsMode, and Variables::view().
Referenced by NonDLHSSampling::NonDLHSSampling(), NonDLHSSampling::pre run(), NonDIncremLHSSampling::quantify uncertainty(), and NonDAdaptImpSampling::quantify uncertainty().
676
void get parameter sets ( const RealVector & lower bnds, const RealVector & upper bnds )
[protected]
Uses lhsDriver to generate a set of uniform samples over lower bnds/upper bnds.
This version of get parameter sets() does not extract data from the user-defined model, but instead relies on
the incoming bounded region definition. It only support a UNIFORM sampling mode, where the distinction of
ACTIVE UNIFORM vs. ALL UNIFORM is handled elsewhere.
References Analyzer::allSamples, NonDSampling::initialize lhs(), NonDSampling::lhsDriver, and NonDSampling::numSamples.
void view design counts ( const Model & model, size t & num cdv, size t & num didv, size t & num drdv
) const [protected]
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
This function computes total design variable counts, not active counts, for use in defining offsets and counts
within all variables arrays.
References Model::all continuous variable types(), Model::all discrete int variable types(), Model::all discretereal variable types(), Model::current variables(), Variables::cv start(), Variables::div start(), Variables::drv start(),
NonD::numContDesVars, NonD::numDiscIntDesVars, NonD::numDiscRealDesVars, and Variables::view().
Referenced by NonDSampling::mode counts().
void view aleatory uncertain counts ( const Model & model, size t & num cauv, size t & num diauv,
size t & num drauv ) const [protected]
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
This function computes total aleatory uncertain variable counts, not active counts, for use in defining offsets
and counts within all variables arrays.
References Model::aleatory distribution parameters(), Model::current variables(), Variables::cv(), Variables::div(), Variables::drv(), NonD::numContAleatUncVars, NonD::numDiscIntAleatUncVars, NonD::numDiscRealAleatUncVars, and Variables::view().
Referenced by NonDSampling::mode counts().
void view epistemic uncertain counts ( const Model & model, size t & num ceuv, size t & num dieuv,
size t & num dreuv ) const [protected]
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
This function computes total epistemic uncertain variable counts, not active counts, for use in defining offsets
and counts within all variables arrays.
References Model::current variables(), Variables::cv(), Variables::div(), Variables::drv(), Model::epistemic distribution parameters(), NonD::numContEpistUncVars, NonD::numDiscIntEpistUncVars, NonD::numDiscRealEpistUncVars, and Variables::view().
Referenced by NonDSampling::mode counts().
void view uncertain counts ( const Model & model, size t & num cuv, size t & num diuv, size t &
num druv ) const [protected]
compute sampled subsets (all, active, uncertain) within all variables (acv/adiv/adrv) from samplingVarsMode and
model
677
This function computes total uncertain variable counts, not active counts, for use in defining offsets and counts
within all variables arrays.
References Model::aleatory distribution parameters(), Model::current variables(), Variables::cv(), Variables::div(), Variables::drv(), Model::epistemic distribution parameters(), NonD::numContAleatUncVars, NonD::numContEpistUncVars, NonD::numDiscIntAleatUncVars, NonD::numDiscIntEpistUncVars, NonD::numDiscRealAleatUncVars, NonD::numDiscRealEpistUncVars, and Variables::view().
Referenced by NonDSampling::mode counts().
The documentation for this class was generated from the following files:
NonDSampling.hpp
NonDSampling.cpp
13.106
Derived nondeterministic class that generates N-dimensional Smolyak sparse grids for numerical evaluation of
expectation integrals over independent standard random variables.
Inheritance diagram for NonDSparseGrid:
Iterator
Analyzer
NonD
NonDIntegration
NonDSparseGrid
678
NonDSparseGrid ()
destructor
void reset ()
restore initial state for repeated sub-iterator executions
void sampling reset (int min samples, bool all data flag, bool stats flag)
679
Private Attributes
Pecos::SparseGridDriver ssgDriver
convenience pointer to the numIntDriver representation
UShortArray ssgLevelSeqSpec
the user specification for the Smolyak sparse grid level, defining a sequence of refinement levels.
Detailed Description
Derived nondeterministic class that generates N-dimensional Smolyak sparse grids for numerical evaluation of
expectation integrals over independent standard random variables.
This class is used by NonDPolynomialChaos and NonDStochCollocation, but could also be used for general numerical integration of moments. It employs 1-D Clenshaw-Curtis and Gaussian quadrature rules within
Smolyak sparse grids.
13.106.2
NonDSparseGrid ( Model & model, short exp coeffs approach, const UShortArray & ssg level seq,
const RealVector & dim pref, short growth rate = Pecos::MODERATE RESTRICTED GROWTH, short
refine control = Pecos::NO CONTROL, bool track uniq prod wts = true, bool track colloc indices =
true )
This alternate constructor is used for on-the-fly generation and evaluation of sparse grids within PCE and SC.
References NonDIntegration::numIntDriver, and NonDSparseGrid::ssgDriver.
NonDSparseGrid ( ProblemDescDB & problem db, Model & model ) [protected]
constructor
This constructor is called for a standard letter-envelope iterator instantiation. In this case, set db list nodes
has been called and probDescDB can be queried for settings from the method specification. It is not currently
used, as there is not a separate sparse grid method specification.
References Model::aleatory distribution parameters(), NonDIntegration::check variables(), NonDIntegration::dimPrefSpec, ProblemDescDB::get bool(), ProblemDescDB::get short(), Iterator::iteratedModel, Iterator::maxEvalConcurrency, NonD::natafTransform, NonDIntegration::numIntDriver, Iterator::probDescDB, NonDSparseGrid::ssgDriver, and NonDSparseGrid::ssgLevelRef.
13.106.3
Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References NonDSparseGrid::ssgDriver.
680
void sampling reset ( int min samples, bool all data flag, bool stats flag ) [protected], [virtual]
used by DataFitSurrModel::build global() to publish the minimum number of points needed from the sparse grid
routine in order to build a particular global approximation.
Reimplemented from Iterator.
References NonDSparseGrid::ssgDriver, and NonDSparseGrid::ssgLevelRef.
The documentation for this class was generated from the following files:
NonDSparseGrid.hpp
NonDSparseGrid.cpp
13.107
NonDStochCollocation (Model &model, short exp coeffs approach, unsigned short num int level, short
u space type, bool piecewise basis, bool use derivs)
alternate constructor
NonDStochCollocation ()
destructor
681
Detailed Description
13.107.2
13.107.3
) [protected], [virtual]
682
References Model::approximations(), NonDExpansion::compute covariance metric(), PecosApproximation::delta covariance(), PecosApproximation::expansion coefficient flag(), NonDExpansion::expansionBasisType, NonDExpansion::initialPtU, NonD::numContDesVars, NonD::numContEpistUncVars, NonD::numContStateVars, Analyzer::numFunctions, NonDExpansion::respCovariance, and NonDExpansion::uSpaceModel.
Real compute final statistics metric (
) [protected], [virtual]
13.108
NonlinearCGOptimizer ()
destructor
Real linesearch eval (const Real &trial step, short req val=1)
evaluate the objective function given a particular step size (public for use in boost ls eval functor; could use friend)
683
void bracket min (Real &xa, Real &xb, Real &xc, Real &fa, Real &fb, Real &fc)
bracket the 1-D minimum in the linesearch
Private Attributes
Real initialStep
initial step length
Real linesearchTolerance
approximate accuracy of absissca in LS
unsigned linesearchType
type of line search (if any)
unsigned maxLinesearchIters
maximum evaluations in line search
Real relFunctionTol
stopping criterion for rel change in fn
Real relGradientTol
stopping criterion for rel reduction in g
bool resetStep
whether to reset step with each linesearch
unsigned restartIter
iter at which to reset to steepest descent
unsigned updateType
type of CG direction update
unsigned iterCurr
current iteration number
RealVector designVars
current decision variables in the major iteration
RealVector trialVars
decision variables in the linesearch
684
Real functionPrev
previous function value
RealVector gradCurr
current gradient
RealVector gradPrev
previous gradient
RealVector gradDiff
temporary for gradient difference (gradCurr - gradPrev)
RealVector searchDirection
current aggregate search direction
Real stepLength
current step length parameter alpha
Detailed Description
13.108.2
13.109
685
SOLBase
NPSOLOptimizer
NPSOLOptimizer (Model &model, const int &derivative level, const Real &conv tol)
alternate constructor for instantiations on the fly
NPSOLOptimizer (const RealVector &initial point, const RealVector &var lower bnds, const RealVector
&var upper bnds, const RealMatrix &lin ineq coeffs, const RealVector &lin ineq lower bnds, const RealVector &lin ineq upper bnds, const RealMatrix &lin eq coeffs, const RealVector &lin eq targets, const
RealVector &nonlin ineq lower bnds, const RealVector &nonlin ineq upper bnds, const RealVector &nonlineq targets, void(user obj eval)(int &, int &, double , double &, double , int &), void(user con eval)(int
&, int &, int &, int &, int , double , double , double , int &), const int &derivative level, const Real
&conv tol)
alternate constructor for instantiations on the fly
NPSOLOptimizer ()
destructor
686
Private Attributes
String setUpType
controls iteration mode: model (normal usage) or user functions (user-supplied functions mode for on the
fly instantiations). NonDReliability currently uses the user functions mode.
RealVector initialPoint
holds initial point passed in for user functions mode.
RealVector lowerBounds
holds variable lower bounds passed in for user functions mode.
RealVector upperBounds
holds variable upper bounds passed in for user functions mode.
void( userObjectiveEval )(int &, int &, double , double &, double , int &)
holds function pointer for objective function evaluator passed in for user functions mode.
void( userConstraintEval )(int &, int &, int &, int &, int , double , double , double , int &)
holds function pointer for constraint function evaluator passed in for user functions mode.
Detailed Description
13.109.2
687
13.110
688
OptDartsOptimizer ()
Destructor.
void opt darts execute (size t num dim, size t budget, double xmin, double xmax, double TOL, size t
problem index, double fw MC, double fb MC)
Run the OPT-DARTS method.
689
Private Attributes
double xmin
double xmax
double dart
double st
double end
double tmp point
double qH
double nH
double x
double xc
double f
double K
double h
double r
size t neighbors
size t tmp neighbors
size t ext neighbors
size t num ext neighbors
bool use opt darts
bool estimate K
size t ib
size t num samples
size t budget
size t num dim
double diag
size t problem index
double fb
double fw
double fval
size t corner index
size t num corners
size t corners
double epsilon
double fb MC
double fw MC
double xm
double xp
690
Detailed Description
13.111
691
Iterator
Minimizer
Optimizer
APPSOptimizer
COLINOptimizer
CONMINOptimizer
DOTOptimizer
JEGAOptimizer
NCSUOptimizer
NLPQLPOptimizer
NomadOptimizer
NonlinearCGOptimizer
NPSOLOptimizer
OptDartsOptimizer
SNLLOptimizer
Optimizer (unsigned short method name, size t num cv, size t num div, size t num drv, size t num lin ineq, size t num lin eq, size t num nln ineq, size t num nln eq)
alternate constructor for on the fly instantiations
Optimizer ()
destructor
692
Protected Attributes
size t numObjectiveFns
number of objective functions (iterator view)
bool localObjectiveRecast
flag indicating whether local recasting to a single objective is used
Optimizer prevOptInstance
pointer containing previous value of optimizerInstance
void objective reduction (const Response &full response, const BoolDeque &sense, const RealVector &fullwts, Response &reduced response) const
forward mapping: maps multiple primary response functions to a single weighted objective for single-objective
optimizers
void local objective recast retrieve (const Variables &vars, Response &response) const
infers MOO/NLS solution from the solution of a single-objective optimizer
693
Detailed Description
13.111.2
) [protected], [virtual]
Implements portions of initialize run specific to Optimizers. This function should be invoked (or reimplemented)
by any derived implementations of initialize run() (which would otherwise hide it).
Reimplemented from Minimizer.
Reimplemented in SNLLOptimizer, NLPQLPOptimizer, and DOTOptimizer.
References Minimizer::initialize run(), Iterator::iteratedModel, Minimizer::minimizerRecasts, Optimizer::optimizerInstance, Optimizer::prevOptInstance, and Model::update from subordinate model().
Referenced by DOTOptimizer::initialize run(), CONMINOptimizer::initialize run(), NLPQLPOptimizer::initializerun(), and SNLLOptimizer::initialize run().
void core run (
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References Optimizer::find optimum().
void post run ( std::ostream & s ) [protected], [virtual]
Implements portions of post run specific to Optimizers. This function should be invoked (or reimplemented) by
any derived implementations of post run() (which would otherwise hide it).
Reimplemented from Minimizer.
Reimplemented in SNLLOptimizer.
References Dakota::abort handler(), Response::active set request vector(), Iterator::bestResponseArray, Iterator::bestVariablesArray, Variables::continuous variables(), Response::copy(), Minimizer::cvScaleMultipliers, Minimizer::cvScaleOffsets, Minimizer::cvScaleTypes, Minimizer::expData, Response::function value(), Response::functionvalues(), Optimizer::local objective recast retrieve(), Optimizer::localObjectiveRecast, Minimizer::modify s2n(),
Minimizer::need resp trans byvars(), Minimizer::numExperiments, Minimizer::numNonlinearConstraints, Minimizer::numReplicates, Minimizer::numUserPrimaryFns, Minimizer::obsDataFlag, Minimizer::post run(), Minimizer::primaryRespScaleFlag, Minimizer::response modify s2n(), ExperimentData::scalar data(), Minimizer::secondaryRespScaleFlag, Response::update partial(), and Minimizer::varsScaleFlag.
Referenced by COLINOptimizer::post run(), and SNLLOptimizer::post run().
void finalize run (
utility function to perform common operations following post run(); deallocation and resetting of instance pointers
Optional: perform finalization phases of run sequence, like deallocating memory and resetting instance pointers. Commonly used in sub-iterator executions. This is a virtual function; when re-implementing, a derived class
must call its nearest parents finalize run(), typically after performing its own implementation steps.
Reimplemented from Minimizer.
694
695
only technique supported currently. The weightings are used to scale function values, gradients, and Hessians as
needed.
References Response::active set request vector(), Response::function gradient view(), Response::function gradients(), Response::function hessian view(), Response::function hessians(), Response::function value(), Response::function values(), Response::num functions(), Minimizer::numConstraints, Minimizer::objective(), Minimizer::objective gradient(), Minimizer::objective hessian(), Iterator::outputLevel, and Dakota::write precision.
Referenced by Optimizer::primary resp reducer().
void local objective recast retrieve ( const Variables & vars, Response & response ) const [private]
infers MOO/NLS solution from the solution of a single-objective optimizer
Retrieve a MOO/NLS response based on the data returned by a single objective optimizer by performing a
data pairs search. This may get called even for a single user-specified function, since we may be recasting a single
NLS residual into a squared objective.
References Response::active set(), Dakota::data pairs, Response::function value(), Model::interface id(), Iterator::iteratedModel, Dakota::lookup by val(), Minimizer::numRowsExpData, Minimizer::numUserPrimaryFns, Minimizer::obsDataFlag, ActiveSet::reshape(), and Response::update().
Referenced by Optimizer::post run().
The documentation for this class was generated from the following files:
DakotaOptimizer.hpp
DakotaOptimizer.cpp
13.112
Class to manage redirection of stdout/stderr, and keep track of current redir state, and manage rank 0 output.
OutputManager (const ProgramOptions &prog opts, int dakota world rank=0, bool dakota mpirun flag=false)
Standard constructor, taking user-specified program options and optionally taking the rank of this process in
Dakotas MPI Comm.
OutputManager ()
Destructor that closes streams and other outputs.
void redirect cout (const ProgramOptions &prog opts, bool force cout redirect=false)
Redirect cout based on program options filenames and force flag.
696
Public Attributes
bool graph2DFlag
flag for using 2D graphics plots
bool tabularDataFlag
flag for file tabulation of graphics data
bool resultsOutputFlag
whether to output results data
String tabularDataFile
filename for tabulation of graphics data
String resultsOutputFile
filename for results data
void read write restart (bool read restart flag, const String &read restart filename, size t stop restart eval,
const String &write restart filename)
conditionally import evaluations from restart file, then always create or overwrite restart file
Private Attributes
int worldRank
output manager handles rank 0 only output when needed
bool mpirunFlag
some output is only for MPI runs
String fileTag
tag for various input/output files (default none)
697
String startupMessage
message to print at startup when proceeding to instantiate objects
String coutFilename
current (potentially tagged) filename for output, ProgramOptions has root
String cerrFilename
current (potentially tagged) filename for error, ProgramOptions has root
std::ofstream restartOutputFS
Binary stream to which restart data is written.
13.112.1
Detailed Description
Class to manage redirection of stdout/stderr, and keep track of current redir state, and manage rank 0 output.
13.112.2
OutputManager ( const ProgramOptions & prog opts, int dakota world rank = 0, bool dakota mpirun flag
= false )
Standard constructor, taking user-specified program options and optionally taking the rank of this process in
Dakotas MPI Comm.
Only get minimal information off ProgramOptions as may be updated later by broadcast.
References OutputManager::mpirunFlag, ProgramOptions::output file(), OutputManager::redirect cout(), Dakota::start dakota heartbeat(), ProgramOptions::user stdout redirect(), and OutputManager::worldRank.
The documentation for this class was generated from the following files:
OutputManager.hpp
OutputManager.cpp
13.113
Container class for a set of ParallelLevel list iterators that collectively identify a particular multilevel parallel
configuration.
ParallelConfiguration ()
destructor
698
Private Attributes
short numParallelLevels
number of parallel levels
ParLevLIter wPLIter
list iterator for MPI COMM WORLD (not strictly required, but improves modularity by avoiding explicit usage of
MPI COMM WORLD)
ParLevLIter siPLIter
list iterator for concurrent iterator partitions (there may be more than one per parallel configuration instance)
ParLevLIter iePLIter
list iterator identifying the iterator-evaluation parallelLevel (there can only be one)
ParLevLIter eaPLIter
list iterator identifying the evaluation-analysis parallelLevel (there can only be one)
Friends
class ParallelLibrary
the ParallelLibrary class has special access priveleges in order to streamline implementation
13.113.1
Detailed Description
Container class for a set of ParallelLevel list iterators that collectively identify a particular multilevel parallel
configuration.
Rather than containing the multilevel parallel configuration directly, ParallelConfiguration instead provides a
set of list iterators which point into a combined list of ParallelLevels. This approach allows different configurations
to reuse ParallelLevels without copying them. A list of ParallelConfigurations is contained in ParallelLibrary
(ParallelLibrary::parallelConfigurations).
The documentation for this class was generated from the following file:
ParallelLibrary.hpp
13.114
699
Sample derived interface class for testing parallel simulator plug-ins using assign rep().
Inheritance diagram for ParallelDirectApplicInterface:
Interface
ApplicationInterface
DirectApplicInterface
ParallelDirectApplicInterface
ParallelDirectApplicInterface ()
destructor
700
Detailed Description
Sample derived interface class for testing parallel simulator plug-ins using assign rep().
The plug-in ParallelDirectApplicInterface resides in namespace SIM and uses a copy of textbook() to perform
parallel parameter to response mappings. It is used to demonstrate plugging in a parallel direct analysis driver
into Dakota in library mode. Test input files can then use an analysis driver of plugin textbook.
13.114.2
void test local evaluations ( Dakota::PRPQueue & prp queue ) [inline], [protected]
invokes wait local evaluations() (no special nowait support)
For use by ApplicationInterface::serve evaluations asynch(), which can provide a batch processing capability within message passing schedulers (called using chain ApplicationInterface::serve evaluations() from Model::serve() from IteratorScheduler::run iterator()).
References ParallelDirectApplicInterface::wait local evaluations().
The documentation for this class was generated from the following files:
PluginParallelDirectApplicInterface.hpp
PluginParallelDirectApplicInterface.cpp
13.115
Container class for the data associated with a single level of communicator partitioning.
ParallelLevel ()
destructor
Private Attributes
bool dedicatedMasterFlag
signals dedicated master partitioning
bool commSplitFlag
signals a communicator split was used
bool serverMasterFlag
identifies master server processors
bool messagePass
flag for message passing at this level
bool idlePartition
identifies presence of an idle processor
int numServers
number of servers
701
702
int procRemainder
proc remainder after equal distribution
int serverCommRank
rank in serverIntraComm
int serverCommSize
size of serverIntraComm
int hubServerCommRank
rank in hubServerIntraComm
int hubServerCommSize
size of hubServerIntraComm
int serverId
server identifier
Friends
class ParallelLibrary
the ParallelLibrary class has special access priveleges in order to streamline implementation
13.115.1
Detailed Description
Container class for the data associated with a single level of communicator partitioning.
A list of these levels is contained in ParallelLibrary (ParallelLibrary::parallelLevels), which defines all of the
parallelism levels across one or more multilevel parallelism configurations.
The documentation for this class was generated from the following file:
ParallelLibrary.hpp
13.116
Class for partitioning multiple levels of parallelism and managing message passing within these levels.
703
ParallelLibrary (const MPIManager &mpi mgr, ProgramOptions &prog opts, OutputManager &output mgr)
stand-alone and default library mode constructor; dont require options
ParallelLibrary ()
destructor
const ParallelLevel & init iterator communicators (int iterator servers, int procs per iterator, int min procsper iterator, int max procs per iterator, int max iterator concurrency, short default config, short iterator scheduling, bool peer dynamic avail)
split MPI COMM WORLD into iterator communicators
const ParallelLevel & init evaluation communicators (int evaluation servers, int procs per evaluation, int
min procs per eval, int max procs per eval, int max evaluation concurrency, int asynch local evaluation concurrency, short default config, short evaluation scheduling, bool peer dynamic avail)
split an iterator communicator into evaluation communicators
const ParallelLevel & init analysis communicators (int analysis servers, int procs per analysis, int min procs per analysis, int max procs per analysis, int max analysis concurrency, int asynch local analysis concurrency, short default config, short analysis scheduling, bool peer dynamic avail)
split an evaluation communicator into analysis communicators
704
void recv si (int &recv int, int source, int tag, MPI Status &status)
blocking receive at the strategy-iterator communication level
void isend si (MPIPackBuffer &send buff, int dest, int tag, MPI Request &send req)
nonblocking send at the strategy-iterator communication level
void recv si (MPIUnpackBuffer &recv buff, int source, int tag, MPI Status &status)
blocking receive at the strategy-iterator communication level
void irecv si (MPIUnpackBuffer &recv buff, int source, int tag, MPI Request &recv req)
nonblocking receive at the strategy-iterator communication level
void isend ie (MPIPackBuffer &send buff, int dest, int tag, MPI Request &send req)
nonblocking send at the iterator-evaluation communication level
void recv ie (MPIUnpackBuffer &recv buff, int source, int tag, MPI Status &status)
blocking receive at the iterator-evaluation communication level
void irecv ie (MPIUnpackBuffer &recv buff, int source, int tag, MPI Request &recv req)
nonblocking receive at the iterator-evaluation communication level
void isend ea (int &send int, int dest, int tag, MPI Request &send req)
nonblocking send at the evaluation-analysis communication level
void irecv ea (int &recv int, int source, int tag, MPI Request &recv req)
nonblocking receive at the evaluation-analysis communication level
void barrier w ()
enforce MPI Barrier on MPI COMM WORLD
void barrier i ()
enforce MPI Barrier on an iterator communicator
void barrier e ()
705
706
void barrier a ()
enforce MPI Barrier on an analysis communicator
void reduce sum ea (double local vals, double sum vals, int num vals)
compute a sum over an eval-analysis intra-communicator using MPI Reduce
void reduce sum a (double local vals, double sum vals, int num vals)
compute a sum over an analysis communicator using MPI Reduce
void test (MPI Request &request, int &test flag, MPI Status &status)
test a nonblocking send/receive request for completion
void waitsome (int num sends, MPI Request &recv requests, int &num recvs, int &index array, MPI Status &status array)
wait for at least one message from a series of nonblocking receives but complete all that are available
707
void init communicators (const ParallelLevel &parent pl, int num servers, int procs per server, int min procs per server, int max procs per server, int max concurrency, int asynch local concurrency, short defaultconfig, short scheduling override, bool peer dynamic avail)
split a parent communicator into child server communicators
void split communicator dedicated master (const ParallelLevel &parent pl, ParallelLevel &child pl)
split a parent communicator into a dedicated master processor and num servers child communicators
void split communicator peer partition (const ParallelLevel &parent pl, ParallelLevel &child pl)
split a parent communicator into num servers peer child communicators (no dedicated master processor)
void resolve inputs (ParallelLevel &child pl, int avail procs, int min procs per server, int max procs perserver, int max concurrency, int capacity multiplier, short default config, short scheduling override, bool
peer dynamic avail, bool print rank)
resolve user inputs into a sensible partitioning scheme
void send (MPIPackBuffer &send buff, int dest, int tag, ParallelLevel &parent pl, ParallelLevel &child pl)
blocking buffer send at the current communication level
void send (int &send int, int dest, int tag, ParallelLevel &parent pl, ParallelLevel &child pl)
blocking integer send at the current communication level
void isend (MPIPackBuffer &send buff, int dest, int tag, MPI Request &send req, ParallelLevel &parent pl, ParallelLevel &child pl)
nonblocking buffer send at the current communication level
void isend (int &send int, int dest, int tag, MPI Request &send req, ParallelLevel &parent pl, ParallelLevel
&child pl)
nonblocking integer send at the current communication level
void recv (MPIUnpackBuffer &recv buff, int source, int tag, MPI Status &status, ParallelLevel &parent pl,
ParallelLevel &child pl)
blocking buffer receive at the current communication level
708
void irecv (MPIUnpackBuffer &recv buff, int source, int tag, MPI Request &recv req, ParallelLevel &parentpl, ParallelLevel &child pl)
nonblocking buffer receive at the current communication level
void irecv (int &recv int, int source, int tag, MPI Request &recv req, ParallelLevel &parent pl, ParallelLevel &child pl)
nonblocking integer receive at the current communication level
void reduce sum (double local vals, double sum vals, int num vals, const MPI Comm &comm)
compute a sum over comm using MPI Reduce
void check error (const String &err source, int err code)
check the MPI return code and abort if error
void inherit as server comm (const ParallelLevel &parent pl, ParallelLevel &child pl)
convenience function for updating child serverIntraComm from parent serverIntraComm
void inherit as hub server comm (const ParallelLevel &parent pl, ParallelLevel &child pl)
convenience function for updating child hubServerIntraComm from parent serverIntraComm
Private Attributes
const MPIManager & mpiManager
reference to the MPI manager with Dakotas MPI options
int worldRank
rank in MPI Comm in which DAKOTA is running
int worldSize
size of MPI Comm in which DAKOTA is running
bool mpirunFlag
flag for a parallel mpirun/yod launch
709
bool dummyFlag
prevents multiple MPI Finalize calls due to dummy lib
bool outputTimings
timing info only beyond help/version/check
Real startCPUTime
start reference for UTILIB CPU timer
Real startWCTime
start reference for UTILIB wall clock timer
Real startMPITime
start reference for MPI wall clock timer
long startClock
start reference for local clock() timer measuring
ParLevLIter currPLIter
list iterator identifying the current node in parallelLevels
ParConfigLIter currPCIter
list iterator identifying the current node in parallelConfigurations
13.116.1
Detailed Description
Class for partitioning multiple levels of parallelism and managing message passing within these levels.
The ParallelLibrary class encapsulates all of the details of performing message passing within multiple levels
of parallelism. It provides functions for partitioning of levels according to user configuration input and functions
for passing messages within and across MPI communicators for each of the parallelism levels. If support for other
message-passing libraries beyond MPI becomes needed (PVM, ...), then ParallelLibrary would be promoted to a
base class with virtual functions to encapsulate the library-specific syntax.
13.116.2
ParallelLibrary (
710
13.116.3
) [inline]
) [private]
convenience function for initializing DAKOTAs top-level MPI communicators, based on dakotaMPIComm
shared function for initializing based on passed MPI Comm
References Dakota::abort handler(), ParallelLibrary::currPLIter, ParallelLibrary::dakotaMPIComm, ParallelLibrary::increment parallel configuration(), ParallelLibrary::mpirunFlag, ParallelLibrary::outputManager, ParallelLibrary::parallelLevels, ParallelLevel::serverCommRank, ParallelLevel::serverCommSize, ParallelLevel::serverIntraComm, ParallelLibrary::startMPITime, OutputManager::startup message(), ParallelLibrary::worldRank, and
ParallelLibrary::worldSize.
Referenced by ParallelLibrary::ParallelLibrary().
711
void init communicators ( const ParallelLevel & parent pl, int num servers, int procs per server, int
min procs per server, int max procs per server, int max concurrency, int asynch local concurrency, short
default config, short scheduling override, bool peer dynamic avail ) [private]
split a parent communicator into child server communicators
Split parent communicator into concurrent child server partitions as specified by the passed parameters. This
constructs new child intra-communicators and parent-child inter-communicators. This function is called from the
Strategy constructor for the concurrent iterator level and from ApplicationInterface::init communicators() for the
concurrent evaluation and concurrent analysis levels.
References ParallelLibrary::currPCIter, ParallelLibrary::currPLIter, ParallelLevel::dedicatedMasterFlag, ParallelLevel::messagePass, ParallelLevel::numServers, ParallelLibrary::parallelLevels, ParallelLevel::procsPerServer, ParallelLibrary::resolve inputs(), ParallelLevel::serverCommRank, ParallelLevel::serverCommSize, ParallelLibrary::splitcommunicator dedicated master(), and ParallelLibrary::split communicator peer partition().
Referenced by ParallelLibrary::init analysis communicators(), ParallelLibrary::init evaluation communicators(),
and ParallelLibrary::init iterator communicators().
void resolve inputs ( ParallelLevel & child pl, int avail procs, int min procs per server, int
max procs per server, int max concurrency, int capacity multiplier, short default config, short
scheduling override, bool peer dynamic avail, bool print rank ) [private]
resolve user inputs into a sensible partitioning scheme
This function is responsible for the auto-configure intelligence of DAKOTA. It resolves a variety of inputs
and overrides into a sensible partitioning configuration for a particular parallelism level. It also handles the general
case in which a users specification request does not divide out evenly with the number of available processors for
the level. If num servers & procs per server are both nondefault, then the former takes precedence.
References Dakota::abort handler(), ParallelLevel::dedicatedMasterFlag, ParallelLevel::numServers, ParallelLevel::procRemainder, and ParallelLevel::procsPerServer.
Referenced by ParallelLibrary::init communicators().
The documentation for this class was generated from the following files:
ParallelLibrary.hpp
ParallelLibrary.cpp
13.117
Container class for a variables object, a response object, and an evaluation id.
ParamResponsePair (const Variables &vars, const String &interface id, const Response &response, bool
deep copy=false)
alternate constructor for temporaries
ParamResponsePair (const Variables &vars, const String &interface id, const Response &response, const
int eval id, bool deep copy=true)
standard constructor for history uses
712
713
Private Attributes
Variables prPairParameters
the set of parameters for the function evaluation
Response prPairResponse
the response set for the function evaluation
IntStringPair evalInterfaceIds
the evalInterfaceIds aggregate
Friends
class boost::serialization::access
allow boost access to serialize this class
13.117.1
Detailed Description
Container class for a variables object, a response object, and an evaluation id.
ParamResponsePair provides a container class for association of the input for a particular function evaluation
(a variables object) with the output from this function evaluation (a response object), along with an evaluation
identifier. This container defines the basic unit used in the data pairs cache, in restart file operations, and in a
variety of scheduling algorithm queues. With the advent of STL, replacement of arrays of this class with map<>
and pair<> template constructs may be possible (using map<pair<int,String>, pair<Variables,Response> >,
for example), assuming that deep copies, I/O, alternate constructors, etc., can be adequately addressed. Boost
tuple<> may also be a candidate.
13.117.2
ParamResponsePair ( const Variables & vars, const String & interface id, const Response & response,
bool deep copy = false ) [inline]
alternate constructor for temporaries
Uses of this constructor often employ the standard Variables and Response copy constructors to share representations since this constructor is commonly used for search pairs (which are local instantiations that go out of
scope prior to any changes to values; i.e., they are not used for history).
ParamResponsePair ( const Variables & vars, const String & interface id, const Response & response,
const int eval id, bool deep copy = true ) [inline]
standard constructor for history uses
Uses of this constructor often do not share representations since deep copies are used when history mechanisms (e.g., data pairs and beforeSynchCorePRPQueue) are involved.
714
13.117.3
13.117.4
13.118
715
ParamStudy ()
destructor
bool load distribute points (const String &points filename, bool annotated)
template<typename OrdinalType , typename ScalarTypeA , typename ScalarTypeC , typename ScalarTypeDI , typename ScalarTypeDR >
bool distribute (const Teuchos::SerialDenseVector< OrdinalType, ScalarTypeA > &all data, Teuchos::SerialDenseVector< OrdinalType, ScalarTypeC > &c data, Teuchos::SerialDenseVector< OrdinalType,
ScalarTypeDI > &di data, Teuchos::SerialDenseVector< OrdinalType, ScalarTypeDR > &dr data)
distributes incoming all vector in standard variable ordering among continuous, discrete int, and discrete real
vectors
716
bool check steps per variable (const IntVector &steps per var)
perform error checks on stepsPerVariable
bool check ranges sets (const IntVector &c steps, const IntVector &di steps, const IntVector &dr steps)
sanity check for centered parameter study
bool check sets (const IntVector &c steps, const IntVector &di steps, const IntVector &dr steps)
sanity check for increments along int/real set dimensions
int index step (size t start, size t end, int num steps) const
check for out of bounds and index remainder and return step
void dsi step (size t di index, int increment, const IntSet &values, Variables &vars)
helper function for performing a discrete step in an integer set variable
void dsr step (size t dr index, int increment, const RealSet &values, Variables &vars)
helper function for performing a discrete step in a real set variable
void centered header (const String &type, size t var index, int step, size t hdr index)
store a centered parameter study header within allHeaders
Private Attributes
size t numEvals
total number of parameter study evaluations computed from specification
RealVectorArray listCVPoints
array of continuous evaluation points for the list parameter study
IntVectorArray listDIVPoints
array of discrete int evaluation points for the list parameter study
RealVectorArray listDRVPoints
array of discrete real evaluation points for the list parameter study
717
RealVector initialCVPoint
the continuous starting point for vector and centered parameter studies
IntVector initialDIVPoint
the continuous starting point for vector and centered parameter studies
RealVector initialDRVPoint
the continuous starting point for vector and centered parameter studies
RealVector contStepVector
the n-dimensional continuous increment
IntVector discIntStepVector
the n-dimensional discrete value or index increment
IntVector discRealStepVector
the n-dimensional discrete real index increment
RealVector finalPoint
the ending point for vector parameter study (a specification option)
int numSteps
the number of times continuous/discrete step vectors are applied for vector parameter study (a specification option)
IntVector contStepsPerVariable
number of offsets in the plus and the minus direction for each continuous variable in a centered parameter study
IntVector discIntStepsPerVariable
number of offsets in the plus and the minus direction for each discrete integer variable in a centered parameter study
IntVector discRealStepsPerVariable
number of offsets in the plus and the minus direction for each discrete real variable in a centered parameter study
UShortArray contVarPartitions
number of partitions for each continuous variable in a multidim parameter study
UShortArray discIntVarPartitions
number of partitions for each discrete integer variable in a multidim parameter study
UShortArray discRealVarPartitions
number of partitions for each discrete real variable in a multidim parameter study
Detailed Description
718
13.118.2
) [virtual]
pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori
pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call
its nearest parents pre run(), if implemented, typically before performing its own implementation steps.
Reimplemented from Iterator.
References Dakota::abort handler(), SharedVariablesData::active components totals(), Analyzer::allHeaders,
Analyzer::allVariables, ParamStudy::centered loop(), Variables::continuous variables(), ParamStudy::contStepsPerVariable, ParamStudy::contStepVector, ParamStudy::contVarPartitions, Dakota::copy data(), Model::current variables(), ParamStudy::discIntStepsPerVariable, ParamStudy::discIntStepVector, ParamStudy::discIntVarPartitions,
ParamStudy::discRealStepsPerVariable, ParamStudy::discRealStepVector, ParamStudy::discRealVarPartitions, Variables::discrete int variables(), Variables::discrete real variables(), ParamStudy::distribute partitions(), ParamStudy::finalpoint to step vector(), ParamStudy::finalPoint, ParamStudy::initialCVPoint, ParamStudy::initialDIVPoint, ParamStudy::initialDRVPoint, Iterator::iteratedModel, Iterator::method enum to string(), Iterator::methodName, ParamStudy::multidim loop(), ParamStudy::numEvals, ParamStudy::numSteps, Iterator::outputLevel, Iterator::pre run(),
ParamStudy::sample(), Variables::shared data(), ParamStudy::vector loop(), and Dakota::write ordered().
void post run ( std::ostream & s ) [virtual]
post-run portion of run (optional); verbose to print results; re-implemented by Iterators that can read all Variables/Responses and perform final analysis phase in a standalone way
Post-run phase, which a derived iterator may optionally reimplement; when not present, post-run is likely
integrated into run. This is a virtual function; when re-implementing, a derived class must call its nearest parents
post run(), typically after performing its own implementation steps.
Reimplemented from Analyzer.
References Analyzer::allResponses, Analyzer::allVariables, SensAnalysisGlobal::compute correlations(), Iterator::methodName, Analyzer::post run(), PStudyDACE::pStudyDACESensGlobal, and Iterator::subIteratorFlag.
bool load distribute points ( const String & points filename, bool annotated ) [private]
Load from file and distribute points; using this function to manage construction of the temporary array
References ParamStudy::distribute list of points(), Analyzer::numContinuousVars, Analyzer::numDiscreteIntVars, and Analyzer::numDiscreteRealVars.
Referenced by ParamStudy::ParamStudy().
The documentation for this class was generated from the following files:
ParamStudy.hpp
ParamStudy.cpp
13.119
predicate for comparing ONLY the interfaceId and Vars attributes of PRPair
13.119.1
Detailed Description
predicate for comparing ONLY the interfaceId and Vars attributes of PRPair
The documentation for this struct was generated from the following file:
PRPMultiIndex.hpp
13.120
13.120.1
Detailed Description
13.121
Approximation
PecosApproximation
PecosApproximation ()
destructor
719
720
Real mean ()
return the mean of the expansion, treating all variables as random
const Pecos::RealVector & mean gradient (const Pecos::RealVector &x, const Pecos::SizetArray &dvv)
return the gradient of the expansion mean for a given parameter vector and given DVV, treating a subset of the
variables as random
Real variance ()
return the variance of the expansion, treating all variables as random
const Pecos::RealVector & variance gradient (const Pecos::RealVector &x, const Pecos::SizetArray &dvv)
return the gradient of the expansion variance for a given parameter vector and given DVV, treating a subset of the
variables as random
721
Real delta beta (const RealVector &x, bool cdf flag, Real z bar)
return the change in reliability index (mapped from z bar) between two response expansions, treating a subset of
variables as random
Real delta z (const RealVector &x, bool cdf flag, Real beta bar)
return the change in response level (mapped from beta bar) between two response expansions, treating a subset of
the variables as random
void standardize moments (const Pecos::RealVector ¢ral moments, Pecos::RealVector &std moments)
standardize the central moments returned from Pecos
722
void build ()
builds the approximation from scratch
void rebuild ()
rebuilds the approximation incrementally
void restore ()
restores state prior to previous append()
void finalize ()
finalize approximation by applying all remaining trial sets
void store ()
store current approximation for later combination
Private Attributes
Pecos::BasisApproximation pecosBasisApprox
the Pecos basis approximation, encompassing OrthogPolyApproximation and InterpPolyApproximation
Pecos::PolynomialApproximation polyApproxRep
convenience pointer to representation of Pecos polynomial approximation
723
Detailed Description
13.121.2
void build (
724
13.122
The database containing information parsed from the DAKOTA input file.
Inheritance diagram for ProblemDescDB:
ProblemDescDB
NIDRProblemDescDB
ProblemDescDB ()
destructor
void parse inputs (const ProgramOptions &prog opts, DbCallbackFunctionPtr callback=NULL, void callbackdata=NULL)
Parses the input file or input string if present and executes callbacks. Does not perform any validation.
void broadcast ()
invokes send db buffer() and receive db buffer() to broadcast DB data across the processor allocation. Used by
manage inputs().
void lock ()
Locks the database in order to prevent data access when the list nodes may not be set properly. Unlocked by a set
nodes operation.
void unlock ()
Explicitly unlocks the database. Use with care.
725
726
const SizetArray & get sza (const String &entry name) const
get an SizetArray out of the database based on an identifier string
const UShortArray & get usa (const String &entry name) const
get an UShortArray out of the database based on an identifier string
const RealSymMatrix & get rsm (const String &entry name) const
get a RealSymMatrix out of the database based on an identifier string
const RealVectorArray & get rva (const String &entry name) const
get a RealVectorArray out of the database based on an identifier string
const IntVectorArray & get iva (const String &entry name) const
get an IntVectorArray out of the database based on an identifier string
const IntSetArray & get isa (const String &entry name) const
get an IntSetArray out of the database based on an identifier string
const RealSetArray & get rsa (const String &entry name) const
get a RealSetArray out of the database based on an identifier string
const IntRealMapArray & get irma (const String &entry name) const
get an IntRealMapArray out of the database based on an identifier string
const RealRealMapArray & get rrma (const String &entry name) const
get a RealRealMapArray out of the database based on an identifier string
const String2DArray & get s2a (const String &entry name) const
get a String2DArray out of the database based on an identifier string
const String & get string (const String &entry name) const
get a String out of the database based on an identifier string
const Real & get real (const String &entry name) const
get a Real out of the database based on an identifier string
727
728
Protected Attributes
DataEnvironment environmentSpec
the environment specification (only one allowed) resulting from a call to environment kwhandler() or insert node()
size t environmentCntr
counter for environment specifications used in check input
729
Private Attributes
ParallelLibrary & parallelLib
reference to the parallel lib object passed from main
IteratorList iteratorList
list of iterator objects, one for each method specification
ModelList modelList
list of model objects, one for each model specification
VariablesList variablesList
list of variables objects, one for each variables specification
InterfaceList interfaceList
list of interface objects, one for each interface specification
ResponseList responseList
list of response objects, one for each responses specification
bool methodDBLocked
prevents use of get <type> retrieval and set <type> update functions prior to setting the list node for the active
method specification
bool modelDBLocked
prevents use of get <type> retrieval and set <type> update functions prior to setting the list node for the active
model specification
bool variablesDBLocked
prevents use of get <type> retrieval and set <type> update functions prior to setting the list node for the active
variables specification
bool interfaceDBLocked
prevents use of get <type> retrieval and set <type> update functions prior to setting the list node for the active
interface specification
bool responsesDBLocked
prevents use of get <type> retrieval and set <type> update functions prior to setting the list node for the active
responses specification
ProblemDescDB dbRep
pointer to the letter (initialized only for the envelope)
int referenceCount
number of objects sharing dbRep
730
Friends
class Model
Model requires access to get variables() and get response()
class SingleModel
SingleModel requires access to get interface()
class HierarchSurrModel
HierarchSurrModel requires access to get model()
class DataFitSurrModel
DataFitSurrModel requires access to get iterator() and get model()
class NestedModel
NestedModel requires access to get interface(), get response(), get iterator(), and get model()
class Environment
Environment requires access to get iterator()
class IteratorScheduler
Environment requires access to get iterator()
class Iterator
Iterator requires access to get model()
class MetaIterator
Iterator requires access to get model()
class SeqHybridMetaIterator
SeqHybridMetaIterator requires access to get model()
class CollabHybridMetaIterator
CollabHybridMetaIterator requires access to get model()
class ConcurrentMetaIterator
ConcurrentMetaIterator requires access to get model()
class SurrBasedLocalMinimizer
SurrBasedLocalMinimizer requires access to get iterator()
class SurrBasedGlobalMinimizer
SurrBasedGlobalMinimizer requires access to get iterator()
13.122.1
Detailed Description
The database containing information parsed from the DAKOTA input file.
The ProblemDescDB class is a database for DAKOTA input file data that is populated by a parser defined in
a derived class. When the parser reads a complete keyword, it populates a data class object (DataEnvironment,
DataMethod, DataVariables, DataInterface, or DataResponses) and, for all cases except environment, appends the
object to a linked list (dataMethodList, dataVariablesList, dataInterfaceList, or dataResponsesList). No environment linked list is used since only one environment specification is allowed.
13.122.2
ProblemDescDB (
default constructor
The default constructor: dbRep is NULL in this case. This makes it necessary to check for NULL in the copy
constructor, assignment operator, and destructor.
731
destructor
Destructor decrements referenceCount and only deletes dbRep when referenceCount reaches zero.
References Dakota::Dak pddb, ProblemDescDB::dbRep, and ProblemDescDB::referenceCount.
ProblemDescDB ( BaseConstructor , ParallelLibrary & parallel lib ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get db() instantiates
a derived class letter and the derived constructor selects this base class constructor in its initialization list (to
avoid the recursion of the base class constructor calling get db() again). Since the letter IS the representation, its
representation pointer is set to NULL (an uninitialized pointer causes problems in ProblemDescDB).
13.122.3
732
verifies that there is at least one of each of the required keywords in the dakota input file
NOTE: when using library mode in a parallel application, check input() should either be called only on worldRank 0, or it should follow a matched send db buffer()/receive db buffer() pair.
References Dakota::abort handler(), ProblemDescDB::check input(), ParallelLibrary::command line post run input(), ParallelLibrary::command line post run output(), ParallelLibrary::command line pre run input(), ParallelLibrary::command line pre run output(), ParallelLibrary::command line run input(), ParallelLibrary::commandline run output(), ParallelLibrary::command line user modes(), ProblemDescDB::dataInterfaceList, ProblemDescDB::dataMethodList, ProblemDescDB::dataModelList, ProblemDescDB::dataResponsesList, ProblemDescDB::dataVariablesList, ProblemDescDB::dbRep, ProblemDescDB::environmentCntr, ProblemDescDB::parallelLib,
and Dakota::strbegins().
Referenced by ProblemDescDB::check and broadcast(), and ProblemDescDB::check input().
void post process (
post-processes the (minimal) input specification to assign default variables/responses specification arrays. Used
by manage inputs().
When using library mode in a parallel application, post process() should be called on all processors following
broadcast() of a minimal problem specification.
References ProblemDescDB::dbRep, and ProblemDescDB::derived post process().
Referenced by ProblemDescDB::check and broadcast().
ProblemDescDB get db ( ParallelLibrary & parallel lib ) [private]
Used by the envelope constructor to instantiate the correct letter class.
Initializes dbRep to the appropriate derived type. The standard derived class constructors are invoked.
References Dakota::Dak pddb.
Referenced by ProblemDescDB::ProblemDescDB().
The documentation for this class was generated from the following files:
ProblemDescDB.hpp
ProblemDescDB.cpp
13.123
Derived application interface class that spawns a simulation code using a separate process and communicates with
it through files.
Inheritance diagram for ProcessApplicInterface:
733
Interface
ApplicationInterface
ProcessApplicInterface
ProcessHandleApplicInterface
ForkApplicInterface
SpawnApplicInterface
SysCallApplicInterface
GridApplicInterface
ProcessApplicInterface ()
destructor
void synchronous local analyses (int start, int end, int step)
execute analyses synchronously on the local processor
void write parameters files (const Variables &vars, const ActiveSet &set, const Response &response, const
int id)
write the parameters data and response request data to one or more parameters files (using one or more invocations
of write parameters file()) in either standard or aprepro format
void read results files (Response &response, const int id, const String &eval id tag)
read the response object from one or more results files using full eval id tag passed
734
Protected Attributes
bool fileTagFlag
flags tagging of parameter/results files
bool fileSaveFlag
flags retention of parameter/results files
bool commandLineArgs
flag indicating use of passing of filenames as command line arguments to the analysis drivers and input/output
filters
bool apreproFlag
flag indicating use of the APREPRO (the Sandia A PRE PROcessor utility) format for parameter files
bool multipleParamsFiles
flag indicating the need for separate parameters files for multiple analysis drivers
std::string iFilterName
the name of the input filter (input filter user specification)
std::string oFilterName
the name of the output filter (output filter user specification)
std::string specifiedParamsFileName
the name of the parameters file from user specification
std::string paramsFileName
the parameters file name actually used (modified with tagging or temp files)
std::string specifiedResultsFileName
the name of the results file from user specification
std::string resultsFileName
the results file name actually used (modified with tagging or temp files)
std::string fullEvalId
complete evalIdTag, possibly including hierarchical tagging and final eval id, but not program numbers, for passing
to write parameters files
bool allowExistingResults
by default analysis code interfaces delete results files if they exist; user may override with this flag and well try to
gather and only fork if needed
std::string curWorkdir
working directory when useWorkdir is true
bool useWorkdir
whether to use a new or specified work directory
std::string workDir
its name, if specified...
bool dirTag
735
bool dirSave
whether dir save was specified
bool dirDel
whether to delete the directory when Dakota terminates
bool haveWorkdir
for dirTag, whether we have workDir
std::string templateDir
template directory (if specified)
StringArray templateFiles
template files (if specified)
bool templateCopy
whether to force a copy (versus link) every time
bool templateReplace
whether to replace existing files
bool haveTemplateDir
state variable for template directory
std::string dakDir
Dakota directory (if needed)
Private Attributes
String2DArray analysisComponents
the set of optional analysis components used by the analysis drivers (from the analysis components interface specification)
13.123.1
Detailed Description
Derived application interface class that spawns a simulation code using a separate process and communicates with
it through files.
ProcessApplicInterface is subclassed for process handles or file completion testing.
13.123.2
void synchronous local analyses ( int start, int end, int step ) [inline], [protected]
execute analyses synchronously on the local processor
Execute analyses synchronously in succession on the local processor (start to end in step increments). Modeled
after ApplicationInterface::synchronous local evaluations().
References ApplicationInterface::synchronous local analysis().
736
13.124
Derived application interface class that spawns a simulation code using a separate process, receives a process
identifier, and communicates with the spawned process through files.
Inheritance diagram for ProcessHandleApplicInterface:
Interface
ApplicationInterface
ProcessApplicInterface
ProcessHandleApplicInterface
ForkApplicInterface
SpawnApplicInterface
ProcessHandleApplicInterface ()
destructor
737
void process local evaluation (PRPQueue &prp queue, const pid t pid)
Common processing code used by {wait,test} local evaluations.
void asynchronous local analyses (int start, int end, int step)
execute analyses asynchronously on the local processor
Protected Attributes
std::map< pid t, int > evalProcessIdMap
map of fork process ids to function evaluation ids for asynchronous evaluations
13.124.1
Detailed Description
Derived application interface class that spawns a simulation code using a separate process, receives a process
identifier, and communicates with the spawned process through files.
ProcessHandleApplicInterface is subclassed for fork/execvp/waitpid (Unix) and spawnvp (Windows).
738
13.124.2
739
Check to see if the process terminated abnormally (WIFEXITED(status)==0) or if either execvp or the application returned a status code of -1 (WIFEXITED(status)!=0 && (signed char)WEXITSTATUS(status)==-1).
If one of these conditions is detected, output a failure message and abort. Note: the application code should not
return a status code of -1 unless an immediate abort of dakota is wanted. If for instance, failure capturing is to be
used, the application code should write the word FAIL to the appropriate results file and return a status code of
0 through exit().
References Dakota::abort handler().
Referenced by ForkApplicInterface::create analysis process(), SpawnApplicInterface::test local analyses send(),
SpawnApplicInterface::test local evaluations(), ForkApplicInterface::wait(), SpawnApplicInterface::wait local analyses(), and SpawnApplicInterface::wait local evaluations().
void asynchronous local analyses ( int start, int end, int step ) [protected]
execute analyses asynchronously on the local processor
Schedule analyses asynchronously on the local processor using a dynamic scheduling approach (start to end
in step increments). Concurrency is limited by asynchLocalAnalysisConcurrency. Modeled after ApplicationInterface::asynchronous local evaluations(). NOTE: This function should be elevated to ApplicationInterface if
and when another derived interface class supports asynchronous local analyses.
References Dakota::abort handler(), ProcessHandleApplicInterface::analysisProcessIdMap, ApplicationInterface::asynchLocalAnalysisConcurrency, ProcessHandleApplicInterface::create analysis process(), ProcessHandleApplicInterface::driver argument list(), ApplicationInterface::numAnalysisDrivers, and ProcessHandleApplicInterface::wait local analyses().
Referenced by ProcessHandleApplicInterface::create evaluation process().
void serve analyses asynch (
) [protected]
13.125
ProgramOptions stores options whether from the CLH or from library user; initially valid only on worldRank =
0, but then broadcast in ParallelLibrary::manage outputs restart.
740
741
742
void split filenames (const char filenames, std::string &input filename, std::string &output filename)
manage pre/run/post filenames
void validate ()
verify consistency of user settings (helpful for library mode especially)
Private Attributes
String inputFile
Dakota input file name, e.g., dakota.in.
String inputString
alternate input means for library clients: input string (mutually exclusive with input file)
bool echoInput
whether to echo clients input file at parse
String parserOptions
Deprecated option for NIDR parser options.
String outputFile
Dakota output base file name, e.g., dakota.out.
String errorFile
Dakota error base file name, e.g., dakota.err.
String readRestartFile
e.g., dakota.old.rst
size t stopRestartEvals
eval number at which to stop restart read
String writeRestartFile
e.g., dakota.new.rst
bool helpFlag
743
bool versionFlag
whether to print version message and exit
bool checkFlag
flags invocation with command line option -check
bool preRunFlag
flags invocation with command line option -pre run
bool runFlag
flags invocation with command line option -run
bool postRunFlag
flags invocation with command line option -post run
bool userModesFlag
whether any user run modes are active
String preRunInput
filename for pre run input
String preRunOutput
filename for pre run output
String runInput
filename for run input
String runOutput
filename for run output
String postRunInput
filename for post run input
String postRunOutput
filename for post run output
13.125.1
Detailed Description
ProgramOptions stores options whether from the CLH or from library user; initially valid only on worldRank =
0, but then broadcast in ParallelLibrary::manage outputs restart.
13.125.2
void split filenames ( const char filenames, std::string & input filename, std::string & output filename )
[private]
manage pre/run/post filenames
Tokenize colon-delimited input and output filenames, returns unchanged strings if tokens not found.
Referenced by ProgramOptions::manage run modes().
The documentation for this class was generated from the following files:
ProgramOptions.hpp
ProgramOptions.cpp
744
13.126
Base class for managing common aspects of parameter studies and design of experiments methods.
Inheritance diagram for PStudyDACE:
Iterator
Analyzer
PStudyDACE
DDACEDesignCompExp
FSUDesignCompExp
ParamStudy
PSUADEDesignCompExp
PStudyDACE ()
destructor
void volumetric quality (int ndim, int num samples, double sample points)
Calculation of volumetric quality measures.
Protected Attributes
SensAnalysisGlobal pStudyDACESensGlobal
initialize statistical post processing
bool volQualityFlag
flag which specifies evaluation of volumetric quality measures
bool varBasedDecompFlag
flag which specifies calculating variance based decomposition sensitivity analysis metrics
Private Attributes
double chiMeas
quality measure
double dMeas
745
quality measure
double hMeas
quality measure
double tauMeas
quality measure
Detailed Description
Base class for managing common aspects of parameter studies and design of experiments methods.
The PStudyDACE base class manages common data and functions, such as those involving the best solutions
located during the parameter set evaluations or the printing of final results.
13.126.2
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References Analyzer::bestVarsRespMap, and PStudyDACE::extract trends().
void print results ( std::ostream & s ) [protected], [virtual]
print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation
summary printed in finalize run().
Reimplemented from Analyzer.
References PStudyDACE::chiMeas, Analyzer::compactMode, Model::continuous variable labels(), SensAnalysisGlobal::correlations computed(), Model::discrete int variable labels(), Model::discrete real variable labels(), PStudyDACE::dMeas, PStudyDACE::hMeas, Iterator::iteratedModel, Analyzer::numLSqTerms, Analyzer::numObjFns, SensAnalysisGlobal::print correlations(), Analyzer::print results(), Analyzer::print sobol indices(), PStudyDACE::pStudyDACESensGlobal, Model::response labels(), PStudyDACE::tauMeas, PStudyDACE::varBasedDecompFlag, and PStudyDACE::volQualityFlag.
void volumetric quality ( int ndim, int num samples, double sample points ) [protected]
Calculation of volumetric quality measures.
Calculation of volumetric quality measures developed by FSU.
References PStudyDACE::chiMeas, PStudyDACE::dMeas, PStudyDACE::hMeas, and PStudyDACE::tauMeas.
Referenced by FSUDesignCompExp::get parameter sets(), and DDACEDesignCompExp::get parameter sets().
The documentation for this class was generated from the following files:
DakotaPStudyDACE.hpp
DakotaPStudyDACE.cpp
746
13.127
PSUADEDesignCompExp ()
destructor
747
Private Attributes
int samplesSpec
initial specification of number of samples
int numSamples
current number of samples to be evaluated
int numPartitions
number of partitions to pass to PSUADE (levels = partitions + 1)
bool allDataFlag
flag which triggers the update of allVars/allResponses for use by Iterator::all variables() and Iterator::all responses()
size t numDACERuns
counter for number of executions for this object
bool varyPattern
flag for generating a sequence of seed values within multiple get parameter sets() calls so that the sample sets are
not repeated, but are still repeatable
int randomSeed
current seed for the random number generator
Detailed Description
13.127.2
13.127.3
) [virtual]
pre-run portion of run (optional); re-implemented by Iterators which can generate all Variables (parameter sets) a
priori
748
pre-run phase, which a derived iterator may optionally reimplement; when not present, pre-run is likely integrated into the derived run function. This is a virtual function; when re-implementing, a derived class must call
its nearest parents pre run(), if implemented, typically before performing its own implementation steps.
Reimplemented from Iterator.
References PSUADEDesignCompExp::get parameter sets(), and Iterator::iteratedModel.
Return current number of evaluation points. Since the calculation of samples, collocation points, etc. might be
costly, provide a default implementation here that backs out from the maxEvalConcurrency.
Reimplemented from Analyzer.
References PSUADEDesignCompExp::numSamples.
) [private]
13.128
749
Interface
ApplicationInterface
DirectApplicInterface
PythonInterface
PythonInterface ()
destructor
bool python convert (const RealVector &c src, const IntVector &di src, const RealVector &dr src, PyObject dst)
convert RealVector + IntVector + RealVector to Python mixed list or numpy double array
bool python convert (const StringMultiArray &c src, const StringMultiArray &di src, const StringMultiArray &dr src, PyObject dst)
convert all labels to single list
bool python convert (PyObject pyv, RealVector &rv, const int &dim)
convert python [list of int or float] or [numpy array of double] to RealVector (for fns)
bool python convert (PyObject pyv, double rv, const int &dim)
convert python [list of int or float] or [numpy array of double] to double[], for use as helper in converting gradients
750
Protected Attributes
bool userNumpyFlag
whether the user requested numpy data structures in the input file
13.128.1
Detailed Description
Specialization of DirectApplicInterface to link to Python analysis drivers. Includes convenience functions to map
data to/from Python
13.128.2
13.129
13.129.1
751
Detailed Description
13.130
Derived model class which provides a thin wrapper around a sub-model in order to recast the form of its inputs
and/or outputs.
Inheritance diagram for RecastModel:
Model
RecastModel
RecastModel (const Model &sub model, const SizetArray &vars comps totals, size t num recast primaryfns, size t num recast secondary fns, size t recast secondary offset)
alternate constructor
RecastModel ()
destructor
void initialize (const Sizet2DArray &vars map indices, bool nonlinear vars mapping, void(variables map)(const Variables &recast vars, Variables &sub model vars), void(set map)(const Variables &recastvars, const ActiveSet &recast set, ActiveSet &sub model set), const Sizet2DArray &primary resp map indices, const Sizet2DArray &secondary resp map indices, const BoolDequeArray &nonlinear resp mapping,
void(primary resp map)(const Variables &sub model vars, const Variables &recast vars, const Response
&sub model response, Response &recast response), void(secondary resp map)(const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response))
completes initialization of the RecastModel after alternate construction
752
void transform variables (const Variables &recast vars, Variables &sub model vars)
perform transformation of Variables (recast > sub-model)
void transform set (const Variables &recast vars, const ActiveSet &recast set, ActiveSet &sub model set)
into sub model set for use with subModel.
void transform response (const Variables &recast vars, const Variables &sub model vars, const Response
&sub model resp, Response &recast resp)
perform transformation of Response (sub-model > recast)
void inverse transform variables (const Variables &sub model vars, Variables &recast vars)
perform inverse transformation of Variables (sub-model > recast)
void inverse transform set (const Variables &sub model vars, const ActiveSet &sub model set, ActiveSet
&recast set)
into sub model set for use with subModel.
void inverse transform response (const Variables &sub model vars, const Variables &recast vars, const
Response &recast resp, Response &sub model resp)
perform inverse transformation of Response (recast > sub-model)
753
void primary response fn weights (const RealVector &wts, bool recurse flag=true)
set the relative weightings for multiple objective functions or least squares terms and optionally recurses into subModel
bool build approximation (const Variables &vars, const IntResponsePair &response pr)
builds the subModel approximation
void update approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuild flag)
replaces data in the subModel approximation
void update approximation (const VariablesArray &vars array, const IntResponseMap &resp map, bool
rebuild flag)
replaces data in the subModel approximation
void append approximation (const Variables &vars, const IntResponsePair &response pr, bool rebuild flag)
appends data to the subModel approximation
void append approximation (const VariablesArray &vars array, const IntResponseMap &resp map, bool
rebuild flag)
appends data to the subModel approximation
void pop approximation (bool save surr data, bool rebuild flag=false)
remove the previous data set addition to a surrogate (e.g., due to a previous append approximation() call); flag
manages storing of surrogate data for use in a subsequent restore approximation()
754
void derived init communicators (int max eval concurrency, bool recurse flag=true)
set up RecastModel for parallel operations (request forwarded to subModel)
void derived set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration within subModel
void derived free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for the RecastModel (request forwarded to subModel)
void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true) const
print the evaluation summary for the RecastModel (request forwarded to subModel)
755
Private Attributes
Model subModel
the sub-model underlying the function pointers
Sizet2DArray varsMapIndices
For each subModel variable, identifies the indices of the recast variables used to define it (maps RecastModel
variables to subModel variables; data is packed with only the variable indices employed rather than a sparsely
filled N sm x N r matrix)
bool nonlinearVarsMapping
boolean set to true if the variables mapping involves a nonlinear transformation. Used in transform set() to manage
the requirement for gradients within the Hessian transformations. This does not require a BoolDeque for each
individual variable, since response gradients and Hessians are managed per function, not per variable.
bool respMapping
set to true if non-NULL primaryRespMapping or secondaryRespMapping are supplied
Sizet2DArray primaryRespMapIndices
For each recast primary function, identifies the indices of the subModel functions used to define it (maps subModel
response to RecastModel Response).
Sizet2DArray secondaryRespMapIndices
For each recast secondary function, identifies the indices of the subModel functions used to define it (maps subModel response to RecastModel response).
BoolDequeArray nonlinearRespMapping
array of BoolDeques, one for each recast response function. Each BoolDeque defines which subModel response
functions contribute to the recast function using a nonlinear mapping. Used in transform set() to augment the
subModel function value/gradient requirements.
IntActiveSetMap recastSetMap
map of recast active set passed to derived asynch compute response(). Needed for currentResponse update in
synchronization routines.
IntVariablesMap recastVarsMap
map of recast variables used by derived asynch compute response(). Needed for primaryRespMapping() and
secondaryRespMapping() in synchronization routines.
IntVariablesMap subModelVarsMap
map of subModel variables used by derived asynch compute response(). Needed for primaryRespMapping() and
secondaryRespMapping() in synchronization routines.
IntResponseMap recastResponseMap
map of recast responses used by RecastModel::derived synchronize() and RecastModel::derived synchronize nowait()
void( variablesMapping )(const Variables &recast vars, Variables &sub model vars)
holds pointer for variables mapping function passed in ctor/initialize
void( setMapping )(const Variables &recast vars, const ActiveSet &recast set, ActiveSet &sub model set)
756
void( primaryRespMapping )(const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
holds pointer for primary response mapping function passed in ctor/initialize
void( secondaryRespMapping )(const Variables &sub model vars, const Variables &recast vars, const Response &sub model response, Response &recast response)
holds pointer for secondary response mapping function passed in ctor/initialize
void( invVarsMapping )(const Variables &sub model vars, Variables &recast vars)
holds pointer for optional inverse variables mapping function passed in inverse mappings()
void( invSetMapping )(const Variables &sub model vars, const ActiveSet &sub model set, ActiveSet
&recast set)
holds pointer for optional inverse set mapping function passed in inverse mappings()
void( invPriRespMapping )(const Variables &recast vars, const Variables &sub model vars, const Response &recast resp, Response &sub model resp)
holds pointer for optional inverse primary response mapping function passed in inverse mappings()
void( invSecRespMapping )(const Variables &recast vars, const Variables &sub model vars, const Response &recast resp, Response &sub model resp)
holds pointer for optional inverse secondary response mapping function passed in inverse mappings()
Detailed Description
Derived model class which provides a thin wrapper around a sub-model in order to recast the form of its inputs
and/or outputs.
The RecastModel class uses function pointers to allow recasting of the subModel input/output into new problem forms. This is currently used to recast SBO approximate subproblems, but can be used for multiobjective,
input/output scaling, and other problem modifications in the future.
13.130.2
RecastModel ( const Model & sub model, const Sizet2DArray & vars map indices, const SizetArray
& vars comps totals, bool nonlinear vars mapping, void()(const Variables &recast vars, Variables
&sub model vars) variables map, void()(const Variables &recast vars, const ActiveSet &recast set,
ActiveSet &sub model set) set map, const Sizet2DArray & primary resp map indices, const
Sizet2DArray & secondary resp map indices, size t recast secondary offset, const BoolDequeArray &
nonlinear resp mapping, void()(const Variables &sub model vars, const Variables &recast vars, const
Response &sub model response, Response &recast response) primary resp map, void()(const Variables
&sub model vars, const Variables &recast vars, const Response &sub model response, Response
&recast response) secondary resp map )
standard constructor
Default recast model constructor. Requires full definition of the transformation. Parameter vars comps totals
indicates the number of each type of variable {4 types} x {3 domains} in the recast variable space. Note: recastsecondary offset is the start index for equality constraints, typically num nonlinear ineq constraints.
References Dakota::abort handler(), Constraints::copy(), Variables::copy(), Response::copy(), Model::currentresponse(), Model::current variables(), Model::currentResponse, Model::currentVariables, Variables::cv(), Response::function gradients(), Response::function hessians(), RecastModel::initialize data from submodel(), RecastModel::nonlinearRespMapping, Response::num functions(), Model::num functions(), Constraints::num linear eq constraints(),
757
Constraints::num linear ineq constraints(), Constraints::num nonlinear eq constraints(), Constraints::num nonlinearineq constraints(), Model::numDerivVars, Model::numFns, RecastModel::primaryRespMapIndices, RecastModel::primaryRespMapping, Constraints::reshape(), Response::reshape(), RecastModel::respMapping, RecastModel::secondaryRespMapIndices, RecastModel::secondaryRespMapping, RecastModel::subModel, Model::user definedconstraints(), Model::userDefinedConstraints, Variables::variables components totals(), RecastModel::variablesMapping, and Variables::view().
RecastModel ( const Model & sub model, const SizetArray & vars comps totals, size t
num recast primary fns, size t num recast secondary fns, size t recast secondary offset )
alternate constructor
This alternate constructor defers initialization of the function pointers until a separate call to initialize(),
and accepts the minimum information needed to construct currentVariables, currentResponse, and userDefinedConstraints. The resulting model is sufficiently complete for passing to an Iterator. Parameter vars comps totals
indicates the number of each type of variable {4 types} x {3 domains} in the recast variable space. Note: recastsecondary offset is the start index for equality constraints, typically num nonlinear ineq constraints.
References Constraints::copy(), Variables::copy(), Response::copy(), Model::current response(), Model::currentvariables(), Model::currentResponse, Model::currentVariables, Variables::cv(), Response::function gradients(),
Response::function hessians(), RecastModel::initialize data from submodel(), Model::num functions(), Constraints::num linear eq constraints(), Constraints::num linear ineq constraints(), Constraints::num nonlinear eq constraints(),
Constraints::num nonlinear ineq constraints(), Model::numDerivVars, Model::numFns, Constraints::reshape(), Response::reshape(), RecastModel::subModel, Model::user defined constraints(), Model::userDefinedConstraints, Variables::variables components totals(), RecastModel::variablesMapping, and Variables::view().
13.130.3
void initialize ( const Sizet2DArray & vars map indices, bool nonlinear vars mapping, void()(const
Variables &recast vars, Variables &sub model vars) variables map, void()(const Variables
&recast vars, const ActiveSet &recast set, ActiveSet &sub model set) set map, const Sizet2DArray &
primary resp map indices, const Sizet2DArray & secondary resp map indices, const BoolDequeArray &
nonlinear resp mapping, void()(const Variables &sub model vars, const Variables &recast vars, const
Response &sub model response, Response &recast response) primary resp map, void()(const Variables
&sub model vars, const Variables &recast vars, const Response &sub model response, Response
&recast response) secondary resp map )
completes initialization of the RecastModel after alternate construction
This function is used for late initialization of the recasting functions. It is used in concert with the alternate
constructor.
References Dakota::abort handler(), RecastModel::nonlinearRespMapping, RecastModel::nonlinearVarsMapping,
RecastModel::primaryRespMapIndices, RecastModel::primaryRespMapping, RecastModel::respMapping, RecastModel::secondaryRespMapIndices, RecastModel::secondaryRespMapping, RecastModel::setMapping, RecastModel::variablesMapping, and RecastModel::varsMapIndices.
Referenced by EffGlobalMinimizer::minimize surrogates on model(), NonDLocalReliability::mpp search(),
NonDGlobalReliability::optimize gaussian process(), NonDLocalInterval::quantify uncertainty(), NonDGlobalInterval::quantify uncertainty(), and Minimizer::scale model().
void derived compute response ( const ActiveSet & set ) [protected], [virtual]
portion of compute response() specific to RecastModel (forward to subModel.compute response())
758
The RecastModel is evaluated by an Iterator for a recast problem formulation. Therefore, the currentVariables,
incoming active set, and output currentResponse all correspond to the recast inputs/outputs.
Reimplemented from Model.
References Response::active set(), Model::compute response(), Model::current response(), Model::currentvariables(), Model::currentResponse, Model::currentVariables, ParallelLibrary::parallel configuration iterator(),
Model::parallel configuration iterator(), Model::parallelLib, RecastModel::respMapping, RecastModel::subModel,
RecastModel::transform response(), RecastModel::transform set(), RecastModel::transform variables(), and Response::update().
void eval tag prefix ( const String & eval id str ) [inline], [protected], [virtual]
set the hierarchical eval ID tag prefix
RecastModel just forwards any tags to its subModel
Reimplemented from Model.
References Model::eval tag prefix(), and RecastModel::subModel.
void update from sub model (
) [private]
759
Constraints::nonlinear ineq constraint upper bounds(), Model::nonlinear ineq constraint upper bounds(), Model::num functions(), Model::num linear eq constraints(), Model::num linear ineq constraints(), Constraints::numnonlinear eq constraints(), Model::num nonlinear eq constraints(), Constraints::num nonlinear ineq constraints(),
Model::num nonlinear ineq constraints(), Model::numFns, Model::primary response fn sense(), Model::primaryresponse fn weights(), Model::primaryRespFnSense, Model::primaryRespFnWts, RecastModel::primaryRespMapping, Model::response labels(), RecastModel::secondaryRespMapping, RecastModel::subModel, Model::userDefinedConstraints, and RecastModel::variablesMapping.
Referenced by RecastModel::update from subordinate model().
The documentation for this class was generated from the following files:
RecastModel.hpp
RecastModel.cpp
13.131
Derived class within the Constraints hierarchy which employs relaxation of discrete variables.
Inheritance diagram for RelaxedVarConstraints:
Constraints
RelaxedVarConstraints
RelaxedVarConstraints ()
destructor
760
Detailed Description
Derived class within the Constraints hierarchy which employs relaxation of discrete variables.
Derived variable constraints classes take different views of the design, uncertain, and state variable types and
the continuous and discrete domain types. The RelaxedVarConstraints derived class combines continuous and
discrete domain types through integer relaxation. The branch and bound method uses this approach (see Variables::get variables(problem db) for variables type selection; variables type is passed to the Constraints constructor in
Model).
13.131.2
RelaxedVarConstraints ( const ProblemDescDB & problem db, const SharedVariablesData & svd )
standard constructor
In this class, a relaxed data approach is used in which continuous and discrete arrays are combined into a
single continuous array (integrality is relaxed; the converse of truncating reals is not currently supported but could
be in the future if needed). Iterators which use this class include: BranchBndOptimizer.
References Constraints::allContinuousLowerBnds, Constraints::allContinuousUpperBnds, Constraints::buildviews(), SharedVariablesData::components totals(), Dakota::copy data partial(), ProblemDescDB::get iv(), ProblemDescDB::get rv(), Constraints::manage linear constraints(), Dakota::merge data partial(), Constraints::sharedVarsData, SharedVariablesData::vc lookup(), and SharedVariablesData::view().
13.131.3
13.132
Derived class within the Variables hierarchy which employs the relaxation of discrete variables.
Inheritance diagram for RelaxedVariables:
Variables
RelaxedVariables
761
RelaxedVariables ()
destructor
Detailed Description
Derived class within the Variables hierarchy which employs the relaxation of discrete variables.
Derived variables classes take different views of the design, uncertain, and state variable types and the continuous and discrete domain types. The RelaxedVariables derived class combines continuous and discrete domain
types but separates design, uncertain, and state variable types. The branch and bound method uses this approach
(see Variables::get variables(problem db)).
13.132.2
RelaxedVariables ( const ProblemDescDB & problem db, const std::pair< short, short > & view )
standard constructor
In this class, a relaxed data approach is used in which continuous and discrete arrays are combined into a single
continuous array (integrality is relaxed; the converse of truncating reals is not currently supported but could be in
the future if needed). Iterators/strategies which use this class include: BranchBndOptimizer. Extract fundamental
variable types and labels and merge continuous and discrete domains to create aggregate arrays and views.
References Variables::allContinuousVars, Variables::build views(), SharedVariablesData::components totals(),
Dakota::copy data partial(), ProblemDescDB::get iv(), ProblemDescDB::get rv(), Dakota::merge data partial(),
Variables::sharedVarsData, SharedVariablesData::vc lookup(), and SharedVariablesData::view().
762
13.132.3
13.133
Container class for response functions and their derivatives. Response provides the handle class.
Response ()
destructor
void function gradient (const RealVector &function grad, const int &i)
set a function gradient
763
764
void update (const RealVector &source fn vals, const RealMatrix &source fn grads, const RealSymMatrixArray &source fn hessians, const ActiveSet &source set)
Overloaded form which allows update from components of a response object. Care is taken to allow different
derivative array sizing.
void update partial (size t start index target, size t num items, const Response &response, size t start index source)
partial update of this response object from another response object. The response objects may have different
numbers of response functions.
void update partial (size t start index target, size t num items, const RealVector &source fn vals, const
RealMatrix &source fn grads, const RealSymMatrixArray &source fn hessians, const ActiveSet &sourceset, size t start index source)
765
Overloaded form which allows partial update from components of a response object. The response objects may
have different numbers of response functions.
void reshape (size t num fns, size t num params, bool grad flag, bool hess flag)
rehapes response data arrays
void reset ()
handle class forward to corresponding body class member function
Friends
class boost::serialization::access
bool operator== (const Response &resp1, const Response &resp2)
equality operator
13.133.1
Detailed Description
Container class for response functions and their derivatives. Response provides the handle class.
The Response class is a container class for an abstract set of functions (functionValues) and their first (functionGradients) and second (functionHessians) derivatives. The functions may involve objective and constraint functions (optimization data set), least squares terms (parameter estimation data set), or generic response functions
(uncertainty quantification data set). It is not currently part of a class hierarchy, since the abstraction has been
sufficiently general and has not required specialization. For memory efficiency, it employs the handle-body idiom approach to reference counting and representation sharing (see Coplien Advanced C++, p. 58), for which
Response serves as the handle and ResponseRep serves as the body.
766
13.133.2
13.134
Container class for response functions and their derivatives. ResponseRep provides the body class.
ResponseRep ()
destructor
767
void update (const RealVector &source fn vals, const RealMatrix &source fn grads, const RealSymMatrixArray &source fn hessians, const ActiveSet &source set)
update this response object from components of another response object
void update partial (size t start index target, size t num items, const RealVector &source fn vals, const
RealMatrix &source fn grads, const RealSymMatrixArray &source fn hessians, const ActiveSet &sourceset, size t start index source)
partially update this response object partial components of another response object
void reshape (size t num fns, size t num params, bool grad flag, bool hess flag)
rehapes response data arrays
void reset ()
resets all response data to zero
768
Private Attributes
int referenceCount
number of handle objects sharing responseRep
RealVector functionValues
abstract set of response functions
RealMatrix functionGradients
first derivatives of the response functions
RealSymMatrixArray functionHessians
second derivatives of the response functions
ActiveSet responseActiveSet
copy of the ActiveSet used by the Model to generate a Response instance
StringArray functionLabels
response function identifiers used to improve output readability
String responsesId
response identifier string from the input file
Friends
class boost::serialization::access
for serializing private data members
class Response
the handle class can access attributes of the body class directly
13.134.1
Detailed Description
Container class for response functions and their derivatives. ResponseRep provides the body class.
The ResponseRep class is the representation of the response container class. It is the body portion of
the handle-body idiom (see Coplien Advanced C++, p. 58). The handle class (Response) provides for
memory efficiency in management of multiple response objects through reference counting and representation
sharing. The body class (ResponseRep) actually contains the response data (functionValues, functionGradients,
functionHessians, etc.). The representation is hidden in that an instance of ResponseRep may only be created
by Response. Therefore, programmers create instances of the Response handle class, and only need to be aware
of the handle/body mechanisms when it comes to managing shallow copies (shared representation) versus deep
copies (separate representation used for history mechanisms).
13.134.2
769
ResponseRep ( const Variables & vars, const ProblemDescDB & problem db ) [private]
standard constructor built from problem description database
The standard constructor used by Dakota::ModelRep.
References Variables::continuous variable ids(), Variables::cv(), ActiveSet::derivative vector(), ResponseRep::functionGradients, ResponseRep::functionHessians, ResponseRep::functionValues, ProblemDescDB::get sizet(),
ProblemDescDB::get string(), ActiveSet::request vector(), and ResponseRep::responseActiveSet.
ResponseRep ( const ActiveSet & set ) [private]
alternate constructor using limited data
Used for building a response object of the correct size on the fly (e.g., by slave analysis servers performing
execute() on a local response). functionLabels is not needed for this purpose since its not passed in the MPI
send/recv buffers. However, NPSOLOptimizers user-defined functions option uses this constructor to build bestResponseArray.front() and bestResponseArray.front() needs functionLabels for I/O, so construction of functionLabels has been added.
References Dakota::build labels(), ActiveSet::derivative vector(), ResponseRep::functionGradients, ResponseRep::functionHessians, ResponseRep::functionLabels, and ActiveSet::request vector().
13.134.3
770
771
) [private]
) [private]
13.134.4
772
13.135
void insert (const StrStrSizet &iterator id, const std::string &data name, const boost::any &result, const
MetaDataType &metadata)
record addition with metadata map
773
void output data (const std::vector< double > &data, std::ostream &os)
output data to ostream
void output data (const std::vector< RealVector > &data, std::ostream &os)
output data to ostream
void output data (const std::vector< std::string > &data, std::ostream &os)
output data to ostream
void output data (const std::vector< std::vector< std::string > > &data, std::ostream &os)
output data to ostream
void output data (const std::vector< RealMatrix > &data, std::ostream &os)
output data to ostream
Private Attributes
std::map< ResultsKeyType,
ResultsValueType > iteratorData
core data storage (map from key to value type)
13.135.1
Detailed Description
Class: ResultsDBAny Description: A map-based container to store DAKOTA Iterator results in underlying boost::anys, with optional metadata
13.135.2
void array insert ( const StrStrSizet & iterator id, const std::string & data name, size t index, const
StoredType & sent data )
insert sent data in specified position in previously allocated array
insert requires previous allocation, and does not allow metadata update
References Dakota::abort handler(), ResultsDBAny::iteratorData, and Dakota::make key().
void insert ( const StrStrSizet & iterator id, const std::string & data name, const boost::any & result,
const MetaDataType & metadata )
record addition with metadata map
Add or update existing entry
References ResultsDBAny::iteratorData, and Dakota::make key().
Referenced by ResultsDBAny::array allocate().
774
void extract data ( const boost::any & dataholder, std::ostream & os ) [private]
determine the type of contained data and output it to ostream
Extract the data from the held any and map to supported concrete types int double RealVector (Teuchos::SerialDenseVector<int,double) RealMatrix (Teuchos::SerialDenseMatrix<int,double)
References ResultsDBAny::output data().
Referenced by ResultsDBAny::dump data(), and ResultsDBAny::print data().
The documentation for this class was generated from the following files:
ResultsDBAny.hpp
ResultsDBAny.cpp
13.136
ResultsEntry (const ResultsManager &results mgr, const StrStrSizet &iterator id, const std::string &data name, size t array index)
Construct ResultsEntry to retrieve item array index from array of StoredType.
Private Attributes
bool coreActive
whether the ResultsManager has an active in-core database
StoredType dbData
data retrieved from file data base
13.136.1
Detailed Description
13.136.2
775
ResultsEntry (
) [private]
13.137
Get a globally unique 1-based execution number for a given iterator name (combination of methodName and
methodID) for use in results DB. Each Iterator::run() call creates or increments this count for its string identifier.
size t get id (const std::string &method name, const std::string &method id)
get (possibly creating) a unique iterator results ID for the passed name
size t get id (const std::string &method name, const std::string &method id) const
get a unique iterator results ID for the passed name (const version errors if not found)
ResultsID ()
Private destructor for ResultsID.
Private Attributes
std::map< std::pair
< std::string, std::string >
, size t > idMap
storage for the results IDs
776
13.137.1
Detailed Description
Get a globally unique 1-based execution number for a given iterator name (combination of methodName and
methodID) for use in results DB. Each Iterator::run() call creates or increments this count for its string identifier.
The documentation for this class was generated from the following files:
ResultsManager.hpp
ResultsManager.cpp
13.138
void insert (const StrStrSizet &iterator id, const std::string &data name, StringMultiArrayConstView smalabels, const MetaDataType metadata=MetaDataType())
template<typename StoredType >
void array allocate (const StrStrSizet &iterator id, const std::string &data name, size t array size, const
MetaDataType metadata=MetaDataType())
allocate an entry with array of StoredType of array size for future insertion; likely move to non-templated accessors
for these
Public Attributes
ResultsNames results names
Copy of valid results names for when manager is passed around.
777
Private Attributes
bool coreDBActive
whether the in-core database in active
std::string coreDBFilename
filename for the in-core database
bool hdf5DBActive
whether the file database is active
Friends
template<typename StoredType >
class ResultsEntry
ResultsEntry is a friend of ResultsManager.
13.138.1
Detailed Description
778
For now, using concrete types for most insertion, since underlying databases like HDF5 might need concrete
types; though template parameter for array allocation and retrieval.
All insertions overwrite any previous data.
The documentation for this class was generated from the following files:
ResultsManager.hpp
ResultsManager.cpp
13.139
Public Attributes
size t namesVersion
std::string best cv
std::string best div
std::string best drv
std::string best fns
std::string moments std
std::string moments central
std::string moments std num
std::string moments central num
std::string moments std exp
std::string moments central exp
std::string moment cis
std::string extreme values
std::string map resp prob
std::string map resp rel
std::string map resp genrel
std::string map prob resp
std::string map rel resp
std::string map genrel resp
std::string pdf histograms
std::string correl simple all
std::string correl simple io
std::string correl partial io
std::string correl simple rank all
std::string correl simple rank io
std::string correl partial rank io
std::string pce coeffs
std::string pce coeff labels
std::string cv labels
std::string div labels
std::string drv labels
std::string fn labels
13.139.1
Detailed Description
13.140
RichExtrapVerification ()
destructor
779
780
void extrapolate result (const RealVector &refine triple, const RealMatrix &qoi triples)
predict the converged value based on the convergence rate and the value of Phi
Private Attributes
unsigned short studyType
internal code for extrapolation study type: SUBMETHOD {CONVERGE ORDER,CONVERGE QOI,ESTIMATEORDER}
size t numFactors
number of refinement factors defined from active state variables
RealVector initialCVars
initial reference values for refinement factors
size t factorIndex
the index of the active factor
Real refinementRate
rate of mesh refinement (default = 2.)
RealMatrix convOrder
the orders of convergence of the QOIs (numFunctions by numFactors)
RealMatrix extrapQOI
the extrapolated value of the QOI (numFunctions by numFactors)
RealMatrix numErrorQOI
the numerical uncertainty associated with level of refinement (numFunctions by numFactors)
RealVector refinementRefPt
This is a reference point reported for the converged extrapQOI and numErrorQOI. It currently corresponds to the
coarsest mesh in the final refinement triple.
Detailed Description
13.140.2
781
) [private]
) [private]
) [private]
13.141
782
ScilabInterface ()
Destructor: close Matlab engine.
Protected Attributes
int scilabEngine
identifier for the running Scilab enginer
13.141.1
Detailed Description
Specialization of DirectApplicInterface to link to Scilab analysis drivers. Includes convenience functions to map
data to/from Scilab
The documentation for this class was generated from the following files:
ScilabInterface.hpp
ScilabInterface.cpp
13.142
Class for a utility class containing correlation calculations and variance-based decomposition.
SensAnalysisGlobal ()
destructor
void compute correlations (const VariablesArray &vars samples, const IntResponseMap &resp samples)
computes four correlation matrices for input and output data simple, partial, simple rank, and partial rank
void compute correlations (const RealMatrix &vars samples, const IntResponseMap &resp samples)
computes four correlation matrices for input and output data simple, partial, simple rank, and partial rank
void archive correlations (const StrStrSizet &run identifier, ResultsManager &iterator results, StringMultiArrayConstView cv labels, StringMultiArrayConstView div labels, StringMultiArrayConstView drv labels,
const StringArray &resp labels) const
save correlations to database
783
void print correlations (std::ostream &s, StringMultiArrayConstView cv labels, StringMultiArrayConstView div labels, StringMultiArrayConstView drv labels, const StringArray &resp labels) const
prints the correlations computed in compute correlations()
void partial corr (RealMatrix &total data, bool rank on, const int &num in)
computes partial correlations
Private Attributes
RealMatrix simpleCorr
matrix to hold simple raw correlations
RealMatrix simpleRankCorr
matrix to hold simple rank correlations
RealMatrix partialCorr
matrix to hold partial raw correlations
RealMatrix partialRankCorr
matrix to hold partial rank correlations
size t numFns
number of responses
size t numVars
number of inputs
bool numericalIssuesRaw
flag indicating numerical issues in partial raw correlation calculations
bool numericalIssuesRank
flag indicating numerical issues in partial rank correlation calculations
bool corrComputed
flag indictaing whether correlations have been computed
784
13.142.1
Detailed Description
Class for a utility class containing correlation calculations and variance-based decomposition.
This class provides code for several of the sampling methods both in the NonD branch and in the PStudyDACE branch. Currently, the utility functions provide global sensitivity analysis through correlation calculations
(e.g. simple, partial, rank, raw) as well as variance-based decomposition.
The documentation for this class was generated from the following files:
SensAnalysisGlobal.hpp
SensAnalysisGlobal.cpp
13.143
Method for sequential hybrid iteration using multiple optimization and nonlinear least squares methods on multiple models of varying fidelity.
Inheritance diagram for SeqHybridMetaIterator:
Iterator
MetaIterator
SeqHybridMetaIterator
SeqHybridMetaIterator ()
destructor
785
void pack parameters buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack starting data for an iterator run
void pack results buffer (MPIPackBuffer &send buffer, int job index)
used by IteratorScheduler to pack results data from an iterator run
void unpack results buffer (MPIUnpackBuffer &recv buffer, int job index)
used by IteratorScheduler to unpack results data from an iterator run
void partition sets (size t num sets, int job index, size t &start index, size t &job size)
convert num sets and job index into a start index and job size for extraction from parameterSets
void extract parameter sets (int job index, VariablesArray &partial param sets)
extract partial param sets from parameterSets based on job index
void update local results (PRPArray &prp results, int job id)
update the partial set of final results from the local iterator execution
Private Attributes
String seqHybridType
empty (default) or adaptive
StringArray methodList
the list of method name identifiers
bool lightwtCtor
indicates use of lightweight Iterator ctors
IteratorArray selectedIterators
the set of iterators, one for each entry in methodList
ModelArray selectedModels
the set of models, one for each iterator (if not lightweight construction)
size t seqCount
hybrid sequence counter: 0 to numIterators-1
Real progressMetric
the amount of progress made in a single iterator++ cycle within a sequential adaptive hybrid
786
PRP2DArray prpResults
2-D array of results corresponding to numIteratorJobs, one set of results per job (iterators may return multiple final
solutions)
VariablesArray parameterSets
1-D array of variable starting points for the iterator jobs
Detailed Description
Method for sequential hybrid iteration using multiple optimization and nonlinear least squares methods on multiple models of varying fidelity.
Sequential hybrid meta-iteration supports two approaches: (1) the non-adaptive sequential hybrid runs one
method to completion, passes its best results as the starting point for a subsequent method, and continues this
succession until all methods have been executed (the stopping rules are controlled internally by each iterator), and
(2) the adaptive sequential hybrid uses adaptive stopping rules for the iterators that are controlled externally by
this method. Any iterator may be used so long as it defines the notion of a final solution which can be passed as
starting data for subsequent iterators.
13.143.2
) [private]
787
) [private]
13.144
Sample derived interface class for testing serial simulator plug-ins using assign rep().
Inheritance diagram for SerialDirectApplicInterface:
Interface
ApplicationInterface
DirectApplicInterface
SerialDirectApplicInterface
788
Detailed Description
Sample derived interface class for testing serial simulator plug-ins using assign rep().
The plug-in SerialDirectApplicInterface resides in namespace SIM and uses a copy of rosenbrock() to perform
serial parameter to response mappings. It is used to demonstrate plugging in a serial direct analysis driver into
Dakota in library mode. Test input files can then use an analysis driver of plugin rosenbrock.
13.144.2
void test local evaluations ( Dakota::PRPQueue & prp queue ) [inline], [protected]
invokes wait local evaluations() (no special nowait support)
For use by ApplicationInterface::serve evaluations asynch(), which can provide a batch processing capability
within message passing schedulers (called using chain IteratorScheduler::run iterator() > Model::serve() >
ApplicationInterface::serve evaluations() > ApplicationInterface::serve evaluations asynch()).
References SerialDirectApplicInterface::wait local evaluations().
The documentation for this class was generated from the following files:
PluginSerialDirectApplicInterface.hpp
PluginSerialDirectApplicInterface.cpp
13.145
789
SharedApproxData
SharedPecosApproxData
SharedSurfpackApproxData
SharedApproxData (const String &approx type, const UShortArray &approx order, size t num vars, short
data order, short output level)
alternate constructor for envelope
virtual SharedApproxData ()
destructor
790
void set bounds (const RealVector &c l bnds, const RealVector &c u bnds, const IntVector &di l bnds,
const IntVector &di u bnds, const RealVector &dr l bnds, const RealVector &dr u bnds)
set approximation lower and upper bounds (currently only used by graphics)
SharedApproxData (NoDBBaseConstructor, const String &approx type, size t num vars, short data order,
short output level)
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
Protected Attributes
size t numVars
number of variables in the approximation
String approxType
approximation type identifier
short buildDataOrder
order of the data used for surrogate construction, in ActiveSet request vector 3-bit format.
short outputLevel
output verbosity level: {SILENT,QUIET,NORMAL,VERBOSE,DEBUG} OUTPUT
RealVector approxCLowerBnds
approximation continuous lower bounds (used by 3D graphics and Surfpack KrigingModel)
RealVector approxCUpperBnds
approximation continuous upper bounds (used by 3D graphics and Surfpack KrigingModel)
IntVector approxDILowerBnds
approximation continuous lower bounds
IntVector approxDIUpperBnds
approximation continuous upper bounds
RealVector approxDRLowerBnds
approximation continuous lower bounds
RealVector approxDRUpperBnds
approximation continuous upper bounds
791
SharedApproxData get shared data (const String &approx type, const UShortArray &approx order, sizet num vars, short data order, short output level)
Used only by the alternate envelope constructor to initialize dataRep to the appropriate derived type.
Private Attributes
SharedApproxData dataRep
pointer to the letter (initialized only for the envelope)
int referenceCount
number of objects sharing dataRep
Friends
class Approximation
class TaylorApproximation
class TANA3Approximation
class GaussProcApproximation
class SurfpackApproximation
class PecosApproximation
13.145.1
Detailed Description
13.145.2
SharedApproxData (
default constructor
For the default constructor, dataRep is NULL. This makes it necessary to check for NULL in the copy constructor, assignment operator, and destructor.
Referenced by SharedApproxData::get shared data().
SharedApproxData ( ProblemDescDB & problem db, size t num vars )
standard constructor for envelope
Envelope constructor only needs to extract enough data to properly execute get shared data, since SharedApproxData(BaseConstructor, problem db) builds the actual base class data for the derived approximations.
References Dakota::abort handler(), SharedApproxData::dataRep, and SharedApproxData::get shared data().
792
SharedApproxData ( const String & approx type, const UShortArray & approx order, size t num vars,
short data order, short output level )
alternate constructor for envelope
This is the alternate envelope constructor for instantiations on the fly. Since it does not have access to problemdb, it utilizes the NoDBBaseConstructor constructor chain.
References Dakota::abort handler(), SharedApproxData::dataRep, and SharedApproxData::get shared data().
SharedApproxData ( const SharedApproxData & shared data )
copy constructor
Copy constructor manages sharing of dataRep and incrementing of referenceCount.
References SharedApproxData::dataRep, and SharedApproxData::referenceCount.
SharedApproxData (
) [virtual]
destructor
Destructor decrements referenceCount and only deletes dataRep when referenceCount reaches zero.
References SharedApproxData::dataRep, and SharedApproxData::referenceCount.
SharedApproxData ( BaseConstructor , ProblemDescDB & problem db, size t num vars )
[protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get shared data()
instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization
list (to avoid recursion in the base class constructor calling get shared data() again). Since the letter IS the
representation, its rep pointer is set to NULL (an uninitialized pointer causes problems in SharedApproxData).
References SharedApproxData::approxType, SharedApproxData::buildDataOrder, ProblemDescDB::get bool(),
ProblemDescDB::get db model node(), ProblemDescDB::get string(), ProblemDescDB::set db model nodes(),
Dakota::strbegins(), and Dakota::strends().
SharedApproxData ( NoDBBaseConstructor , const String & approx type, size t num vars, short
data order, short output level ) [protected]
constructor initializes the base class part of letter classes (BaseConstructor overloading avoids infinite recursion
in the derived class constructors - Coplien, p. 139)
This constructor is the one which must build the base class data for all derived classes. get shared data()
instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization
list (to avoid recursion in the base class constructor calling get shared data() again). Since the letter IS the
representation, its rep pointer is set to NULL (an uninitialized pointer causes problems in SharedApproxData).
References SharedApproxData::approxType, SharedApproxData::buildDataOrder, Dakota::strbegins(), and
Dakota::strends().
13.145.3
793
Assignment operator decrements referenceCount for old dataRep, assigns new dataRep, and increments referenceCount for new dataRep.
References SharedApproxData::dataRep, and SharedApproxData::referenceCount.
SharedApproxData get shared data ( ProblemDescDB & problem db, size t num vars ) [private]
Used only by the standard envelope constructor to initialize dataRep to the appropriate derived type.
Used only by the envelope constructor to initialize dataRep to the appropriate derived type.
References ProblemDescDB::get string(), SharedApproxData::SharedApproxData(), and Dakota::strends().
Referenced by SharedApproxData::SharedApproxData().
SharedApproxData get shared data ( const String & approx type, const UShortArray & approx order,
size t num vars, short data order, short output level ) [private]
Used only by the alternate envelope constructor to initialize dataRep to the appropriate derived type.
Used only by the envelope constructor to initialize dataRep to the appropriate derived type.
References SharedApproxData::SharedApproxData(), and Dakota::strends().
13.145.4
13.146
SharedApproxData
SharedPecosApproxData
794
SharedPecosApproxData (const String &approx type, const UShortArray &approx order, size t num vars,
short data order, short output level)
alternate constructor
SharedPecosApproxData ()
destructor
void construct basis (const Pecos::ShortArray &u types, const Pecos::AleatoryDistParams &adp)
invoke Pecos::SharedOrthogPolyApproxData::construct basis()
const std::vector
< Pecos::BasisPolynomial > & polynomial basis () const
get Pecos::SharedOrthogPolyApproxData::polynomialBasis
void rebuild ()
rebuilds the shared approximation data incrementally
void store ()
store the current state of the shared approximation data for later combination
void approx type to basis type (const String &approx type, short &basis type)
utility to convert Dakota type string to Pecos type enumeration
795
796
Private Attributes
Pecos::SharedBasisApproxData pecosSharedData
the Pecos shared approximation data
Pecos::SharedPolyApproxData pecosSharedDataRep
convenience pointer to derived letter within pecosSharedData
Friends
class PecosApproximation
Detailed Description
13.147
Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
Inheritance diagram for SharedSurfpackApproxData:
SharedApproxData
SharedSurfpackApproxData
SharedSurfpackApproxData (const String &approx type, const UShortArray &approx order, size t num vars, short data order, short output level)
alternate constructor
SharedSurfpackApproxData ()
destructor
797
void copy matrix (const RealSymMatrix &rsm, SurfpackMatrix< Real > &surfpack matrix)
copy RealSymMatrix to SurfpackMatrix (Real type only)
void merge variable arrays (const RealVector &cv, const IntVector &div, const RealVector &drv, RealArray
&ra)
merge cv, div, and drv vectors into a single ra array
Private Attributes
unsigned short approxOrder
order of polynomial approximation
String exportModelName
A Surfpack model name for saving the surrogate model.
StringArray diagnosticSet
set of diagnostic metrics
bool crossValidateFlag
whether to perform cross validation
unsigned numFolds
number of folds for CV
Real percentFold
percentage of data for CV
bool pressFlag
whether to perform PRESS
Friends
class SurfpackApproximation
Detailed Description
Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
The SharedSurfpackApproxData class is the interface between Dakota and Surfpack. Based on the information in the ProblemDescDB that is passed in through the constructor, SharedSurfpackApproxData builds a
Surfpack Surface object that corresponds to one of the following data-fitting techniques: polynomial regression,
kriging, artificial neural networks, radial basis function network, or multivariate adaptaive regression splines (MARS).
798
13.147.2
SharedSurfpackApproxData ( const String & approx type, const UShortArray & approx order, size t
num vars, short data order, short output level )
alternate constructor
On-the-fly constructor which uses mostly Surfpack model defaults.
References Dakota::abort handler(), SharedSurfpackApproxData::approxOrder, and SharedApproxData::approxType.
SharedSurfpackApproxData ( ProblemDescDB & problem db, size t num vars )
standard constructor: Surfpack surface of appropriate type will be created
Initialize the embedded Surfpack surface object and configure it using the specifications from the input file.
Data for the surface is created later.
References SharedSurfpackApproxData::approxOrder, SharedApproxData::approxType, ProblemDescDB::getshort(), and ProblemDescDB::get string().
The documentation for this class was generated from the following files:
SharedSurfpackApproxData.hpp
SharedSurfpackApproxData.cpp
13.148
Container class encapsulating variables data that can be shared among a set of Variables instances.
SharedVariablesData (const ProblemDescDB &problem db, const std::pair< short, short > &view)
standard constructor
SharedVariablesData (const std::pair< short, short > &view, const SizetArray &vars comps totals)
lightweight constructor
SharedVariablesData ()
destructor
StringMultiArrayView all continuous labels (size t start, size t num items) const
get num items continuous labels beginning at index start
void all continuous labels (StringMultiArrayConstView cv labels, size t start, size t num items)
set num items continuous labels beginning at index start
void all continuous label (const String &cv label, size t index)
set continuous label at index start
StringMultiArrayView all discrete int labels (size t start, size t num items) const
get num items discrete integer labels beginning at index start
void all discrete int labels (StringMultiArrayConstView div labels, size t start, size t num items)
set num items discrete integer labels beginning at index start
void all discrete int label (const String &div label, size t index)
set discrete integer label at index start
StringMultiArrayView all discrete real labels (size t start, size t num items) const
get num items discrete real labels beginning at index start
void all discrete real labels (StringMultiArrayConstView drv labels, size t start, size t num items)
set num items discrete real labels beginning at index start
void all discrete real label (const String &drv label, size t index)
set discrete real label at index start
UShortMultiArrayConstView all continuous types (size t start, size t num items) const
get num items continuous types beginning at index start
void all continuous types (UShortMultiArrayConstView cv types, size t start, size t num items)
set num items continuous types beginning at index start
UShortMultiArrayConstView all discrete int types (size t start, size t num items) const
get num items discrete integer types beginning at index start
void all discrete int types (UShortMultiArrayConstView div types, size t start, size t num items)
set num items discrete integer types beginning at index start
void all discrete int type (unsigned short div type, size t index)
set discrete integer type at index
799
800
void all discrete real types (UShortMultiArrayConstView drv types, size t start, size t num items)
set num items discrete real types beginning at index start
void all discrete real type (unsigned short drv type, size t index)
set discrete real type at index
SizetMultiArrayConstView all continuous ids (size t start, size t num items) const
get num items continuous ids beginning at index start
void all continuous ids (SizetMultiArrayConstView cv ids, size t start, size t num items)
set num items continuous ids beginning at index start
size t cv () const
get number of active continuous vars
Private Attributes
SharedVariablesDataRep svdRep
pointer to the body (handle-body idiom)
801
802
13.148.1
Detailed Description
Container class encapsulating variables data that can be shared among a set of Variables instances.
An array of Variables objects (e.g., Analyzer::allVariables) contains repeated configuration data (ids, labels,
counts). SharedVariablesData employs a handle-body idiom to allow this shared data to be managed in a single
object with many references to it, one per Variables object in the array. This allows scaling to larger sample sets.
13.148.2
SharedVariablesData copy (
) const
13.149
The representation of a SharedVariablesData instance. This representation, or body, may be shared by multiple
SharedVariablesData handle instances.
SharedVariablesDataRep (const std::pair< short, short > &view, const std::map< unsigned short, size t >
&vars comps)
medium weight constructor
SharedVariablesDataRep (const std::pair< short, short > &view, const SizetArray &vars comps totals)
lightweight constructor
SharedVariablesDataRep ()
default constructor
SharedVariablesDataRep ()
destructor
803
Private Attributes
String variablesId
variables identifier string from the input file
SizetArray variablesCompsTotals
totals for variable type counts for {continuous,discrete integer,discrete real} {design,aleatory uncertain,epistemic
uncertain,state}
SizetArray activeVarsCompsTotals
totals for active variable type counts for {continuous,discrete integer,discrete real} {design,aleatory uncertain,epistemic
uncertain,state}
SizetArray inactiveVarsCompsTotals
totals for inactive variable type counts for {continuous,discrete integer,discrete real} {design,aleatory uncertain,epistemic uncertain,state}
size t cvStart
start index of active continuous variables within allContinuousVars
size t divStart
start index of active discrete integer variables within allDiscreteIntVars
size t drvStart
804
size t icvStart
start index of inactive continuous variables within allContinuousVars
size t idivStart
start index of inactive discrete integer variables w/i allDiscreteIntVars
size t idrvStart
start index of inactive discrete real variables within allDiscreteRealVars
size t numCV
number of active continuous variables
size t numDIV
number of active discrete integer variables
size t numDRV
number of active discrete real variables
size t numICV
number of inactive continuous variables
size t numIDIV
number of inactive discrete integer variables
size t numIDRV
number of inactive discrete real variables
StringMultiArray allContinuousLabels
array of variable labels for all of the continuous variables
StringMultiArray allDiscreteIntLabels
array of variable labels for all of the discrete integer variables
StringMultiArray allDiscreteRealLabels
array of variable labels for all of the discrete real variables
UShortMultiArray allContinuousTypes
array of variable types for all of the continuous variables
UShortMultiArray allDiscreteIntTypes
array of variable types for all of the discrete integer variables
UShortMultiArray allDiscreteRealTypes
array of variable types for all of the discrete real variables
SizetMultiArray allContinuousIds
array of 1-based position identifiers for the all continuous variables array
SizetArray relaxedDiscreteIds
array of discrete variable identifiers for which the discrete requirement is relaxed by merging them into a continuous
array
int referenceCount
number of handle objects sharing svdRep
Friends
class SharedVariablesData
13.149.1
805
Detailed Description
The representation of a SharedVariablesData instance. This representation, or body, may be shared by multiple
SharedVariablesData handle instances.
The SharedVariablesData/SharedVariablesDataRep pairs utilize a handle-body idiom (Coplien, Advanced
C++).
13.149.2
SharedVariablesDataRep ( const ProblemDescDB & problem db, const std::pair< short, short > & view
) [private]
standard constructor
This constructor is the one which must build the base class data for all derived classes. get variables() instantiates a derived class letter and the derived constructor selects this base class constructor in its initialization
list (to avoid the recursion of the base class constructor calling get variables() again). Since the letter IS the
representation, its representation pointer is set to NULL (an uninitialized pointer causes problems in Variables).
References SharedVariablesDataRep::allContinuousLabels, SharedVariablesDataRep::allDiscreteIntLabels, SharedVariablesDataRep::allDiscreteRealLabels, Dakota::copy data partial(), ProblemDescDB::get sa(), ProblemDescDB::get sizet(), SharedVariablesDataRep::initialize all continuous ids(), SharedVariablesDataRep::initialize allcontinuous types(), SharedVariablesDataRep::initialize all discrete int types(), SharedVariablesDataRep::initializeall discrete real types(), SharedVariablesDataRep::variablesComponents, SharedVariablesDataRep::variablesCompsTotals, and SharedVariablesDataRep::variablesView.
13.149.3
13.150
Derived model class which utilizes a single interface to map variables into responses.
Inheritance diagram for SingleModel:
Model
SingleModel
806
SingleModel ()
destructor
void derived init communicators (int max eval concurrency, bool recurse flag=true)
set up SingleModel for parallel operations (request forwarded to userDefinedInterface)
void derived set communicators (int max eval concurrency, bool recurse flag=true)
set active parallel configuration for the SingleModel (request forwarded to userDefinedInterface)
void derived free communicators (int max eval concurrency, bool recurse flag=true)
deallocate communicator partitions for the SingleModel (request forwarded to userDefinedInterface)
807
void print evaluation summary (std::ostream &s, bool minimal header=false, bool relative count=true) const
print the evaluation summary for the SingleModel (request forwarded to userDefinedInterface)
Private Attributes
Interface userDefinedInterface
the interface used for mapping variables to responses
Detailed Description
Derived model class which utilizes a single interface to map variables into responses.
The SingleModel class is the simplest of the derived model classes. It provides the capabilities of the original
Model class, prior to the development of surrogate and nested model extensions. The derived response computation and synchronization functions utilize a single interface to perform the function evaluations.
13.150.2
void eval tag prefix ( const String & eval id str ) [protected], [virtual]
set the hierarchical eval ID tag prefix
SingleModel doesnt need to change the tagging, so just forward to Interface
Reimplemented from Model.
References Interface::eval tag prefix(), and SingleModel::userDefinedInterface.
The documentation for this class was generated from the following files:
SingleModel.hpp
SingleModel.cpp
13.151
808
SNLLBase
SNLLLeastSq
SNLLOptimizer
SNLLBase ()
destructor
void copy con vals optpp to dak (const RealVector &g, RealVector &local fn vals, size t offset)
convenience function for copying g to local fn vals; used in final solution logging
void copy con grad (const RealMatrix &local fn grads, RealMatrix &grad g, size t offset)
convenience function for copying local fn grads to grad g; used by constraint evaluator functions
void copy con hess (const RealSymMatrixArray &local fn hessians, OPTPP::OptppArray< RealSymMatrix
> &hess g, size t offset)
convenience function for copying local fn hessians to hess g; used by constraint evaluator functions
void snll pre instantiate (bool bound constr flag, int num constr)
convenience function for setting OPT++ options prior to the method instantiation
void snll post instantiate (int num cv, bool vendor num grad flag, const String &finite diff type, const
RealVector &fdss, int max iter, int max fn evals, Real conv tol, Real grad tol, Real max step, bool boundconstr flag, int num constr, short output lev, OPTPP::OptimizeClass the optimizer, OPTPP::NLP0 nlfobjective, OPTPP::FDNLF1 fd nlf1, OPTPP::FDNLF1 fd nlf1 con)
convenience function for setting OPT++ options after the method instantiation
void snll initialize run (OPTPP::NLP0 nlf objective, OPTPP::NLP nlp constraint, const RealVector &initpt, bool bound constr flag, const RealVector &lower bnds, const RealVector &upper bnds, const RealMatrix &lin ineq coeffs, const RealVector &lin ineq l bnds, const RealVector &lin ineq u bnds, const
RealMatrix &lin eq coeffs, const RealVector &lin eq targets, const RealVector &nln ineq l bnds, const
RealVector &nln ineq u bnds, const RealVector &nln eq targets)
convenience function for OPT++ configuration prior to the method invocation
809
Protected Attributes
String searchMethod
value based line search, gradient based line search, trust region, or tr pds
OPTPP::SearchStrategy searchStrat
enum: LineSearch, TrustRegion, or TrustPDS
OPTPP::MeritFcn meritFn
enum: NormFmu, ArgaezTapia, or VanShanno
Real maxStep
value from max step specification
Real stepLenToBndry
value from steplength to boundary specification
Real centeringParam
value from centering parameter specification
bool constantASVFlag
flags a user selection of active set vector == constant. By mapping this into mode override, reliance on duplicate
detection can be avoided.
13.151.1
Detailed Description
810
13.152
SNLLBase
SNLLLeastSq
SNLLLeastSq ()
destructor
static void constraint1 evaluator gn (int mode, int n, const RealVector &x, RealVector &g, RealMatrix
&grad g, int &result mode)
constraint evaluator function which provides constraint values and gradients to OPT++ Gauss-Newton methods.
static void constraint2 evaluator gn (int mode, int n, const RealVector &x, RealVector &g, RealMatrix
&grad g, OPTPP::OptppArray< RealSymMatrix > &hess g, int &result mode)
811
constraint evaluator function which provides constraint values, gradients, and Hessians to OPT++ Gauss-Newton
methods.
Private Attributes
SNLLLeastSq prevSnllLSqInstance
pointer to the previously active object instance used for restoration in the case of iterator/model recursion
OPTPP::NLP0 nlfObjective
objective NLF base class pointer
OPTPP::NLP0 nlfConstraint
constraint NLF base class pointer
OPTPP::NLP nlpConstraint
constraint NLP pointer
OPTPP::NLF2 nlf2
pointer to objective NLF for full Newton optimizers
OPTPP::NLF2 nlf2Con
pointer to constraint NLF for full Newton optimizers
OPTPP::NLF1 nlf1Con
pointer to constraint NLF for Quasi Newton optimizers
OPTPP::OptimizeClass theOptimizer
optimizer base class pointer
OPTPP::OptNewton optnewton
Newton optimizer pointer.
OPTPP::OptBCNewton optbcnewton
Bound constrained Newton optimizer ptr.
OPTPP::OptDHNIPS optdhnips
Disaggregated Hessian NIPS optimizer ptr.
Detailed Description
812
13.152.2
813
While it does not employ the Gauss-Newton approximation, it is distinct from constraint1 evaluator() due to
its need to anticipate the required modes for the least squares terms. This constraint evaluator function is used
with diaggregated Hessian NIPS and is currently active.
References Dakota::abort handler(), Iterator::activeSet, Model::compute response(), Model::continuous variables(),
SNLLBase::copy con grad(), SNLLBase::copy con vals dak to optpp(), Model::current response(), Response::function gradients(), Response::function values(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numFunctions, LeastSq::numLeastSqTerms, Iterator::outputLevel, ActiveSet::request vector(), and SNLLLeastSq::snllLSqInstance.
Referenced by SNLLLeastSq::SNLLLeastSq().
void constraint2 evaluator gn ( int mode, int n, const RealVector & x, RealVector & g, RealMatrix
& grad g, OPTPP::OptppArray< RealSymMatrix > & hess g, int & result mode ) [static],
[private]
constraint evaluator function which provides constraint values, gradients, and Hessians to OPT++ Gauss-Newton
methods.
While it does not employ the Gauss-Newton approximation, it is distinct from constraint2 evaluator() due to
its need to anticipate the required modes for the least squares terms. This constraint evaluator function is used
with full Newton NIPS and is currently inactive.
References Dakota::abort handler(), Iterator::activeSet, Model::compute response(), Model::continuous variables(),
SNLLBase::copy con grad(), SNLLBase::copy con hess(), SNLLBase::copy con vals dak to optpp(), Model::currentresponse(), Response::function gradients(), Response::function hessians(), Response::function values(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, SNLLBase::modeOverrideFlag, Minimizer::numFunctions, LeastSq::numLeastSqTerms, Iterator::outputLevel, ActiveSet::request vector(), and SNLLLeastSq::snllLSqInstance.
The documentation for this class was generated from the following files:
SNLLLeastSq.hpp
SNLLLeastSq.cpp
13.153
SNLLBase
SNLLOptimizer
814
SNLLOptimizer (const RealVector &initial pt, const RealVector &var l bnds, const RealVector &var u bnds, const RealMatrix &lin ineq coeffs, const RealVector &lin ineq l bnds, const RealVector &lin inequ bnds, const RealMatrix &lin eq coeffs, const RealVector &lin eq tgts, const RealVector &nln ineq l bnds, const RealVector &nln ineq u bnds, const RealVector &nln eq tgts, void(user obj eval)(int mode,
int n, const RealVector &x, double &f, RealVector &grad f, int &result mode), void(user con eval)(int
mode, int n, const RealVector &x, RealVector &g, RealMatrix &grad g, int &result mode))
alternate constructor for instantiations on the fly
SNLLOptimizer ()
destructor
static void nlf1 evaluator (int mode, int n, const RealVector &x, double &f, RealVector &grad f, int &resultmode)
objective function evaluator function which provides function values and gradients to OPT++ methods.
static void nlf2 evaluator (int mode, int n, const RealVector &x, double &f, RealVector &grad f, RealSymMatrix &hess f, int &result mode)
objective function evaluator function which provides function values, gradients, and Hessians to OPT++ methods.
static void constraint0 evaluator (int n, const RealVector &x, RealVector &g, int &result mode)
constraint evaluator function for OPT++ methods which require only constraint values.
static void constraint1 evaluator (int mode, int n, const RealVector &x, RealVector &g, RealMatrix &gradg, int &result mode)
constraint evaluator function which provides constraint values and gradients to OPT++ methods.
static void constraint2 evaluator (int mode, int n, const RealVector &x, RealVector &g, RealMatrix &gradg, OPTPP::OptppArray< RealSymMatrix > &hess g, int &result mode)
constraint evaluator function which provides constraint values, gradients, and Hessians to OPT++ methods.
Private Attributes
SNLLOptimizer prevSnllOptInstance
pointer to the previously active object instance used for restoration in the case of iterator/model recursion
OPTPP::NLP0 nlfObjective
objective NLF base class pointer
OPTPP::NLP0 nlfConstraint
constraint NLF base class pointer
OPTPP::NLP nlpConstraint
constraint NLP pointer
OPTPP::NLF0 nlf0
pointer to objective NLF for nongradient optimizers
OPTPP::NLF1 nlf1
pointer to objective NLF for (analytic) gradient-based optimizers
OPTPP::NLF1 nlf1Con
pointer to constraint NLF for (analytic) gradient-based optimizers
OPTPP::FDNLF1 fdnlf1
pointer to objective NLF for (finite diff) gradient-based optimizers
OPTPP::FDNLF1 fdnlf1Con
pointer to constraint NLF for (finite diff) gradient-based optimizers
OPTPP::NLF2 nlf2
pointer to objective NLF for full Newton optimizers
OPTPP::NLF2 nlf2Con
pointer to constraint NLF for full Newton optimizers
OPTPP::OptimizeClass theOptimizer
optimizer base class pointer
OPTPP::OptPDS optpds
PDS optimizer pointer.
OPTPP::OptCG optcg
CG optimizer pointer.
OPTPP::OptLBFGS optlbfgs
L-BFGS optimizer pointer.
OPTPP::OptNewton optnewton
Newton optimizer pointer.
OPTPP::OptQNewton optqnewton
Quasi-Newton optimizer pointer.
OPTPP::OptFDNewton optfdnewton
Finite Difference Newton opt pointer.
OPTPP::OptBCNewton optbcnewton
Bound constrained Newton opt pointer.
OPTPP::OptBCQNewton optbcqnewton
Bnd constrained Quasi-Newton opt ptr.
OPTPP::OptBCFDNewton optbcfdnewton
815
816
OPTPP::OptNIPS optnips
NIPS optimizer pointer.
OPTPP::OptQNIPS optqnips
Quasi-Newton NIPS optimizer pointer.
OPTPP::OptFDNIPS optfdnips
Finite Difference NIPS opt pointer.
String setUpType
flag for iteration mode: model (normal usage) or user functions (user-supplied functions mode for on the
fly instantiations). NonDReliability currently uses the user functions mode.
RealVector initialPoint
holds initial point passed in for user functions mode.
RealVector lowerBounds
holds variable lower bounds passed in for user functions mode.
RealVector upperBounds
holds variable upper bounds passed in for user functions mode.
Detailed Description
13.153.2
817
818
13.153.3
void nlf0 evaluator ( int n, const RealVector & x, double & f, int & result mode ) [static],
[private]
objective function evaluator function for OPT++ methods which require only function values.
For use when DAKOTA computes f and gradients are not directly available. This is used by nongradient-based
optimizers such as PDS and by gradient-based optimizers in vendor numerical gradient mode (opt++s internal
finite difference routine is used).
References Model::compute response(), Model::continuous variables(), Model::current response(), Response::function value(), Iterator::iteratedModel, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numNonlinearConstraints, Iterator::outputLevel, Model::primary response fn sense(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
void nlf1 evaluator ( int mode, int n, const RealVector & x, double & f, RealVector & grad f, int &
result mode ) [static], [private]
objective function evaluator function which provides function values and gradients to OPT++ methods.
For use when DAKOTA computes f and df/dX (regardless of gradient type). Vendor numerical gradient case
is handled by nlf0 evaluator.
References Iterator::activeSet, Model::compute response(), Model::continuous variables(), Model::current response(), Response::function gradient copy(), Response::function value(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numNonlinearConstraints, Iterator::outputLevel, Model::primary response fn sense(), ActiveSet::request values(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
void nlf2 evaluator ( int mode, int n, const RealVector & x, double & f, RealVector & grad f,
RealSymMatrix & hess f, int & result mode ) [static], [private]
objective function evaluator function which provides function values, gradients, and Hessians to OPT++ methods.
For use when DAKOTA receives f, df/dX, & d 2f/dx 2 from the ApplicationInterface (analytic only). Finite
differencing does not make sense for a full Newton approach, since lack of analytic gradients & Hessian should
dictate the use of quasi-newton or fd-newton. Thus, there is no fdnlf2 evaluator for use with full Newton approaches, since it is preferable to use quasi-newton or fd-newton with nlf1. Gauss-Newton does not fit this model;
it uses nlf2 evaluator gn instead of nlf2 evaluator.
References Iterator::activeSet, Model::compute response(), Model::continuous variables(), Model::current response(), Response::function gradient copy(), Response::function hessian(), Response::function value(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Minimizer::numNonlinearConstraints, Iterator::outputLevel, Model::primary response fn sense(), ActiveSet::request values(),
and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
void constraint0 evaluator ( int n, const RealVector & x, RealVector & g, int & result mode )
[static], [private]
constraint evaluator function for OPT++ methods which require only constraint values.
819
For use when DAKOTA computes g and gradients are not directly available. This is used by nongradientbased optimizers and by gradient-based optimizers in vendor numerical gradient mode (opt++s internal finite
difference routine is used).
References Model::compute response(), Model::continuous variables(), SNLLBase::copy con vals dak to optpp(), Model::current response(), Response::function values(), Iterator::iteratedModel, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Optimizer::numObjectiveFns, Iterator::outputLevel, and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
void constraint1 evaluator ( int mode, int n, const RealVector & x, RealVector & g, RealMatrix &
grad g, int & result mode ) [static], [private]
constraint evaluator function which provides constraint values and gradients to OPT++ methods.
For use when DAKOTA computes g and dg/dX (regardless of gradient type). Vendor numerical gradient case
is handled by constraint0 evaluator.
References Iterator::activeSet, Model::compute response(), Model::continuous variables(), SNLLBase::copycon grad(), SNLLBase::copy con vals dak to optpp(), Model::current response(), Response::function gradients(),
Response::function values(), Iterator::iteratedModel, SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Optimizer::numObjectiveFns, Iterator::outputLevel, ActiveSet::request values(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
void constraint2 evaluator ( int mode, int n, const RealVector & x, RealVector & g, RealMatrix
& grad g, OPTPP::OptppArray< RealSymMatrix > & hess g, int & result mode ) [static],
[private]
constraint evaluator function which provides constraint values, gradients, and Hessians to OPT++ methods.
For use when DAKOTA computes g, dg/dX, & d 2g/dx 2 (analytic only).
References Iterator::activeSet, Model::compute response(), Model::continuous variables(), SNLLBase::copycon grad(), SNLLBase::copy con hess(), SNLLBase::copy con vals dak to optpp(), Model::current response(),
Response::function gradients(), Response::function hessians(), Response::function values(), Iterator::iteratedModel,
SNLLBase::lastEvalMode, SNLLBase::lastEvalVars, SNLLBase::lastFnEvalLocn, Optimizer::numObjectiveFns,
Iterator::outputLevel, ActiveSet::request values(), and SNLLOptimizer::snllOptInstance.
Referenced by SNLLOptimizer::SNLLOptimizer().
The documentation for this class was generated from the following files:
SNLLOptimizer.hpp
SNLLOptimizer.cpp
13.154
SOLBase
NLSSOLLeastSq
NPSOLOptimizer
820
SOLBase ()
destructor
void allocate workspace (int num cv, int num nln con, int num lin con, int num lsq)
Allocates real and integer workspaces for the SOL algorithms.
void set options (bool speculative flag, bool vendor num grad flag, short output lev, int verify lev, Real
fn prec, Real linesrch tol, int max iter, Real constr tol, Real conv tol, const std::string &grad type, const
RealVector &fdss)
Sets SOL method options using calls to npoptn2.
void augment bounds (RealVector &augmented l bnds, RealVector &augmented u bnds, const RealVector
&lin ineq l bnds, const RealVector &lin ineq u bnds, const RealVector &lin eq targets, const RealVector
&nln ineq l bnds, const RealVector &nln ineq u bnds, const RealVector &nln eq targets)
augments variable bounds with linear and nonlinear constraint bounds.
Protected Attributes
int realWorkSpaceSize
size of realWorkSpace
int intWorkSpaceSize
size of intWorkSpace
RealArray realWorkSpace
real work space for NPSOL/NLSSOL
IntArray intWorkSpace
int work space for NPSOL/NLSSOL
int nlnConstraintArraySize
used for non-zero array sizing (nonlinear constraints)
int linConstraintArraySize
821
RealArray cLambda
CLAMBDA from NPSOL manual: Langrange multipliers.
IntArray constraintState
ISTATE from NPSOL manual: constraint status.
int informResult
INFORM from NPSOL manual: optimization status on exit.
int numberIterations
ITER from NPSOL manual: number of (major) iterations performed.
int boundsArraySize
length of augmented bounds arrays (variable bounds plus linear and nonlinear constraint bounds)
double linConstraintMatrixF77
[A] matrix from NPSOL manual: linear constraint coefficients
double upperFactorHessianF77
[R] matrix from NPSOL manual: upper Cholesky factor of the Hessian of the Lagrangian.
double constraintJacMatrixF77
[CJAC] matrix from NPSOL manual: nonlinear constraint Jacobian
int fnEvalCntr
counter for testing against maxFunctionEvals
size t constrOffset
used in constraint eval() to bridge NLSSOLLeastSq::numLeastSqTerms and NPSOLOptimizer::numObjectiveFns
13.154.1
Detailed Description
822
13.155
Derived application interface class which spawns simulation codes using spawnvp.
Inheritance diagram for SpawnApplicInterface:
Interface
ApplicationInterface
ProcessApplicInterface
ProcessHandleApplicInterface
SpawnApplicInterface
SpawnApplicInterface ()
destructor
pid t create analysis process (bool block flag, bool new group)
spawn a child process for an analysis component within an evaluation
Detailed Description
Derived application interface class which spawns simulation codes using spawnvp.
823
SpawnApplicInterface is used on Windows systems and is a peer to ForkApplicInterface for Unix systems.
The documentation for this class was generated from the following files:
SpawnApplicInterface.hpp
SpawnApplicInterface.cpp
13.156
Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
Inheritance diagram for SurfpackApproximation:
Approximation
SurfpackApproximation
SurfpackApproximation ()
destructor
void build ()
SurfData object will be created from Dakotas SurrogateData, and the appropriate Surfpack build method will be
invoked.
824
Real diagnostic (const String &metric type, const SurfpackModel &model, const SurfData &data)
retrieve a single diagnostic metric for the diagnostic type specified on the given model and data
Private Attributes
SurfpackModel model
The native Surfpack approximation.
SurfpackModelFactory factory
factory for the SurfpackModel instance
SurfData surfData
The data used to build the approximation, in Surfpack format.
Detailed Description
Derived approximation class for Surfpack approximation classes. Interface between Surfpack and Dakota.
The SurfpackApproximation class is the interface between Dakota and Surfpack. Based on the information in
the ProblemDescDB that is passed in through the constructor, SurfpackApproximation builds a Surfpack Surface
object that corresponds to one of the following data-fitting techniques: polynomial regression, kriging, artificial
neural networks, radial basis function network, or multivariate adaptaive regression splines (MARS).
13.156.2
SurfpackApproximation ( const ProblemDescDB & problem db, const SharedApproxData & shared data
)
standard constructor: Surfpack surface of appropriate type will be created
Initialize the embedded Surfpack surface object and configure it using the specifications from the input file.
Data for the surface is created later.
References Dakota::abort handler(), SharedSurfpackApproxData::approxOrder, SharedApproxData::approxType, SharedApproxData::buildDataOrder, Dakota::copy data(), SharedSurfpackApproxData::crossValidateFlag,
825
SharedSurfpackApproxData::diagnosticSet, SharedSurfpackApproxData::exportModelName, SurfpackApproximation::factory, ProblemDescDB::get real(), ProblemDescDB::get rv(), ProblemDescDB::get short(), ProblemDescDB::get string(), SharedSurfpackApproxData::numFolds, SharedApproxData::numVars, SharedApproxData::outputLevel, SharedSurfpackApproxData::percentFold, Approximation::sharedDataRep, and Dakota::strends().
SurfpackApproximation ( const SharedApproxData & shared data )
alternate constructor
On-the-fly constructor which uses mostly Surfpack model defaults.
References Dakota::abort handler(), SharedSurfpackApproxData::approxOrder, SharedApproxData::approxType, SharedApproxData::buildDataOrder, SurfpackApproximation::factory, SharedApproxData::numVars, SharedApproxData::outputLevel, and Approximation::sharedDataRep.
13.156.3
void build (
SurfData object will be created from Dakotas SurrogateData, and the appropriate Surfpack build method will be
invoked.
surfData will be deleted in dtor
Todo Right now, were completely deleting the old data and then recopying the current data into a SurfData
object. This was just the easiest way to arrive at a solution that would build and run. This function is
frequently called from addPoint rebuild, however, and its not good to go through this whole process every
time one more data point is added.
Reimplemented from Approximation.
References Dakota::abort handler(), SharedApproxData::approxCLowerBnds, SharedApproxData::approxCUpperBnds, SharedApproxData::approxDILowerBnds, SharedApproxData::approxDIUpperBnds, SharedApproxData::approxDRLowerBnds, SharedApproxData::approxDRUpperBnds, Approximation::build(), SharedSurfpackApproxData::exportModelName, SurfpackApproximation::factory, SharedSurfpackApproxData::merge variablearrays(), SurfpackApproximation::model, SharedApproxData::outputLevel, Approximation::sharedDataRep, SurfpackApproximation::surfData, and SurfpackApproximation::surrogates to surf data().
const RealSymMatrix & hessian ( const Variables & vars ) [protected], [virtual]
retrieve the approximate function Hessian for a given parameter vector x
Todo Make this acceptably efficient
Reimplemented from Approximation.
References Dakota::abort handler(), Approximation::approxHessian, SharedApproxData::approxType, Variables::cv(), SurfpackApproximation::model, and Approximation::sharedDataRep.
Referenced by SurfpackApproximation::add anchor to surfdata().
SurfData surrogates to surf data (
) [private]
826
13.157
The global surrogate-based minimizer which sequentially minimizes and updates a global surrogate model without
trust region controls.
Inheritance diagram for SurrBasedGlobalMinimizer:
Iterator
Minimizer
SurrBasedMinimizer
SurrBasedGlobalMinimizer
SurrBasedGlobalMinimizer ()
destructor
827
Private Attributes
bool replacePoints
flag for replacing the previous iterations point additions, rather than continuing to append, during construction of
the next surrogate
Detailed Description
The global surrogate-based minimizer which sequentially minimizes and updates a global surrogate model without
trust region controls.
This method uses a SurrogateModel to perform minimization (optimization or nonlinear least squares) through
a set of iterations. At each iteration, a surrogate is built, the surrogate is minimized, and the optimal points from
the surrogate are then evaluated with the true function, to generate new points upon which the surrogate for the
next iteration is built.
The documentation for this class was generated from the following files:
SurrBasedGlobalMinimizer.hpp
SurrBasedGlobalMinimizer.cpp
13.158
Class for provably-convergent local surrogate-based optimization and nonlinear least squares.
Inheritance diagram for SurrBasedLocalMinimizer:
Iterator
Minimizer
SurrBasedMinimizer
SurrBasedLocalMinimizer
SurrBasedLocalMinimizer ()
destructor
828
void reset ()
reset convergence controls in case of multiple SBLM executions
bool tr bounds (const RealVector &global lower bnds, const RealVector &global upper bnds, RealVector
&tr lower bnds, RealVector &tr upper bnds)
compute current trust region bounds
void find center truth (const Iterator &dace iterator, Model &truth model)
retrieve responseCenterTruth if possible, evaluate it if not
void hard convergence check (const Response &response truth, const RealVector &c vars, const RealVector &lower bnds, const RealVector &upper bnds)
check for hard convergence (norm of projected gradient of merit function near zero)
void tr ratio check (const RealVector &c vars star, const RealVector &tr lower bounds, const RealVector
&tr upper bounds)
compute trust region ratio (for SBLM iterate acceptance and trust region resizing) and check for soft convergence
(diminishing returns)
void update penalty (const RealVector &fns center truth, const RealVector &fns star truth)
initialize and update the penaltyParameter
void relax constraints (const RealVector &lower bnds, const RealVector &upper bnds)
relax constraints by updating bounds when current iterate is infeasible
static void approx subprob constraint eval (const Variables &surrogate vars, const Variables &recast vars,
const Response &surrogate response, Response &recast response)
static function used to define the approximate subproblem constraints.
static void hom objective eval (int &mode, int &n, double tau and x, double &f, double grad f, int &)
static function used by NPSOL as the objective function in the homotopy constraint relaxation formulation.
static void hom constraint eval (int &mode, int &ncnln, int &n, int &nrowj, int needc, double tau and x,
double c, double cjac, int &nstate)
static function used by NPSOL as the constraint function in the homotopy constraint relaxation formulation.
829
Private Attributes
Real origTrustRegionFactor
original user specification for trustRegionFactor
Real trustRegionFactor
the trust region factor is used to compute the total size of the trust region it is a percentage, e.g. for trustRegionFactor = 0.1, the actual size of the trust region will be 10% of the global bounds (upper bound - lower bound for
each design variable).
Real minTrustRegionFactor
a soft convergence control: stop SBLM when the trust region factor is reduced below the value of minTrustRegionFactor
Real trRatioContractValue
trust region ratio min value: contract tr if ratio below this value
Real trRatioExpandValue
trust region ratio sufficient value: expand tr if ratio above this value
Real gammaContract
trust region contraction factor
Real gammaExpand
trust region expansion factor
short approxSubProbObj
type of approximate subproblem objective: ORIGINAL OBJ, LAGRANGIAN OBJ, or AUGMENTED LAGRANGIAN OBJ
short approxSubProbCon
type of approximate subproblem constraints: NO CON, LINEARIZED CON, or ORIGINAL CON
Model approxSubProbModel
the approximate sub-problem formulation solved on each approximate minimization cycle: may be a shallow copy
of iteratedModel, or may involve a RecastModel recursion applied to iteratedModel
bool recastSubProb
flag to indicate when approxSubProbModel involves a RecastModel recursion
short trConstraintRelax
type of trust region constraint relaxation for infeasible starting points: NO RELAX or HOMOTOPY
short meritFnType
type of merit function used in trust region ratio logic: PENALTY MERIT, ADAPTIVE PENALTY MERIT, LAGRANGIAN MERIT, or AUGMENTED LAGRANGIAN MERIT
short acceptLogic
type of iterate acceptance test logic: FILTER or TR RATIO
int penaltyIterOffset
iteration offset used to update the scaling of the penalty parameter for adaptive penalty merit functions
short convergenceFlag
code indicating satisfaction of hard or soft convergence conditions
short softConvCount
number of consecutive candidate point rejections. If the count reaches softConvLimit, stop SBLM.
short softConvLimit
the limit on consecutive candidate point rejections. If exceeded by softConvCount, stop SBLM.
bool truthGradientFlag
830
bool approxGradientFlag
flags the use/availability of surrogate gradients within the SBLM process
bool truthHessianFlag
flags the use/availability of truth Hessians within the SBLM process
bool approxHessianFlag
flags the use/availability of surrogate Hessians within the SBLM process
short correctionType
flags the use of surrogate correction techniques at the center of each trust region
bool globalApproxFlag
flags the use of a global data fit surrogate (rsm, ann, mars, kriging)
bool multiptApproxFlag
flags the use of a multipoint data fit surrogate (TANA)
bool localApproxFlag
flags the use of a local data fit surrogate (Taylor series)
bool hierarchApproxFlag
flags the use of a model hierarchy/multifidelity surrogate
bool newCenterFlag
flags the acceptance of a candidate point and the existence of a new trust region center
bool daceCenterPtFlag
flags the availability of the center point in the DACE evaluations for global approximations (CCD, Box-Behnken)
bool multiLayerBypassFlag
flags the simultaneous presence of two conditions: (1) additional layerings w/i actual model (e.g., surrogateModel
= layered/nested/layered -> actual model = nested/layered), and (2) a user-specification to bypass all layerings
within actual model for the evaluation of truth data (responseCenterTruth and responseStarTruth).
bool useDerivsFlag
flag for the use derivatives specification for which derivatives are to be evaluated at each DACE point in global
surrogate builds.
RealVector nonlinIneqLowerBndsSlack
individual violations of nonlinear inequality constraint lower bounds
RealVector nonlinIneqUpperBndsSlack
individual violations of nonlinear inequality constraint upper bounds
RealVector nonlinEqTargetsSlack
individual violations of nonlinear equality constraint targets
Real tau
constraint relaxation parameter
Real alpha
constraint relaxation parameter backoff parameter (multiplier)
Variables varsCenter
variables at the trust region center
Response responseCenterApprox
approx response at trust region center
Response responseStarApprox
approx response at SBLM cycle minimum
831
IntResponsePair responseCenterTruth
truth response at trust region center
IntResponsePair responseStarTruth
truth response at SBLM cycle minimum
Detailed Description
Class for provably-convergent local surrogate-based optimization and nonlinear least squares.
This minimizer uses a SurrogateModel to perform minimization based on local, global, or hierarchical surrogates. It achieves provable convergence through the use of a sequence of trust regions and the application of
surrogate corrections at the trust region centers.
13.158.2
) [private], [virtual]
Performs local surrogate-based minimization by minimizing local, global, or hierarchical surrogates over a series
of trust regions.
Trust region-based strategy to perform surrogate-based optimization in subregions (trust regions) of the parameter space. The minimizer operates on approximations in lieu of the more expensive simulation-based response
functions. The size of the trust region is varied according to the goodness of the agreement between the approximations and the true response functions.
Implements SurrBasedMinimizer.
References Dakota::abort handler(), Iterator::active set(), Response::active set(), Model::active variables(),
Graphics::add datapoint(), DiscrepancyCorrection::apply(), SurrBasedLocalMinimizer::approxGradientFlag, SurrBasedLocalMinimizer::approxHessianFlag, SurrBasedMinimizer::approxSubProbMinimizer, SurrBasedLocalMinimizer::approxSubProbModel, Iterator::bestResponseArray, Iterator::bestVariablesArray, Model::build approximation(),
Model::component parallel mode(), DiscrepancyCorrection::compute(), Model::compute response(), Model::continuouslower bounds(), Model::continuous upper bounds(), Variables::continuous variables(), Model::continuous variables(),
SurrBasedLocalMinimizer::convergenceFlag, Variables::copy(), Dakota::copy data(), SurrBasedLocalMinimizer::correctionType, Model::current response(), Model::current variables(), SurrBasedLocalMinimizer::daceCenterPtFlag, Dakota::dakota graphics, Model::discrepancy correction(), Model::evaluation id(), SurrBasedLocalMinimizer::find center approx(), SurrBasedLocalMinimizer::find center truth(), SurrBasedLocalMinimizer::globalApproxFlag, SurrBasedLocalMinimizer::hard convergence check(), Iterator::is null(), Iterator::iteratedModel, SurrBasedLocalMinimizer::localApproxFlag, Iterator::maxIterations, SurrBasedLocalMinimizer::minTrustRegionFactor, SurrBasedLocalMinimizer::multiLayerBypassFlag, SurrBasedLocalMinimizer::multiptApproxFlag, SurrBasedLocalMinimizer::newCenterFlag, Model::nonlinear eq constraint targets(), Model::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraint upper bounds(), Minimizer::numContinuousVars, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, SurrBasedLocalMinimizer::recastSubProb, SurrBasedLocalMinimizer::relax constraints(), ActiveSet::request values(), SurrBasedLocalMinimizer::reset(), Iterator::response results(), SurrBasedLocalMinimizer::responseCenterApprox, SurrBasedLocalMinimizer::responseCenterTruth, SurrBasedLocalMinimizer::responseStarApprox, SurrBasedLocalMinimizer::responseStarTruth, Iterator::run(), Iterator::sampling scheme(), SurrBased-
832
Minimizer::sbIterNum, SurrBasedLocalMinimizer::sblmInstance, SurrBasedLocalMinimizer::softConvCount, SurrBasedLocalMinimizer::softConvLimit, Model::subordinate iterator(), Model::surrogate model(), Model::surrogateresponse mode(), SurrBasedLocalMinimizer::tr bounds(), SurrBasedLocalMinimizer::tr ratio check(), SurrBasedLocalMinimizer::trConstraintRelax, SurrBasedLocalMinimizer::trustRegionFactor, Model::truth model(), SurrBasedLocalMinimizer::truthGradientFlag, SurrBasedLocalMinimizer::truthHessianFlag, Response::update(), SurrBasedLocalMinimizer::useDerivsFlag, Iterator::variables results(), and SurrBasedLocalMinimizer::varsCenter.
void hard convergence check ( const Response & response truth, const RealVector & c vars, const
RealVector & lower bnds, const RealVector & upper bnds ) [private]
check for hard convergence (norm of projected gradient of merit function near zero)
The hard convergence check computes the gradient of the merit function at the trust region center, performs
a projection for active bound constraints (removing any gradient component directed into an active bound), and
signals convergence if the 2-norm of this projected gradient is less than convergenceTol.
References SurrBasedLocalMinimizer::acceptLogic, SurrBasedLocalMinimizer::approxSubProbObj, SurrBasedMinimizer::constraint violation(), Minimizer::constraintTol, SurrBasedLocalMinimizer::convergenceFlag, Iterator::convergenceTol, Response::function gradients(), Response::function values(), Iterator::iteratedModel, SurrBasedMinimizer::lagrangian gradient(), SurrBasedLocalMinimizer::meritFnType, Minimizer::numContinuousVars, Minimizer::numNonlinearConstraints, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, Model::primary response fn sense(), Model::primary response fn weights(), SurrBasedMinimizer::sbIterNum, SurrBasedLocalMinimizer::truthGradientFlag, SurrBasedMinimizer::update augmented lagrange multipliers(), SurrBasedMinimizer::update filter(), and SurrBasedMinimizer::update lagrange multipliers().
Referenced by SurrBasedLocalMinimizer::minimize surrogates().
void tr ratio check ( const RealVector & c vars star, const RealVector & tr lower bnds, const RealVector
& tr upper bnds ) [private]
compute trust region ratio (for SBLM iterate acceptance and trust region resizing) and check for soft convergence
(diminishing returns)
Assess acceptance of SBLM iterate (trust region ratio or filter) and compute soft convergence metrics (number
of consecutive failures, min trust region size, etc.) to assess whether the convergence rate has decreased to a point
where the process should be terminated (diminishing returns).
References SurrBasedLocalMinimizer::acceptLogic, SurrBasedLocalMinimizer::approxSubProbObj, SurrBasedMinimizer::augmented lagrangian merit(), SurrBasedMinimizer::constraint violation(), Minimizer::constraintTol,
Iterator::convergenceTol, SurrBasedMinimizer::etaSequence, Response::function values(), SurrBasedLocalMinimizer::gammaContract, SurrBasedLocalMinimizer::gammaExpand, SurrBasedLocalMinimizer::globalApproxFlag, Iterator::iteratedModel, SurrBasedMinimizer::lagrangian merit(), SurrBasedLocalMinimizer::meritFnType, SurrBasedLocalMinimizer::newCenterFlag, Minimizer::numContinuousVars, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, SurrBasedMinimizer::penalty merit(), Model::primary response fn sense(), Model::primary response fn weights(), SurrBasedLocalMinimizer::responseCenterApprox, SurrBasedLocalMinimizer::responseCenterTruth, SurrBasedLocalMinimizer::responseStarApprox, SurrBasedLocalMinimizer::responseStarTruth, SurrBasedLocalMinimizer::softConvCount,
SurrBasedLocalMinimizer::trRatioContractValue, SurrBasedLocalMinimizer::trRatioExpandValue, SurrBasedLocalMinimizer::trustRegionFactor, SurrBasedMinimizer::update augmented lagrange multipliers(), SurrBasedMinimizer::update filter(), and SurrBasedLocalMinimizer::update penalty().
Referenced by SurrBasedLocalMinimizer::minimize surrogates().
833
void update penalty ( const RealVector & fns center truth, const RealVector & fns star truth )
[private]
initialize and update the penaltyParameter
Scaling of the penalty value is important to avoid rejecting SBLM iterates which must increase the objective
to achieve a reduction in constraint violation. In the basic penalty case, the penalty is ramped exponentially based
on the iteration counter. In the adaptive case, the ratio of relative change between center and star points for the
objective and constraint violation values is used to rescale penalty values.
References SurrBasedMinimizer::alphaEta, SurrBasedLocalMinimizer::approxSubProbObj, SurrBasedMinimizer::constraint violation(), Minimizer::constraintTol, SurrBasedMinimizer::eta, SurrBasedMinimizer::etaSequence,
Iterator::iteratedModel, SurrBasedLocalMinimizer::meritFnType, Minimizer::objective(), SurrBasedLocalMinimizer::penaltyIterOffset, SurrBasedMinimizer::penaltyParameter, Model::primary response fn sense(), Model::primaryresponse fn weights(), and SurrBasedMinimizer::sbIterNum.
Referenced by SurrBasedLocalMinimizer::tr ratio check().
void approx subprob objective eval ( const Variables & surrogate vars, const Variables & recast vars,
const Response & surrogate response, Response & recast response ) [static], [private]
static function used to define the approximate subproblem objective.
Objective functions evaluator for solution of approximate subproblem using a RecastModel.
References Response::active set request vector(), SurrBasedLocalMinimizer::approxSubProbCon, SurrBasedLocalMinimizer::approxSubProbModel, SurrBasedLocalMinimizer::approxSubProbObj, SurrBasedMinimizer::augmentedlagrangian gradient(), SurrBasedMinimizer::augmented lagrangian merit(), Response::function gradient(), Response::function gradient view(), Response::function gradients(), Response::function value(), Response::function values(),
Iterator::iteratedModel, SurrBasedMinimizer::lagrangian gradient(), SurrBasedMinimizer::lagrangian merit(), Model::nonlinear eq constraint targets(), Model::nonlinear ineq constraint lower bounds(), Model::nonlinear ineq constraintupper bounds(), Minimizer::numUserPrimaryFns, Minimizer::objective(), Minimizer::objective gradient(), SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, Model::primary response fn sense(), Model::primary response fn weights(), and SurrBasedLocalMinimizer::sblmInstance.
Referenced by SurrBasedLocalMinimizer::SurrBasedLocalMinimizer().
void approx subprob constraint eval ( const Variables & surrogate vars, const Variables & recast vars,
const Response & surrogate response, Response & recast response ) [static], [private]
static function used to define the approximate subproblem constraints.
Constraint functions evaluator for solution of approximate subproblem using a RecastModel.
References Response::active set derivative vector(), Response::active set request vector(), SurrBasedLocalMinimizer::approxSubProbCon, SurrBasedLocalMinimizer::approxSubProbObj, Variables::continuous variables(),
Response::function gradient(), Response::function gradient view(), Response::function gradients(), Response::functionvalue(), Response::function values(), Minimizer::numUserPrimaryFns, SurrBasedLocalMinimizer::responseCenterApprox, SurrBasedLocalMinimizer::sblmInstance, and SurrBasedLocalMinimizer::varsCenter.
Referenced by SurrBasedLocalMinimizer::SurrBasedLocalMinimizer().
void hom objective eval ( int & mode, int & n, double tau and x, double & f, double grad f, int & )
[static], [private]
static function used by NPSOL as the objective function in the homotopy constraint relaxation formulation.
NPSOL objective functions evaluator for solution of homotopy constraint relaxation parameter optimization.
This constrained optimization problem performs the update of the tau parameter in the homotopy heuristic approach used to relax the constraints in the original problem .
834
void hom constraint eval ( int & mode, int & ncnln, int & n, int & nrowj, int needc, double
tau and x, double c, double cjac, int & nstate ) [static], [private]
static function used by NPSOL as the constraint function in the homotopy constraint relaxation formulation.
NPSOL constraint functions evaluator for solution of homotopy constraint relaxation parameter optimization. This constrained optimization problem performs the update of the tau parameter in the homotopy heuristic
approach used to relax the constraints in the original problem.
References Response::active set(), SurrBasedLocalMinimizer::approxSubProbModel, Model::compute response(),
Model::continuous variables(), Model::current response(), Response::function gradients(), Response::functionvalues(), SurrBasedLocalMinimizer::nonlinEqTargetsSlack, SurrBasedLocalMinimizer::nonlinIneqLowerBndsSlack, SurrBasedLocalMinimizer::nonlinIneqUpperBndsSlack, Model::num functions(), Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, ActiveSet::request vector(), SurrBasedLocalMinimizer::sblmInstance, and SurrBasedLocalMinimizer::tau.
Referenced by SurrBasedLocalMinimizer::relax constraints().
The documentation for this class was generated from the following files:
SurrBasedLocalMinimizer.hpp
SurrBasedLocalMinimizer.cpp
13.159
SurrBasedGlobalMinimizer
SurrBasedLocalMinimizer
SurrBasedMinimizer ()
destructor
835
void update lagrange multipliers (const RealVector &fn vals, const RealMatrix &fn grads)
initialize and update Lagrange multipliers for basic Lagrangian
Real lagrangian merit (const RealVector &fn vals, const BoolDeque &sense, const RealVector &primarywts, const RealVector &nln ineq l bnds, const RealVector &nln ineq u bnds, const RealVector &nln eq tgts)
compute a Lagrangian function from a set of function values
void lagrangian gradient (const RealVector &fn vals, const RealMatrix &fn grads, const BoolDeque &sense,
const RealVector &primary wts, const RealVector &nln ineq l bnds, const RealVector &nln ineq u bnds,
const RealVector &nln eq tgts, RealVector &lag grad)
compute the gradient of the Lagrangian function
Real augmented lagrangian merit (const RealVector &fn vals, const BoolDeque &sense, const RealVector
&primary wts, const RealVector &nln ineq l bnds, const RealVector &nln ineq u bnds, const RealVector
&nln eq tgts)
compute an augmented Lagrangian function from a set of function values
void augmented lagrangian gradient (const RealVector &fn vals, const RealMatrix &fn grads, const BoolDeque &sense, const RealVector &primary wts, const RealVector &nln ineq l bnds, const RealVector
&nln ineq u bnds, const RealVector &nln eq tgts, RealVector &alag grad)
compute the gradient of the augmented Lagrangian function
Real penalty merit (const RealVector &fn vals, const BoolDeque &sense, const RealVector &primary wts)
compute a penalty function from a set of function values
void penalty gradient (const RealVector &fn vals, const RealMatrix &fn grads, const BoolDeque &sense,
const RealVector &primary wts, RealVector &pen grad)
compute the gradient of the penalty function
Real constraint violation (const RealVector &fn vals, const Real &constraint tol)
compute the constraint violation from a set of function values
Protected Attributes
Iterator approxSubProbMinimizer
the minimizer used on the surrogate model to solve the approximate subproblem on each surrogate-based iteration
int sbIterNum
surrogate-based minimization iteration number
RealVectorList sbFilter
Set of response function vectors defining a filter (objective vs. constraint violation) for iterate selection/rejection.
RealVector lagrangeMult
Lagrange multipliers for basic Lagrangian calculations.
RealVector augLagrangeMult
Lagrange multipliers for augmented Lagrangian calculations.
836
RealVector origNonlinIneqLowerBnds
original nonlinear inequality constraint lower bounds (no relaxation)
RealVector origNonlinIneqUpperBnds
original nonlinear inequality constraint upper bounds (no relaxation)
RealVector origNonlinEqTargets
original nonlinear equality constraint targets (no relaxation)
Real eta
constant used in etaSequence updates
Real alphaEta
power for etaSequence updates when updating penalty
Real betaEta
power for etaSequence updates when updating multipliers
Real etaSequence
decreasing sequence of allowable constraint violation used in augmented Lagrangian updates (refer to Conn,
Gould, and Toint, section 14.4)
Detailed Description
13.159.2
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References SurrBasedMinimizer::minimize surrogates().
void print results ( std::ostream & s ) [protected], [virtual]
Redefines default iterator results printing to include optimization results (objective functions and constraints).
Reimplemented from Iterator.
References Dakota::abort handler(), Iterator::activeSet, Minimizer::archive allocate best(), Minimizer::archivebest(), Iterator::bestResponseArray, Iterator::bestVariablesArray, Dakota::data pairs, Model::interface id(), Iterator::iteratedModel, Dakota::lookup by val(), Iterator::methodName, Minimizer::numFunctions, Minimizer::numUserPrimaryFns, Minimizer::optimizationFlag, ActiveSet::request values(), and Model::truth model().
837
void update lagrange multipliers ( const RealVector & fn vals, const RealMatrix & fn grads )
[protected]
initialize and update Lagrange multipliers for basic Lagrangian
For the Rockafellar augmented Lagrangian, simple Lagrange multiplier updates are available which do not
require the active constraint gradients. For the basic Lagrangian, Lagrange multipliers are estimated through
solution of a nonnegative linear least squares problem.
References Dakota::abort handler(), Minimizer::bigRealBoundSize, Minimizer::constraintTol, Iterator::iteratedModel, SurrBasedMinimizer::lagrangeMult, Minimizer::numContinuousVars, Minimizer::numNonlinearEqConstraints,
Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, Minimizer::objective gradient(), SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, Model::primaryresponse fn sense(), and Model::primary response fn weights().
Referenced by SurrBasedLocalMinimizer::hard convergence check().
void update augmented lagrange multipliers ( const RealVector & fn vals ) [protected]
initialize and update the Lagrange multipliers for augmented Lagrangian
For the Rockafellar augmented Lagrangian, simple Lagrange multiplier updates are available which do not
require the active constraint gradients. For the basic Lagrangian, Lagrange multipliers are estimated through
solution of a nonnegative linear least squares problem.
References SurrBasedMinimizer::augLagrangeMult, SurrBasedMinimizer::betaEta, Minimizer::bigRealBoundSize, SurrBasedMinimizer::etaSequence, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, SurrBasedMinimizer::origNonlinIneqUpperBnds, and SurrBasedMinimizer::penaltyParameter.
Referenced by SurrBasedLocalMinimizer::hard convergence check(), EffGlobalMinimizer::minimize surrogateson model(), and SurrBasedLocalMinimizer::tr ratio check().
bool update filter ( const RealVector & fn vals ) [protected]
update a filter from a set of function values
Update the sbFilter with fn vals if new iterate is non-dominated.
References SurrBasedMinimizer::constraint violation(), Iterator::iteratedModel, Minimizer::numNonlinearConstraints, Minimizer::objective(), Model::primary response fn sense(), Model::primary response fn weights(),
and SurrBasedMinimizer::sbFilter.
Referenced by SurrBasedLocalMinimizer::hard convergence check(), and SurrBasedLocalMinimizer::tr ratiocheck().
Real lagrangian merit ( const RealVector & fn vals, const BoolDeque & sense, const RealVector &
primary wts, const RealVector & nln ineq l bnds, const RealVector & nln ineq u bnds, const RealVector
& nln eq tgts ) [protected]
compute a Lagrangian function from a set of function values
The Lagrangian function computation sums the objective function and the Lagrange multipler terms for inequality/equality constraints. This implementation follows the convention in Vanderplaats with g<=0 and h=0.
The bounds/targets passed in may reflect the original constraints or the relaxed constraints.
References Minimizer::bigRealBoundSize, Minimizer::constraintTol, SurrBasedMinimizer::lagrangeMult, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, and
Minimizer::objective().
Referenced by SurrBasedLocalMinimizer::approx subprob objective eval(), and SurrBasedLocalMinimizer::tr ratio check().
838
Real augmented lagrangian merit ( const RealVector & fn vals, const BoolDeque & sense, const
RealVector & primary wts, const RealVector & nln ineq l bnds, const RealVector & nln ineq u bnds,
const RealVector & nln eq tgts ) [protected]
compute an augmented Lagrangian function from a set of function values
The Rockafellar augmented Lagrangian function sums the objective function, Lagrange multipler terms for
inequality/equality constraints, and quadratic penalty terms for inequality/equality constraints. This implementation follows the convention in Vanderplaats with g<=0 and h=0. The bounds/targets passed in may reflect the
original constraints or the relaxed constraints.
References SurrBasedMinimizer::augLagrangeMult, Minimizer::bigRealBoundSize, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, Minimizer::objective(),
and SurrBasedMinimizer::penaltyParameter.
Referenced by SurrBasedLocalMinimizer::approx subprob objective eval(), EffGlobalMinimizer::get best sample(), EffGlobalMinimizer::minimize surrogates on model(), and SurrBasedLocalMinimizer::tr ratio check().
Real penalty merit ( const RealVector & fn vals, const BoolDeque & sense, const RealVector &
primary wts ) [protected]
compute a penalty function from a set of function values
The penalty function computation applies a quadratic penalty to any constraint violations and adds this to the
objective function(s) p = f + r p cv.
References SurrBasedMinimizer::constraint violation(), Minimizer::constraintTol, Minimizer::objective(), and
SurrBasedMinimizer::penaltyParameter.
Referenced by SurrBasedLocalMinimizer::tr ratio check().
Real constraint violation ( const RealVector & fn vals, const Real & constraint tol ) [protected]
compute the constraint violation from a set of function values
Compute the quadratic constraint violation defined as cv = g+ T g+
h+ T h+. This implementation supports equality constraints and 2-sided inequalities. The constraint tol
allows for a small constraint infeasibility (used for penalty methods, but not Lagrangian methods).
References Minimizer::bigRealBoundSize, Minimizer::numNonlinearEqConstraints, Minimizer::numNonlinearIneqConstraints, Minimizer::numUserPrimaryFns, SurrBasedMinimizer::origNonlinEqTargets, SurrBasedMinimizer::origNonlinIneqLowerBnds, and SurrBasedMinimizer::origNonlinIneqUpperBnds.
Referenced by SurrBasedLocalMinimizer::hard convergence check(), EffGlobalMinimizer::minimize surrogateson model(), SurrBasedMinimizer::penalty merit(), SurrBasedLocalMinimizer::relax constraints(), SurrBasedLocalMinimizer::tr ratio check(), SurrBasedMinimizer::update filter(), and SurrBasedLocalMinimizer::update penalty().
The documentation for this class was generated from the following files:
SurrBasedMinimizer.hpp
SurrBasedMinimizer.cpp
13.160
839
Model
SurrogateModel
DataFitSurrModel
HierarchSurrModel
SurrogateModel (ParallelLibrary ¶llel lib, const SharedVariablesData &svd, const ActiveSet &set,
short output level)
alternate constructor
SurrogateModel ()
destructor
void asv mapping (const ShortArray &orig asv, ShortArray &actual asv, ShortArray &approx asv, bool
build flag)
distributes the incoming orig asv among actual asv and approx asv
void asv mapping (const ShortArray &actual asv, const ShortArray &approx asv, ShortArray &combinedasv)
reconstitutes a combined asv from actual asv and approx asv
void response mapping (const Response &actual response, const Response &approx response, Response
&combined response)
overlays actual response and approx response to update combined response
Protected Attributes
IntSet surrogateFnIndices
for mixed response sets, this array specifies the response function subset that is approximated
IntResponseMap surrResponseMap
map of surrogate responses used in derived synchronize() and derived synchronize nowait() functions
IntVariablesMap rawVarsMap
840
IntIntMap truthIdMap
map from actualModel/highFidelityModel evaluation ids to DataFitSurrModel.hppierarchSurrModel ids
IntIntMap surrIdMap
map from approxInterface/lowFidelityModel evaluation ids to DataFitSurrModel.hppierarchSurrModel ids
IntResponseMap cachedApproxRespMap
map of approximate responses retrieved in derived synchronize nowait() that could not be returned since corresponding truth model response portions were still pending.
short responseMode
an enumeration that controls the response calculation mode in {DataFit,Hierarch}SurrModel approximate response computations
size t approxBuilds
number of calls to build approximation()
RealVector referenceCLBnds
stores a reference copy of active continuous lower bounds when the approximation is built; used to detect when a
rebuild is required.
RealVector referenceCUBnds
stores a reference copy of active continuous upper bounds when the approximation is built; used to detect when a
rebuild is required.
IntVector referenceDILBnds
stores a reference copy of active discrete int lower bounds when the approximation is built; used to detect when a
rebuild is required.
IntVector referenceDIUBnds
stores a reference copy of active discrete int upper bounds when the approximation is built; used to detect when a
rebuild is required.
RealVector referenceDRLBnds
stores a reference copy of active discrete real lower bounds when the approximation is built; used to detect when a
rebuild is required.
RealVector referenceDRUBnds
stores a reference copy of active discrete real upper bounds when the approximation is built; used to detect when a
rebuild is required.
RealVector referenceICVars
stores a reference copy of the inactive continuous variables when the approximation is built using a Distinct view;
used to detect when a rebuild is required.
IntVector referenceIDIVars
stores a reference copy of the inactive discrete int variables when the approximation is built using a Distinct view;
used to detect when a rebuild is required.
RealVector referenceIDRVars
stores a reference copy of the inactive discrete real variables when the approximation is built using a Distinct view;
used to detect when a rebuild is required.
DiscrepancyCorrection deltaCorr
manages construction and application of correction functions that are applied to a surrogate model (DataFitSurr
or HierarchSurr) in order to reproduce high fidelity data.
841
Private Attributes
Variables truthModelVars
copy of the truth model variables object used to simplify conversion among differing variable views in force rebuild()
Constraints truthModelCons
copy of the truth model constraints object used to simplify conversion among differing variable views in force rebuild()
Detailed Description
13.160.2
) [protected], [virtual]
evaluate whether a rebuild of the approximation should be forced based on changes in the inactive data
This function forces a rebuild of the approximation according to the sub-model variables view, the approximation type, and whether the active approximation bounds or inactive variable values have changed since the last
approximation build.
Reimplemented from Model.
References Constraints::all continuous lower bounds(), Constraints::all continuous upper bounds(), Variables::all continuous variables(), Constraints::all discrete int lower bounds(), Constraints::all discrete int upper bounds(),
Variables::all discrete int variables(), Constraints::all discrete real lower bounds(), Constraints::all discrete realupper bounds(), Variables::all discrete real variables(), Constraints::continuous lower bounds(), Model::continuouslower bounds(), Constraints::continuous upper bounds(), Model::continuous upper bounds(), Variables::continuousvariables(), Constraints::copy(), Variables::copy(), Model::current variables(), Model::currentVariables, Constraints::discrete int lower bounds(), Model::discrete int lower bounds(), Constraints::discrete int upper bounds(), Model::discrete int upper bounds(), Variables::discrete int variables(), Constraints::discrete real lower bounds(), Model::discrete real lower bounds(), Constraints::discrete real upper bounds(), Model::discrete real upper bounds(), Variables::discrete real variables(), Variables::inactive continuous variables(), Variables::inactive discrete int variables(),
Variables::inactive discrete real variables(), Constraints::is null(), Variables::is null(), Model::is null(), Model::model type(), SurrogateModel::referenceCLBnds, SurrogateModel::referenceCUBnds, SurrogateModel::referenceDILBnds, SurrogateModel::referenceDIUBnds, SurrogateModel::referenceDRLBnds, SurrogateModel::referenceDRUBnds, SurrogateModel::referenceICVars, SurrogateModel::referenceIDIVars, SurrogateModel::referenceIDRVars, Dakota::strbegins(), Model::subordinate model(), Model::surrogateType, Model::truth model(), SurrogateModel::truthModelCons, SurrogateModel::truthModelVars, Model::user defined constraints(), Model::userDefinedConstraints, and Variables::view().
Referenced by HierarchSurrModel::derived asynch compute response(), DataFitSurrModel::derived asynchcompute response(), HierarchSurrModel::derived compute response(), and DataFitSurrModel::derived computeresponse().
842
13.160.3
13.161
Derived application interface class which spawns simulation codes using system calls.
Inheritance diagram for SysCallApplicInterface:
Interface
ApplicationInterface
ProcessApplicInterface
SysCallApplicInterface
GridApplicInterface
843
SysCallApplicInterface ()
destructor
void spawn analysis to shell (int analysis id, bool block flag)
spawn a single analysis as part of a function evaluation
Private Attributes
IntSet sysCallSet
set of function evaluation ids for active asynchronous system call evaluations
IntShortMap failCountMap
map linking function evaluation ids to number of response read failures
Detailed Description
Derived application interface class which spawns simulation codes using system calls.
system() is part of the C API and can be used on both Windows and Unix systems.
844
13.161.2
void wait local evaluations ( PRPQueue & prp queue ) [inline], [protected], [virtual]
Check for completion of active asynch jobs (tracked with sysCallSet). Wait for at least one completion and
complete all jobs that have returned. This satisifies a fairness principle, in the sense that a completed job will
always be processed (whereas accepting only a single completion could always accept the same completion - the
case of very inexpensive fn. evals. - and starve some servers).
Reimplemented from ApplicationInterface.
References ApplicationInterface::completionSet, and SysCallApplicInterface::test local evaluations().
void test local evaluations ( PRPQueue & prp queue ) [protected], [virtual]
Check for completion of active asynch jobs (tracked with sysCallSet). Make one pass through sysCallSet &
complete all jobs that have returned.
Reimplemented from ApplicationInterface.
References Dakota::abort handler(), Response::active set(), ApplicationInterface::completionSet, SysCallApplicInterface::failCountMap, ProcessApplicInterface::fileNameMap, Interface::final eval id tag(), Dakota::lookup by eval id(), ApplicationInterface::manage failure(), ProcessApplicInterface::read results files(), SysCallApplicInterface::sysCallSet, and SysCallApplicInterface::system call file test().
Referenced by SysCallApplicInterface::wait local evaluations().
int synchronous local analysis ( int analysis id ) [inline], [protected], [virtual]
This code provides the derived function used by ApplicationInterface::serve analyses synch().
Reimplemented from ApplicationInterface.
References SysCallApplicInterface::spawn analysis to shell().
void init communicators checks ( int max eval concurrency ) [inline], [protected], [virtual]
No derived interface plug-ins, so perform construct-time checks. However, process init issues as warnings since
some contexts (e.g., HierarchSurrModel) initialize more configurations than will be used.
Reimplemented from ApplicationInterface.
References ApplicationInterface::check multiprocessor analysis().
void set communicators checks ( int max eval concurrency ) [inline], [protected], [virtual]
Process run-time issues as hard errors.
Reimplemented from ApplicationInterface.
References Dakota::abort handler(), and ApplicationInterface::check multiprocessor analysis().
void spawn evaluation to shell ( bool block flag ) [private]
spawn a complete function evaluation
Put the SysCallApplicInterface to the shell. This function is used when all portions of the function evaluation
(i.e., all analysis drivers) are executed on the local processor.
References CommandShell::asynch flag(), ProcessApplicInterface::commandLineArgs, ProcessApplicInterface::curWorkdir, Dakota::flush(), ProcessApplicInterface::iFilterName, ProcessApplicInterface::multipleParamsFiles,
ProcessApplicInterface::oFilterName, ProcessApplicInterface::paramsFileName, ProcessApplicInterface::programNames, ProcessApplicInterface::resultsFileName, CommandShell::suppress output flag(), ApplicationInterface::suppressOutput, and ProcessApplicInterface::useWorkdir.
Referenced by SysCallApplicInterface::create evaluation process().
845
13.162
Derived approximation class for TANA-3 two-point exponential approximation (a multipoint approximation).
Inheritance diagram for TANA3Approximation:
Approximation
TANA3Approximation
846
TANA3Approximation ()
destructor
void build ()
builds the approximation from scratch
Private Attributes
RealVector pExp
vector of exponent values
RealVector minX
vector of minimum parameter values used in scaling
RealVector scX1
vector of scaled x1 values
RealVector scX2
vector of scaled x2 values
Real H
the scalar Hessian value in the TANA-3 approximation
847
Detailed Description
Derived approximation class for TANA-3 two-point exponential approximation (a multipoint approximation).
The TANA3Approximation class provides a multipoint approximation based on matching value and gradient
data from two points (typically the current and previous iterates) in parameter space. It forms an exponential
approximation in terms of intervening variables.
13.162.2
void build (
13.163
Derived approximation class for first- or second-order Taylor series (a local approximation).
Inheritance diagram for TaylorApproximation:
Approximation
TaylorApproximation
848
TaylorApproximation ()
destructor
void build ()
builds the approximation from scratch
Detailed Description
Derived approximation class for first- or second-order Taylor series (a local approximation).
The TaylorApproximation class provides a local approximation based on data from a single point in parameter
space. It uses a zeroth-, first- or second-order Taylor series expansion: f(x) = f(x c) for zeroth-order, plus grad(xc) (x - x c) for first- and second-order, and plus (x - x c) Hess(x c) (x - x c) / 2 for second-order.
13.163.2
void build (
13.164
TestDriverInterface ()
destructor
int multimodal ()
multimodal UQ test function
849
850
int rosenbrock ()
the Rosenbrock optimization and least squares test fn
int lf rosenbrock ()
a low fidelity version of the Rosenbrock function
int mf rosenbrock ()
alternate Rosenbrock formulations for < multifidelity or model form studies
int gerstner ()
the isotropic/anisotropic Gerstner test function family
void get genz coefficients (int num dims, Real factor, int c type, RealVector &c, RealVector &w)
define coefficients needs for genz model
int genz ()
scalable test functions from the Genz test suite
851
void herbie1D (size t der mode, Real xc loc, std::vector< Real > &w and ders)
1D components of herbie function
void smooth herbie1D (size t der mode, Real xc loc, std::vector< Real > &w and ders)
1D components of smooth herbie function
void shubert1D (size t der mode, Real xc loc, std::vector< Real > &w and ders)
1D components of shubert function
int herbie ()
returns the N-D herbie function
int shubert ()
returns the N-D shubert function
void separable combine (Real mult scale factor, std::vector< Real > &w, std::vector< Real > &d1w, std::vector< Real > &d2w)
utility to combine components of separable fns
int salinas ()
direct interface to the SALINAS structural dynamics code
Detailed Description
13.164.2
852
void herbie1D ( size t der mode, Real xc loc, std::vector< Real > & w and ders ) [private]
1D components of herbie function
1D Herbie function and its derivatives (apart from a multiplicative factor)
Referenced by TestDriverInterface::herbie().
void smooth herbie1D ( size t der mode, Real xc loc, std::vector< Real > & w and ders ) [private]
1D components of smooth herbie function
1D Smoothed Herbie= 1DHerbie minus the high frequency sine term, and its derivatives (apart from a multiplicative factor)
Referenced by TestDriverInterface::smooth herbie().
void shubert1D ( size t der mode, Real xc loc, std::vector< Real > & w and ders ) [private]
1D components of shubert function
1D Shubert function and its derivatives (apart from a multiplicative factor)
Referenced by TestDriverInterface::shubert().
int herbie (
) [private]
) [private]
853
) [private]
13.165
TrackerHTTP: a usage tracking module that uses HTTP/HTTPS via the curl library.
TrackerHTTP ()
destructor to free handles
void url add field (std::string &url, const char keyword, const std::string &value, bool delimit=true) const
append keyword/value pair to url in GET style (with &keyword=value); set delimit = false to omit the &
void build default data (std::string &url, std::time t &rawtime, const std::string &mode) const
construct URL with shared information for start/finish
854
Private Attributes
CURL curlPtr
pointer to the curl handler instance
FILE devNull
pointer to /dev/null
std::string trackerLocation
base URL for the tracker
std::string proxyLocation
if empty, proxy may still be specified via environment variables (unlike default CURL behavior)
long timeoutSeconds
seconds until the request will timeout (may have issues with signals)
std::string methodList
list of active methods
std::string dakotaVersion
DAKOTA version.
std::time t startTime
cached starting time in raw seconds
short outputLevel
verbosity control
13.165.1
Detailed Description
TrackerHTTP: a usage tracking module that uses HTTP/HTTPS via the curl library.
13.165.2
void send data using get ( const std::string & urltopost ) const [private]
transmit data to the web server using GET
whole url including location&fields
References TrackerHTTP::curlPtr, and TrackerHTTP::outputLevel.
855
void send data using post ( const std::string & datatopost ) const [private]
POST separate location and query; datatopost=name=daniel&project=curl.
separate location and query; datatopost=name=daniel&project=curl
References TrackerHTTP::curlPtr, TrackerHTTP::outputLevel, and TrackerHTTP::trackerLocation.
Referenced by TrackerHTTP::post finish(), and TrackerHTTP::post start().
The documentation for this class was generated from the following files:
TrackerHTTP.hpp
TrackerHTTP.cpp
13.166
Variables
MixedVariables
RelaxedVariables
virtual Variables ()
destructor
856
size t tv () const
total number of vars
size t cv () const
number of active continuous vars
857
858
void continuous variable label (const String &cv label, size t index)
set an active continuous variable label
void discrete int variable label (const String &div label, size t index)
set an active discrete integer variable label
void discrete real variable label (const String &drv label, size t index)
set an active discrete real variable label
void discrete int variable type (unsigned short div type, size t index)
set an active discrete integer variable type
void discrete real variable type (unsigned short drv type, size t index)
set an active discrete real variable type
void all discrete int variable (int adi var, size t index)
set a variable within the all discrete array
859
860
void all discrete real variable (Real adr var, size t index)
set a variable within the all discrete array
void all continuous variable label (const String &acv label, size t index)
set a label within the all continuous label array
void all discrete int variable label (const String &adiv label, size t index)
set a label within the all discrete label array
void all discrete real variable label (const String &adrv label, size t index)
set a label within the all discrete label array
std::pair< short, short > get view (const ProblemDescDB &problem db) const
defines variablesView from problem db attributes
861
Protected Attributes
SharedVariablesData sharedVarsData
reference-counted instance of shared variables data: ids, labels, counts
RealVector allContinuousVars
array combining all of the continuous variables (design, uncertain, state)
IntVector allDiscreteIntVars
array combining all of the discrete integer variables (design, state)
RealVector allDiscreteRealVars
array combining all of the discrete real variables (design, state)
RealVector continuousVars
the active continuous variables array view
IntVector discreteIntVars
the active discrete integer variables array view
RealVector discreteRealVars
the active discrete real variables array view
RealVector inactiveContinuousVars
the inactive continuous variables array view
IntVector inactiveDiscreteIntVars
the inactive discrete integer variables array view
RealVector inactiveDiscreteRealVars
the inactive discrete real variables array view
862
Private Attributes
int referenceCount
number of objects sharing variablesRep
Friends
class boost::serialization::access
for serializing private data members
bool nearby (const Variables &vars1, const Variables &vars2, Real rel tol)
tolerance-based equality operator
13.166.1
863
Detailed Description
13.166.2
) [inline], [protected]
13.167
Verification ()
destructor
864
Detailed Description
13.167.2
core portion of run; implemented by all derived classes and may include pre/post steps in lieu of separate pre/post
Virtual run function for the iterator class hierarchy. All derived classes need to redefine it.
Reimplemented from Iterator.
References Verification::perform verification().
void print results ( std::ostream & s ) [protected], [virtual]
print the final iterator results
This virtual function provides additional iterator-specific final results outputs beyond the function evaluation
summary printed in finalize run().
Reimplemented from Analyzer.
Reimplemented in RichExtrapVerification.
References Analyzer::print results().
Referenced by RichExtrapVerification::print results().
The documentation for this class was generated from the following files:
DakotaVerification.hpp
DakotaVerification.cpp
Chapter 14
File Documentation
14.1
Namespaces
Dakota
The primary namespace for DAKOTA.
Constant Groups
Dakota
The primary namespace for DAKOTA.
Functions
void DAKOTA DLL FN dakota create (int dakota ptr int, const char logname)
create and configure a new DakotaRunner, adding it to list of instances
int DAKOTA DLL FN dakota readInput (int id, const char dakotaInput)
command DakotaRunner instance id to read from file dakotaInput
void DAKOTA DLL FN dakota get variable info (int id, char pVarNames, int pNumVarNames, char
pRespNames, int pNumRespNames)
return the variable and response names
866
14.1.1
Detailed Description
14.1.2
Function Documentation
14.2
Functions
void DAKOTA DLL FN dakota create (int dakota ptr int, const char logname)
create and configure a new DakotaRunner, adding it to list of instances
int DAKOTA DLL FN dakota readInput (int id, const char dakotaInput)
command DakotaRunner instance id to read from file dakotaInput
867
void DAKOTA DLL FN dakota get variable info (int id, char pVarNames, int pNumVarNames, char
pRespNames, int pNumRespNames)
return the variable and response names
14.2.1
Detailed Description
14.2.2
Function Documentation
14.3
Utility functions for reading and writing tabular data files Emerging utilities for tabular file I/O. For now, just
extraction of capability from separate contexts to faciliate rework. These augment (and leverage) those in data util.h.
Namespaces
Dakota
The primary namespace for DAKOTA.
Constant Groups
Dakota
The primary namespace for DAKOTA.
Functions
void open file (std::ifstream &data file, const std::string &input filename, const std::string &context message)
open the file specified by name for reading, using passed input stream, presenting context-specific error on failure
void open file (std::ofstream &data file, const std::string &output filename, const std::string &context message)
open the file specified by name for writing, using passed output stream, presenting context-specific error on failure
void write header tabular (std::ostream &tabular ostream, const Variables &vars, const Response &response, const std::string &counter label, bool active only=false, bool response labels=true)
output the header row (labels) for a tabular data file used by Analyzer and Graphics
void write data tabular (std::ostream &tabular ostream, const Variables &vars, const Response &response,
size t counter= NPOS, bool active only=false, bool write responses=true)
output a row of tabular data from variables and response object used by graphics to append to tabular file during
iteration
void write data tabular (const std::string &output filename, const std::string &context message, const
RealVectorArray &output coeffs, const UShort2DArray &output indices)
868
void read data tabular (const std::string &input filename, const std::string &context message, RealVector
&input data, size t num entries, bool annotated)
read possibly header-annotated whitespace-separated data into a vector of length num entries; if annotated then
its a column vector for now
void read data tabular (const std::string &input filename, const std::string &context message, RealArray
&input vector, bool annotated, size t num vars)
read possibly header-annotated whitespace-separated data into a dynamic vector with minimal error checking
void read data tabular (const std::string &input filename, const std::string &context message, RealVectorArray &input coeffs, UShort2DArray &input indices, bool annotated, size t num vars, size t num fns)
PCE import: read possibly header-annotated whitespace-separated data of unknown length where each row has
num fns reals followed by num vars unsigned shorts; append data to arrays passed by reference.
void read data tabular (const std::string &input filename, const std::string &context message, VariablesList &input vars, ResponseList &input resp, const SharedVariablesData &svd, size t num c vars, const
ActiveSet &temp set, bool annotated, bool verbose=false)
read whitespace-separated data with optional row and column headers into lists of Variables (using provided SVD)
and Responses until out of data; continuous variables only
void read data tabular (const std::string &input filename, const std::string &context message, RealMatrix
&input matrix, size t num rows, size t num cols, bool annotated, bool verbose=false)
read whitespace-separated data with optional row and column headers into a single matrix
14.3.1
Detailed Description
Utility functions for reading and writing tabular data files Emerging utilities for tabular file I/O. For now, just
extraction of capability from separate contexts to faciliate rework. These augment (and leverage) those in data util.h. Design/capability goals: Ability to read / write data with row/col headers or in free-form Detect premature
end of file, report if extra data More consistent and reliable checks for file open errors Require right number of
cols in header mode; only total data checking in free-form (likely) Allow comment character for header rows or
even in data? variables vs. variables/responses for both read and write Should we support CSV? delimiter = ,;
other? Verify treatment of trailing newline without reading a zero Allow reading into the transpose of the data
structure
14.4
Functions
int main (int argc, char argv[ ])
The main program for exercising the DLL API with a simple command-line.
14.4.1
869
Detailed Description
14.5
Classes
class JEGAOptimizer::Evaluator
An evaluator specialization that knows how to interact with Dakota.
class JEGAOptimizer::EvaluatorCreator
A specialization of the JEGA::FrontEnd::EvaluatorCreator that creates a new instance of a Evaluator.
class JEGAOptimizer::Driver
A subclass of the JEGA front end driver that exposes the individual protected methods to execute the algorithm.
Namespaces
Dakota
The primary namespace for DAKOTA.
Constant Groups
Dakota
The primary namespace for DAKOTA.
Functions
template<typename T >
string asstring (const T &val)
Creates a string from the argument val using an ostringstream.
14.5.1
Detailed Description
14.6
Classes
class JEGAOptimizer
A version of Dakota::Optimizer for instantiation of John Eddys Genetic Algorithms (JEGA).
870
Namespaces
Dakota
The primary namespace for DAKOTA.
Constant Groups
Dakota
The primary namespace for DAKOTA.
14.6.1
Detailed Description
14.7
file containing a mock simulator main for testing Dakota in library mode
Classes
struct callback data
Functions
void fpinit ASL ()
void run dakota parse (const char dakota input file)
Run a Dakota LibraryEnvironment, mode 1: parsing an input file.
void run dakota mixed (const char dakota input file, bool mpirun flag)
Run a Dakota LibraryEnvironment, from string or input file input, supplemented with additional C++ API adjustments.
871
Variables
static const char serial input [ ]
Default Dakota input string for serial case (rosenbrock):
14.7.1
Detailed Description
file containing a mock simulator main for testing Dakota in library mode
14.7.2
Function Documentation
Floating-point initialization from AMPL: switch to 53-bit rounding if appropriate, to eliminate some crossplatform differences.
Referenced by main().
void run dakota parse ( const char dakota input file )
Run a Dakota LibraryEnvironment, mode 1: parsing an input file.
Simplest library case: this function parses from an input file to define the ProblemDescDB data.
References Environment::execute(), ProgramOptions::input file(), Environment::mpi manager(), MPIManager::mpirun flag(), parallel interface plugin(), serial interface plugin(), and MPIManager::world rank().
Referenced by main().
void run dakota data (
872
ProgramOptions::input string(), Environment::mpi manager(), MPIManager::mpirun flag(), parallel input, parallelinterface plugin(), Environment::parallel library(), Environment::problem description db(), ProblemDescDB::resolvetop method(), callback data::rosen cdv upper bd, serial input, serial interface plugin(), ProblemDescDB::set(),
and ParallelLibrary::world rank().
Referenced by main().
void serial interface plugin ( Dakota::LibraryEnvironment & env )
Convenience function with simplest example of interface plugin: plugin a serial DirectApplicInterface that can be
constructed independent of Dakotas configuration details.
Demonstration of simple plugin where client code doesnt require access to detailed Dakota data (such as
Model-based parallel configuration information) to construct the DirectApplicInterface. This example plugs-in a
derived serial direct application interface instance (plugin rosenbrock).
References Dakota::abort handler(), LibraryEnvironment::plugin interface(), and Environment::problem descriptiondb().
Referenced by run dakota data(), run dakota mixed(), and run dakota parse().
void parallel interface plugin ( Dakota::LibraryEnvironment & env )
Convenience function to plug a library clients interface into the appropriate model, demonstrating use of Dakota
parallel configuration in constructing the plugin Interface on the right MPI Comm.
From a filtered list of Model candidates, plug-in a derived direct application interface instance (plugin textbook for parallel). This approach provides more complete access to the Model, e.g., for access to analysis
communicators.
References Dakota::abort handler(), Interface::assign rep(), LibraryEnvironment::filtered model list(), Environment::problem description db(), and ProblemDescDB::set db model nodes().
Referenced by run dakota data(), run dakota mixed(), and run dakota parse().
static void callback function ( Dakota::ProblemDescDB db, void ptr ) [static]
Example: user-provided post-parse callback (Dakota::DbCallbackFunction)
Example of user-provided callback function (an instance of Dakota::DbCallbackFunction) to override input
provided by parsed Dakota input file or input string data.
References Dakota::contains(), ProblemDescDB::get sa(), ProblemDescDB::get string(), ProblemDescDB::resolve top method(), callback data::rosen cdv upper bd, and ProblemDescDB::set().
Referenced by run dakota mixed().
int main ( int argc, char argv[ ] )
A mock simulator main for testing Dakota in library mode.
Overall Usage: dakota library mode [-mixed] [dakota.in]
Uses alternative instantiation syntax as described in the library mode documentation within the Developers
Manual. Tests several problem specification modes:
(1) run dakota parse: reads all problem specification data from a Dakota input file. Usage: dakota library mode dakota.in
(2) run dakota data: creates all problem specification from direct Data instance instantiations in the C++ code.
Usage: dakota library mode
(3) run dakota mixed: a mixture of input parsing and direct data updates, where the data updates occur: (a)
via the DB during Environment instantiation, and (b) via Iterators/Models following Environment instantiation.
873
Usage: dakota library mode -mixed (input from default string) dakota library mode -mixed dakota.in (input from
specified file)
Serial cases use a plugin rosenbrock model, while parallel cases use textbook.
References MPIManager::detect parallel launch(), fpinit ASL(), Dakota::mpi debug hold(), run dakota data(),
run dakota mixed(), and run dakota parse().
14.7.3
Variable Documentation
method,"
optpp q newton"
max iterations = 50"
convergence tolerance = 1e-4"
variables,"
continuous design = 2"
descriptors x1 x2"
interface,"
direct"
analysis driver = plugin rosenbrock"
responses,"
num objective functions = 1"
analytic gradients"
no hessians"
method,"
optpp q newton"
max iterations = 50"
convergence tolerance = 1e-4"
variables,"
continuous design = 2"
descriptors x1 x2"
interface,"
direct"
analysis driver = plugin text book"
responses,"
num objective functions = 1"
num nonlinear inequality constraints = 2"
analytic gradients"
no hessians"
14.8
file containing a mock simulator main for testing DAKOTA in library mode on a split communicator
874
Functions
void manage mpi (MPI Comm &my comm, int &color)
Split MPI COMM WORLD, returning the comm and color.
void run dakota (const MPI Comm &comm, const std::string &input, const int &color)
Launch DAKOTA on passed communicator, tagging output/error with color.
14.8.1
Detailed Description
file containing a mock simulator main for testing DAKOTA in library mode on a split communicator
14.9
Functions
void fpinit ASL ()
int main (int argc, char argv[ ])
The main DAKOTA program.
14.9.1
Detailed Description
14.9.2
Function Documentation
Floating-point initialization from AMPL: switch to 53-bit rounding if appropriate, to eliminate some crossplatform differences.
int main ( int argc, char argv[ ] )
The main DAKOTA program.
Manage command line inputs, input files, restart file(s), output streams, and top level parallel iterator communicators. Instantiate the ExecutableEnvironment and invoke its execute() virtual function.
References Environment::check(), ExecutableEnvironment::execute(), fpinit ASL(), Dakota::mpi debug hold(),
and Dakota::register signal handlers().
14.10
875
Namespaces
Dakota
The primary namespace for DAKOTA.
Constant Groups
Dakota
The primary namespace for DAKOTA.
Functions
void print restart (int argc, char argv, String print dest)
print a restart file
void print restart pdb (int argc, char argv, String print dest)
print a restart file (PDB format)
void print restart tabular (int argc, char argv, String print dest)
print a restart file (tabular format)
void repair restart (int argc, char argv, String identifier type)
repair a restart file by removing corrupted evaluations
14.10.1
Detailed Description
14.10.2
Function Documentation
Index
Approximation
Dakota::Approximation, 310
Constraints
Dakota::Constraints, 350
DataFitSurrModel
Dakota::DataFitSurrModel, 360
EffGlobalMinimizer
Dakota::EffGlobalMinimizer, 421
Environment
Dakota::Environment, 429
Interface
Dakota::Interface, 468
Iterator
Dakota::Iterator, 477
Model
Dakota::Model, 539
NonDAdaptiveSampling
Dakota::NonDAdaptiveSampling, 598
ProblemDescDB
Dakota::ProblemDescDB, 731
SharedApproxData
Dakota::SharedApproxData, 792
initPts
Dakota::JEGAOptimizer, 494
model
Dakota::JEGAOptimizer::Evaluator, 437
A
Dakota::CONMINOptimizer, 342
APPSEvalMgr, 317
Dakota::APPSEvalMgr, 319
APPSOptimizer, 320
abort handler t
Dakota, 135
accepts multiple points
Dakota::JEGAOptimizer, 493
ActiveSet, 283
actualModel
Dakota::DataFitSurrModel, 365
add anchor to surfdata
Dakota::SurfpackApproximation, 825
add datapoint
Dakota::Graphics, 455
algorithm space model
Dakota::Analyzer, 290
Dakota::EffGlobalMinimizer, 421
Dakota::Minimizer, 511
Dakota::NonDBayesCalibration, 600
Dakota::NonDExpansion, 613
Dakota::NonDGlobalInterval, 620
Dakota::NonDReliability, 670
allContinuousIds
Dakota::SharedVariablesDataRep, 805
Analyzer, 285
anisotropic order to dimension preference
Dakota::NonDIntegration, 634
append approximation
Dakota::ApproximationInterface, 316
Dakota::DataFitSurrModel, 362, 363
ApplicationInterface, 291
approx subprob constraint eval
Dakota::SurrBasedLocalMinimizer, 833
approx subprob objective eval
Dakota::SurrBasedLocalMinimizer, 833
approxBuilds
Dakota::SurrogateModel, 842
Approximation, 306
Dakota::Approximation, 309, 310
ApproximationInterface, 312
array insert
Dakota::ResultsDBAny, 773
assess reconstruction
Dakota::EfficientSubspaceMethod, 424
assign rep
Dakota::Interface, 469
Dakota::Iterator, 480
Dakota::Model, 544
asstring
Dakota, 137
asynchronous local analyses
Dakota::ProcessHandleApplicInterface, 739
876
INDEX
asynchronous local evaluations
Dakota::ApplicationInterface, 303
asynchronous local evaluations nowait
Dakota::ApplicationInterface, 304
augmented lagrangian merit
Dakota::SurrBasedMinimizer, 837
B
Dakota::CONMINOptimizer, 342
BaseConstructor, 322
brent minimize
Dakota::NonlinearCGOptimizer, 684
build
Dakota::Approximation, 310
Dakota::PecosApproximation, 723
Dakota::SurfpackApproximation, 825
Dakota::TANA3Approximation, 847
Dakota::TaylorApproximation, 848
build approximation
Dakota::ApproximationInterface, 316
Dakota::DataFitSurrModel, 361
build global
Dakota::DataFitSurrModel, 364
build local multipoint
Dakota::DataFitSurrModel, 364
build views
Dakota::Constraints, 351
Dakota::Variables, 863
buildDataOrder
Dakota::SharedApproxData, 793
C
Dakota::CONMINOptimizer, 342
CAUVLbl
Dakota, 277
CEUVLbl
Dakota, 278
COLINApplication, 323
COLINOptimizer, 326
Dakota::COLINOptimizer, 328
CONMINOptimizer, 336
CT
Dakota::CONMINOptimizer, 341
callback data, 323
callback function
library mode.cpp, 872
ccv index map
Dakota::NestedModel, 562
cdiv index map
Dakota::NestedModel, 562
877
cdrv index map
Dakota::NestedModel, 562
check and broadcast
Dakota::ProblemDescDB, 731
check input
Dakota::ProblemDescDB, 732
check variables
Dakota::NonDIntegration, 634
check wait
Dakota::ProcessHandleApplicInterface, 738
clear all
Dakota::Approximation, 312
clear current
Dakota::Approximation, 311
Dakota::TANA3Approximation, 847
Clone
Dakota::JEGAOptimizer::Evaluator, 436
colin cache lookup
Dakota::COLINOptimizer, 330
colin request to dakota request
Dakota::COLINApplication, 325
CollabHybridMetaIterator, 330
collect evaluation impl
Dakota::COLINApplication, 325
CommandLineHandler, 332
CommandShell, 333
compute
Dakota::DiscrepancyCorrection, 413
compute covariance metric
Dakota::NonDExpansion, 614
Dakota::NonDStochCollocation, 681
compute final statistics metric
Dakota::NonDExpansion, 614
Dakota::NonDStochCollocation, 682
compute statistics
Dakota::NonDExpansion, 614
concatenate restart
Dakota, 139
ConcurrentMetaIterator, 334
conminInfo
Dakota::CONMINOptimizer, 340
constraint0 evaluator
Dakota::SNLLOptimizer, 818
constraint1 evaluator
Dakota::SNLLOptimizer, 819
constraint1 evaluator gn
Dakota::SNLLLeastSq, 812
constraint2 evaluator
Dakota::SNLLOptimizer, 819
878
constraint2 evaluator gn
Dakota::SNLLLeastSq, 813
constraint violation
Dakota::COLINOptimizer, 330
Dakota::SurrBasedMinimizer, 838
constraintMappingIndices
Dakota::CONMINOptimizer, 340
Dakota::DOTOptimizer, 416
constraintMappingMultipliers
Dakota::CONMINOptimizer, 340
Dakota::DOTOptimizer, 416
constraintMappingOffsets
Dakota::CONMINOptimizer, 340
Dakota::DOTOptimizer, 417
constraintValues
Dakota::CONMINOptimizer, 340
Dakota::DOTOptimizer, 416
Constraints, 343
Dakota::Constraints, 350
converge order
Dakota::RichExtrapVerification, 781
converge qoi
Dakota::RichExtrapVerification, 781
copy
Dakota::Constraints, 351
Dakota::SharedVariablesData, 802
copy data
Dakota::DDACEDesignCompExp, 405
core run
Dakota::Iterator, 478
Dakota::LeastSq, 496
Dakota::NonD, 587
Dakota::Optimizer, 693
Dakota::PStudyDACE, 745
Dakota::SurrBasedMinimizer, 836
Dakota::Verification, 864
create evaluation process
Dakota::ProcessHandleApplicInterface, 738
create plots 2d
Dakota::Graphics, 455
create tabular datastream
Dakota::Graphics, 455
CreateEvaluator
Dakota::JEGAOptimizer::EvaluatorCreator, 438
cv index map
Dakota::NestedModel, 561
DAUIVLbl
Dakota, 278
DAURVLbl
INDEX
Dakota, 278
DDACEDesignCompExp, 402
Dakota::DDACEDesignCompExp, 404
DEUIVLbl
Dakota, 278
DEURVLbl
Dakota, 278
DF
Dakota::CONMINOptimizer, 342
DOTOptimizer, 413
DakFuncs0
Dakota, 140
Dakota, 67
abort handler t, 135
asstring, 137
CAUVLbl, 277
CEUVLbl, 278
concatenate restart, 139
DAUIVLbl, 278
DAURVLbl, 278
DEUIVLbl, 278
DEURVLbl, 278
DakFuncs0, 140
DiscSetLbl, 279
FIELD NAMES, 140
flush, 135
get npath, 135
getRmax, 136
getdist, 136
id vars exact compare, 137
kw 1, 140, 214
kw 10, 142, 215
kw 100, 163, 232
kw 101, 163, 232
kw 102, 163, 232
kw 103, 163, 232
kw 104, 163, 232
kw 105, 164, 232
kw 106, 164, 233
kw 107, 164, 233
kw 108, 164, 233
kw 109, 164, 233
kw 11, 142, 215
kw 110, 165, 233
kw 111, 165, 233
kw 112, 165, 234
kw 113, 165, 234
kw 114, 165, 234
kw 115, 165, 234
INDEX
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
879
116, 166, 234
117, 166, 234
118, 166, 235
119, 166, 235
12, 143, 216
120, 166, 235
121, 167, 235
122, 167, 235
123, 167, 235
124, 167, 236
125, 167, 236
126, 167, 236
127, 168, 236
128, 168, 236
129, 168, 237
13, 143, 216
130, 168, 237
131, 168, 237
132, 169, 237
133, 169, 237
134, 169, 237
135, 169, 237
136, 169, 238
137, 170, 238
138, 170, 238
139, 170, 238
14, 143, 216
140, 170, 238
141, 170, 238
142, 170, 239
143, 171, 239
144, 171, 239
145, 171, 239
146, 171, 239
147, 171, 239
148, 172, 240
149, 172, 240
15, 144, 216
150, 172, 240
151, 172, 240
152, 173, 240
153, 173, 240
154, 173, 241
155, 173, 241
156, 173, 241
157, 174, 241
158, 174, 241
159, 174, 242
16, 144, 216
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
880
INDEX
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
INDEX
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
881
293, 205, 267
294, 206, 267
295, 206, 267
296, 206, 268
297, 207, 268
298, 207, 268
299, 207, 268
3, 141, 214
30, 146, 219
300, 207, 268
301, 208, 268
302, 208, 269
303, 208, 269
304, 208, 269
305, 209, 269
306, 209, 270
307, 209, 270
308, 209, 270
309, 210, 270
31, 147, 219
310, 210, 271
311, 210, 271
312, 211, 271
313, 211, 271
314, 211, 272
315, 211, 272
316, 212, 272
317, 212, 272
318, 212, 273
319, 212, 273
32, 147, 219
320, 213, 273
321, 213, 273
322, 213, 273
323, 274
324, 213, 274
325, 274
326, 274
327, 274
328, 275
329, 275
33, 147, 219
330, 275
331, 275
332, 275
333, 276
334, 276
335, 276
336, 276
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
337, 277
338, 277
339, 277
34, 148, 219
341, 277
35, 148, 220
36, 148, 220
37, 148, 220
38, 148, 220
39, 149, 221
4, 141, 214
40, 149, 221
41, 149, 221
42, 149, 221
43, 149, 221
44, 150, 221
45, 150, 222
46, 150, 222
47, 150, 222
48, 150, 222
49, 150, 222
5, 141, 214
50, 151, 222
51, 151, 223
52, 151, 223
53, 151, 223
54, 151, 223
55, 151, 223
56, 152, 223
57, 152, 224
58, 152, 224
59, 152, 224
6, 141, 215
60, 153, 224
61, 153, 224
62, 153, 224
63, 153, 225
64, 154, 225
65, 154, 225
66, 154, 225
67, 154, 225
68, 154, 225
69, 155, 226
7, 142, 215
70, 155, 226
71, 155, 226
72, 155, 226
73, 156, 226
74, 157, 227
882
INDEX
kw 75, 157, 227
kw 76, 157, 227
kw 77, 157, 227
kw 78, 158, 227
kw 79, 158, 228
kw 8, 142, 215
kw 80, 158, 228
kw 81, 159, 228
kw 82, 159, 228
kw 83, 159, 228
kw 84, 159, 229
kw 85, 160, 229
kw 86, 160, 229
kw 87, 160, 229
kw 88, 160, 229
kw 89, 161, 230
kw 9, 142, 215
kw 90, 161, 230
kw 91, 161, 230
kw 92, 161, 230
kw 93, 161, 230
kw 94, 161, 230
kw 95, 162, 231
kw 96, 162, 231
kw 97, 162, 231
kw 98, 162, 231
kw 99, 162, 231
lookup by val, 138
mindist, 136
mindistindx, 136
mpi debug hold, 135
my cp, 135
NUMBER OF FIELDS, 140
operator==, 135137
PRPMultiIndexCache, 134
PRPMultiIndexQueue, 134
perform analysis, 137
print restart, 138
print restart pdb, 138
print restart tabular, 138
read neutral, 139
register signal handlers, 135
repair restart, 139
SUBMETHOD COLLABORATIVE, 134
SCI FIELD NAMES, 281
set compare, 137
slmap, 139
start dakota heartbeat, 135
start grid computing, 136
INDEX
master dynamic schedule evaluations, 302
master dynamic schedule evaluations nowait, 303
peer dynamic schedule evaluations, 302
peer dynamic schedule evaluations nowait, 304
peer static schedule evaluations, 302
serve analyses synch, 301
serve evaluations, 300
serve evaluations asynch, 305
serve evaluations asynch peer, 305
serve evaluations synch, 304
serve evaluations synch peer, 305
set communicators checks, 300
stop evaluation servers, 300
synch, 299
synch nowait, 299
synchronous local evaluations, 303
Dakota::Approximation
Approximation, 310
Approximation, 309, 310
build, 310
clear all, 312
clear current, 311
finalize, 311
get approx, 312
operator=, 310
pop, 311
rebuild, 311
restore, 311
Dakota::ApproximationInterface
append approximation, 316
build approximation, 316
functionSurfaces, 317
pop approximation, 317
rebuild approximation, 316
restore approximation, 317
update approximation, 315
Dakota::COLINApplication
colin request to dakota request, 325
collect evaluation impl, 325
dakota response to colin response, 326
evaluation available, 325
map domain, 326
perform evaluation impl, 325
set problem, 324
spawn evaluation impl, 325
Dakota::COLINOptimizer
COLINOptimizer, 328
colin cache lookup, 330
constraint violation, 330
883
find optimum, 328
post run, 329
returns multiple points, 329
set rng, 329
set solver parameters, 329
solver setup, 329
Dakota::CONMINOptimizer
A, 342
B, 342
C, 342
CT, 341
conminInfo, 340
constraintMappingIndices, 340
constraintMappingMultipliers, 340
constraintMappingOffsets, 340
constraintValues, 340
DF, 342
G1, 341
G2, 342
IC, 343
ISC, 343
MS1, 342
N1, 341
N2, 341
N3, 341
N4, 341
N5, 341
printControl, 340
S, 341
SCAL, 342
Dakota::CommandLineHandler
output helper, 333
Dakota::CommandShell
flush, 334
operator<<, 334
Dakota::ConcurrentMetaIterator
print results, 336
Dakota::Constraints
Constraints, 350
build views, 351
Constraints, 350
copy, 351
get constraints, 352
manage linear constraints, 352
operator=, 351
reshape, 351
Dakota::DDACEDesignCompExp
copy data, 405
DDACEDesignCompExp, 404
884
num samples, 405
post run, 405
pre run, 405
resolve samples symbols, 405
Dakota::DOTOptimizer
constraintMappingIndices, 416
constraintMappingMultipliers, 416
constraintMappingOffsets, 417
constraintValues, 416
dotFDSinfo, 415
dotInfo, 415
dotMethod, 416
intCntlParmArray, 416
printControl, 416
realCntlParmArray, 416
Dakota::DataFitSurrModel
DataFitSurrModel, 360
actualModel, 365
append approximation, 362, 363
build approximation, 361
build global, 364
build local multipoint, 364
derived asynch compute response, 360
derived compute response, 360
derived init communicators, 363
derived synchronize, 360
derived synchronize nowait, 361
evaluation id, 363
export point, 364
import points, 363
initialize export, 364
manage data recastings, 364
update actual model, 365
update approximation, 362
update from actual model, 365
Dakota::DirectApplicInterface
derived map ac, 409
init communicators checks, 409
set communicators checks, 409
synchronous local analysis, 409
Dakota::DiscrepancyCorrection
compute, 413
Dakota::EffGlobalMinimizer
EffGlobalMinimizer, 421
algorithm space model, 421
get best sample, 421
Dakota::EfficientSubspaceMethod
assess reconstruction, 424
init communicators, 424
INDEX
map xi to x, 424
reduced space uq, 424
uncertain vars to subspace, 424
Dakota::Environment
Environment, 429
Environment, 428430
get environment, 430
operator=, 430
parse, 430
Dakota::ExperimentData
load scalar, 440
Dakota::FSUDesignCompExp
enforce input rules, 445
FSUDesignCompExp, 444
num samples, 445
post run, 444
pre run, 444
Dakota::GaussProcApproximation
GPmodel apply, 450
GaussProcApproximation, 449
trendOrder, 450
Dakota::GetLongOpt
enroll, 452
GetLongOpt, 452
OptType, 452
parse, 452
retrieve, 452
usage, 453
Dakota::Graphics
add datapoint, 455
create plots 2d, 455
create tabular datastream, 455
new dataset, 455
Dakota::GridApplicInterface
synchronous local analysis, 457
Dakota::HierarchSurrModel
derived asynch compute response, 460
derived compute response, 460
derived synchronize, 460
derived synchronize nowait, 461
evaluation id, 461
Dakota::Interface
Interface, 468
assign rep, 469
eval tag prefix, 469
get interface, 470
Interface, 468
operator=, 469
rawResponseMap, 470
INDEX
response mapping, 469
Dakota::Iterator
Iterator, 477
assign rep, 480
core run, 478
eval tag prefix, 481
finalize run, 479
get iterator, 481
initialize graphics, 479
initialize run, 478
Iterator, 476, 477
maxEvalConcurrency, 482
operator=, 478
post run, 478
pre run, 478
print results, 479
probDescDB, 482
run, 480
uses method, 479
Dakota::IteratorScheduler
free iterator, 486
free iterator parallelism, 485
init evaluation concurrency, 486, 487
init iterator, 485
init iterator parallelism, 486
init serial iterators, 485
IteratorScheduler, 485
master dynamic schedule iterators, 487
run iterator, 486
schedule iterators, 487
serve iterators, 487
Dakota::JEGAOptimizer
initPts, 494
accepts multiple points, 493
find optimum, 493
GetBestMOSolutions, 492
GetBestSOSolutions, 492
GetBestSolutions, 492
initial points, 493, 494
JEGAOptimizer, 490
LoadAlgorithmConfig, 490
LoadDakotaResponses, 490
LoadProblemConfig, 490
LoadTheConstraints, 492
LoadTheDesignVariables, 492
LoadTheObjectiveFunctions, 492
LoadTheParameterDatabase, 490
returns multiple points, 493
ToDoubleMatrix, 493
885
Dakota::JEGAOptimizer::Driver
DestroyAlgorithm, 418
Driver, 417
ExtractAllData, 418
PerformIterations, 418
Dakota::JEGAOptimizer::Evaluator
model, 437
Clone, 436
Description, 434
Evaluate, 435, 436
Evaluator, 433, 434
GetDescription, 436
GetName, 436
GetNumberLinearConstraints, 435
GetNumberNonLinearConstraints, 435
Name, 434
RecordResponses, 435
SeparateVariables, 435
Dakota::JEGAOptimizer::EvaluatorCreator
CreateEvaluator, 438
EvaluatorCreator, 437
Dakota::LeastSq
core run, 496
finalize run, 497
get confidence intervals, 497
initialize run, 496
LeastSq, 496
post run, 496
primary resp weighter, 497
print results, 497
weight model, 497
Dakota::LibraryEnvironment
filtered interface list, 499
filtered model list, 500
LibraryEnvironment, 499
Dakota::MatlabInterface
derived map ac, 501
matlab engine run, 501
Dakota::MetaIterator
post run, 503
Dakota::Minimizer
algorithm space model, 511
data transform model, 512
finalize run, 511
gnewton set recast, 512
initialize run, 510
initialize scaling, 515
lin coeffs modify n2s, 516
Minimizer, 510
886
modify n2s, 516
modify s2n, 513
need resp trans byvars, 513
objective, 513
objective gradient, 514
objective hessian, 514
pack parameters buffer, 511
pack results buffer, 511
post run, 510
primary resp differencer, 515
resize best resp array, 514
resize best vars array, 514
response modify n2s, 516
response modify s2n, 513
scale model, 512
secondary resp copier, 512
secondary resp scaler, 515
unpack parameters buffer, 511
unpack results buffer, 511
variables scaler, 515
Dakota::MixedVarConstraints
MixedVarConstraints, 518
reshape, 518
Dakota::MixedVariables
MixedVariables, 519
read tabular, 519
Dakota::Model
Model, 539
assign rep, 544
derivative concurrency, 545
derived interface, 542
estimate derivatives, 545
estimate message lengths, 544
eval tag prefix, 543
evaluation cache, 543
FDstep1, 545
FDstep2, 545
fdGradStepSize, 547
fdHessByFnStepSize, 547
fdHessByGradStepSize, 547
get model, 545
init communicators, 543
init serial, 544
initialize h, 545
interface id, 542
local eval concurrency, 542
local eval synchronization, 542
manage asv, 547
Model, 539, 540
INDEX
operator=, 540
probDescDB, 548
subordinate iterator, 540
subordinate model, 540
subordinate models, 543
surrogate model, 541
synchronize derivatives, 546
truth model, 541
update from subordinate model, 541
update quasi hessians, 547
update response, 546
Dakota::NCSUOptimizer
NCSUOptimizer, 555
objective eval, 556
Dakota::NIDRProblemDescDB
derived parse inputs, 567
Dakota::NL2SOLLeastSq
minimize residuals, 570
Dakota::NLSSOLLeastSq
NLSSOLLeastSq, 577
Dakota::NPSOLOptimizer
NPSOLOptimizer, 687
Dakota::NestedModel
ccv index map, 562
cdiv index map, 562
cdrv index map, 562
cv index map, 561
derived asynch compute response, 561
derived compute response, 560
derived init communicators, 561
derived master overload, 561
div index map, 562
drv index map, 562
evaluation id, 561
response mapping, 562
subModel, 563
Dakota::NomadOptimizer
load parameters, 580
NomadOptimizer, 579
Dakota::NomadOptimizer::Evaluator
eval x, 432
Evaluator, 431
Dakota::NonD
core run, 587
finalize run, 588
initialize final statistics, 588
initialize random variable parameters, 588
initialize random variable types, 588
initialize random variables, 587
INDEX
initialize run, 587
print distribution map, 589
print distribution mappings, 589
set u to x mapping, 589
vars u to x mapping, 589
vars x to u mapping, 589
Dakota::NonDAdaptImpSampling
initialize, 593
NonDAdaptImpSampling, 592
Dakota::NonDAdaptiveSampling
NonDAdaptiveSampling, 598
NonDAdaptiveSampling, 598
Dakota::NonDBayesCalibration
algorithm space model, 600
NonDBayesCalibration, 600
Dakota::NonDCalibration
NonDCalibration, 602
Dakota::NonDCubature
increment grid preference, 604
increment reference, 605
NonDCubature, 604
num samples, 605
sampling reset, 604
Dakota::NonDDREAMBayesCalibration
likelihoodScale, 609
NonDDREAMBayesCalibration, 607
prior density, 608
prior sample, 608
problem size, 607
problem value, 608
quantify uncertainty, 608
sample likelihood, 608
Dakota::NonDExpansion
algorithm space model, 613
compute covariance metric, 614
compute final statistics metric, 614
compute statistics, 614
increment specification sequence, 613
useDerivs, 615
Dakota::NonDGPImpSampling
NonDGPImpSampling, 626
quantify uncertainty, 626
Dakota::NonDGPMSABayesCalibration
NonDGPMSABayesCalibration, 629
quantify uncertainty, 629
randomSeed, 629
Dakota::NonDGlobalInterval
algorithm space model, 620
Dakota::NonDIncremLHSSampling
887
NonDIncremLHSSampling, 631
quantify uncertainty, 631
Dakota::NonDIntegration
anisotropic order to dimension preference, 634
check variables, 634
dimension preference to anisotropic order, 634
NonDIntegration, 633
Dakota::NonDLHSSampling
NonDLHSSampling, 640
quantify uncertainty, 641
Dakota::NonDLocalReliability
dg ds eval, 654
dp2 dbeta factor, 655
initial taylor series, 652
initialize class data, 652
initialize level data, 653
initialize mpp search data, 653
PMA2 constraint eval, 652
PMA constraint eval, 651
PMA objective eval, 651
probability, 655
RIA constraint eval, 651
RIA objective eval, 651
update level data, 654
update mpp search data, 653
Dakota::NonDPolynomialChaos
increment order, 662
increment specification sequence, 662
NonDPolynomialChaos, 661, 662
Dakota::NonDQUESOBayesCalibration
NonDQUESOBayesCalibration, 668
quantify uncertainty, 668
Dakota::NonDQuadrature
initialize grid, 666
NonDQuadrature, 665
num samples, 666
sampling reset, 666
Dakota::NonDReliability
algorithm space model, 670
Dakota::NonDSampling
get parameter sets, 675
NonDSampling, 674
num samples, 675
sampling reset, 675
view aleatory uncertain counts, 676
view design counts, 676
view epistemic uncertain counts, 676
view uncertain counts, 676
Dakota::NonDSparseGrid
888
NonDSparseGrid, 679
num samples, 679
sampling reset, 679
Dakota::NonDStochCollocation
compute covariance metric, 681
compute final statistics metric, 682
NonDStochCollocation, 681
Dakota::NonlinearCGOptimizer
brent minimize, 684
Dakota::Optimizer
core run, 693
finalize run, 693
initialize run, 693
local objective recast retrieve, 695
objective reduction, 694
post run, 693
primary resp reducer, 694
print results, 694
reduce model, 694
Dakota::OutputManager
OutputManager, 697
Dakota::PSUADEDesignCompExp
enforce input rules, 748
num samples, 748
PSUADEDesignCompExp, 747
post run, 748
pre run, 747
Dakota::PStudyDACE
core run, 745
print results, 745
volumetric quality, 745
Dakota::ParallelLibrary
increment parallel configuration, 710
init communicators, 710
init mpi comm, 710
manage outputs restart, 710
ParallelLibrary, 709
resolve inputs, 711
terminate modelcenter, 710
Dakota::ParamResponsePair
evalInterfaceIds, 714
ParamResponsePair, 713
read, 714
write, 714
Dakota::ParamStudy
load distribute points, 718
post run, 718
pre run, 718
Dakota::PecosApproximation
INDEX
build, 723
finalize, 723
pop, 723
rebuild, 723
restore, 723
Dakota::ProblemDescDB
ProblemDescDB, 731
check and broadcast, 731
check input, 732
get db, 732
operator=, 731
parse inputs, 731
post process, 732
ProblemDescDB, 730, 731
Dakota::ProcessApplicInterface
synchronous local analyses, 735
Dakota::ProcessHandleApplicInterface
asynchronous local analyses, 739
check wait, 738
create evaluation process, 738
init communicators checks, 738
serve analyses asynch, 739
set communicators checks, 738
synchronous local analysis, 738
Dakota::ProgramOptions
split filenames, 743
Dakota::PythonInterface
derived map ac, 750
python convert int, 750
Dakota::RecastModel
derived compute response, 757
eval tag prefix, 758
initialize, 757
RecastModel, 756, 757
update from sub model, 758
Dakota::RelaxedVarConstraints
RelaxedVarConstraints, 760
reshape, 760
Dakota::RelaxedVariables
read tabular, 762
RelaxedVariables, 761
Dakota::Response
load, 766
save, 766
Dakota::ResponseRep
functionGradients, 771
load, 771
read, 769, 770
read annotated, 769
INDEX
read tabular, 769
reset, 770
reset inactive, 771
reshape, 770
ResponseRep, 769
save, 771
update, 770
update partial, 770
write annotated, 769
write tabular, 770
Dakota::ResultsDBAny
array insert, 773
extract data, 773
insert, 773
Dakota::ResultsEntry
ResultsEntry, 775
Dakota::RichExtrapVerification
converge order, 781
converge qoi, 781
estimate order, 780
print results, 780
Dakota::SNLLLeastSq
constraint1 evaluator gn, 812
constraint2 evaluator gn, 813
nlf2 evaluator gn, 812
post run, 812
Dakota::SNLLOptimizer
constraint0 evaluator, 818
constraint1 evaluator, 819
constraint2 evaluator, 819
nlf0 evaluator, 818
nlf1 evaluator, 818
nlf2 evaluator, 818
SNLLOptimizer, 817
Dakota::SeqHybridMetaIterator
extract parameter sets, 787
print results, 786
run sequential, 786
run sequential adaptive, 786
Dakota::SharedApproxData
SharedApproxData, 792
buildDataOrder, 793
get shared data, 793
operator=, 792
SharedApproxData, 791, 792
Dakota::SharedSurfpackApproxData
SharedSurfpackApproxData, 798
Dakota::SharedVariablesData
copy, 802
889
Dakota::SharedVariablesDataRep
allContinuousIds, 805
SharedVariablesDataRep, 805
Dakota::SingleModel
eval tag prefix, 807
Dakota::SurfpackApproximation
add anchor to surfdata, 825
build, 825
hessian, 825
SurfpackApproximation, 824, 825
surrogates to surf data, 825
Dakota::SurrBasedLocalMinimizer
approx subprob constraint eval, 833
approx subprob objective eval, 833
hard convergence check, 832
hom constraint eval, 834
hom objective eval, 833
minimize surrogates, 831
tr ratio check, 832
update penalty, 832
Dakota::SurrBasedMinimizer
augmented lagrangian merit, 837
constraint violation, 838
core run, 836
lagrangian merit, 837
penalty merit, 838
print results, 836
update augmented lagrange multipliers, 837
update filter, 837
update lagrange multipliers, 836
Dakota::SurrogateModel
approxBuilds, 842
force rebuild, 841
responseMode, 842
Dakota::SysCallApplicInterface
init communicators checks, 844
set communicators checks, 844
spawn analysis to shell, 845
spawn evaluation to shell, 844
spawn input filter to shell, 844
spawn output filter to shell, 845
synchronous local analysis, 844
test local evaluations, 844
wait local evaluations, 844
Dakota::TANA3Approximation
build, 847
clear current, 847
Dakota::TaylorApproximation
build, 848
890
Dakota::TestDriverInterface
derived map ac, 851
herbie, 852
herbie1D, 851
mc api run, 852
separable combine, 852
shubert1D, 852
smooth herbie, 852
smooth herbie1D, 852
Dakota::TrackerHTTP
send data using get, 854
send data using post, 854
Dakota::Variables
build views, 863
Dakota::Verification
core run, 864
print results, 864
dakota dll api.cpp, 865
dakota stop, 866
dakota dll api.h, 866
dakota stop, 867
dakota response to colin response
Dakota::COLINApplication, 326
dakota stop
dakota dll api.cpp, 866
dakota dll api.h, 867
dakota tabular io.hpp, 867
data transform model
Dakota::Minimizer, 512
DataEnvironment, 352
DataEnvironmentRep, 353
DataFitSurrModel, 355
DataInterface, 366
DataMethod, 367
DataMethodRep, 368
DataModel, 380
DataModelRep, 381
DataResponses, 385
DataResponsesRep, 387
DataVariables, 390
DataVariablesRep, 391
derivVarsVector
Dakota::ActiveSet, 285
derivative concurrency
Dakota::Model, 545
derived asynch compute response
Dakota::DataFitSurrModel, 360
Dakota::HierarchSurrModel, 460
Dakota::NestedModel, 561
INDEX
derived compute response
Dakota::DataFitSurrModel, 360
Dakota::HierarchSurrModel, 460
Dakota::NestedModel, 560
Dakota::RecastModel, 757
derived init communicators
Dakota::DataFitSurrModel, 363
Dakota::NestedModel, 561
derived interface
Dakota::Model, 542
derived map ac
Dakota::DirectApplicInterface, 409
Dakota::MatlabInterface, 501
Dakota::PythonInterface, 750
Dakota::TestDriverInterface, 851
derived master overload
Dakota::NestedModel, 561
derived parse inputs
Dakota::NIDRProblemDescDB, 567
derived synchronize
Dakota::DataFitSurrModel, 360
Dakota::HierarchSurrModel, 460
derived synchronize nowait
Dakota::DataFitSurrModel, 361
Dakota::HierarchSurrModel, 461
Description
Dakota::JEGAOptimizer::Evaluator, 434
DestroyAlgorithm
Dakota::JEGAOptimizer::Driver, 418
dg ds eval
Dakota::NonDLocalReliability, 654
dimension preference to anisotropic order
Dakota::NonDIntegration, 634
DirectApplicInterface, 406
DiscSetLbl
Dakota, 279
DiscrepancyCorrection, 410
div index map
Dakota::NestedModel, 562
dll tester.cpp, 868
dotFDSinfo
Dakota::DOTOptimizer, 415
dotInfo
Dakota::DOTOptimizer, 415
dotMethod
Dakota::DOTOptimizer, 416
dp2 dbeta factor
Dakota::NonDLocalReliability, 655
Driver
INDEX
Dakota::JEGAOptimizer::Driver, 417
drv index map
Dakota::NestedModel, 562
duplication detect
Dakota::ApplicationInterface, 301
EffGlobalMinimizer, 419
EfficientSubspaceMethod, 421
EmbedHybridMetaIterator, 425
enforce input rules
Dakota::FSUDesignCompExp, 445
Dakota::PSUADEDesignCompExp, 748
enroll
Dakota::GetLongOpt, 452
Environment, 426
Dakota::Environment, 428430
estimate derivatives
Dakota::Model, 545
estimate message lengths
Dakota::Model, 544
estimate order
Dakota::RichExtrapVerification, 780
eval tag prefix
Dakota::Interface, 469
Dakota::Iterator, 481
Dakota::Model, 543
Dakota::RecastModel, 758
Dakota::SingleModel, 807
eval x
Dakota::NomadOptimizer::Evaluator, 432
evalInterfaceIds
Dakota::ParamResponsePair, 714
Evaluate
Dakota::JEGAOptimizer::Evaluator, 435, 436
evaluate parameter sets
Dakota::Analyzer, 290
evaluation available
Dakota::COLINApplication, 325
evaluation cache
Dakota::Model, 543
evaluation id
Dakota::DataFitSurrModel, 363
Dakota::HierarchSurrModel, 461
Dakota::NestedModel, 561
Evaluator
Dakota::JEGAOptimizer::Evaluator, 433, 434
Dakota::NomadOptimizer::Evaluator, 431
EvaluatorCreator
Dakota::JEGAOptimizer::EvaluatorCreator, 437
ExecutableEnvironment, 438
891
ExperimentData, 439
export point
Dakota::DataFitSurrModel, 364
extract data
Dakota::ResultsDBAny, 773
extract parameter sets
Dakota::SeqHybridMetaIterator, 787
ExtractAllData
Dakota::JEGAOptimizer::Driver, 418
FDstep1
Dakota::Model, 545
FDstep2
Dakota::Model, 545
FIELD NAMES
Dakota, 140
FSUDesignCompExp, 442
Dakota::FSUDesignCompExp, 444
fdGradStepSize
Dakota::Model, 547
fdHessByFnStepSize
Dakota::Model, 547
fdHessByGradStepSize
Dakota::Model, 547
filtered interface list
Dakota::LibraryEnvironment, 499
filtered model list
Dakota::LibraryEnvironment, 500
finalize
Dakota::Approximation, 311
Dakota::PecosApproximation, 723
finalize run
Dakota::Iterator, 479
Dakota::LeastSq, 497
Dakota::Minimizer, 511
Dakota::NonD, 588
Dakota::Optimizer, 693
find optimum
Dakota::APPSOptimizer, 321
Dakota::COLINOptimizer, 328
Dakota::JEGAOptimizer, 493
flush
Dakota, 135
Dakota::CommandShell, 334
force rebuild
Dakota::SurrogateModel, 841
ForkApplicInterface, 440
fpinit ASL
library mode.cpp, 871
main.cpp, 874
892
INDEX
free iterator
Dakota::IteratorScheduler, 486
free iterator parallelism
Dakota::IteratorScheduler, 485
functionGradients
Dakota::ResponseRep, 771
functionSurfaces
Dakota::ApproximationInterface, 317
G1
Dakota::CONMINOptimizer, 341
G2
Dakota::CONMINOptimizer, 342
GPmodel apply
Dakota::GaussProcApproximation, 450
GaussProcApproximation, 445
Dakota::GaussProcApproximation, 449
get approx
Dakota::Approximation, 312
get best sample
Dakota::EffGlobalMinimizer, 421
get confidence intervals
Dakota::LeastSq, 497
get constraints
Dakota::Constraints, 352
get db
Dakota::ProblemDescDB, 732
get environment
Dakota::Environment, 430
get interface
Dakota::Interface, 470
get iterator
Dakota::Iterator, 481
get model
Dakota::Model, 545
get npath
Dakota, 135
get parameter sets
Dakota::NonDSampling, 675
get shared data
Dakota::SharedApproxData, 793
GetBestMOSolutions
Dakota::JEGAOptimizer, 492
GetBestSOSolutions
Dakota::JEGAOptimizer, 492
GetBestSolutions
Dakota::JEGAOptimizer, 492
GetDescription
Dakota::JEGAOptimizer::Evaluator, 436
GetLongOpt, 450
Dakota::GetLongOpt, 452
GetName
Dakota::JEGAOptimizer::Evaluator, 436
GetNumberLinearConstraints
Dakota::JEGAOptimizer::Evaluator, 435
GetNumberNonLinearConstraints
Dakota::JEGAOptimizer::Evaluator, 435
getRmax
Dakota, 136
getdist
Dakota, 136
gnewton set recast
Dakota::Minimizer, 512
Graphics, 453
GridApplicInterface, 456
hard convergence check
Dakota::SurrBasedLocalMinimizer, 832
herbie
Dakota::TestDriverInterface, 852
herbie1D
Dakota::TestDriverInterface, 851
hessian
Dakota::SurfpackApproximation, 825
HierarchSurrModel, 457
hom constraint eval
Dakota::SurrBasedLocalMinimizer, 834
hom objective eval
Dakota::SurrBasedLocalMinimizer, 833
IC
Dakota::CONMINOptimizer, 343
ISC
Dakota::CONMINOptimizer, 343
id vars exact compare
Dakota, 137
import points
Dakota::DataFitSurrModel, 363
increment grid preference
Dakota::NonDCubature, 604
increment order
Dakota::NonDPolynomialChaos, 662
increment parallel configuration
Dakota::ParallelLibrary, 710
increment reference
Dakota::NonDCubature, 605
increment specification sequence
Dakota::NonDExpansion, 613
Dakota::NonDPolynomialChaos, 662
init communicators
INDEX
Dakota::EfficientSubspaceMethod, 424
Dakota::Model, 543
Dakota::ParallelLibrary, 710
init communicators checks
Dakota::ApplicationInterface, 300
Dakota::DirectApplicInterface, 409
Dakota::ProcessHandleApplicInterface, 738
Dakota::SysCallApplicInterface, 844
init evaluation concurrency
Dakota::IteratorScheduler, 486, 487
init iterator
Dakota::IteratorScheduler, 485
init iterator parallelism
Dakota::IteratorScheduler, 486
init mpi comm
Dakota::ParallelLibrary, 710
init serial
Dakota::ApplicationInterface, 299
Dakota::Model, 544
init serial iterators
Dakota::IteratorScheduler, 485
initial points
Dakota::JEGAOptimizer, 493, 494
initial taylor series
Dakota::NonDLocalReliability, 652
initialize
Dakota::NonDAdaptImpSampling, 593
Dakota::RecastModel, 757
initialize class data
Dakota::NonDLocalReliability, 652
initialize export
Dakota::DataFitSurrModel, 364
initialize final statistics
Dakota::NonD, 588
initialize graphics
Dakota::Iterator, 479
initialize grid
Dakota::NonDQuadrature, 666
initialize h
Dakota::Model, 545
initialize level data
Dakota::NonDLocalReliability, 653
initialize mpp search data
Dakota::NonDLocalReliability, 653
initialize random variable parameters
Dakota::NonD, 588
initialize random variable types
Dakota::NonD, 588
initialize random variables
893
Dakota::NonD, 587
initialize run
Dakota::Analyzer, 289
Dakota::Iterator, 478
Dakota::LeastSq, 496
Dakota::Minimizer, 510
Dakota::NonD, 587
Dakota::Optimizer, 693
initialize scaling
Dakota::Minimizer, 515
initialize variables and constraints
Dakota::APPSOptimizer, 322
insert
Dakota::ResultsDBAny, 773
intCntlParmArray
Dakota::DOTOptimizer, 416
Interface, 461
Dakota::Interface, 468
interface id
Dakota::Model, 542
isReadyForWork
Dakota::APPSEvalMgr, 319
Iterator, 470
Dakota::Iterator, 476, 477
IteratorScheduler, 483
Dakota::IteratorScheduler, 485
JEGAOptimizer, 488
Dakota::JEGAOptimizer, 490
JEGAOptimizer.cpp, 869
JEGAOptimizer.hpp, 869
JEGAOptimizer::Driver, 417
JEGAOptimizer::Evaluator, 432
JEGAOptimizer::EvaluatorCreator, 437
kw 1
Dakota, 140, 214
kw 10
Dakota, 142, 215
kw 100
Dakota, 163, 232
kw 101
Dakota, 163, 232
kw 102
Dakota, 163, 232
kw 103
Dakota, 163, 232
kw 104
Dakota, 163, 232
kw 105
894
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
INDEX
Dakota, 164, 232
106
Dakota, 164, 233
107
Dakota, 164, 233
108
Dakota, 164, 233
109
Dakota, 164, 233
11
Dakota, 142, 215
110
Dakota, 165, 233
111
Dakota, 165, 233
112
Dakota, 165, 234
113
Dakota, 165, 234
114
Dakota, 165, 234
115
Dakota, 165, 234
116
Dakota, 166, 234
117
Dakota, 166, 234
118
Dakota, 166, 235
119
Dakota, 166, 235
12
Dakota, 143, 216
120
Dakota, 166, 235
121
Dakota, 167, 235
122
Dakota, 167, 235
123
Dakota, 167, 235
124
Dakota, 167, 236
125
Dakota, 167, 236
126
Dakota, 167, 236
127
Dakota, 168, 236
kw 128
Dakota, 168, 236
kw 129
Dakota, 168, 237
kw 13
Dakota, 143, 216
kw 130
Dakota, 168, 237
kw 131
Dakota, 168, 237
kw 132
Dakota, 169, 237
kw 133
Dakota, 169, 237
kw 134
Dakota, 169, 237
kw 135
Dakota, 169, 237
kw 136
Dakota, 169, 238
kw 137
Dakota, 170, 238
kw 138
Dakota, 170, 238
kw 139
Dakota, 170, 238
kw 14
Dakota, 143, 216
kw 140
Dakota, 170, 238
kw 141
Dakota, 170, 238
kw 142
Dakota, 170, 239
kw 143
Dakota, 171, 239
kw 144
Dakota, 171, 239
kw 145
Dakota, 171, 239
kw 146
Dakota, 171, 239
kw 147
Dakota, 171, 239
kw 148
Dakota, 172, 240
kw 149
Dakota, 172, 240
kw 15
INDEX
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
895
kw 172
Dakota, 177, 244
kw 173
Dakota, 177, 244
kw 174
Dakota, 178, 244
kw 175
Dakota, 178, 245
kw 176
Dakota, 178, 245
kw 177
Dakota, 178, 245
kw 178
Dakota, 178, 245
kw 179
Dakota, 179, 245
kw 18
Dakota, 144, 217
kw 180
Dakota, 179, 246
kw 181
Dakota, 179, 246
kw 182
Dakota, 179, 246
kw 183
Dakota, 179, 246
kw 184
Dakota, 179, 246
kw 185
Dakota, 180, 247
kw 186
Dakota, 180, 247
kw 187
Dakota, 180, 247
kw 188
Dakota, 180, 247
kw 189
Dakota, 181, 247
kw 19
Dakota, 144, 217
kw 190
Dakota, 181, 247
kw 191
Dakota, 181, 248
kw 192
Dakota, 181, 248
kw 193
Dakota, 181, 248
kw 194
896
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
INDEX
Dakota, 182, 248
195
Dakota, 182, 248
196
Dakota, 182, 248
197
Dakota, 182, 249
198
Dakota, 249
199
Dakota, 182, 249
2
Dakota, 141, 214
20
Dakota, 145, 217
200
Dakota, 183, 249
201
Dakota, 183, 249
202
Dakota, 183, 250
203
Dakota, 183, 250
204
Dakota, 183, 250
205
Dakota, 184, 250
206
Dakota, 184, 250
207
Dakota, 184, 251
208
Dakota, 184, 251
209
Dakota, 184, 251
21
Dakota, 145, 217
210
Dakota, 184, 251
211
Dakota, 185, 251
212
Dakota, 185, 251
213
Dakota, 186, 252
214
Dakota, 186, 252
215
Dakota, 186, 252
kw 216
Dakota, 187, 252
kw 217
Dakota, 187, 253
kw 218
Dakota, 187, 253
kw 219
Dakota, 187, 253
kw 22
Dakota, 145, 217
kw 220
Dakota, 188, 253
kw 221
Dakota, 188, 253
kw 222
Dakota, 188, 253
kw 223
Dakota, 188, 254
kw 224
Dakota, 189, 254
kw 225
Dakota, 189, 254
kw 226
Dakota, 189, 254
kw 227
Dakota, 189, 255
kw 228
Dakota, 190, 255
kw 229
Dakota, 190, 255
kw 23
Dakota, 145, 218
kw 230
Dakota, 190, 255
kw 231
Dakota, 190, 255
kw 232
Dakota, 191, 255
kw 233
Dakota, 191, 256
kw 234
Dakota, 192, 256
kw 235
Dakota, 192, 256
kw 236
Dakota, 192, 256
kw 237
Dakota, 192, 256
kw 238
INDEX
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
897
kw 260
Dakota, 197, 261
kw 261
Dakota, 197, 261
kw 262
Dakota, 197, 261
kw 263
Dakota, 197, 261
kw 264
Dakota, 197, 261
kw 265
Dakota, 198, 261
kw 266
Dakota, 198, 262
kw 267
Dakota, 198, 262
kw 268
Dakota, 199, 262
kw 269
Dakota, 199, 262
kw 27
Dakota, 146, 218
kw 270
Dakota, 199, 262
kw 271
Dakota, 199, 262
kw 272
Dakota, 200, 263
kw 273
Dakota, 200, 263
kw 274
Dakota, 200, 263
kw 275
Dakota, 201, 263
kw 276
Dakota, 201, 263
kw 277
Dakota, 201, 263
kw 278
Dakota, 201, 264
kw 279
Dakota, 202, 264
kw 28
Dakota, 146, 218
kw 280
Dakota, 202, 264
kw 281
Dakota, 202, 264
kw 282
898
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
INDEX
Dakota, 202, 265
283
Dakota, 202, 265
284
Dakota, 203, 265
285
Dakota, 203, 265
286
Dakota, 203, 265
287
Dakota, 204, 265
288
Dakota, 204, 266
289
Dakota, 204, 266
29
Dakota, 146, 219
290
Dakota, 204, 266
291
Dakota, 205, 266
292
Dakota, 205, 267
293
Dakota, 205, 267
294
Dakota, 206, 267
295
Dakota, 206, 267
296
Dakota, 206, 268
297
Dakota, 207, 268
298
Dakota, 207, 268
299
Dakota, 207, 268
3
Dakota, 141, 214
30
Dakota, 146, 219
300
Dakota, 207, 268
301
Dakota, 208, 268
302
Dakota, 208, 269
303
Dakota, 208, 269
kw 304
Dakota, 208, 269
kw 305
Dakota, 209, 269
kw 306
Dakota, 209, 270
kw 307
Dakota, 209, 270
kw 308
Dakota, 209, 270
kw 309
Dakota, 210, 270
kw 31
Dakota, 147, 219
kw 310
Dakota, 210, 271
kw 311
Dakota, 210, 271
kw 312
Dakota, 211, 271
kw 313
Dakota, 211, 271
kw 314
Dakota, 211, 272
kw 315
Dakota, 211, 272
kw 316
Dakota, 212, 272
kw 317
Dakota, 212, 272
kw 318
Dakota, 212, 273
kw 319
Dakota, 212, 273
kw 32
Dakota, 147, 219
kw 320
Dakota, 213, 273
kw 321
Dakota, 213, 273
kw 322
Dakota, 213, 273
kw 323
Dakota, 274
kw 324
Dakota, 213, 274
kw 325
Dakota, 274
kw 326
INDEX
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
Dakota, 274
327
Dakota, 274
328
Dakota, 275
329
Dakota, 275
33
Dakota, 147, 219
330
Dakota, 275
331
Dakota, 275
332
Dakota, 275
333
Dakota, 276
334
Dakota, 276
335
Dakota, 276
336
Dakota, 276
337
Dakota, 277
338
Dakota, 277
339
Dakota, 277
34
Dakota, 148, 219
341
Dakota, 277
35
Dakota, 148, 220
36
Dakota, 148, 220
37
Dakota, 148, 220
38
Dakota, 148, 220
39
Dakota, 149, 221
4
Dakota, 141, 214
40
Dakota, 149, 221
41
Dakota, 149, 221
899
kw 42
Dakota, 149, 221
kw 43
Dakota, 149, 221
kw 44
Dakota, 150, 221
kw 45
Dakota, 150, 222
kw 46
Dakota, 150, 222
kw 47
Dakota, 150, 222
kw 48
Dakota, 150, 222
kw 49
Dakota, 150, 222
kw 5
Dakota, 141, 214
kw 50
Dakota, 151, 222
kw 51
Dakota, 151, 223
kw 52
Dakota, 151, 223
kw 53
Dakota, 151, 223
kw 54
Dakota, 151, 223
kw 55
Dakota, 151, 223
kw 56
Dakota, 152, 223
kw 57
Dakota, 152, 224
kw 58
Dakota, 152, 224
kw 59
Dakota, 152, 224
kw 6
Dakota, 141, 215
kw 60
Dakota, 153, 224
kw 61
Dakota, 153, 224
kw 62
Dakota, 153, 224
kw 63
Dakota, 153, 225
kw 64
900
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
kw
INDEX
Dakota, 154, 225
65
Dakota, 154, 225
66
Dakota, 154, 225
67
Dakota, 154, 225
68
Dakota, 154, 225
69
Dakota, 155, 226
7
Dakota, 142, 215
70
Dakota, 155, 226
71
Dakota, 155, 226
72
Dakota, 155, 226
73
Dakota, 156, 226
74
Dakota, 157, 227
75
Dakota, 157, 227
76
Dakota, 157, 227
77
Dakota, 157, 227
78
Dakota, 158, 227
79
Dakota, 158, 228
8
Dakota, 142, 215
80
Dakota, 158, 228
81
Dakota, 159, 228
82
Dakota, 159, 228
83
Dakota, 159, 228
84
Dakota, 159, 229
85
Dakota, 160, 229
86
Dakota, 160, 229
kw 87
Dakota, 160, 229
kw 88
Dakota, 160, 229
kw 89
Dakota, 161, 230
kw 9
Dakota, 142, 215
kw 90
Dakota, 161, 230
kw 91
Dakota, 161, 230
kw 92
Dakota, 161, 230
kw 93
Dakota, 161, 230
kw 94
Dakota, 161, 230
kw 95
Dakota, 162, 231
kw 96
Dakota, 162, 231
kw 97
Dakota, 162, 231
kw 98
Dakota, 162, 231
kw 99
Dakota, 162, 231
lagrangian merit
Dakota::SurrBasedMinimizer, 837
LeastSq, 494
Dakota::LeastSq, 496
library mode.cpp, 870
callback function, 872
fpinit ASL, 871
main, 872
parallel input, 873
parallel interface plugin, 872
run dakota data, 871
run dakota mixed, 871
run dakota parse, 871
serial input, 873
serial interface plugin, 872
library split.cpp, 873
LibraryEnvironment, 498
Dakota::LibraryEnvironment, 499
likelihoodScale
Dakota::NonDDREAMBayesCalibration, 609
lin coeffs modify n2s
INDEX
Dakota::Minimizer, 516
load
Dakota::Response, 766
Dakota::ResponseRep, 771
load distribute points
Dakota::ParamStudy, 718
load parameters
Dakota::NomadOptimizer, 580
load scalar
Dakota::ExperimentData, 440
LoadAlgorithmConfig
Dakota::JEGAOptimizer, 490
LoadDakotaResponses
Dakota::JEGAOptimizer, 490
LoadProblemConfig
Dakota::JEGAOptimizer, 490
LoadTheConstraints
Dakota::JEGAOptimizer, 492
LoadTheDesignVariables
Dakota::JEGAOptimizer, 492
LoadTheObjectiveFunctions
Dakota::JEGAOptimizer, 492
LoadTheParameterDatabase
Dakota::JEGAOptimizer, 490
local eval concurrency
Dakota::Model, 542
local eval synchronization
Dakota::Model, 542
local objective recast retrieve
Dakota::Optimizer, 695
lookup by val
Dakota, 138
MPIManager, 548
MPIPackBuffer, 549
MPIUnpackBuffer, 551
MS1
Dakota::CONMINOptimizer, 342
main
library mode.cpp, 872
main.cpp, 874
restart util.cpp, 875
main.cpp, 874
fpinit ASL, 874
main, 874
manage asv
Dakota::Model, 547
manage data recastings
Dakota::DataFitSurrModel, 364
manage linear constraints
901
Dakota::Constraints, 352
manage outputs restart
Dakota::ParallelLibrary, 710
MandatoryValue
Dakota::GetLongOpt, 452
map
Dakota::ApplicationInterface, 299
map domain
Dakota::COLINApplication, 326
map xi to x
Dakota::EfficientSubspaceMethod, 424
master dynamic schedule analyses
Dakota::ApplicationInterface, 301
master dynamic schedule evaluations
Dakota::ApplicationInterface, 302
master dynamic schedule evaluations nowait
Dakota::ApplicationInterface, 303
master dynamic schedule iterators
Dakota::IteratorScheduler, 487
matlab engine run
Dakota::MatlabInterface, 501
MatlabInterface, 500
maxEvalConcurrency
Dakota::Iterator, 482
mc api run
Dakota::TestDriverInterface, 852
MetaIterator, 502
mindist
Dakota, 136
mindistindx
Dakota, 136
minimize residuals
Dakota::NL2SOLLeastSq, 570
minimize surrogates
Dakota::SurrBasedLocalMinimizer, 831
Minimizer, 503
Dakota::Minimizer, 510
MixedVarConstraints, 517
Dakota::MixedVarConstraints, 518
MixedVariables, 518
Dakota::MixedVariables, 519
Model, 520
Dakota::Model, 539, 540
modify n2s
Dakota::Minimizer, 516
modify s2n
Dakota::Minimizer, 513
mpi debug hold
Dakota, 135
902
INDEX
my cp
Dakota, 135
N1
Dakota::CONMINOptimizer, 341
N2
Dakota::CONMINOptimizer, 341
N3
Dakota::CONMINOptimizer, 341
N4
Dakota::CONMINOptimizer, 341
N5
Dakota::CONMINOptimizer, 341
NCSUOptimizer, 553
Dakota::NCSUOptimizer, 555
NIDRProblemDescDB, 564
NL2Res, 568
NL2SOLLeastSq, 568
NLPQLPOptimizer, 571
NLSSOLLeastSq, 575
Dakota::NLSSOLLeastSq, 577
NPSOLOptimizer, 685
Dakota::NPSOLOptimizer, 687
NUMBER OF FIELDS
Dakota, 140
Name
Dakota::JEGAOptimizer::Evaluator, 434
need resp trans byvars
Dakota::Minimizer, 513
NestedModel, 556
new dataset
Dakota::Graphics, 455
nlf0 evaluator
Dakota::SNLLOptimizer, 818
nlf1 evaluator
Dakota::SNLLOptimizer, 818
nlf2 evaluator
Dakota::SNLLOptimizer, 818
nlf2 evaluator gn
Dakota::SNLLLeastSq, 812
NoDBBaseConstructor, 577
NomadOptimizer, 578
Dakota::NomadOptimizer, 579
NomadOptimizer::Evaluator, 430
NonD, 580
NonDAdaptImpSampling, 590
Dakota::NonDAdaptImpSampling, 592
NonDAdaptiveSampling, 594
Dakota::NonDAdaptiveSampling, 598
NonDBayesCalibration, 598
Dakota::NonDBayesCalibration, 600
NonDCalibration, 600
Dakota::NonDCalibration, 602
NonDCubature, 603
Dakota::NonDCubature, 604
NonDDREAMBayesCalibration, 605
Dakota::NonDDREAMBayesCalibration, 607
NonDExpansion, 609
NonDGPImpSampling, 624
Dakota::NonDGPImpSampling, 626
NonDGPMSABayesCalibration, 627
Dakota::NonDGPMSABayesCalibration, 629
NonDGlobalEvidence, 615
NonDGlobalInterval, 617
NonDGlobalReliability, 620
NonDGlobalSingleInterval, 622
NonDIncremLHSSampling, 630
Dakota::NonDIncremLHSSampling, 631
NonDIntegration, 631
Dakota::NonDIntegration, 633
NonDInterval, 634
NonDLHSEvidence, 636
NonDLHSInterval, 637
NonDLHSSampling, 639
Dakota::NonDLHSSampling, 640
NonDLHSSingleInterval, 641
NonDLocalEvidence, 642
NonDLocalInterval, 643
NonDLocalReliability, 646
NonDLocalSingleInterval, 655
NonDPOFDarts, 657
NonDPolynomialChaos, 659
Dakota::NonDPolynomialChaos, 661, 662
NonDQUESOBayesCalibration, 666
Dakota::NonDQUESOBayesCalibration, 668
NonDQuadrature, 663
Dakota::NonDQuadrature, 665
NonDReliability, 669
NonDSampling, 671
Dakota::NonDSampling, 674
NonDSparseGrid, 677
Dakota::NonDSparseGrid, 679
NonDStochCollocation, 680
Dakota::NonDStochCollocation, 681
NonlinearCGOptimizer, 682
num samples
Dakota::Analyzer, 289
Dakota::DDACEDesignCompExp, 405
Dakota::FSUDesignCompExp, 445
INDEX
Dakota::NonDCubature, 605
Dakota::NonDQuadrature, 666
Dakota::NonDSampling, 675
Dakota::NonDSparseGrid, 679
Dakota::PSUADEDesignCompExp, 748
objective
Dakota::Minimizer, 513
objective eval
Dakota::NCSUOptimizer, 556
objective gradient
Dakota::Minimizer, 514
objective hessian
Dakota::Minimizer, 514
objective reduction
Dakota::Optimizer, 694
operator<<
Dakota::CommandShell, 334
operator=
Dakota::Approximation, 310
Dakota::Constraints, 351
Dakota::Environment, 430
Dakota::Interface, 469
Dakota::Iterator, 478
Dakota::Model, 540
Dakota::ProblemDescDB, 731
Dakota::SharedApproxData, 792
operator==
Dakota, 135137
OptDartsOptimizer, 687
OptType
Dakota::GetLongOpt, 452
Optimizer, 690
OptionalValue
Dakota::GetLongOpt, 452
output helper
Dakota::CommandLineHandler, 333
OutputManager, 695
Dakota::OutputManager, 697
PMA2 constraint eval
Dakota::NonDLocalReliability, 652
PMA constraint eval
Dakota::NonDLocalReliability, 651
PMA objective eval
Dakota::NonDLocalReliability, 651
PRPMultiIndexCache
Dakota, 134
PRPMultiIndexQueue
Dakota, 134
903
PSUADEDesignCompExp, 746
Dakota::PSUADEDesignCompExp, 747
PStudyDACE, 744
pack parameters buffer
Dakota::Minimizer, 511
pack results buffer
Dakota::Minimizer, 511
parallel input
library mode.cpp, 873
parallel interface plugin
library mode.cpp, 872
ParallelConfiguration, 697
ParallelDirectApplicInterface, 699
ParallelLevel, 700
ParallelLibrary, 702
Dakota::ParallelLibrary, 709
ParamResponsePair, 711
Dakota::ParamResponsePair, 713
ParamStudy, 714
parse
Dakota::Environment, 430
Dakota::GetLongOpt, 452
parse inputs
Dakota::ProblemDescDB, 731
partial prp equality, 718
partial prp hash, 719
PecosApproximation, 719
peer dynamic schedule evaluations
Dakota::ApplicationInterface, 302
peer dynamic schedule evaluations nowait
Dakota::ApplicationInterface, 304
peer static schedule evaluations
Dakota::ApplicationInterface, 302
penalty merit
Dakota::SurrBasedMinimizer, 838
perform analysis
Dakota, 137
perform evaluation impl
Dakota::COLINApplication, 325
PerformIterations
Dakota::JEGAOptimizer::Driver, 418
pop
Dakota::Approximation, 311
Dakota::PecosApproximation, 723
pop approximation
Dakota::ApproximationInterface, 317
post process
Dakota::ProblemDescDB, 732
post run
904
Dakota::Analyzer, 289
Dakota::COLINOptimizer, 329
Dakota::DDACEDesignCompExp, 405
Dakota::FSUDesignCompExp, 444
Dakota::Iterator, 478
Dakota::LeastSq, 496
Dakota::MetaIterator, 503
Dakota::Minimizer, 510
Dakota::Optimizer, 693
Dakota::ParamStudy, 718
Dakota::PSUADEDesignCompExp, 748
Dakota::SNLLLeastSq, 812
pre output
Dakota::Analyzer, 289
pre run
Dakota::DDACEDesignCompExp, 405
Dakota::FSUDesignCompExp, 444
Dakota::Iterator, 478
Dakota::ParamStudy, 718
Dakota::PSUADEDesignCompExp, 747
primary resp differencer
Dakota::Minimizer, 515
primary resp reducer
Dakota::Optimizer, 694
primary resp weighter
Dakota::LeastSq, 497
print distribution map
Dakota::NonD, 589
print distribution mappings
Dakota::NonD, 589
print restart
Dakota, 138
print restart pdb
Dakota, 138
print restart tabular
Dakota, 138
print results
Dakota::Analyzer, 290
Dakota::ConcurrentMetaIterator, 336
Dakota::Iterator, 479
Dakota::LeastSq, 497
Dakota::Optimizer, 694
Dakota::PStudyDACE, 745
Dakota::RichExtrapVerification, 780
Dakota::SeqHybridMetaIterator, 786
Dakota::SurrBasedMinimizer, 836
Dakota::Verification, 864
print sobol indices
Dakota::Analyzer, 291
INDEX
printControl
Dakota::CONMINOptimizer, 340
Dakota::DOTOptimizer, 416
prior density
Dakota::NonDDREAMBayesCalibration, 608
prior sample
Dakota::NonDDREAMBayesCalibration, 608
probDescDB
Dakota::Iterator, 482
Dakota::Model, 548
probability
Dakota::NonDLocalReliability, 655
problem size
Dakota::NonDDREAMBayesCalibration, 607
problem value
Dakota::NonDDREAMBayesCalibration, 608
ProblemDescDB, 724
Dakota::ProblemDescDB, 730, 731
ProcessApplicInterface, 732
ProcessHandleApplicInterface, 736
ProgramOptions, 739
python convert int
Dakota::PythonInterface, 750
PythonInterface, 748
quantify uncertainty
Dakota::NonDDREAMBayesCalibration, 608
Dakota::NonDGPImpSampling, 626
Dakota::NonDGPMSABayesCalibration, 629
Dakota::NonDIncremLHSSampling, 631
Dakota::NonDLHSSampling, 641
Dakota::NonDQUESOBayesCalibration, 668
RIA constraint eval
Dakota::NonDLocalReliability, 651
RIA objective eval
Dakota::NonDLocalReliability, 651
randomSeed
Dakota::NonDGPMSABayesCalibration, 629
rawResponseMap
Dakota::Interface, 470
read
Dakota::ParamResponsePair, 714
Dakota::ResponseRep, 769, 770
read annotated
Dakota::ResponseRep, 769
read neutral
Dakota, 139
read tabular
Dakota::MixedVariables, 519
INDEX
Dakota::RelaxedVariables, 762
Dakota::ResponseRep, 769
read variables responses
Dakota::Analyzer, 291
realCntlParmArray
Dakota::DOTOptimizer, 416
rebuild
Dakota::Approximation, 311
Dakota::PecosApproximation, 723
rebuild approximation
Dakota::ApproximationInterface, 316
RecastBaseConstructor, 750
RecastModel, 751
Dakota::RecastModel, 756, 757
RecordResponses
Dakota::JEGAOptimizer::Evaluator, 435
recv
Dakota::APPSEvalMgr, 319
reduce model
Dakota::Optimizer, 694
reduced space uq
Dakota::EfficientSubspaceMethod, 424
register signal handlers
Dakota, 135
RelaxedVarConstraints, 759
Dakota::RelaxedVarConstraints, 760
RelaxedVariables, 760
Dakota::RelaxedVariables, 761
repair restart
Dakota, 139
requestVector
Dakota::ActiveSet, 285
reset
Dakota::ResponseRep, 770
reset inactive
Dakota::ResponseRep, 771
reshape
Dakota::Constraints, 351
Dakota::MixedVarConstraints, 518
Dakota::RelaxedVarConstraints, 760
Dakota::ResponseRep, 770
resize best resp array
Dakota::Minimizer, 514
resize best vars array
Dakota::Minimizer, 514
resolve inputs
Dakota::ParallelLibrary, 711
resolve samples symbols
Dakota::DDACEDesignCompExp, 405
905
Response, 762
response mapping
Dakota::Interface, 469
Dakota::NestedModel, 562
response modify n2s
Dakota::Minimizer, 516
response modify s2n
Dakota::Minimizer, 513
responseMode
Dakota::SurrogateModel, 842
ResponseRep, 766
Dakota::ResponseRep, 769
restart util.cpp, 875
main, 875
restore
Dakota::Approximation, 311
Dakota::PecosApproximation, 723
restore approximation
Dakota::ApproximationInterface, 317
ResultsDBAny, 772
ResultsEntry
Dakota::ResultsEntry, 775
ResultsEntry< StoredType >, 774
ResultsID, 775
ResultsManager, 776
ResultsNames, 778
retrieve
Dakota::GetLongOpt, 452
returns multiple points
Dakota::COLINOptimizer, 329
Dakota::JEGAOptimizer, 493
RichExtrapVerification, 779
run
Dakota::Iterator, 480
run dakota data
library mode.cpp, 871
run dakota mixed
library mode.cpp, 871
run dakota parse
library mode.cpp, 871
run iterator
Dakota::IteratorScheduler, 486
run sequential
Dakota::SeqHybridMetaIterator, 786
run sequential adaptive
Dakota::SeqHybridMetaIterator, 786
S
Dakota::CONMINOptimizer, 341
SUBMETHOD COLLABORATIVE
906
Dakota, 134
SCAL
Dakota::CONMINOptimizer, 342
SCI FIELD NAMES
Dakota, 281
SIM, 282
SIM::ParallelDirectApplicInterface
test local evaluations, 700
SIM::SerialDirectApplicInterface
test local evaluations, 788
SNLLBase, 807
SNLLLeastSq, 810
SNLLOptimizer, 813
Dakota::SNLLOptimizer, 817
SOLBase, 819
sample likelihood
Dakota::NonDDREAMBayesCalibration, 608
sampling reset
Dakota::NonDCubature, 604
Dakota::NonDQuadrature, 666
Dakota::NonDSampling, 675
Dakota::NonDSparseGrid, 679
save
Dakota::Response, 766
Dakota::ResponseRep, 771
scale model
Dakota::Minimizer, 512
schedule iterators
Dakota::IteratorScheduler, 487
ScilabInterface, 781
secondary resp copier
Dakota::Minimizer, 512
secondary resp scaler
Dakota::Minimizer, 515
send data using get
Dakota::TrackerHTTP, 854
send data using post
Dakota::TrackerHTTP, 854
SensAnalysisGlobal, 782
separable combine
Dakota::TestDriverInterface, 852
SeparateVariables
Dakota::JEGAOptimizer::Evaluator, 435
SeqHybridMetaIterator, 784
serial input
library mode.cpp, 873
serial interface plugin
library mode.cpp, 872
SerialDirectApplicInterface, 787
INDEX
serve analyses asynch
Dakota::ProcessHandleApplicInterface, 739
serve analyses synch
Dakota::ApplicationInterface, 301
serve evaluations
Dakota::ApplicationInterface, 300
serve evaluations asynch
Dakota::ApplicationInterface, 305
serve evaluations asynch peer
Dakota::ApplicationInterface, 305
serve evaluations synch
Dakota::ApplicationInterface, 304
serve evaluations synch peer
Dakota::ApplicationInterface, 305
serve iterators
Dakota::IteratorScheduler, 487
set apps parameters
Dakota::APPSOptimizer, 322
set communicators checks
Dakota::ApplicationInterface, 300
Dakota::DirectApplicInterface, 409
Dakota::ProcessHandleApplicInterface, 738
Dakota::SysCallApplicInterface, 844
set compare
Dakota, 137
set problem
Dakota::COLINApplication, 324
set rng
Dakota::COLINOptimizer, 329
set solver parameters
Dakota::COLINOptimizer, 329
set u to x mapping
Dakota::NonD, 589
SharedApproxData, 789
Dakota::SharedApproxData, 791, 792
SharedPecosApproxData, 793
SharedSurfpackApproxData, 796
Dakota::SharedSurfpackApproxData, 798
SharedVariablesData, 798
SharedVariablesDataRep, 802
Dakota::SharedVariablesDataRep, 805
shubert1D
Dakota::TestDriverInterface, 852
SingleModel, 805
slmap
Dakota, 139
smooth herbie
Dakota::TestDriverInterface, 852
smooth herbie1D
INDEX
Dakota::TestDriverInterface, 852
solver setup
Dakota::COLINOptimizer, 329
spawn analysis to shell
Dakota::SysCallApplicInterface, 845
spawn evaluation impl
Dakota::COLINApplication, 325
spawn evaluation to shell
Dakota::SysCallApplicInterface, 844
spawn input filter to shell
Dakota::SysCallApplicInterface, 844
spawn output filter to shell
Dakota::SysCallApplicInterface, 845
SpawnApplicInterface, 822
split filenames
Dakota::ProgramOptions, 743
start dakota heartbeat
Dakota, 135
start grid computing
Dakota, 136
stop evaluation servers
Dakota::ApplicationInterface, 300
stop grid computing
Dakota, 137
subModel
Dakota::NestedModel, 563
submit
Dakota::APPSEvalMgr, 319
subordinate iterator
Dakota::Model, 540
subordinate model
Dakota::Model, 540
subordinate models
Dakota::Model, 543
SurfpackApproximation, 823
Dakota::SurfpackApproximation, 824, 825
SurrBasedGlobalMinimizer, 826
SurrBasedLocalMinimizer, 827
SurrBasedMinimizer, 834
surrogate model
Dakota::Model, 541
SurrogateModel, 838
surrogates to surf data
Dakota::SurfpackApproximation, 825
synch
Dakota::ApplicationInterface, 299
synch nowait
Dakota::ApplicationInterface, 299
synchronize derivatives
907
Dakota::Model, 546
synchronous local analyses
Dakota::ProcessApplicInterface, 735
synchronous local analysis
Dakota::DirectApplicInterface, 409
Dakota::GridApplicInterface, 457
Dakota::ProcessHandleApplicInterface, 738
Dakota::SysCallApplicInterface, 844
synchronous local evaluations
Dakota::ApplicationInterface, 303
SysCallApplicInterface, 842
TANA3Approximation, 845
TaylorApproximation, 847
terminate modelcenter
Dakota::ParallelLibrary, 710
test local evaluations
Dakota::SysCallApplicInterface, 844
SIM::ParallelDirectApplicInterface, 700
SIM::SerialDirectApplicInterface, 788
TestDriverInterface, 848
ToDoubleMatrix
Dakota::JEGAOptimizer, 493
tr ratio check
Dakota::SurrBasedLocalMinimizer, 832
TrackerHTTP, 853
trendOrder
Dakota::GaussProcApproximation, 450
truth model
Dakota::Model, 541
uncertain vars to subspace
Dakota::EfficientSubspaceMethod, 424
unpack parameters buffer
Dakota::Minimizer, 511
unpack results buffer
Dakota::Minimizer, 511
update
Dakota::ResponseRep, 770
update actual model
Dakota::DataFitSurrModel, 365
update approximation
Dakota::ApproximationInterface, 315
Dakota::DataFitSurrModel, 362
update augmented lagrange multipliers
Dakota::SurrBasedMinimizer, 837
update filter
Dakota::SurrBasedMinimizer, 837
update from actual model
Dakota::DataFitSurrModel, 365
908
update from sub model
Dakota::RecastModel, 758
update from subordinate model
Dakota::Model, 541
update lagrange multipliers
Dakota::SurrBasedMinimizer, 836
update level data
Dakota::NonDLocalReliability, 654
update mpp search data
Dakota::NonDLocalReliability, 653
update partial
Dakota::ResponseRep, 770
update penalty
Dakota::SurrBasedLocalMinimizer, 832
update quasi hessians
Dakota::Model, 547
update response
Dakota::Model, 546
usage
Dakota::GetLongOpt, 453
useDerivs
Dakota::NonDExpansion, 615
uses method
Dakota::Iterator, 479
VLI
Dakota, 279
VLR
Dakota, 279
Valueless
Dakota::GetLongOpt, 452
var mp cbound
Dakota, 281
var mp check cau
Dakota, 280
var mp check ceu
Dakota, 281
var mp check cv
Dakota, 280
var mp check daui
Dakota, 280
var mp check daur
Dakota, 280
var mp check deui
Dakota, 281
var mp check deur
Dakota, 281
var mp check dset
Dakota, 280
var mp drange
INDEX
Dakota, 281
Variables, 855
variables scaler
Dakota::Minimizer, 515
variance based decomp
Dakota::Analyzer, 290
vars u to x mapping
Dakota::NonD, 589
vars x to u mapping
Dakota::NonD, 589
Verification, 863
view aleatory uncertain counts
Dakota::NonDSampling, 676
view design counts
Dakota::NonDSampling, 676
view epistemic uncertain counts
Dakota::NonDSampling, 676
view uncertain counts
Dakota::NonDSampling, 676
Vlch
Dakota, 279
volumetric quality
Dakota::PStudyDACE, 745
wait local evaluations
Dakota::SysCallApplicInterface, 844
weight model
Dakota::LeastSq, 497
write
Dakota::ParamResponsePair, 714
write annotated
Dakota::ResponseRep, 769
write tabular
Dakota::ResponseRep, 770