Repository navigation
RepairableRBD: reliability and mean time to the first system failure - #372
Merged
Merged
Conversation
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019Km2eWBiPJ5JNkme3vRg4B
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019Km2eWBiPJ5JNkme3vRg4B
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds
RepairableRBD.first_failure_sf(x, state=None, method='exact')andmean_time_to_first_failure(state=None, method='exact', ...).In plain terms: the chance the system runs to
twithout any failure, and the mean wait for the first one. For a redundant system, repairs that finish while the partner carries on make this longer than the non-repairable diagram's reliability; for a series system they agree.Exact where the model allows: series structures (product of each component's survival from its state, any lives) and exponential lives/repairs with any repair crews (Markov chain with system-down states absorbing; uniformization for R(t), one linear solve for the mean). Everything else refuses with a reason, and
method='simulate'estimates fromsimulate_timelinesfirst failures. Standby groups, common-cause groups, scheduled maintenance, tests and nested diagrams are not covered exactly.Checked against the closed form
(3 lam + mu)/(2 lam^2), hand-built birth-death and a five-unit cross-linked chain exponentiated with scipyexpm,NonRepairableRBD(series of Weibulls, with ages), and seeded simulations. Routes, capability matrix, guide and changelog updated.🤖 Generated with Claude Code
https://claude.ai/code/session_019Km2eWBiPJ5JNkme3vRg4B