py_reliability_adaptive

Classes

ReliabilityAdaptiveSampling

Inherits from: ReliabilityBase

Adaptive sampling implements importance sampling using multiple adaptation steps. The first step scales all designs by an initial blow up factor in standard-normal space. The objective of the scaling is to obtain a reasonable number of samples in the failure domain during the 1st step. Hence, the blow up factor should be chosen according to the failure probability pf the problem. While generating the samples one ignores samples which are further away than max_allowed_sigma_ from the origin in standard normal space. The reason is that importance weights become inaccurate for samples being that far away.
After sampling the user-defined number of samples in a single step, the median and covariance matrix of the sampling density function of the next step will be determined according to the statistics of the samples lying in the failure domain. A modified eigenvalue decomposition of the covariance matrix ensures positive definiteness. Furthermore, if the C.O.V. of Pf is relatively large, the covariance matrix is scaled such that it is closer to the identity matrix.
The user defines the number of steps and the number of samples per step. If any of the solver calls fails, the corresponding sample is either ignored or (if one tells the algorithm to interpret the failed run as a failure event) is accounted to the failure domain.

SettingsAdaptiveSampling

Inherits from: SettingsBase

Reliability algorithm settings for Adaptive Sampling.

Properties

  • (float) accuracy
  • (bool) automatic_sample_size
  • (float) initial_scale_factor
  • (int) num_designs_per_sample
  • () num_estimated_function_calls
  • () num_inputs
  • () num_safety_margins
  • (int) num_steps
  • (int) num_total_samples_per_step
  • () rand_generator_seed
  • () rvset
  • (bool) use_standard_density
  • () write_histories