OneCycleRunToFailurePolicy#
- class relife.policy.OneCycleRunToFailurePolicy(lifetime_model, cf, discounting_rate=0.0, a0=None, period_before_discounting=1.0)[source]#
One cyle run-to-failure policy.
Asset is replaced upon failure with cost \(c_f\).
Note
OneCycleRunToFailurePolicydiffers fromRunToFailurePolicybecause only one cycle of replacement is considered.- Parameters:
- lifetime_modelany lifetime distribution or frozen lifetime model
A lifetime model representing the durations between events.
- cffloat or 1darray
Costs of failures
- discounting_ratefloat, default is 0.
The discounting rate value used in the exponential discounting function
- a0float or 1darray, optional
Current ages of the assets, by default 0 for each asset. If it is given, left truncations of
a0will be take into account for the first cycle.
- Attributes:
cfCost of failure.
Methods
The asymtotic expected equivalent annual cost.
The asymtotic expected net present value.
The expected equivalent annual cost.
The expected net present value.
- property a0#
Current ages of the assets.
- Returns:
- np.ndarray
- asymptotic_expected_equivalent_annual_cost(total_sum=False)[source]#
The asymtotic expected equivalent annual cost.
\[\lim_{t\to\infty} q(t)\]- Parameters:
- total_sumbool, default False
If True, returns the total sum over the first axis of the result. If the policy data encodes several assets, this option allows to return the sum result on the flit rather than calling
np.sumafterwards.
- Returns:
- ndarray
The asymptotic expected values.
- asymptotic_expected_net_present_value(total_sum=False)[source]#
The asymtotic expected net present value.
\[\lim_{t\to\infty} z(t)\]- Parameters:
- total_sumbool, default False
If True, returns the total sum over the first axis of the result. If the policy data encodes several assets, this option allows to return the sum result on the flit rather than calling
np.sumafterwards.
- Returns:
- ndarray
The asymptotic expected values.
- property cf#
Cost of failure.
- Returns:
- np.ndarray
- expected_equivalent_annual_cost(tf, nb_steps, total_sum=False)[source]#
The expected equivalent annual cost.
\[q(t) = \dfrac{\delta z(t)}{1 - e^{-\delta t}}\]where :
\(t\) is the time.
\(z(t)\) is the expected net present value at time \(t\).
\(\delta\) is the discounting rate.
- Parameters:
- tffloat
The final time.
- nb_stepsint
The number of steps used to discretized the time.
- total_sumbool, default False
If True, returns the total sum over the first axis of the result. If the policy data encodes several assets, this option allows to return the sum result on the flit rather than calling
np.sumafterwards.
- Returns:
- tuple of two ndarrays
A tuple containing the timeline and the computed values.
- expected_net_present_value(tf, nb_steps, total_sum=False)[source]#
The expected net present value.
\[z(t) = \mathbb{E}(Z_t) = \int_{0}^{\infty}\mathbb{E}(Z_t~|~X_1 = x)dF(x)\]where :
\(t\) is the time
\(X_1 \sim F\) is the random lifetime of the first asset
\(Z_t\) are the random costs at each time \(t\)
\(\delta\) is the discounting rate
It is computed by solving the renewal equation.
- Parameters:
- tffloat
The final time.
- nb_stepsint
The number of steps used to discretized the time.
- total_sumbool, default False
If True, returns the total sum over the first axis of the result. If the policy data encodes several assets, this option allows to return the sum result on the flit rather than calling
np.sumafterwards.
- Returns:
- tuple of two ndarrays
A tuple containing the timeline and the computed values.