approximate_control_variate
Approximate control variate (ACV) sampling methods for UQ
Specification
Alias: acv_sampling
Arguments: None
Child Keywords:
Required/Optional 
Description of Group 
Dakota Keyword 
Dakota Keyword Description 

Required (Choose One) 
Solution Approach 
Sampling scheme within the approximate control variate (ACV) algorithm that employs independent samples (IS) across model pairings 

Approximate control variate (ACV) algorithm that employs a nested pyramid sample pattern, similar to MFMC 

Sampling scheme within the approximate control variate (ACV) algorithm that employs weighted recursive differences (RD) across model pairings 

Optional 
Perform a recursion of admissible DAGs for a given model ensemble 

Optional 
Initial set of samples for multilevel/multifidelity sampling methods. 

Optional 
Solution mode for multilevel/multifidelity methods 

Optional 
Option to suppress any increment to the number of truth samples 

Optional (Choose One) 
Optimization Solver 
Use a sequential quadratic programming method for solving an optimization subproblem 

Use a nonlinear interior point method for solving an optimization subproblem 

Use a hybrid globallocal scheme for solving an optimization subproblem 

Use a competed local solver scheme for solving an optimization subproblem 

Optional 
Sequence of seed values for multistage random sampling 

Optional 
Reuses the same seed value for multiple random sampling sets 

Optional 
Selection of sampling strategy 

Optional 
Enable export of multilevel/multifidelity sample sequences to individual files 

Optional 
Stopping criterion based on relative error reduction 

Optional 
Number of iterations allowed for optimizers and adaptive UQ methods 

Optional 
Stopping criterion based on maximum function evaluations 

Optional 
Selection of a random number generator 

Optional 
Identifier for model block to be used by a method 
Description
An adaptive sampling method that utilizes multifidelity relationships in order to improve efficiency through variance reduction. It employs an ensemble model to manage an unordered set of lowerfidelity approximations to a single truth model.
Compared to multifidelity Monte Carlo (MFMC), ACV is not a recursive emulator based on hierarchical control variate pairings. Rather, the truth model’s variance is targeted using each control variate pairing. These pairings are codified with a directed acyclic graph (DAG), such that ACV defines a “peer” DAG where all approximation nodes point to the root node and the root node identifies the reference “truth” model. MFMC, on the other hand, employs a “hierarchical” DAG, where each approximation node points to the next approximation of higher fidelity, ending with the truth model at the root node.
While the ensemble of control variates appears identical to MFMC:
the sample patterns used for the constituent estimators differ as depicted in [GGEJ20], Figure 2, with the \(z^1\) and \(z^2\) definitions reflective of the control variate pairings.
In the generalized ACV case ([BLWL22]) available from
the search_model_graphs
specification, three different ACV sampling schemes are supported:
ACVMF (multifidelity), ACVIS (independent sampling), and ACVRD
(recursive difference), where each scheme supports an enumerative
search over admissible DAGs and model subset selections. Each
of these three schemes is also supported in nongeneralized form
for specific DAG definitions, as follows:
ACVMF: peer DAG in
approximate_control_variate
and hierarchical DAG inmultifidelity_sampling
ACVIS: peer DAG in
approximate_control_variate
.ACVRD: hierarchical DAG in
multilevel_sampling
using theweighted
option.
Finally, the ACVKL variant ([GGEJ20]) is not
another sampling scheme, but rather a parametrically defined estimator
that enumerates a relatively small subset of admissible DAGs. It is
available under the
kl_recursion
option, using the approaches described in [BLWL22].
Default Behavior
The approximate_control_variate
method employs a number of important
default settings:
The DAG defining control variate pairings defaults to a “peer” DAG where all approximation nodes point to the root node and the root node identifies the reference “truth” model. This means that every approximation participates in a sample set that is shared with the truth model (the root allocation), and each approximation (each of the nodes connecting to the root) then has its own augmentation to this shared set. For ACVIS and ACVRD, these augmentations are independent. To explore other admissible DAGs,
search_model_graphs
can be used.The default solver is
global_local
, starting with the DIRECT global solver and proceeding to available local solvers (SQP and NIP) in competition. For larger model ensembles, a purely local approach is more scalable.Solution mode will be
online_pilot
, an approach which iterates toward a set of shared samples whose size is consistent with the optimal allocation.Monte Carlo sample sets are used by default and are most consistent with the underlying theory, but this default can be overridden to use Latin hypercube sample sets using
sample_type
lhs
. Allocations remain governed by Monte Carlo variance for all cases.
Expected Output
The approximate_control_variate
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:
Sampling Moments (moments only, not confidence intervals)
In addition, the execution group has the attribute equiv_hf_evals
, which
records the equivalent number of highfidelity evaluations.
Usage Tips
The approximate_control_variate
method must be used in combination
with an ensemble model specification that enumerates a truth model and
a set of model approximations using either a model form sequence, a
discretization level sequence, or a combination of model forms and
discretization levels. For each model form and discretization, each
instance must either provide a solution_level_cost
or return
metadata for estimating cost. For a sequence of discretization
levels, solution_level_control
must identify the variable string
descriptor that controls the resolution levels and the associated
array of relative costs must be provided using
solution_level_cost
. An alternative to prescribing the cost
profile is estimating it on the fly using cost metadata that is
returned from the different simulation instances.
Examples
The following method block:
method,
model_pointer = 'NONHIER'
approximate_control_variate
acv_mf nip
pilot_samples = 20 seed = 1237
max_iterations = 10
convergence_tolerance = .001
specifies ACVMF using the nonlinear interior point (NIP) solver in combination with the model identified by the NONHIER pointer.
This NONHIER model specification provides a onedimensional sequence, here defined by a single truth model and a set of unordered approximation models, each with a single (or default) discretization level:
model,
id_model = 'NONHIER'
surrogate ensemble
truth_model = 'HF'
unordered_model_fidelities = 'LF1' 'LF2'
model,
id_model = 'LF1'
interface_pointer = 'LF1_INT'
simulation
solution_level_cost = 1
model,
id_model = 'LF2'
interface_pointer = 'LF2_INT'
simulation
solution_level_cost = 16
model,
id_model = 'HF'
interface_pointer = 'HF_INT'
simulation
solution_level_cost = 256.
Refer to dakota/test/dakota_uq_diffusion_acv3_cost4
.in and
dakota/test/dakota_uq_tunable_acv
.in within the source distribution
for this case as well as additional examples.
Theory
Refer to [GGEJ20] for more detailed algorithm descriptions, theoretical considerations, and helpful sample set diagrams.
Refer to [BLWL22] for understanding ACV generalizations for the different control variate pairings that are possible when codified into a more comprehensive set of potential DAGs.