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 (Model &model)
 constructors
 NonDAdaptImpSampling (Model &model, const String &sample_type, int samples, int seed, const String &rng, short is_type, bool cdf_flag, bool x_space_data, bool x_space_model, bool bounded_model)
 ~NonDAdaptImpSampling ()
 destructor
void quantify_uncertainty ()
 performs an adaptive importance sampling and returns probability of failure.
void initialize (const RealVectorArray &initial_points, int resp_fn, const Real &initial_prob, const 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 &initial_point, int resp_fn, const Real &initial_prob, const 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
const Real & get_probability ()
 returns the probability calculated by the importance sampling

Private Member Functions

void converge_cov ()
 iteratively generate samples and select representative points until coefficient of variation converges
void converge_probability ()
 iteratively generate samples from final set of representative points until probability converges
void select_init_rep_points (const RealVectorArray &samples)
 select representative points from initial set of samples
void select_rep_points (const RealVectorArray &samples)
 select representative points from a set of samples
void calculate_rep_weights ()
 calculate relative weights of representative points
void generate_samples (RealVectorArray &samples)
 generate a set of samples based on multimodal sampling density
void calculate_statistics (const RealVectorArray &samples, const size_t &total_sample_number, Real &probability_sum, Real &probability, bool cov_flag, Real &variance_sum, Real &coeff_of_variation)
 calculate the probability of exceeding the failure threshold and the coefficent of variation (if requested)

Private Attributes

short importanceSamplingType
 integration type (is, ais, mmais) provided by input specification
bool invertProb
 flag for inversion of probability values using 1.-p
size_t numRepPoints
 the number of representative points around which to sample
size_t respFn
 the response function in the model to be sampled
RealVectorArray initPoints
 the original set of samples passed into the MMAIS routine
RealVectorArray repPoints
 the set of representative points around which to sample
RealVector repWeights
 the weight associated with each representative point
RealVector designPoint
 design point at which uncertain space is being sampled
bool transInitPoints
 flag to control if x->u transformation should be performed for initial points
bool transPoints
 flag to control if u->x transformation should be performed before evaluation
bool useModelBounds
 flag to control if the sampler should respect the model bounds
bool initLHS
 flag to identify if initial points are generated from an LHS sample
Real initProb
 the initial probability (from FORM or SORM)
Real finalProb
 the final calculated probability (p)
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

constructors

standard constructor

This is the primary constructor. It accepts a Model reference.

References NonD::initialize_random_variables(), and NonDSampling::samplingVarsMode.

NonDAdaptImpSampling ( Model model,
const String sample_type,
int  samples,
int  seed,
const String rng,
short  is_type,
bool  cdf_flag,
bool  x_space_data,
bool  x_space_model,
bool  bounded_model 
)

This is an alternate constructor for instantiations on the fly using a Model but no ProblemDescDB.

References NonD::cdfFlag, and NonDSampling::samplingVarsMode.


Member Function Documentation

void initialize ( const RealVectorArray &  initial_points,
int  resp_fn,
const Real &  initial_prob,
const 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 set of starting points.

References NonDAdaptImpSampling::designPoint, NonDAdaptImpSampling::failThresh, NonDAdaptImpSampling::initPoints, NonDAdaptImpSampling::initProb, NonD::natafTransform, NonD::numContDesVars, Iterator::numContinuousVars, NonD::numUncertainVars, NonDAdaptImpSampling::respFn, and NonDAdaptImpSampling::transInitPoints.

Referenced by NonDExpansion::compute_statistics(), NonDGlobalReliability::importance_sampling(), NonDLocalReliability::probability(), and NonDAdaptImpSampling::quantify_uncertainty().

void initialize ( const RealVector &  initial_point,
int  resp_fn,
const Real &  initial_prob,
const 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::initPoints, NonDAdaptImpSampling::initProb, NonD::natafTransform, NonD::numContDesVars, Iterator::numContinuousVars, NonD::numUncertainVars, NonDAdaptImpSampling::respFn, and NonDAdaptImpSampling::transInitPoints.


The documentation for this class was generated from the following files: