Probability of failure <(10-4) with AK-MCS and PCK metamodel

Hi everyone,

I have some questions about the application of AK-MCS with PCK metamodel for calculating the probability of failure of a structural system.

I am interested in the calculation of small probability of failure. I tested a simple example and I compared the results coming from AK-MCS (PCK metamodel) with results from crude Monte Carlo analysis. For Pf more or less of 10-4 everything worked well and the analysis returned a good approximation of Pf with a good CV ( I used the convergence criteria based on Pf).

Then I changed the input to test a smaller Pf but then AK-MCS (always with PCK metamodeling) stopped because some tolerances were satisfied. The message was the following:

Optimization completed because the objective function is non-decreasing in 
feasible directions, to within the value of the optimality tolerance,
and constraints are satisfied to within the value of the constraint tolerance.

<stopping criteria details>

Clicking on the following message will appear:

Optimization completed: The relative first-order optimality measure, 6.220469e-05, is less than options.OptimalityTolerance = 1.000000e-04, and the relative maximum constraint violation, 0.000000e+00, is less than options.ConstraintTolerance = 1.000000e-06.

I do have some questions:

  1. Is it possible to change this tolerance criteria to make the analysis stop when the convergence criteria of Pf is satisfied?

  2. What is exactly this tolerance criteria telling me?

  3. What are other methods that would be suitable to estimate really small probability of failure?

Thank you for the support!


Hi @DorotC ,

I think the message you are receiving is not related to the convergence of AK-MCS itself. No optimization is properly carried out within AK-MCS. The only possibility I see is that the message relates to the convergence for the calibration of the Kriging model. It is however not clear why you see that message only when you decrease the P_f. Did you may be set the .Display to 'verbose' at some point after your first analysis?

  1. By default the convergence is based on the U function (\min U > 2), which is actually quite conservative already. You can modify this criterion using the option .AKMCS.Convergence

  2. I think this tolerance is rather related to the calibration of the metamodel and is not relevant for the reliability problem itself.

  3. For very small failure probabilities, I would recommend changing the reliability estimation algorithm. I would suggest trying subset simulation (or importance samplig). I assumed you were using the AK-MCS method from the reliability method. You can try the “active learning reliability” method by setting .Method = 'ALR'. This method extends AK-MCS and you can combine other surrogate models and reliability estimation algorithms. You can start by the default setting which combines PC-Kriging and subset simulation.

You can find more information about the active learning reliability module in the manual or in the examples 1 or 2.


Hi @moustapha ,thanks for the reply.

To answer your questions:

  1. I have selected “verbose” to understand why the analysis stopped so early. I am not getting that message for higher probability of failure.

  2. Yes, I tried to set the convergence using different criteria however the simulation stops before, because of the tolerance of the optimization problem, that as you just said, it is related to the convergence for the calibration of the Kriging model.

  3. I already changed the reliability method and I used what you just said, Active learning reliability and it is working really well for small probability of failure (<10^(-4)).