Dakota Reference Manual
Version 6.16
Explore and Predict with Confidence

MultilevelMultifidelity sampling methods for UQ
Alias: multilevel_multifidelity_mc mlmfmc
Argument(s): none
Child Keywords:
Required/Optional  Description of Group  Dakota Keyword  Dakota Keyword Description  

Optional  seed_sequence  Sequence of seed values for multistage random sampling  
Optional  fixed_seed  Reuses the same seed value for multiple random sampling sets  
Optional  pilot_samples  Initial set of samples for multilevel/multifidelity sampling methods.  
Optional  solution_mode  Solution mode for multilevel/multifidelity methods  
Optional  sample_type  Selection of sampling strategy  
Optional  export_sample_sequence  Enable export of multilevel/multifidelity sample sequences to individual files  
Optional  convergence_tolerance  Stopping criterion based on relative error reduction  
Optional  max_iterations  Number of iterations allowed for optimizers and adaptive UQ methods  
Optional  max_function_evaluations  Stopping criterion based on maximum function evaluations  
Optional  final_statistics  Indicate the type of final statistics to be returned by a UQ method  
Optional  rng  Selection of a random number generator  
Optional  model_pointer  Identifier for model block to be used by a method 
An adaptive sampling method that utilizes both multilevel and multifidelity relationships within a hierarchical surrogate model in order to improve efficiency through variance reduction.
In the case of a multilevel relationship, multilevel Monte Carlo methods are used to compute an optimal sample allocation per level, and in the case of a multifidelity relationship, control variate Monte Carlo methods are used to compute an optimal sample allocation per fidelity. These two approaches can also be combined, resulting in the multilevelmultifidelity sampling approach below.
Multilevel Control Variate Monte Carlo
If both multilevel and multifidelity structure are included within a hierarchical model specification, then an inner control variate can be applied across two model fidelities for each level within an outer multilevel approach.
On each level, a control variate is active for the discrepancy based on
where .
The optimal parameter is computed from the correlation properties between model forms and discretization levels (see the theory manual for further details) and the optimal allocation (per level) is finally obtained from it.
Default Behavior
The multilevel_multifidelity_sampling
method employs Monte Carlo sample sets be default, but this default can be overridden to use Latin hypercube sample sets using sample_type
lhs
.
Expected Output
The multilevel_multifidelity_sampling
method reports estimates of the first four moments and a summary of the evaluations performed for each model fidelity and discretization level. The method does not support any level mappings (response, probability, reliability, generalized reliability) at this time.
Expected HDF5 Output
If Dakota was built with HDF5 support and run with the hdf5 keyword, this method writes the following results to HDF5:
In addition, the execution group has the attribute equiv_hf_evals
, which records the equivalent number of highfidelity evaluations.
Usage Tips
The multilevel_multifidelity_sampling
method must be used in combination with a hierarchical model specification. The highest and lowest fidelity model must provide multiple discretization levels, for which it is necessary to identify the variable string descriptor that controls the resolution levels using solution_level_control
as well as the associated array of relative costs using solution_level_cost
.
The following method block
method, model_pointer = 'HIERARCH' multilevel_multifidelity_sampling pilot_samples = 20 seed = 1237 #s0,#s1,#s2,#s3,#p0,#p1 convergence_tolerance = .01 #s0,#s2,#s3,#p0,#p1
specifies a multilevelmultifidelity Monte Carlo study in combination with the model identified by the HIERARCH pointer. This model specification provides a twodimensional hierarchy, comprised of two model forms each with four discretization levels:
model, id_model = 'HIERARCH' surrogate hierarchical ordered_model_fidelities = 'LF' 'HF' model, id_model = 'LF' simulation solution_level_control = 'N_x' solution_level_cost = 375. 10125. 81000. 648000. model, id_model = 'HF' simulation solution_level_control = 'N_x' solution_level_cost = 5.67e+5 4.536e+6 2.1e+7 1.68e+8
Refer to dakota/test/dakota_uq_heat_eq_mlcvmc.in
in the source distribution for this case as well as additional examples.
These keywords may also be of interest: