Blurb:: Multilevel sampling methods for UQ

Description:: An adaptive sampling method that utilizes multilevel
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.

<b> Multilevel Monte Carlo </b>

The Monte Carlo estimator for the mean is defined as
\f[ \mathbb{E}[Q] \equiv \hat{Q}^{MC} = \frac{1}{N} \sum_{i=1}^N Q^{(i)} \f]

In a multilevel method with \f$L\f$ levels, we replace this estimator
with a telescoping sum:
\f[ \mathbb{E}[Q] \equiv \hat{Q}^{ML}
 = \sum_{l=0}^L \frac{1}{N_l} \sum_{i=1}^{N_l} (Q_l^{(i)} - Q_{l-1}^{(i)}) 
 \equiv \sum_{l=0}^L \hat{Y}^{MC}_l \f]

This decomposition forms discrepancies for each level greater than 0,
seeking reduction in the variance of the discrepancy \f$Y\f$ relative
to the variance of the original response \f$Q\f$.  The number of samples
allocated for each level (\f$N_l\f$) is based on a total cost minimization
procedure that incorporates the relative cost and observed variance for each 
of the \f$Y_\ell\f$.

<b> Default Behavior </b> 

The \c multilevel_sampling method employs Monte Carlo sample sets by
default, but this default can be overridden to use Latin hypercube
sample sets using \c sample_type \c lhs.

<b> Expected Output </b> 

The \c multilevel_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.

<b> Expected HDF5 Output </b>

If Dakota was built with HDF5 support and run with the 
\ref environment-results_output-hdf5 keyword, this method
writes the following results to HDF5:

- \ref hdf5_results-sampling_moments (moments only, not confidence intervals)

In addition, the execution group has the attribute \c equiv_hf_evals, which
records the equivalent number of high-fidelity evaluations.

<b> Usage Tips </b>

The multilevel sampling method must be used in combination with a
hierarchical model specification, and supports either a sequence of
model forms or a sequence of discretization levels.  For the former,
each model form must provide a scalar \c solution_level_cost and for the
latter, it is necessary to identify the variable string descriptor that
controls the resolution levels using \c solution_level_control as well
as the associated array of relative costs using \c solution_level_cost.


Topics::

Examples::
The following method block 
\verbatim
method,
	model_pointer = 'HIERARCH'
	multilevel_sampling				
	  pilot_samples = 20 seed = 1237
	  max_iterations = 10
	  convergence_tolerance = .001
\endverbatim

specifies a multilevel Monte Carlo study in combination with the model
identified by the HIERARCH pointer.  This model specification provides
a one-dimensional hierarchy, typically defined by a single model
fidelity with multiple discretization levels, but may also be provided
as multiple ordered model fidelities, each with a single (or default)
discretization level.  An example of the former (single model fidelity
with multiple discretization levels) follows:
\verbatim
model,
	id_model = 'HIERARCH'
	surrogate hierarchical
	  ordered_model_fidelities = 'SIM1'
	  correction additive zeroth_order

model,
	id_model = 'SIM1'
	simulation
	  solution_level_control = 'N_x'
	  solution_level_cost = 630. 1260. 2100. 4200.
\endverbatim

Refer to \c dakota/test/dakota_uq_*_mlmc.in in the source distribution
for additional examples.

Theory::
Faq::
See_Also::	method-multifidelity_sampling, method-multilevel_multifidelity_sampling
