OneCycleAgeReplacementPolicy#
- class relife.policy.OneCycleAgeReplacementPolicy(lifetime_model, cf, cp, discounting_rate=0.0, period_before_discounting=1.0, a0=None, ar=None)[source]#
One-cyle age replacement policy.
The asset is disposed at a fixed age \(a_r\) with costs \(c_p\) or upon failure with costs \(c_f\) if earlier.
- Parameters:
- lifetime_modelany lifetime distribution or frozen lifetime model
A lifetime model representing the durations between events.
- cffloat or 1darray
Costs of failures
- cpfloat or 1darray
Costs of preventive replacements
- discounting_ratefloat, default is 0.
The discounting rate value used in the exponential discounting function
- a0float or 1darray, optional
Current ages of the assets. If it is given, left truncations of
a0
will be take into account for the first cycle.- arfloat or 1darray, optional
Ages of preventive replacements, by default None. If not given, one must call
optimize
to setar
values and access to the rest of the object interface.
- Attributes:
References
[1]Coolen-Schrijner, P., & Coolen, F. P. A. (2006). On optimality criteria for age replacement. Proceedings of the Institution of Mechanical Engineers, Part O: Journal of Risk and Reliability, 220(1), 21-29
Methods
Calculate the asymptotic expected equivalent annual cost.
Calculate the asymptotic expected total cost.
Calculate the expected equivalent annual cost over a given timeline.
Calculate the expected total cost over a given timeline.
Computes the optimal age(s) of replacement and updates the internal
ar
value(s) and, optionallyar1
.- property ar#
Ages of the preventive replacements
- Returns:
- ndarray
- asymptotic_expected_equivalent_annual_cost()[source]#
Calculate the asymptotic expected equivalent annual cost.
It takes into account
discounting_rate
attribute value.The asymptotic expected total cost is:
\[\lim_{t\to\infty} \text{EEAC}(t)\]where \(\text{EEAC}(t)\) is the expected equivalent annual cost at \(t\). See
expected_equivalent_annual_cost()
for more details.- Returns:
- np.ndarray
The asymptotic expected equivalent annual cost.
Warning
This method requires the
ar
attribute to be set either at initialization or with theoptimize
method.
- asymptotic_expected_total_cost()[source]#
Calculate the asymptotic expected total cost.
It takes into account
discounting_rate
attribute value.The asymptotic expected total cost is:
\[\lim_{t\to\infty} z(t)\]where \(z(t)\) is the expected total cost at \(t\). See
expected_total_cost()
for more details.- Returns:
- np.ndarray
The asymptotic expected total cost.
Warning
This method requires the
ar
attribute to be set either at initialization or with theoptimize
method.
- property cf#
Cost of failures
- Returns:
- ndarray
- property cp#
Cost of preventive replacements
- Returns:
- ndarray
- expected_equivalent_annual_cost(tf, nb_steps)[source]#
Calculate the expected equivalent annual cost over a given timeline.
It takes into account
discounting_rate
attribute value.The expected equivalent annual cost \(\text{EEAC}(t)\) is given by:
\[\text{EEAC}(t) = \dfrac{\delta z(t)}{1 - e^{-\delta t}}\]where :
\(t\) is the time
\(z(t)\) is the expected_total_cost at \(t\). See
expected_total_cost()
for more details.`.\(\delta\) is the discounting rate.
- Parameters:
- timeline: np.ndarray
Values of the timeline over which the expected equivalent annual cost is to be calculated.
- Returns:
- np.ndarray
The expected equivalent annual cost.
Warning
This method requires the
ar
attribute to be set either at initialization or with theoptimize
method.
- expected_total_cost(tf, nb_steps)[source]#
Calculate the expected total cost over a given timeline.
It takes into account
discounting_rate
attribute value.The expected total cost \(z(t)\) is computed by solving the renewal equation and is given by:
\[z(t) = \mathbb{E}(Z_t) = \int_{0}^{\infty}\mathbb{E}(Z_t~|~X_1 = x)dF(x)\]where :
\(t\) is the time
\(X_i \sim F\) are \(n\) random variable lifetimes, i.i.d., of cumulative distribution \(F\).
\(Z_t\) is the random variable reward at each time \(t\).
\(\delta\) is the discounting rate.
- Parameters:
- timeline: np.ndarray
Values of the timeline over which the expected total cost is to be calculated.
- Returns:
- np.ndarray
The expected total cost.
Warning
This method requires the
ar
attribute to be set either at initialization or with theoptimize
method.
- optimize()[source]#
Computes the optimal age(s) of replacement and updates the internal
ar
value(s) and, optionallyar1
.- Returns:
- Self
Same instance with optimized
ar
(optionnalyar1
).
- property tr#
Time before the replacement
- Returns:
- ndarray