Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

K ormore calculates failure probability wrong #1976

Closed
reteprelief opened this issue Aug 30, 2019 · 9 comments
Closed

K ormore calculates failure probability wrong #1976

reteprelief opened this issue Aug 30, 2019 · 9 comments
Assignees
Milestone

Comments

@reteprelief
Copy link
Contributor

@reteprelief reteprelief commented Aug 30, 2019

Use the test case issue1837 and change the failure probability of a node to 0.2.
For the case 2 ormore we should get .104:
1 - Rs with Rs = 2RR - 2 * RRR with R = 1 - 0.2

However, I get a negative number (-0.41)

@lwrage lwrage added this to the 2.6.1 milestone Aug 30, 2019
@lwrage lwrage removed this from the 2.6.1 milestone Aug 30, 2019
@lwrage lwrage added this to the 2.6.0 milestone Aug 30, 2019
@reteprelief
Copy link
Contributor Author

@reteprelief reteprelief commented Aug 30, 2019

I used info from the following links for the formula above.
http://reliawiki.org/index.php/Fault_Tree_Diagrams_and_System_Analysis voting or gate

http://reliawiki.org/index.php/RBDs_and_Analytical_System_Reliability k-out-of-n Parallel Configuration

@jjhugues
Copy link
Contributor

@jjhugues jjhugues commented Aug 30, 2019

Peter, agreed about the negative value, an oversight when reorganizing the additions in the final computation. Patch is ready

But the value you get is for 2 out of 3.
2 or more out of 3 should be ( (2 out of 3) or (3 out of 3), hence 0.112 = 0.104 + 0.2^3

@jjhugues
Copy link
Contributor

@jjhugues jjhugues commented Aug 30, 2019

Oh, I may have interpreted that to strictly. @reteprelief can you please confirm?

@reteprelief
Copy link
Contributor Author

@reteprelief reteprelief commented Sep 3, 2019

Jerome,
the voting OR gate section of http://reliawiki.org/index.php/Fault_Tree_Diagrams_and_System_Analysis states that "In a Voting OR gate, the output event occurs if or more of the input events occur. "

http://reliawiki.org/index.php/RBDs_and_Analytical_System_Reliability is a little confusing as it calls the logic k-out-of-n and presents it as success logic. The text states "This type of configuration requires that at least components succeed out of the total parallel components for the system to succeed."
The fail logic would be 1 - Psuccess. I interpreted this as n-k ormore failures.

@reteprelief
Copy link
Contributor Author

@reteprelief reteprelief commented Sep 3, 2019

The formula for 2 ormore of 3 failure would be P1P2(1-P3) + P1*(1-P2)P3 + (1-P1)P2P3 + P1P2P3 which leads to P1P2 + P2P3 + P1P3 - 2P1P2P3. For all components with the same P it would be 3PP - 2PPP where P is the failure rate.

@reteprelief
Copy link
Contributor Author

@reteprelief reteprelief commented Sep 3, 2019

Just noticed the multiply symbol is interpreted as Italic on/off :-) Only one actually shows.

@reteprelief
Copy link
Contributor Author

@reteprelief reteprelief commented Sep 3, 2019

Jerome,
when I assign different values to the three Modules in you test case I still do not get the right numbers.
When they are the same the numbers are ok.
Example:
in TMR_Archetype.impl EMV2 annex
properties
emv2::OccurrenceDistribution => [ProbabilityValue => 0.1; ] applies to ^Module_1@Failure;
emv2::OccurrenceDistribution => [ProbabilityValue => 0.2; ] applies to ^Module_2@Failure;
emv2::OccurrenceDistribution => [ProbabilityValue => 0.3; ] applies to ^Module_3@Failure;

The result should be .098 but is .064
From http://reliawiki.org/index.php/RBDs_and_Analytical_System_Reliability:
Hardware drive example:
The reliability of HD #1 is 0.9, HD #2 is 0.88 and HD #3 is 0.85, all at the same mission time. (Failure rates 0.1, 0.12, 0.15). The result should be 0.0414 but is 0.03376

@jjhugues
Copy link
Contributor

@jjhugues jjhugues commented Sep 4, 2019

Translating old BASIC stuff remembered me I had to double check indexes. This should now be settled. Thanks for your reviews @reteprelief

@lwrage
Copy link
Contributor

@lwrage lwrage commented Sep 4, 2019

Fixed via PR #1982

@lwrage lwrage closed this Sep 4, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
3 participants