MultiFORM

class MultiFORM(*args)

FORM approximation with multiple design points.

This algorithm searches for several design points by restarting the nearest-point search. For each design point we add a bulge function that penalizes the limit-state G around it:

G_m(u) = G(u) + \sum_{i=1}^m B_i(u)

The bulge function can be chosed as:

B_i(u) = s_i (r_i^2 - \|u - u_i^{\ast}\|^2)^2

Once these points are found a FORM is computed with each point and the probability of interest is computed as a series system probability: the union of the approximated events:

P(E_{sys}) = P(\bigcup_{i=1}^N E_i) = 1 - \Phi_k (\vect{\beta}; \vect{\vect{\rho}})

Beware, as with the regular FORM method the search can fail, or the enumeration of design can be not incomplete.

More details can be found in [kiureghian1998].

Parameters:
solverOptimizationAlgorithm

Optimization algorithm used to search the design point.

eventRandomVector

Failure event

physicalStartingPointsequence of float

Starting point of the optimization algorithm, declared in the physical space.

See also

FORM, MultiFORMResult

Examples

>>> import openturns as ot
>>> dim = 2
>>> f = ot.SymbolicFunction(['x0', 'x1'], ['5.0-x1-0.5*(x0-0.1)^2'])
>>> dist = ot.Normal(dim)
>>> X = ot.RandomVector(dist)
>>> Y = ot.CompositeRandomVector(f, X)
>>> event = ot.ThresholdEvent(Y, ot.Less(), 0.0)
>>> solver = ot.Cobyla()
>>> starting_pt = dist.getMean()
>>> algo = ot.MultiFORM(solver, event, starting_pt)
>>> algo.run()
>>> result = algo.getResult()
>>> n_design_pts = len(result.getFORMResultCollection())
>>> pf = result.getEventProbability()

Methods

getAnalyticalResult()

Accessor to the result.

getClassName()

Accessor to the object's name.

getEvent()

Accessor to the event of which the probability is calculated.

getMaximumDesignPointsNumber()

Accessor to the maximum number of design points.

getName()

Accessor to the object's name.

getNearestPointAlgorithm()

Accessor to the optimization algorithm used to find the design point.

getPhysicalStartingPoint()

Accessor to the starting point of the optimization algorithm.

getResult()

Accessor to the result.

hasName()

Test if the object is named.

run()

Evaluate the failure probability.

setEvent(event)

Accessor to the event of which the probability is calculated.

setMaximumDesignPointsNumber(...)

Accessor to the maximum number of design points.

setName(name)

Accessor to the object's name.

setNearestPointAlgorithm(solver)

Accessor to the optimization algorithm used to find the design point.

setPhysicalStartingPoint(physicalStartingPoint)

Accessor to the starting point of the optimization algorithm.

setResult(formResult)

Accessor to the result of FORM.

__init__(*args)
getAnalyticalResult()

Accessor to the result.

Returns:
resultAnalyticalResult

Result structure which contains the results of the optimisation problem.

getClassName()

Accessor to the object’s name.

Returns:
class_namestr

The object class name (object.__class__.__name__).

getEvent()

Accessor to the event of which the probability is calculated.

Returns:
eventRandomVector

Event of which the probability is calculated.

getMaximumDesignPointsNumber()

Accessor to the maximum number of design points.

Returns:
max_dpint

Maximum number of design points

getName()

Accessor to the object’s name.

Returns:
namestr

The name of the object.

getNearestPointAlgorithm()

Accessor to the optimization algorithm used to find the design point.

Returns:
algorithmOptimizationAlgorithm

Optimization algorithm used to research the design point.

getPhysicalStartingPoint()

Accessor to the starting point of the optimization algorithm.

Returns:
pointPoint

Starting point of the optimization algorithm, declared in the physical space.

getResult()

Accessor to the result.

Returns:
resultMultiFORMResult

Contains the global result as well as the sub FORM results.

hasName()

Test if the object is named.

Returns:
hasNamebool

True if the name is not empty.

run()

Evaluate the failure probability.

Notes

Evaluate the failure probability and create a FORMResult, the structure result which is accessible with the method getResult().

setEvent(event)

Accessor to the event of which the probability is calculated.

Parameters:
eventRandomVector

Event of which the probability is calculated.

setMaximumDesignPointsNumber(numberOfDesignPoints)

Accessor to the maximum number of design points.

Parameters:
max_dpint

Maximum number of design points

setName(name)

Accessor to the object’s name.

Parameters:
namestr

The name of the object.

setNearestPointAlgorithm(solver)

Accessor to the optimization algorithm used to find the design point.

Parameters:
algorithmOptimizationAlgorithm

Optimization algorithm used to research the design point.

setPhysicalStartingPoint(physicalStartingPoint)

Accessor to the starting point of the optimization algorithm.

Parameters:
pointsequence of float

Starting point of the optimization algorithm, declared in the physical space.

setResult(formResult)

Accessor to the result of FORM.

Parameters:
resultFORMResult

Structure containing all the results of the FORM analysis.

Examples using the class

Use the FORM algorithm in case of several design points

Use the FORM algorithm in case of several design points