$extrastylesheet
Dakota  Version 6.2
Public Member Functions | Private Member Functions | Private Attributes
NonDAdaptImpSampling Class Reference

Class for the Adaptive Importance Sampling methods within DAKOTA. More...

Inheritance diagram for NonDAdaptImpSampling:
NonDSampling NonD Analyzer Iterator

List of all members.

Public Member Functions

 NonDAdaptImpSampling (ProblemDescDB &problem_db, Model &model)
 standard constructor
 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
void derived_init_communicators (ParLevLIter pl_iter)
 derived class contributions to initializing the communicators associated with this Iterator instance
void derived_set_communicators (ParLevLIter pl_iter)
 derived class contributions to setting the communicators associated with this Iterator instance
void derived_free_communicators (ParLevLIter pl_iter)
 derived class contributions to freeing the communicators associated with this Iterator instance
void quantify_uncertainty ()
 performs adaptive importance sampling and computes probability of failure
void print_results (std::ostream &s)
 print the final statistics
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
Real final_probability ()
 returns the final probability calculated by the importance sampling

Private Member Functions

void select_rep_points (const RealVectorArray &var_samples_u, const RealVector &fn_samples)
 select representative points from a set of samples
void converge_statistics (bool cov_flag)
 iteratively generate samples and select representative points until probability and (optionally) coefficient of variation converge
void generate_samples (RealVectorArray &var_samples_u)
 generate a set of samples based on multimodal sampling density
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)
Real distance (const RealVector &a, const RealVector &b)
 compute Euclidean distance between points a and b
Real recentered_density (const RealVector &sample_point)
 compute density between a representative point and a sample point, assuming standard normal

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)
unsigned short importanceSamplingType
 integration type (is, ais, mmais) provided by input specification
bool initLHS
 flag to identify if initial points are generated from an LHS sample
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

Class for the Adaptive Importance Sampling methods within DAKOTA.

The NonDAdaptImpSampling implements the multi-modal adaptive importance sampling used for reliability calculations. (eventually we will want to broaden this). Need to add more detail to this description.


Constructor & Destructor Documentation

NonDAdaptImpSampling ( ProblemDescDB problem_db,
Model model 
)

standard constructor

This is the primary constructor. It accepts a Model reference. It will perform refinement for all response QOI and all probability levels.

References NonD::initialize_random_variables(), Iterator::iteratedModel, NonDSampling::numSamples, NonDAdaptImpSampling::refineSamples, NonDSampling::statsFlag, NonD::transform_model(), NonDAdaptImpSampling::useModelBounds, and NonDAdaptImpSampling::uSpaceModel.

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.


Member Function Documentation

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: