Subset Simulation Method
Overview
The Subset Simulation method (SSM) is a robust simulation technique that transforms a rare event into a sequence of multiple intermediate failure events with larger probabilities and efficiently approximates the probability of the mentioned rare event. That is, the failure event $\Omega_{f} = \{\vec{X}: g(\vec{X}) \leq 0\}$ is expressed as a union of $M$ nested intermediate events $\Omega_{f_{1}}$, $\dots$, $\Omega_{f_{M}}$, such that $\Omega_{f_{M}} \subset \dots \subset \Omega_{f_{1}}$ and $\Omega_{f} = \cap_{i = 1}^{M} \Omega_{f_{i}}$. The intermediate failure events are defined as $\Omega_{f_{i}} = \{\vec{X}: g(\vec{X}) \leq b_{i}\}$, where $b_{1} > \dots > b_{M} = 0$ are non-negative thresholds selected such that each conditional probability $P(\Omega_{f_{i + 1}} | \Omega_{f_{i}})$ equals a target conditional probability $P_{0}$.
\[P_{f} = P(\Omega_{f}) = P(\cap_{i = 1}^{M} \Omega_{f_{i}}) = P(\Omega_{f_{1}}) \prod_{i = 1}^{M - 1} P(\Omega_{f_{i + 1}} | \Omega_{f_{i}})\]
The threshold for the first failure event $b_{1}$ is computed using the Monte Carlo simulations. The thresholds for the following intermediate failure events $b_{i}$ are computed using the Monte Carlo Markov Chain samples generated from the conditional probability density functions $f_{\vec{X}}(\vec{x} | \Omega_{f_{i}})$.
Current implementation of the SSM follows Au and Beck (2001).
API
Fortuna.solve
— Methodsolve(Problem::ReliabilityProblem, AnalysisMethod::SSM)
Function used to solve reliability problems using Subset Simulation Method (SSM).
Fortuna.SSM
— TypeSSM <: AbstractReliabililyAnalysisMethod
Type used to perform reliability analysis using Subset Simulation Method (SSM).
P₀::Real
: Probability of failure for each subset $P_{0}$NumSamples::Integer
: Number of samples generated within each subset $N$MaxNumSubsets::Integer
: Maximum number of subsets $M$
Fortuna.SSMCache
— TypeSSMCache
Type used to perform reliability analysis using Subset Simulation Method (SSM).
XSamplesSubset::Vector{Matrix{Float64}}
: Samples generated within each subset in $X$-spaceUSamplesSubset::Vector{Matrix{Float64}}
: Samples generated within each subset in $U$-spaceCSubset::Vector{Float64}
: Threshold for each subset $C_{i}$PoFSubset::Vector{Float64}
: Probability of failure for each subset $P_{f_{i}}$PoF::Float64
: Probability of failure $P_{f}$Convergance::Bool
: Convergance status