SlideShare a Scribd company logo
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 1
A Recursive Monte Carlo Simulation
Algorithm for Complex k-out-of-n Systems
Alexander Cave
Abstract
Reported methods for the Monte Carlo Simulation (MCS) and analysis of Reliability Block
Diagrams (RBDs) require the generation of tie/cut sets to map the system state vector to the system
response i.e. the availability of the system. Recent advancements are capable of generating tie/cut sets
for general k-out-of-n systems, however with the limitation of factorial growth in the number of sets
required for representation of the system response. This results in non-linear growth in the processing
and memory requirements. An alternative approach called the Sampled Path Set Algorithm (SPSA) is
presented here which recursively searches a graph representation of the RDB structure for a tie set that
is dependent on the system state vector. This search is performed once for each iteration of the MCS
and this approach has the advantage that growth in processing time and memory requirements is linear
with increased system complexity. An empirical approach is used to demonstrate the practicality of the
method and highlights the limitations of existing technologies. It is demonstrated that complex RBDs
with general k-out-of-n structures can be modelled using the SPSA. This enables the MCS of large
complex systems such as naval platforms having general Time To Repair (TTR) and Time To Failure
(TTF) distributions.
Index Terms
Reliability Modelling, Monte Carlo Simulation, Sampled Path Set
I. INTRODUCTION
Modern systems are becoming increasingly complex, expensive to manage and maintain and
often there is a penalty associated with the non-delivery of services due to unavailability of
equipment. Modelling the effects of design alternatives [1], sparing policy [2] and mainte-
nance [3] on the reliability of major systems has potential to improve performance and yield
significant cost savings. Modelling reliability and availability has received significant attention
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 2
in the literature due to its importance to various kinds of systems. Studies have been applied
to many areas of engineering endeavour including; space platforms [2], defence application [4],
product design [1], electrical generation [5] oil/gas production [6], telecommunications [7], etc.
reliability plays an important role in modern society. With increased cost of ownership, market
pressures to reduce cost of production and customer expectations of high levels of service.
This work was motivated by the requirement to model naval platforms for the Royal Australian
Navy (RAN) with the objective of reducing life-cycle costs. However, the requirements are
common to many fields of engineering application. Important features of the modelling included,
general Time To Tailure (TTF) and Time To Repair (TTR) distributions, general k-out-of-n
structures, maintenance, multiple systems and capabilities that are interdependent and large
numbers, > 30, 000, of individual components within the Reliability Block Diagram (RDB)
structure. These features challenge existing methodologies as the complexity of the systems
make representation using canonical RBDs [8] difficult due to the presence of multiple k-out-
of-n vertexes, and the generation of cut/tie sets is not practical due to the scale of the systems.
There was no clear method to calculate the temporal reliability of such systems. This need is
addressed through a new method called the Sampled Path Set Algorithm (SPSA) that is used
at the core of a new simulation engine. This engine is part of a larger software package under
development called the Predictive Materiel Availability and Sustainability Tool (PMAST) for the
RAN.
The SPSA uses recursion on a graph G(V, E, k) representation of the RBD to determine
the system response Φ(X) to system state vector X that defines the availability of the edges.
The RBD representation is converted to a graph where the vertexes (V ) are completely reliable
and may be of k-out-of-n type where k is the number of inputs required to produce an output.
The edges (E) have unlimited flow and fail in accordance with the system state vector that is
generated through sampling of the TTF and TTR distributions. A sample of the system responses
is generated through simulation replication and used to determine the point availability of the
system and subsequent points form trajectory though time. The method used to generate the
trajectories of the system state vector X is not required for description of the SPSA. Instead, X
will be generated using Bernoulli trials as would be the case for using crude MCS to evaluate
the reliability of an RBD where the reliability of the components are known with complete
certainty. A limitation of the SPSA when used in this way is the precision associated with the
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 3
crude MCS method that is used to determine the system reliability. Each simulation replication
is an individual in a sample population and a Confidence Interval (CI) is formed using the
Binomial distribution. The Binomial distribution has the property of asymptotic convergence of
the CI with increasing number of simulation replications. It is an advantage that the convergent
properties are independent of the number of components within the system. However, there is the
problematic convergent property of the Binomial distribution that results in greatly diminishing
returns of performing more than 2 × 103
replications. If the impractical assumption is made that
the component reliabilities are known with complete certainty this results in the limitation that
the precision of the estimations of reliability using SPSA is limited to 2 decimal places. If highly
accurate component reliabilities are known then variance reduction techniques [9] [10] could
be applied to increase the precision of the crude MCS approach. In practical modelling for the
RAN, component reliabilities are not known with a high degree of certainty and the TTF and
TTR as well as logistic delays render the possibility of calculating such point reliabilities highly
impractical. Instead an approximate measure of availability at a fixed time step is calculated
using system state vectors generated though replication, and SPSA is used to determine the
system responses to these vectors. The simulation is repeated with the same initial conditions
and various system state trajectories determined at the fixed time steps. There are alternatives
to fixed time stepping, discrete event simulations use an event list and Kim and Lee provide
examples [11] that may warrant further investigation. The trajectories form the populations of
system responses at the time steps and the Binomial distribution can be applied to determine
the point availability and associated CI.
A literature review is presented Section II on methods used to model RDBs. The SPSA is
described in Section III and applied to a trivial example in Section IV. The computational results
are reported in Section V. An example problem that could not be solved using cut/tie sets within
the computational resources is given in Section VI. The conclusions and future recommendations
are presented in Section VII.
II. LITERATURE REVIEW
The analysis of systems modelled as RBDs can be performed using simulation or analytic
methods. Analytic methods have the advantage that they produce exact measures and are
exploited by software such as BlockSim c by ReliaSoft, and CARE c by BQR Engineering.
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 4
Analytic methods use RBD decomposition methods [8] or tie/cut sets. Using the analytic
approach the RBD is limited in structure, also TTR and TTF distributions cannot be of general
form [13]. Wang and Pham [14] reviewed technologies for the measurement of reliability
for complex networks and sampling methods for performance measures. They concured with
Dubi [13] that MCS was the only practical technique to find statistical confidence bounds for
systems with general failure and repair distributions. Wang and Pham [14] reported that MCS
of RBDs can be performed using either recursive methods or as was more commonly reported,
through the generation or tie/cut sets. Other less commonly reported methods for modelling
availability/reliability include the use of: systems dynamics [5], Petri nets [15] and general
purpose simulation languages such as SLAM c [16]. A common aspect of these alternative
methods was that RBDs were not included in the modelling of the system reliability/availability
and were generally more appropriate for the modelling of logistics and sparing policy. Gonzalez-
Vega et al. [17] introduced a simulation engine for RBDs with logistical constraints. They
criticized the use of general purpose simulation languages for RDB modelling as time consuming,
restrictive and lacking in adequate reporting mechanisms. The engine that they developed in
Pascal used cut sets to evaluate the system response function.
The MCS of reliability networks using graphs and tie/cut sets has been researched for at least
three decades with early papers by Kamat and Riley [18] and later by Kamat and Franzmeier [19].
This early work left an open question as to how to generate the cut/tie sets. The generation of
sets has been addressed by Magee and Refsum [20] as an early example. They used recursion to
locate the tie/cut sets for a reliability network that can have multiple input and output vertexes.
Their method works directly on the structure of the graph (without decomposition) and k-
out-of-n systems were not considered. Lin and Donaghey [21] followed the work of Magee
and Refsum [20] and described a MCS engine that was developed to evaluate non-repairable
RBD systems. Their method used tie sets and sampled probability distributions to perform the
simulation. A stochastic algorithm was used to determine the tie sets and the method did not
guarantee that the sets would be complete. They investigated small scale systems and highlighted
that tie sets can be used to attribute failure modes to paths and facilitate criticality analysis. There
were papers that investigated the problem of locating tie/cut sets for network connectivity that
were closely related to the RBD problem Yeh [22] [23] and Tan [24] provided numerous citations.
Rocco and Zio [7] and Rocco and Moreno [25] provided recent examples of the use recursive
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 5
algorithms for network connectivity. They used a cellular automata method that can be used
in parallel where edges with limited capacity where subject to failure and could have a cost
associated with the use of a particular edge. Their work has application to communications’
networks in particular network flow problems. However, they did not consider k-out-of-n
networks that can be typical for mechanical and electrical systems. Suh et al. [10] introduced a
MCS algorithm called COMICS. This algorithm recursively searched for a tie set given a known
system state. When an active tie set was located the system was available for that time instant.
Their method did not examine k-out-of-n systems. The advantage of their algorithm was that all
cut sets did not need to be defined prior to simulation. Numerous papers on variance reduction
methods cite the use of recursive algorithms to determine the system response but do not provide
details on how this can be achieved, for example [26] [27]. Variance reduction methods are
applicable to MCS of RBDs and could be used in conjunction with the SPSA.
This paper focuses on graphs where each component or edge in the graph is restricted to one
of either two states working or failed, and the vertexes in the graphs are perfectly reliable. A
path from the s to the t vertex is required for the system to be available and the capacity of the
edges is not limited. The graphs also have the k-out-of-n vertexes present. The problem of the
location of tie/cut sets for s − t networks that include k-out-of-n vertexes was first addressed by
Tan [24] and later algorithms by Yeh [22] [23] were considered to be more efficient. The location
of cut/tie sets for these graphs was a NP-complete problem, resulting in at worst factorial growth
in the number of sets with increased numbers of edges or components within the RDB. This
problem has been addressed in this paper using the SPSA. To the best of the author’s knowledge,
no other algorithm of this type has been reported by others.
III. SAMPLED PATH SET ALGORITHM
In general, it is very difficult to find all minimum tie/cut sets for a large and complex network.
However, it is feasible to determine if there is a sampled path from the source s to the terminal
t vertex given an input state vector which will resolve if the network is conditionally coherent.
Consider the s−t connectedness network in which the vertexes are perfectly reliable and each of
the m edges are subject to failure independently of others. Let us define an independent random
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 6
variable for the edges i(i = 1, ..., m) as
Xi =
1, if edge i is available (1)
0, otherwise
The failure probability of qi of edge i is, therefore expressed by the function qi = Pr{Xi = 1}.
Suppose that the system response function Φ exists such that
Φ(X)
1, if the network is connected conditional on X
0, otherwise,
where the vector X = (X1, ..., Xm) is the system state vector. The aim of the MCS is to
estimate the system reliability R = Pr{Φ(X) = 1} and the SPSA the determines Φ(X) and is
dependent on the RBD structure.
A. Notation and Definitions
G(V, E, k) a k-out-of-n (connected) flow network with the vertex set V = s, t, 1, 2, ..., n − 2,
the edge set E, the function k, and s, t are the specified source vertex and sink vertex,
respectively. For example, Figure 1 is a k-out-of-n network if k(3) = k(4) = 2 and
k(s) = k(1) = k(2) = k(t) = 1.
| • | the number of elements of •, e.g. |V | is the number of vertexes in V .
∧ logical and operator.
∨ logical or operator.
:= set equal to.
1 Boolean true.
0 Boolean false.
% Comment in Algorithm.
vw vw ∈ V , is the w labelled vertex.
eu,v eu,v ∈ E, where the eu,v = i is a undirected edge with an index i that records
the edge number.
Xeu,v X is the system state vector that returns a value in accordance with Equation( 1)
Sr(eu,v) Sr(eu,v) = r is a function that has a Boolean state. The state s is true if the SPSA
has traversed the edge and false if it has not.
Sc(vw) Sc(vw) = c is a function that has an integer state. This state c number of times that
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 7
the SPSA has contacted the vertex.
Cn(vw) Cn(vw) = {∀eu,v ∈ E : (u = w ∨ v = w) ∧ Sr(eu,v) ∧ Xeu,v } is a function that
returns the set of all edges connected to the vertex vw that has not been traversed by
the SPSA and is available.
In(vw) In(vw) = w is a function that returns the index of the vertex.
p is the index of the current vertex on the search path for the SPSA.
P is an ordered collection of vertexes vw that form the current search path for the SPSA.
The order corresponds the sequence that vertexes are added to P.
P(x) is a state function that of vertexes vw that retains the current search stored in the
indexed collection P. It returns the vertex corresponding to the x index.
B. Assumptions
1. Each vertex is perfectly reliable.
2. Each edge has two states: working or failed.
3. The capacity of each edge is not limited.
4. All edges are bidirectional.
C. Sampled Path Set Algorithm
This section outlines the SPSA that given a known system state will determine if the graph
has at least a tie set from the s to the t vertexes.
Algorithm. Find a path in a k-out-of-n flow network G(V, E, k).
Input: A connected flow network G(V, E, k) with vertex set V , edge set E, function k, a
source vertex s, a sink vertex t and a system state vector X
Output: A Boolean variable that if true if the system is available and false if it is not.
STEP 0. Set Sc(∀vw ∈ V ) := 0.
STEP 1. Set Sr(∀eu,v ∈ E) := false.
STEP 2. Set p := s and the current path to P := {vs}.
STEP 3. If p = t graph is available. Return true.
STEP 4. If Cn(vp) = ∅ go to STEP 11.
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 8
STEP 5. Choose one edge ep,w ∈ Cn(vp).
STEP 6. Traverse the edge and set Sr(ep,w) := true, p := w and P := P + vw.
STEP 7. Increment the vertex counter Sc(vp) = Sc(vp) + 1.
STEP 8. If Sc(vp) ≥ k(p) go to STEP 3.
% Remove the last vertex from the search path.
STEP 9. Set P := P − vp.
STEP 10. If P = ∅ the graph is unavailable. Return false.
STEP 11. Set p := In(P(|P|)).
STEP 12. Go to STEP 4.
IV. EXAMPLE 1
This section gives an example of the application of the SPSA to a trivial sized RBD. Only one
example of an RBD structure and system state is provided in order to further aid understanding
of the proposed algorithm. The properties of the algorithm when compared to existing methods
are detailed in the next section.
The example RBD is shown in Figure 1 at top with the equivalent graph structure the labeled
G(V, E, k). The graph has the edges E = {es,1 = 1, es,2 = 2, e1,2 = 3, e1,4 = 4, e1,3 = 5, e2,3 =
6, e3,4 = 7, e4,t = 8, e3,t = 9} as indicated by the solid lines. The vertex set V = {s, 1, 2, 3, 4, t}
is shown as circles and k(3) := k(4) := 2, k(s) := k(1) := k(2) := k(t) := 1 as signified
by the larger numbers next to the corresponding vertexes on the right hand side. This provides
enough detail to form the G(V, E, k) graph. The algorithm is exemplified with the following
failure states as indicated in Figure 1 marked by the solid lines with the label Pass 0 where the
absence of a line signifies that the edge has failed. According to the state vector X = {Xes,1 :=
1, Xe1,4 := 1, Xe1,2 := 1, Xe1,3 := 1, Xe2,3 := 1, Xe4,3 := 1, Xe4,t := 1, Xes,2 := 0, Xe3,t := 0}.
The state value for the function Sc(vw) is indicated by the number to the left of the vertexes in
the square boxes. With the preliminaries defined, a step by step example of the sampling of the
system response follows.
Pass 0
STEP 0. Sc(s) := Sc(1) := Sc(2) := Sc(3) := Sc(4) := Sc(t) := 0.
STEP 1. Sr(es,1) := Sr(es,2) := Sr(e1,2) := Sr(e1,4) := Sr(e1,3) := Sr(e2,3) := Sr(e4,3)
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 9
s
2
1
3
4
t
2
21
s
2
1
3
4
t
2
21 1
s
2
1
3
4
t
2
21 1
2
s
2
1
3
4
t
2
21 1
00
s
2
1
3
4
t
2
21 1
10
1 2
s
2
1
3
4
t
2
2
21
Pass 0 Pass 1
Pass 2 Pass 3 Pass 4
Pass 5 Pass 6
s
2
1
3
4
t
2
21 2
21
Pass 7
s
2
1
3
4
t
2
2
11
1
0
00
0 0
00
1
1
1
1
1
1
1
1
1
1
s
2
1
3
4
t
2
2
G(V,E,k)
1
1
1
1
1
1
1
1
0 00
0 0
0 10
e1,4
e1,3
e2,3
e1,2
es,1
es,2
s t
e4,t
e4,t
2/3
2/3
e3,4
Reliability Block Diagram
Fig. 1. Example 1 Graph
:= Sr(e4,t) := Sr(e3,t) := false.
STEP 2. Set p := s, P := {vs}.
STEP 3. If p = t continue.
% The function Cn(vp) = Cn(vs) = {es,1} and detailed in
% Figure 1 with the label Pass 0.
STEP 4. If Cn(vp) = ∅ contine.
Pass 1
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 10
STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := es,1.
STEP 6. Traverse the edge and set Sr(ep,w) := Sr(es,1) := true, p := w := 1 and set
P := P + vw := P + v1 := {vs, v1}.
STEP 7. Increment the vertex counter Sc(vp) := Sc(v1) := 0 + 1 := 1.
% The value of the function Sc(v1) is shown in Figure 1 with the label Pass 1 and the
% edge es,1 is dashed signifying that Sr(es,1) is true.
STEP 8. If Sc(vp) ≥ k(p) that is Sc(v1) ≥ k(1) and 1 ≥ 1 is true so go to STEP 3.
Pass 2
STEP 3. If p = t continue.
% The function Cn(vp) = Cn(v1) = {e1,2, e1,3, e1,4} is detailed in
% Figure 1 with the label Pass 1.
STEP 4. If Cn(vp) = ∅ contine.
STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e1,4.
STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e1,4) := true, p := w := 4 and set
P := P + vw := P + v4 := {vs, v1, v4}.
STEP 7. Increment the vertex counter Sc(vp) := Sc(v4) := 0 + 1 := 1.
% The value of the function Sc(v4) is shown in Figure 1 with the label Pass 2 and the
% edge e1,4 is dashed signifying that Sr(e1,4) is true.
STEP 8. If Sc(vp) ≥ k(p) that is Sc(v4) ≥ k(4) and 1 ≥ 2 is false so continue.
STEP 9. Set P := P − vp := P − v4 = {vs, v1}.
STEP 10. If P = ∅ contine.
STEP 11. Set p := In(P(|P|)) := In(P(|2|)) := In(v1) := 1.
STEP 12. Go to STEP 4.
Pass 3
% The function Cn(vp) = Cn(v1) = {e1,2, e1,3} is detailed in
% Figure 1 with the label Pass 2.
STEP 4. If Cn(vp) = ∅ contine.
STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e1,3.
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 11
STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e1,3) := true, p := w := 3 and set
P := P + vw := P + v3 := {vs, v1, v3}.
STEP 7. Increment the vertex counter Sc(vp) := Sc(v3) := 0 + 1 =: 1.
% The value of the function Sc(v3) is shown in Figure 1 with the label Pass 3 and the
% edge e1,3 is dashed signifying that Sr(e1,3) is true.
STEP 8. If Sc(vp) ≥ k(p) that is Sc(v3) ≥ k(3) and 1 ≥ 2 is false so continue.
STEP 9. Set P := P − vp := P − v3 = {vs, v1}.
STEP 10. If P = ∅ contine.
STEP 11. Set p := In(P(|P|)) := In(P(|2|)) := In(v1) := 1.
STEP 12. Go to STEP 4.
Pass 4
% The function Cn(vp) = Cn(v1) = {e1,2} is detailed in
% Figure 1 with the label Pass 3.
STEP 4. If Cn(vp) = ∅ contine.
STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e1,2.
STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e1,2) := true, p := w := 2 and set
P := P + vw := P + v2 := {vs, v1, v2}.
STEP 7. Increment the vertex counter Sc(vp) := Sc(v2) := 0 + 1 := 1.
% The value of the function Sc(v2) is shown in Figure 1 with the label Pass 4 and the
% edge e1,2 is dashed signifying that Sr(e1,2) is true.
STEP 8. If Sc(vp) ≥ k(p) that is Sc(v2) ≥ k(2) and 1 ≥ 1 is true go to STEP 3.
Pass 5
STEP 3. If p = t continue.
% The function Cn(vp) = Cn(v2) = {e2,3} is detailed in
% Figure 1 with the label Pass 4.
STEP 4. If Cn(vp) = ∅ contine.
STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e2,3.
STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e2,3) := true, p := w := 3 and set
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 12
P := P + vw := P + v3 := {vs, v1, v2, v3}.
STEP 7. Increment the vertex counter Sc(vp) := Sc(v3) := 1 + 1 := 2.
% The value of the function Sc(v3) is shown in Figure 1 with the label Pass 5 and the
% edge e2,3 is dashed signifying that Sr(e2,3) is true.
STEP 8. If Sc(vp) ≥ k(p) that is Sc(v3) ≥ k(3) and 2 ≥ 2 is true go to STEP 3.
Pass 6
STEP 3. If p = t continue.
% The function Cn(vp) = Cn(v3) = {e3,4} is detailed in
% Figure 1 with the label Pass 5.
STEP 4. If Cn(vp) = ∅ contine.
STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e3,4.
STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e3,4) := true, p := w := 4 and set
P := P + vw := P + v3 := {vs, v1, v2, v3, v4}.
STEP 7. Increment the vertex counter Sc(vp) := Sc(v4) := 1 + 1 := 2.
% The value of the function Sc(v3) is shown in Figure 1 with the label Pass 6 and the
% edge e3,4 is dashed signifying that Sr(e3,4) is true.
STEP 8. If Sc(vp) ≥ k(p) that is Sc(v4) ≥ k(4) and 2 ≥ 2 is true go to STEP 3.
Pass 7
STEP 3. If p = t continue.
% The function Cn(vp) = Cn(v4) = {e4,t} is detailed in
% Figure 1 with the label Pass 6.
STEP 4. If Cn(vp) = ∅ contine.
STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e4,t.
STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e4,t) := true, p := w := 4 and set
P := P + vw := P + v3 := {vs, v1, v2, v3, v4, vt}.
STEP 7. Increment the vertex counter Sc(vp) := Sc(vt) := 0 + 1 := 1.
% The value of the function Sc(vt) is shown in Figure 1 with the label Pass 7 and the
% edge e4,t is dashed signifying that Sr(e4,t) is true.
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 13
STEP 8. If Sc(vp) ≥ k(p) that is Sc(vt) ≥ k(t) and 1 ≥ 1 is true go to STEP 3.
STEP 3. If p = t graph is available. Return true.
This example of the application of the SPSA was presented for a reliability system with a single
system state. This illustrated the application of the SPSA where the system response function
was available for the example system state. To generate an estimate of reliability requires the
SPSA to be applied to a sample of system states that can be sampled from distributions and
when combined forms a MCS engine.
V. COMPUTATIONAL RESULTS
Experiments were performed on a sample of k-out-of-n systems with the aim of empirically
demonstrating the practical limitations of Yeh’s [23] algorithm and the SPSA. A heuristic graph
building algorithm was developed that stochastically generated graphs of increasing complexity
where the graphs reliability R was maintained to the range 0.5 < R < 0.95. The number of
edges required for the experiment was input into the graph building heuristic, which determined
the number of k-out-of-n vertexes and the k factors. The reliability of the generated graphs was
controlled by limiting the amount of redundancy in the graph.
It was not possible to perform experiments on all possible graph structures and component
reliability values. Due to increasing system complexity, alternatively the graph building algorithm
generated a sample of graphs that were considered to be indicative of the possible performance
of the algorithm on target systems. The results were indicative only and statistical analysis
of the results was largely omitted for the clarity and brevity of the paper. Computational
experiments were performed using Yeh’s [23] algorithm to explore the practical limitations of
this NP-Complete problem by limiting the available memory to 3 Gigabytes on graphs that
were stochastically generated using the graph building algorithm. The size of the graphs was
incremented by 1 to 55 edges, or components in the system and for each increment 100 graphs
were generated.
The performance of Yeh’s [23] algorithm is shown in Figure 2 where the solid line represents
the sampled problems in which tie sets could be generated and the dashed line represents the
cases where the inclusion-exclusion method could be applied to generate analytical solution of
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 14
0 10 20 30 40 50 60
0
10
20
30
40
50
60
70
80
90
100
Number of Components in Graph
NumberofSucessfulGraphSamples
Yeh’s Algorithm
Inclusion Exclusion
SPSA
Fig. 2. Yeh’s Algorithm Performance
the graphs reliability. The bottom axis scales the number of components in the sampled graphs
and the left axis the number of times Yeh’s [23] method located tie sets and the number of
times the inclusion-exclusion method could be applied. There was a region between the two
lines where tie sets were generated although the inclusion-exclusion algorithm could not be
applied. In these cases the MCS was applied to the tie sets to estimate the reliability of the
graph with same results as the SPSA. The region above the solid line represents the number
of times Yeh’s [23] algorithm failed to generate tie sets with the imposed memory constraint.
The dash dot line shows the number of times the SPSA estimated the reliability of the network
using MCS note that SPSA never failed to form an estimate and was later applied to much
larger graphs where Yeh’s [23] algorithm could not locate tie sets. The jagged form of the
lines on the graph results from the heuristic that was used to generate the graphs. It can be
seen shown that once there is greater than 30 components in the system the ability to generate
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 15
tie sets for the graphs sharply declines. The ability to calculate the analytic solution using the
inclusion-exclusion method sharply declines at graphs with only 20 edges.
When modelling complex systems such as naval platforms there is need for a method that
can determine the reliability on graphs with more then 50 edges. The SPSA, while not being
able to calculate exact reliabilities and using MCS was able to estimate the reliability of all
the graphs in the previous experiment with the confidence interval generated by the Binomial
distribution. The SPSA was validated using the tie sets generated by Yeh’s [23] algorithm and
MCS. Simulation using both methods and the same random seeds resulted in identical system
state vectors. The system response indicator function values were identical for all simulation
replications for all tie sets that could be generated using Yeh’s [23] algorithm when compared
to the results from the SPSA.
Experiments were performed to determine the computational constraints of the SPSA and
investigate the most complex graphs that could be simulated on current computer technology. To
achieve this end the number of the edges on stochastically generated graphs were incremented
logarithmically and repeated 10 times with 104
simulation replications. The SPSA was applied
and the quantity of memory and processor time recorded. The SPSA was implemented in C# and
the experiments were executed on Dual Core AMD Opteron 1.81 GHz using a single processor
running Windows XP.
The memory requirements for the SPSA was very modest, all of the experiments required
< 35 Megabytes. The amount of processing time required for the MCS of graphs of increasing
complexity is shown in Figure 3. This figure has; log10 scales for both axes: the bottom
axis scales the number of edges in the graphs; and the left axis shows the mean processing
time in seconds, for the sample. A strong linear trend between processing time and number of
components can be observed when the number of component was greater than 102
. Figure 3
shows the graphs with 3 × 104
components required approximately 4980 seconds of processing
time to estimate the graphs reliability using 104
replications, and there was marginal gain in
precision when compared to using 2 × 103
replications due to the rate of convergence for
the Binomial distribution. When the number of replications is reduced to 2000 the processing
time becomes approximately 1002 seconds which could be further reduced by using parallel
processing of the replications on multi-processor machines. This result enables an RDB of an
entire naval platform or complex system to be simulated with MCS in minutes on current
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 16
10
0
10
1
10
2
10
3
10
4
10
5
10
-2
10
-1
10
0
10
1
10
2
10
3
10
4
Numer of Edges in Graph
ProcessingTime(Sec)
Fig. 3. SPSA Processing Requirements
computing technologies.
VI. EXAMPLE 2
This example is used to demonstrate the limitations of Yeh’s [23] methodology for the
generation of minimum path sets. This particular example has 21 edges and 11 vertexes including
the s and t vertexes. Yeh’s [23] method failed to find the tie sets for this problem using a computer
with 3 Gigabytes of memory available and hence the exact reliability of the network is unknown.
The SPSA was able to simulate the graph using less than 17 megabytes of memory and < 0.391
seconds of processing time was used to estimate the graphs reliability. The graph structure is
shown in Figure 4 where k(2) = k(3) = k(4) = k(5) = k(6) = k(7) = k(t) = 1 and the
k-out-of-n vertexes were k(1) = k(8) = 4. The edge reliabilities are detailed in the Table I
where the edge reliabilities are stated with a high degree of precision to facilitate future work.
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 17
The SPSA was used to estimate the reliability of this graph and the Binomial distribution was
used to generate a 95% confidence interval. The sample size of system states used was 105
.
Reliability estimation of the network using crude MCS was 0.867, the upper bound for the
confidence interval was 0.870 and the lower bound was 0.866.
5
s
1
2
3
4
6
7
8
9
t
Fig. 4. Example 2 Graph
Edge Reliability Edge Reliability Edge Reliability Edge Reliability
es,3 0.6164901 e3,7 0.3687857 e7,t 0.9851828 es,1 0.6477289
e1,7 0.9714034 es,2 0.8872505 e2,8 0.8170784 e8,t 0.03398865
e1,5 0.9850947 e5,8 0.9926975 e2,5 0.927974 e1,8 0.4847555
e1,6 0.03214774 e5,6 0.9170167 e1,9 0.9740447 e6,9 0.3581379
e7,8 0.9521735 e7,9 0.970551 e2,7 0.9320451 e2,4 0.4022358
e1,4 0.9735997
TABLE I
EDGES AND RELIABILITY
VII. CONCLUSIONS AND RECOMMENDATIONS
A new method called the SPSA has been presented for the MCS of graphs and networks
that include general k-out-of-n vertexes and structures. This algorithm has application to RBD
modelling of complex engineering reliability systems and provides a means to simulate general
structures. It does this without the limitations and restrictions that are inherent in decomposition
methods or the generation of tie/cut sets. Yeh [23] recently developed a method for the generation
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 18
of tie sets and this method was compared to the SPSA. It was demonstrated that there were graphs
with as few at 21 edges that Yeh’s [23] algorithm could not solve within the computational
constraint of 3 Gigabytes of memory. This highlights the point that the generation of sets and
the use of the inclusion-exclusion is a NP-complete problem. The SPSA was shown to have
linear computation requirements in terms of memory and processing time, and does not require
the generation of tie/cut sets. It provides a means to model large complex systems and has
been demonstrated to be applicable to problems with 34
components with very modest memory
requirements of < 35 Megabytes and moderate processing time of 4980 secs for 104
samples
on a current single processor personal computer. SPSA is enabling technology and when used
as the core system response function for a simulation engine, systems can be modelled with
general TTF and TTR distributions, and with large number of components. This enables the
realistic modelling of naval platforms without the constraints imposed by other methods. Future
research includes the extension of the algorithm for unidirectional edges through the alteration
of the function Cn(vw). Further work on variance reduction and importance sampling could
be performed for highly reliable networks using importance sampling methods similar to those
presented by Suh et al. [10]. This could improve the precision of MCS using the SPSA on highly
reliable systems.
REFERENCES
[1] T. Landers, H. Taha., and C. King, “A reliability simulation approach for use in the design process,” IEEE Transactions
on Reliability, vol. 40, no. 2, pp. 177–181, June 1991.
[2] F. Peres and J.-C. Grenouilleau, “Spare parts supply modeliing: application to a space station,” International Journal of
Quality and Reliability Management, vol. 20, no. 3, pp. 360–377, 2003.
[3] P. Scarf, R. Dwright, and A. Al-Mustrati, “On reliability criteria and the implied cost of failure for a maintained component,”
Reliability Engineering and System Safety, vol. 89, pp. 199–207, 2005.
[4] S. Upadhya, K. and K. Srinivasan, N., “System simulation for availability of weapon systems under various missions,”
Systems Engineering, vol. 8, no. 4, pp. 309–322, July 2005.
[5] C. Marquez, A., S. Heguedas, A., and B. Iung, “Monte carlo-based assessment of system availability. a case study for
cogeneration plants,” Reliability Engineering and System Safety, vol. 88, pp. 273–289, 2005.
[6] E. Zio, P. Baralbi, and E. Patelli, “Assessment of the availability of an offshore installation by monte carlo simulation,”
International Journal of Pressure Vessels and Piping, vol. 83, pp. 312–320, 2006.
[7] C. M. Rocco and E. Zio, “Solving advanced network reliability problems by means of cellular automata and monte carlo
sampling,” Reliability Engineering and System Safety, vol. 89, pp. 219–226, 2005.
[8] P. O’Connor, Practical Reliabilty Engineering. New York, USA: John Wiley and Sons Inc., 1995.
June 29, 2007 DRAFT
UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 19
[9] P.-T. De Boer, D. Kroese, S. Mannor, and R. Rubenstein, “A tutorial on the cross-entropy method,” Annals of Operational
Research, vol. 134, no. 1, pp. 19–67, 2005.
[10] J.-J. Suh, C.-M. Han, and C.-H. Jun, “System reliability estimation using simulation combined with network reductions,”
Microelectronics and Reliability, vol. 36, no. 9, pp. 1263–1267, 1996.
[11] C. Kim and H. Lee, “A monte carlo simulation algorithm for finding mtbf,” IEEE Transactions on Reliability, vol. 41,
no. 2, pp. 193–195, June 1992.
[12] S. Yang and Z. Du, “Criticality evaluation for spare parts initial provisioning,” in Reliability and Maintainability, 2004
Annual Symposium - RAMS, 2004, pp. 507–513.
[13] A. Dubi, Monte Carlo Applications in Systems Engineering. West Sussex, England: John Wiley and Sons Ltd., 2000.
[14] H. Wang and H. Pham, “Survey of reliability and availability evalutation of complex networks using monte carlo
techniques,” Microelectronics and Reliability, vol. 37, no. 2, pp. 187–209, 1996.
[15] Y. Li, A. Taha, H., and L. Landers, T., “Recursive approach for enumerating minimal cutsets in a network,” IEEE
Transactions on Reliability, vol. 43, no. 3, pp. 383–388, Sept 1994.
[16] A. Kabir and S. Farrash, “Simulation of an integrated age replacement and spare provisioning policy using slam,” Reliability
Engineering and System Safety, vol. 52, no. 2, pp. 129–138, 1996.
[17] O. Gonzalez-Vega, J. Foster, and G. Hogg, “A simulation program to model effects of logistics on r&m of complex
systems,” in Proc. Annual Reliability and Maintainability Symposium. IEEE, 1988.
[18] S. Kamat and M. Riley, “Determination of reliability using event-based monte carlo simulation,” IEEE Transactions on
Reliability, vol. R-24, pp. 254–255, Oct 1976.
[19] S. Kamat and W. Frazimeier, “Determination of reliability using event-based monte carlo simulation. part 2,” IEEE
Transactions on Reliability, vol. R-25, pp. 73–75, April 1975.
[20] D. Magee and A. Refsum, “Resin, a desktop-computer program for finding cut-sets,” IEEE Transactions on Reliability,
vol. R-30, pp. 407–410, Dec 1981.
[21] J. Lin and C. Donaghey, “A monte carlo simulation to determine minimal cut sets and system reliability,” in Proc. Annual
Reliability and Maintainability Symposium. IEEE, 1988, pp. 246–249.
[22] W.-C. Yeh, “A simple algorithm for evaluating the k-out-of-n network reliability,” Reliability Engineering and System
Safety, vol. 83, pp. 91–101, 2004.
[23] ——, “A path-based algorithm for evaluating the k-out-n flow network reliability,” Reliability Engineering and System
Safety, vol. 87, no. 2, pp. 243–251, 2005.
[24] Z. Tan, “Minimal cut sets of s-t networks with k-out-n nodes,” Reliability Engineering and System Safety, vol. 82, pp.
49–54, May 2003.
[25] C. Rocco S. and J. Moreno, “Network reliability assessment using a cellular automata approach,” Reliability Engineering
and System Safety, vol. 78, no. 3, pp. 289–295, 2002.
[26] G. Fishman, “A comparison of four monte carlo methods for estimating the probability of s-t connectedness,” IEEE
Transactions on Reliability, vol. 35, no. 2, pp. 145–154, 1986.
[27] H. Cancela and M. El Kahadiri, “A recursive variance-reduction algorithm for estimating communication-network
reliability,” IEEE Transactions on Reliability, vol. 44, no. 4, pp. 595–602, Dec 1995.
June 29, 2007 DRAFT

More Related Content

What's hot (19)

PDF
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
IJCSEA Journal
 
PDF
Solve Production Allocation and Reconciliation Problems using the same Network
Alkis Vazacopoulos
 
PDF
Design and analysis of a model predictive controller for active queue management
ISA Interchange
 
PDF
A multiperiod set covering location model for dynamic redeployment of ambulances
Hari Rajagopalan
 
PDF
Bulk transfer scheduling and path reservations in research networks
International Journal of Engineering Inventions www.ijeijournal.com
 
PDF
Hybrid Knowledge Bases for Real-Time Robotic Reasoning
Hassan Rifky
 
PDF
Fault-Tolerance Aware Multi Objective Scheduling Algorithm for Task Schedulin...
csandit
 
PDF
RESPONSE SURFACE METHODOLOGY FOR PERFORMANCE ANALYSIS AND MODELING OF MANET R...
IJCNCJournal
 
PPT
Chap3 slides
Divya Grover
 
PDF
TurnerBottoneStanekNIPS2013
Clay Stanek
 
PDF
ENHANCING COMPUTATIONAL EFFORTS WITH CONSIDERATION OF PROBABILISTIC AVAILABL...
Raja Larik
 
PPT
Forecasting Default Probabilities in Emerging Markets and Dynamical Regula...
SSA KPI
 
PDF
E01113138
IOSR Journals
 
PDF
Achieving Portability and Efficiency in a HPC Code Using Standard Message-pas...
Derryck Lamptey, MPhil, CISSP
 
PDF
Testing the performance of the power law process model considering the use of...
IJCSEA Journal
 
PPT
An Adaptive Load Balancing Middleware for Distributed Simulation
Gabriele D'Angelo
 
PDF
TRR Paper
David K. Hale, Ph.D.
 
PPT
Parallel Algorithm Models
Martin Coronel
 
PDF
Remote Sensing IEEE 2015 Projects
Vijay Karan
 
GRAPH MATCHING ALGORITHM FOR TASK ASSIGNMENT PROBLEM
IJCSEA Journal
 
Solve Production Allocation and Reconciliation Problems using the same Network
Alkis Vazacopoulos
 
Design and analysis of a model predictive controller for active queue management
ISA Interchange
 
A multiperiod set covering location model for dynamic redeployment of ambulances
Hari Rajagopalan
 
Bulk transfer scheduling and path reservations in research networks
International Journal of Engineering Inventions www.ijeijournal.com
 
Hybrid Knowledge Bases for Real-Time Robotic Reasoning
Hassan Rifky
 
Fault-Tolerance Aware Multi Objective Scheduling Algorithm for Task Schedulin...
csandit
 
RESPONSE SURFACE METHODOLOGY FOR PERFORMANCE ANALYSIS AND MODELING OF MANET R...
IJCNCJournal
 
Chap3 slides
Divya Grover
 
TurnerBottoneStanekNIPS2013
Clay Stanek
 
ENHANCING COMPUTATIONAL EFFORTS WITH CONSIDERATION OF PROBABILISTIC AVAILABL...
Raja Larik
 
Forecasting Default Probabilities in Emerging Markets and Dynamical Regula...
SSA KPI
 
E01113138
IOSR Journals
 
Achieving Portability and Efficiency in a HPC Code Using Standard Message-pas...
Derryck Lamptey, MPhil, CISSP
 
Testing the performance of the power law process model considering the use of...
IJCSEA Journal
 
An Adaptive Load Balancing Middleware for Distributed Simulation
Gabriele D'Angelo
 
Parallel Algorithm Models
Martin Coronel
 
Remote Sensing IEEE 2015 Projects
Vijay Karan
 

Viewers also liked (11)

DOCX
Yes you can
LEANDRO DE OLIVEIRA
 
PDF
Video Interview Bloopers to Avoid
Lisa Amstutz
 
PDF
Presentacion factory fincas
factoryfincas
 
PPS
Referral Curve Worksheet
Trung Nguyen Xuan
 
DOCX
Portada tarea 21
mikahakki44
 
PDF
Bachelor Of Science
Michael Dombrowski
 
PDF
Barber IS 100 Certificate
Noel Barber
 
PDF
An introduction to variable and feature selection
Marco Meoni
 
PPT
Mary, Queen of Scots VS. Elizabeth, Queen of England
Alejandro De Greef
 
PPTX
Queen Elizabeth I
Bob Hoskins
 
Yes you can
LEANDRO DE OLIVEIRA
 
Video Interview Bloopers to Avoid
Lisa Amstutz
 
Presentacion factory fincas
factoryfincas
 
Referral Curve Worksheet
Trung Nguyen Xuan
 
Portada tarea 21
mikahakki44
 
Bachelor Of Science
Michael Dombrowski
 
Barber IS 100 Certificate
Noel Barber
 
An introduction to variable and feature selection
Marco Meoni
 
Mary, Queen of Scots VS. Elizabeth, Queen of England
Alejandro De Greef
 
Queen Elizabeth I
Bob Hoskins
 
Ad

Similar to Recursive (20)

PDF
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
ijccmsjournal
 
PDF
Mathematical support for preventive maintenance periodicity optimization of r...
Alexander Lyubchenko
 
PDF
593176
GetnetAschale1
 
PDF
Reliability Prediction using the Fussel Algorithm
IRJET Journal
 
PPTX
PPT TARUNA.pptx
ssuser5ba6931
 
PDF
Stochastic behavior analysis of complex repairable industrial systems
ISA Interchange
 
PDF
Computational intelligence systems in industrial engineering
Springer
 
PDF
An introdution to reliability and maintainability engineering 2nd ed Edition ...
kelagoekka
 
PDF
Safety and Reliability Modeling and Its Applications (Advances in Reliability...
juanfeseral
 
PDF
Reliability based selection of standard steel beams
eSAT Journals
 
PDF
Reliability Analysis of Structures Using Modified FA-PSO Algorithm
Journal of Soft Computing in Civil Engineering
 
PDF
Selecting the best stochastic systems for large scale engineering problems
IJECEIAES
 
PDF
Kk2518251830
IJERA Editor
 
PDF
Kk2518251830
IJERA Editor
 
PDF
Measurement and Evaluation of Reliability, Availability and Maintainability o...
IOSR Journals
 
PDF
Bz02516281633
ijceronline
 
PDF
STRUCTURAL RELIABILITY ASSESSMENT WITH STOCHASTIC PARAMETERS
P singh
 
PDF
chapter 6.pdf
Sami Siddiqui
 
DOCX
chapter 6.docx
Sami Siddiqui
 
PDF
Reliability analysis of GAN based transmit modules for active array antenna o...
International Journal of Reconfigurable and Embedded Systems
 
A Novel Approach to Derive the Average-Case Behavior of Distributed Embedded ...
ijccmsjournal
 
Mathematical support for preventive maintenance periodicity optimization of r...
Alexander Lyubchenko
 
Reliability Prediction using the Fussel Algorithm
IRJET Journal
 
PPT TARUNA.pptx
ssuser5ba6931
 
Stochastic behavior analysis of complex repairable industrial systems
ISA Interchange
 
Computational intelligence systems in industrial engineering
Springer
 
An introdution to reliability and maintainability engineering 2nd ed Edition ...
kelagoekka
 
Safety and Reliability Modeling and Its Applications (Advances in Reliability...
juanfeseral
 
Reliability based selection of standard steel beams
eSAT Journals
 
Reliability Analysis of Structures Using Modified FA-PSO Algorithm
Journal of Soft Computing in Civil Engineering
 
Selecting the best stochastic systems for large scale engineering problems
IJECEIAES
 
Kk2518251830
IJERA Editor
 
Kk2518251830
IJERA Editor
 
Measurement and Evaluation of Reliability, Availability and Maintainability o...
IOSR Journals
 
Bz02516281633
ijceronline
 
STRUCTURAL RELIABILITY ASSESSMENT WITH STOCHASTIC PARAMETERS
P singh
 
chapter 6.pdf
Sami Siddiqui
 
chapter 6.docx
Sami Siddiqui
 
Reliability analysis of GAN based transmit modules for active array antenna o...
International Journal of Reconfigurable and Embedded Systems
 
Ad

Recursive

  • 1. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 1 A Recursive Monte Carlo Simulation Algorithm for Complex k-out-of-n Systems Alexander Cave Abstract Reported methods for the Monte Carlo Simulation (MCS) and analysis of Reliability Block Diagrams (RBDs) require the generation of tie/cut sets to map the system state vector to the system response i.e. the availability of the system. Recent advancements are capable of generating tie/cut sets for general k-out-of-n systems, however with the limitation of factorial growth in the number of sets required for representation of the system response. This results in non-linear growth in the processing and memory requirements. An alternative approach called the Sampled Path Set Algorithm (SPSA) is presented here which recursively searches a graph representation of the RDB structure for a tie set that is dependent on the system state vector. This search is performed once for each iteration of the MCS and this approach has the advantage that growth in processing time and memory requirements is linear with increased system complexity. An empirical approach is used to demonstrate the practicality of the method and highlights the limitations of existing technologies. It is demonstrated that complex RBDs with general k-out-of-n structures can be modelled using the SPSA. This enables the MCS of large complex systems such as naval platforms having general Time To Repair (TTR) and Time To Failure (TTF) distributions. Index Terms Reliability Modelling, Monte Carlo Simulation, Sampled Path Set I. INTRODUCTION Modern systems are becoming increasingly complex, expensive to manage and maintain and often there is a penalty associated with the non-delivery of services due to unavailability of equipment. Modelling the effects of design alternatives [1], sparing policy [2] and mainte- nance [3] on the reliability of major systems has potential to improve performance and yield significant cost savings. Modelling reliability and availability has received significant attention June 29, 2007 DRAFT
  • 2. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 2 in the literature due to its importance to various kinds of systems. Studies have been applied to many areas of engineering endeavour including; space platforms [2], defence application [4], product design [1], electrical generation [5] oil/gas production [6], telecommunications [7], etc. reliability plays an important role in modern society. With increased cost of ownership, market pressures to reduce cost of production and customer expectations of high levels of service. This work was motivated by the requirement to model naval platforms for the Royal Australian Navy (RAN) with the objective of reducing life-cycle costs. However, the requirements are common to many fields of engineering application. Important features of the modelling included, general Time To Tailure (TTF) and Time To Repair (TTR) distributions, general k-out-of-n structures, maintenance, multiple systems and capabilities that are interdependent and large numbers, > 30, 000, of individual components within the Reliability Block Diagram (RDB) structure. These features challenge existing methodologies as the complexity of the systems make representation using canonical RBDs [8] difficult due to the presence of multiple k-out- of-n vertexes, and the generation of cut/tie sets is not practical due to the scale of the systems. There was no clear method to calculate the temporal reliability of such systems. This need is addressed through a new method called the Sampled Path Set Algorithm (SPSA) that is used at the core of a new simulation engine. This engine is part of a larger software package under development called the Predictive Materiel Availability and Sustainability Tool (PMAST) for the RAN. The SPSA uses recursion on a graph G(V, E, k) representation of the RBD to determine the system response Φ(X) to system state vector X that defines the availability of the edges. The RBD representation is converted to a graph where the vertexes (V ) are completely reliable and may be of k-out-of-n type where k is the number of inputs required to produce an output. The edges (E) have unlimited flow and fail in accordance with the system state vector that is generated through sampling of the TTF and TTR distributions. A sample of the system responses is generated through simulation replication and used to determine the point availability of the system and subsequent points form trajectory though time. The method used to generate the trajectories of the system state vector X is not required for description of the SPSA. Instead, X will be generated using Bernoulli trials as would be the case for using crude MCS to evaluate the reliability of an RBD where the reliability of the components are known with complete certainty. A limitation of the SPSA when used in this way is the precision associated with the June 29, 2007 DRAFT
  • 3. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 3 crude MCS method that is used to determine the system reliability. Each simulation replication is an individual in a sample population and a Confidence Interval (CI) is formed using the Binomial distribution. The Binomial distribution has the property of asymptotic convergence of the CI with increasing number of simulation replications. It is an advantage that the convergent properties are independent of the number of components within the system. However, there is the problematic convergent property of the Binomial distribution that results in greatly diminishing returns of performing more than 2 × 103 replications. If the impractical assumption is made that the component reliabilities are known with complete certainty this results in the limitation that the precision of the estimations of reliability using SPSA is limited to 2 decimal places. If highly accurate component reliabilities are known then variance reduction techniques [9] [10] could be applied to increase the precision of the crude MCS approach. In practical modelling for the RAN, component reliabilities are not known with a high degree of certainty and the TTF and TTR as well as logistic delays render the possibility of calculating such point reliabilities highly impractical. Instead an approximate measure of availability at a fixed time step is calculated using system state vectors generated though replication, and SPSA is used to determine the system responses to these vectors. The simulation is repeated with the same initial conditions and various system state trajectories determined at the fixed time steps. There are alternatives to fixed time stepping, discrete event simulations use an event list and Kim and Lee provide examples [11] that may warrant further investigation. The trajectories form the populations of system responses at the time steps and the Binomial distribution can be applied to determine the point availability and associated CI. A literature review is presented Section II on methods used to model RDBs. The SPSA is described in Section III and applied to a trivial example in Section IV. The computational results are reported in Section V. An example problem that could not be solved using cut/tie sets within the computational resources is given in Section VI. The conclusions and future recommendations are presented in Section VII. II. LITERATURE REVIEW The analysis of systems modelled as RBDs can be performed using simulation or analytic methods. Analytic methods have the advantage that they produce exact measures and are exploited by software such as BlockSim c by ReliaSoft, and CARE c by BQR Engineering. June 29, 2007 DRAFT
  • 4. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 4 Analytic methods use RBD decomposition methods [8] or tie/cut sets. Using the analytic approach the RBD is limited in structure, also TTR and TTF distributions cannot be of general form [13]. Wang and Pham [14] reviewed technologies for the measurement of reliability for complex networks and sampling methods for performance measures. They concured with Dubi [13] that MCS was the only practical technique to find statistical confidence bounds for systems with general failure and repair distributions. Wang and Pham [14] reported that MCS of RBDs can be performed using either recursive methods or as was more commonly reported, through the generation or tie/cut sets. Other less commonly reported methods for modelling availability/reliability include the use of: systems dynamics [5], Petri nets [15] and general purpose simulation languages such as SLAM c [16]. A common aspect of these alternative methods was that RBDs were not included in the modelling of the system reliability/availability and were generally more appropriate for the modelling of logistics and sparing policy. Gonzalez- Vega et al. [17] introduced a simulation engine for RBDs with logistical constraints. They criticized the use of general purpose simulation languages for RDB modelling as time consuming, restrictive and lacking in adequate reporting mechanisms. The engine that they developed in Pascal used cut sets to evaluate the system response function. The MCS of reliability networks using graphs and tie/cut sets has been researched for at least three decades with early papers by Kamat and Riley [18] and later by Kamat and Franzmeier [19]. This early work left an open question as to how to generate the cut/tie sets. The generation of sets has been addressed by Magee and Refsum [20] as an early example. They used recursion to locate the tie/cut sets for a reliability network that can have multiple input and output vertexes. Their method works directly on the structure of the graph (without decomposition) and k- out-of-n systems were not considered. Lin and Donaghey [21] followed the work of Magee and Refsum [20] and described a MCS engine that was developed to evaluate non-repairable RBD systems. Their method used tie sets and sampled probability distributions to perform the simulation. A stochastic algorithm was used to determine the tie sets and the method did not guarantee that the sets would be complete. They investigated small scale systems and highlighted that tie sets can be used to attribute failure modes to paths and facilitate criticality analysis. There were papers that investigated the problem of locating tie/cut sets for network connectivity that were closely related to the RBD problem Yeh [22] [23] and Tan [24] provided numerous citations. Rocco and Zio [7] and Rocco and Moreno [25] provided recent examples of the use recursive June 29, 2007 DRAFT
  • 5. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 5 algorithms for network connectivity. They used a cellular automata method that can be used in parallel where edges with limited capacity where subject to failure and could have a cost associated with the use of a particular edge. Their work has application to communications’ networks in particular network flow problems. However, they did not consider k-out-of-n networks that can be typical for mechanical and electrical systems. Suh et al. [10] introduced a MCS algorithm called COMICS. This algorithm recursively searched for a tie set given a known system state. When an active tie set was located the system was available for that time instant. Their method did not examine k-out-of-n systems. The advantage of their algorithm was that all cut sets did not need to be defined prior to simulation. Numerous papers on variance reduction methods cite the use of recursive algorithms to determine the system response but do not provide details on how this can be achieved, for example [26] [27]. Variance reduction methods are applicable to MCS of RBDs and could be used in conjunction with the SPSA. This paper focuses on graphs where each component or edge in the graph is restricted to one of either two states working or failed, and the vertexes in the graphs are perfectly reliable. A path from the s to the t vertex is required for the system to be available and the capacity of the edges is not limited. The graphs also have the k-out-of-n vertexes present. The problem of the location of tie/cut sets for s − t networks that include k-out-of-n vertexes was first addressed by Tan [24] and later algorithms by Yeh [22] [23] were considered to be more efficient. The location of cut/tie sets for these graphs was a NP-complete problem, resulting in at worst factorial growth in the number of sets with increased numbers of edges or components within the RDB. This problem has been addressed in this paper using the SPSA. To the best of the author’s knowledge, no other algorithm of this type has been reported by others. III. SAMPLED PATH SET ALGORITHM In general, it is very difficult to find all minimum tie/cut sets for a large and complex network. However, it is feasible to determine if there is a sampled path from the source s to the terminal t vertex given an input state vector which will resolve if the network is conditionally coherent. Consider the s−t connectedness network in which the vertexes are perfectly reliable and each of the m edges are subject to failure independently of others. Let us define an independent random June 29, 2007 DRAFT
  • 6. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 6 variable for the edges i(i = 1, ..., m) as Xi = 1, if edge i is available (1) 0, otherwise The failure probability of qi of edge i is, therefore expressed by the function qi = Pr{Xi = 1}. Suppose that the system response function Φ exists such that Φ(X) 1, if the network is connected conditional on X 0, otherwise, where the vector X = (X1, ..., Xm) is the system state vector. The aim of the MCS is to estimate the system reliability R = Pr{Φ(X) = 1} and the SPSA the determines Φ(X) and is dependent on the RBD structure. A. Notation and Definitions G(V, E, k) a k-out-of-n (connected) flow network with the vertex set V = s, t, 1, 2, ..., n − 2, the edge set E, the function k, and s, t are the specified source vertex and sink vertex, respectively. For example, Figure 1 is a k-out-of-n network if k(3) = k(4) = 2 and k(s) = k(1) = k(2) = k(t) = 1. | • | the number of elements of •, e.g. |V | is the number of vertexes in V . ∧ logical and operator. ∨ logical or operator. := set equal to. 1 Boolean true. 0 Boolean false. % Comment in Algorithm. vw vw ∈ V , is the w labelled vertex. eu,v eu,v ∈ E, where the eu,v = i is a undirected edge with an index i that records the edge number. Xeu,v X is the system state vector that returns a value in accordance with Equation( 1) Sr(eu,v) Sr(eu,v) = r is a function that has a Boolean state. The state s is true if the SPSA has traversed the edge and false if it has not. Sc(vw) Sc(vw) = c is a function that has an integer state. This state c number of times that June 29, 2007 DRAFT
  • 7. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 7 the SPSA has contacted the vertex. Cn(vw) Cn(vw) = {∀eu,v ∈ E : (u = w ∨ v = w) ∧ Sr(eu,v) ∧ Xeu,v } is a function that returns the set of all edges connected to the vertex vw that has not been traversed by the SPSA and is available. In(vw) In(vw) = w is a function that returns the index of the vertex. p is the index of the current vertex on the search path for the SPSA. P is an ordered collection of vertexes vw that form the current search path for the SPSA. The order corresponds the sequence that vertexes are added to P. P(x) is a state function that of vertexes vw that retains the current search stored in the indexed collection P. It returns the vertex corresponding to the x index. B. Assumptions 1. Each vertex is perfectly reliable. 2. Each edge has two states: working or failed. 3. The capacity of each edge is not limited. 4. All edges are bidirectional. C. Sampled Path Set Algorithm This section outlines the SPSA that given a known system state will determine if the graph has at least a tie set from the s to the t vertexes. Algorithm. Find a path in a k-out-of-n flow network G(V, E, k). Input: A connected flow network G(V, E, k) with vertex set V , edge set E, function k, a source vertex s, a sink vertex t and a system state vector X Output: A Boolean variable that if true if the system is available and false if it is not. STEP 0. Set Sc(∀vw ∈ V ) := 0. STEP 1. Set Sr(∀eu,v ∈ E) := false. STEP 2. Set p := s and the current path to P := {vs}. STEP 3. If p = t graph is available. Return true. STEP 4. If Cn(vp) = ∅ go to STEP 11. June 29, 2007 DRAFT
  • 8. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 8 STEP 5. Choose one edge ep,w ∈ Cn(vp). STEP 6. Traverse the edge and set Sr(ep,w) := true, p := w and P := P + vw. STEP 7. Increment the vertex counter Sc(vp) = Sc(vp) + 1. STEP 8. If Sc(vp) ≥ k(p) go to STEP 3. % Remove the last vertex from the search path. STEP 9. Set P := P − vp. STEP 10. If P = ∅ the graph is unavailable. Return false. STEP 11. Set p := In(P(|P|)). STEP 12. Go to STEP 4. IV. EXAMPLE 1 This section gives an example of the application of the SPSA to a trivial sized RBD. Only one example of an RBD structure and system state is provided in order to further aid understanding of the proposed algorithm. The properties of the algorithm when compared to existing methods are detailed in the next section. The example RBD is shown in Figure 1 at top with the equivalent graph structure the labeled G(V, E, k). The graph has the edges E = {es,1 = 1, es,2 = 2, e1,2 = 3, e1,4 = 4, e1,3 = 5, e2,3 = 6, e3,4 = 7, e4,t = 8, e3,t = 9} as indicated by the solid lines. The vertex set V = {s, 1, 2, 3, 4, t} is shown as circles and k(3) := k(4) := 2, k(s) := k(1) := k(2) := k(t) := 1 as signified by the larger numbers next to the corresponding vertexes on the right hand side. This provides enough detail to form the G(V, E, k) graph. The algorithm is exemplified with the following failure states as indicated in Figure 1 marked by the solid lines with the label Pass 0 where the absence of a line signifies that the edge has failed. According to the state vector X = {Xes,1 := 1, Xe1,4 := 1, Xe1,2 := 1, Xe1,3 := 1, Xe2,3 := 1, Xe4,3 := 1, Xe4,t := 1, Xes,2 := 0, Xe3,t := 0}. The state value for the function Sc(vw) is indicated by the number to the left of the vertexes in the square boxes. With the preliminaries defined, a step by step example of the sampling of the system response follows. Pass 0 STEP 0. Sc(s) := Sc(1) := Sc(2) := Sc(3) := Sc(4) := Sc(t) := 0. STEP 1. Sr(es,1) := Sr(es,2) := Sr(e1,2) := Sr(e1,4) := Sr(e1,3) := Sr(e2,3) := Sr(e4,3) June 29, 2007 DRAFT
  • 9. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 9 s 2 1 3 4 t 2 21 s 2 1 3 4 t 2 21 1 s 2 1 3 4 t 2 21 1 2 s 2 1 3 4 t 2 21 1 00 s 2 1 3 4 t 2 21 1 10 1 2 s 2 1 3 4 t 2 2 21 Pass 0 Pass 1 Pass 2 Pass 3 Pass 4 Pass 5 Pass 6 s 2 1 3 4 t 2 21 2 21 Pass 7 s 2 1 3 4 t 2 2 11 1 0 00 0 0 00 1 1 1 1 1 1 1 1 1 1 s 2 1 3 4 t 2 2 G(V,E,k) 1 1 1 1 1 1 1 1 0 00 0 0 0 10 e1,4 e1,3 e2,3 e1,2 es,1 es,2 s t e4,t e4,t 2/3 2/3 e3,4 Reliability Block Diagram Fig. 1. Example 1 Graph := Sr(e4,t) := Sr(e3,t) := false. STEP 2. Set p := s, P := {vs}. STEP 3. If p = t continue. % The function Cn(vp) = Cn(vs) = {es,1} and detailed in % Figure 1 with the label Pass 0. STEP 4. If Cn(vp) = ∅ contine. Pass 1 June 29, 2007 DRAFT
  • 10. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 10 STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := es,1. STEP 6. Traverse the edge and set Sr(ep,w) := Sr(es,1) := true, p := w := 1 and set P := P + vw := P + v1 := {vs, v1}. STEP 7. Increment the vertex counter Sc(vp) := Sc(v1) := 0 + 1 := 1. % The value of the function Sc(v1) is shown in Figure 1 with the label Pass 1 and the % edge es,1 is dashed signifying that Sr(es,1) is true. STEP 8. If Sc(vp) ≥ k(p) that is Sc(v1) ≥ k(1) and 1 ≥ 1 is true so go to STEP 3. Pass 2 STEP 3. If p = t continue. % The function Cn(vp) = Cn(v1) = {e1,2, e1,3, e1,4} is detailed in % Figure 1 with the label Pass 1. STEP 4. If Cn(vp) = ∅ contine. STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e1,4. STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e1,4) := true, p := w := 4 and set P := P + vw := P + v4 := {vs, v1, v4}. STEP 7. Increment the vertex counter Sc(vp) := Sc(v4) := 0 + 1 := 1. % The value of the function Sc(v4) is shown in Figure 1 with the label Pass 2 and the % edge e1,4 is dashed signifying that Sr(e1,4) is true. STEP 8. If Sc(vp) ≥ k(p) that is Sc(v4) ≥ k(4) and 1 ≥ 2 is false so continue. STEP 9. Set P := P − vp := P − v4 = {vs, v1}. STEP 10. If P = ∅ contine. STEP 11. Set p := In(P(|P|)) := In(P(|2|)) := In(v1) := 1. STEP 12. Go to STEP 4. Pass 3 % The function Cn(vp) = Cn(v1) = {e1,2, e1,3} is detailed in % Figure 1 with the label Pass 2. STEP 4. If Cn(vp) = ∅ contine. STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e1,3. June 29, 2007 DRAFT
  • 11. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 11 STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e1,3) := true, p := w := 3 and set P := P + vw := P + v3 := {vs, v1, v3}. STEP 7. Increment the vertex counter Sc(vp) := Sc(v3) := 0 + 1 =: 1. % The value of the function Sc(v3) is shown in Figure 1 with the label Pass 3 and the % edge e1,3 is dashed signifying that Sr(e1,3) is true. STEP 8. If Sc(vp) ≥ k(p) that is Sc(v3) ≥ k(3) and 1 ≥ 2 is false so continue. STEP 9. Set P := P − vp := P − v3 = {vs, v1}. STEP 10. If P = ∅ contine. STEP 11. Set p := In(P(|P|)) := In(P(|2|)) := In(v1) := 1. STEP 12. Go to STEP 4. Pass 4 % The function Cn(vp) = Cn(v1) = {e1,2} is detailed in % Figure 1 with the label Pass 3. STEP 4. If Cn(vp) = ∅ contine. STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e1,2. STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e1,2) := true, p := w := 2 and set P := P + vw := P + v2 := {vs, v1, v2}. STEP 7. Increment the vertex counter Sc(vp) := Sc(v2) := 0 + 1 := 1. % The value of the function Sc(v2) is shown in Figure 1 with the label Pass 4 and the % edge e1,2 is dashed signifying that Sr(e1,2) is true. STEP 8. If Sc(vp) ≥ k(p) that is Sc(v2) ≥ k(2) and 1 ≥ 1 is true go to STEP 3. Pass 5 STEP 3. If p = t continue. % The function Cn(vp) = Cn(v2) = {e2,3} is detailed in % Figure 1 with the label Pass 4. STEP 4. If Cn(vp) = ∅ contine. STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e2,3. STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e2,3) := true, p := w := 3 and set June 29, 2007 DRAFT
  • 12. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 12 P := P + vw := P + v3 := {vs, v1, v2, v3}. STEP 7. Increment the vertex counter Sc(vp) := Sc(v3) := 1 + 1 := 2. % The value of the function Sc(v3) is shown in Figure 1 with the label Pass 5 and the % edge e2,3 is dashed signifying that Sr(e2,3) is true. STEP 8. If Sc(vp) ≥ k(p) that is Sc(v3) ≥ k(3) and 2 ≥ 2 is true go to STEP 3. Pass 6 STEP 3. If p = t continue. % The function Cn(vp) = Cn(v3) = {e3,4} is detailed in % Figure 1 with the label Pass 5. STEP 4. If Cn(vp) = ∅ contine. STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e3,4. STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e3,4) := true, p := w := 4 and set P := P + vw := P + v3 := {vs, v1, v2, v3, v4}. STEP 7. Increment the vertex counter Sc(vp) := Sc(v4) := 1 + 1 := 2. % The value of the function Sc(v3) is shown in Figure 1 with the label Pass 6 and the % edge e3,4 is dashed signifying that Sr(e3,4) is true. STEP 8. If Sc(vp) ≥ k(p) that is Sc(v4) ≥ k(4) and 2 ≥ 2 is true go to STEP 3. Pass 7 STEP 3. If p = t continue. % The function Cn(vp) = Cn(v4) = {e4,t} is detailed in % Figure 1 with the label Pass 6. STEP 4. If Cn(vp) = ∅ contine. STEP 5. Choose one edge ep,w ∈ Cn(vp), ep,w := e4,t. STEP 6. Traverse the edge and set Sr(ep,w) := Sr(e4,t) := true, p := w := 4 and set P := P + vw := P + v3 := {vs, v1, v2, v3, v4, vt}. STEP 7. Increment the vertex counter Sc(vp) := Sc(vt) := 0 + 1 := 1. % The value of the function Sc(vt) is shown in Figure 1 with the label Pass 7 and the % edge e4,t is dashed signifying that Sr(e4,t) is true. June 29, 2007 DRAFT
  • 13. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 13 STEP 8. If Sc(vp) ≥ k(p) that is Sc(vt) ≥ k(t) and 1 ≥ 1 is true go to STEP 3. STEP 3. If p = t graph is available. Return true. This example of the application of the SPSA was presented for a reliability system with a single system state. This illustrated the application of the SPSA where the system response function was available for the example system state. To generate an estimate of reliability requires the SPSA to be applied to a sample of system states that can be sampled from distributions and when combined forms a MCS engine. V. COMPUTATIONAL RESULTS Experiments were performed on a sample of k-out-of-n systems with the aim of empirically demonstrating the practical limitations of Yeh’s [23] algorithm and the SPSA. A heuristic graph building algorithm was developed that stochastically generated graphs of increasing complexity where the graphs reliability R was maintained to the range 0.5 < R < 0.95. The number of edges required for the experiment was input into the graph building heuristic, which determined the number of k-out-of-n vertexes and the k factors. The reliability of the generated graphs was controlled by limiting the amount of redundancy in the graph. It was not possible to perform experiments on all possible graph structures and component reliability values. Due to increasing system complexity, alternatively the graph building algorithm generated a sample of graphs that were considered to be indicative of the possible performance of the algorithm on target systems. The results were indicative only and statistical analysis of the results was largely omitted for the clarity and brevity of the paper. Computational experiments were performed using Yeh’s [23] algorithm to explore the practical limitations of this NP-Complete problem by limiting the available memory to 3 Gigabytes on graphs that were stochastically generated using the graph building algorithm. The size of the graphs was incremented by 1 to 55 edges, or components in the system and for each increment 100 graphs were generated. The performance of Yeh’s [23] algorithm is shown in Figure 2 where the solid line represents the sampled problems in which tie sets could be generated and the dashed line represents the cases where the inclusion-exclusion method could be applied to generate analytical solution of June 29, 2007 DRAFT
  • 14. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 14 0 10 20 30 40 50 60 0 10 20 30 40 50 60 70 80 90 100 Number of Components in Graph NumberofSucessfulGraphSamples Yeh’s Algorithm Inclusion Exclusion SPSA Fig. 2. Yeh’s Algorithm Performance the graphs reliability. The bottom axis scales the number of components in the sampled graphs and the left axis the number of times Yeh’s [23] method located tie sets and the number of times the inclusion-exclusion method could be applied. There was a region between the two lines where tie sets were generated although the inclusion-exclusion algorithm could not be applied. In these cases the MCS was applied to the tie sets to estimate the reliability of the graph with same results as the SPSA. The region above the solid line represents the number of times Yeh’s [23] algorithm failed to generate tie sets with the imposed memory constraint. The dash dot line shows the number of times the SPSA estimated the reliability of the network using MCS note that SPSA never failed to form an estimate and was later applied to much larger graphs where Yeh’s [23] algorithm could not locate tie sets. The jagged form of the lines on the graph results from the heuristic that was used to generate the graphs. It can be seen shown that once there is greater than 30 components in the system the ability to generate June 29, 2007 DRAFT
  • 15. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 15 tie sets for the graphs sharply declines. The ability to calculate the analytic solution using the inclusion-exclusion method sharply declines at graphs with only 20 edges. When modelling complex systems such as naval platforms there is need for a method that can determine the reliability on graphs with more then 50 edges. The SPSA, while not being able to calculate exact reliabilities and using MCS was able to estimate the reliability of all the graphs in the previous experiment with the confidence interval generated by the Binomial distribution. The SPSA was validated using the tie sets generated by Yeh’s [23] algorithm and MCS. Simulation using both methods and the same random seeds resulted in identical system state vectors. The system response indicator function values were identical for all simulation replications for all tie sets that could be generated using Yeh’s [23] algorithm when compared to the results from the SPSA. Experiments were performed to determine the computational constraints of the SPSA and investigate the most complex graphs that could be simulated on current computer technology. To achieve this end the number of the edges on stochastically generated graphs were incremented logarithmically and repeated 10 times with 104 simulation replications. The SPSA was applied and the quantity of memory and processor time recorded. The SPSA was implemented in C# and the experiments were executed on Dual Core AMD Opteron 1.81 GHz using a single processor running Windows XP. The memory requirements for the SPSA was very modest, all of the experiments required < 35 Megabytes. The amount of processing time required for the MCS of graphs of increasing complexity is shown in Figure 3. This figure has; log10 scales for both axes: the bottom axis scales the number of edges in the graphs; and the left axis shows the mean processing time in seconds, for the sample. A strong linear trend between processing time and number of components can be observed when the number of component was greater than 102 . Figure 3 shows the graphs with 3 × 104 components required approximately 4980 seconds of processing time to estimate the graphs reliability using 104 replications, and there was marginal gain in precision when compared to using 2 × 103 replications due to the rate of convergence for the Binomial distribution. When the number of replications is reduced to 2000 the processing time becomes approximately 1002 seconds which could be further reduced by using parallel processing of the replications on multi-processor machines. This result enables an RDB of an entire naval platform or complex system to be simulated with MCS in minutes on current June 29, 2007 DRAFT
  • 16. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 16 10 0 10 1 10 2 10 3 10 4 10 5 10 -2 10 -1 10 0 10 1 10 2 10 3 10 4 Numer of Edges in Graph ProcessingTime(Sec) Fig. 3. SPSA Processing Requirements computing technologies. VI. EXAMPLE 2 This example is used to demonstrate the limitations of Yeh’s [23] methodology for the generation of minimum path sets. This particular example has 21 edges and 11 vertexes including the s and t vertexes. Yeh’s [23] method failed to find the tie sets for this problem using a computer with 3 Gigabytes of memory available and hence the exact reliability of the network is unknown. The SPSA was able to simulate the graph using less than 17 megabytes of memory and < 0.391 seconds of processing time was used to estimate the graphs reliability. The graph structure is shown in Figure 4 where k(2) = k(3) = k(4) = k(5) = k(6) = k(7) = k(t) = 1 and the k-out-of-n vertexes were k(1) = k(8) = 4. The edge reliabilities are detailed in the Table I where the edge reliabilities are stated with a high degree of precision to facilitate future work. June 29, 2007 DRAFT
  • 17. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 17 The SPSA was used to estimate the reliability of this graph and the Binomial distribution was used to generate a 95% confidence interval. The sample size of system states used was 105 . Reliability estimation of the network using crude MCS was 0.867, the upper bound for the confidence interval was 0.870 and the lower bound was 0.866. 5 s 1 2 3 4 6 7 8 9 t Fig. 4. Example 2 Graph Edge Reliability Edge Reliability Edge Reliability Edge Reliability es,3 0.6164901 e3,7 0.3687857 e7,t 0.9851828 es,1 0.6477289 e1,7 0.9714034 es,2 0.8872505 e2,8 0.8170784 e8,t 0.03398865 e1,5 0.9850947 e5,8 0.9926975 e2,5 0.927974 e1,8 0.4847555 e1,6 0.03214774 e5,6 0.9170167 e1,9 0.9740447 e6,9 0.3581379 e7,8 0.9521735 e7,9 0.970551 e2,7 0.9320451 e2,4 0.4022358 e1,4 0.9735997 TABLE I EDGES AND RELIABILITY VII. CONCLUSIONS AND RECOMMENDATIONS A new method called the SPSA has been presented for the MCS of graphs and networks that include general k-out-of-n vertexes and structures. This algorithm has application to RBD modelling of complex engineering reliability systems and provides a means to simulate general structures. It does this without the limitations and restrictions that are inherent in decomposition methods or the generation of tie/cut sets. Yeh [23] recently developed a method for the generation June 29, 2007 DRAFT
  • 18. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 18 of tie sets and this method was compared to the SPSA. It was demonstrated that there were graphs with as few at 21 edges that Yeh’s [23] algorithm could not solve within the computational constraint of 3 Gigabytes of memory. This highlights the point that the generation of sets and the use of the inclusion-exclusion is a NP-complete problem. The SPSA was shown to have linear computation requirements in terms of memory and processing time, and does not require the generation of tie/cut sets. It provides a means to model large complex systems and has been demonstrated to be applicable to problems with 34 components with very modest memory requirements of < 35 Megabytes and moderate processing time of 4980 secs for 104 samples on a current single processor personal computer. SPSA is enabling technology and when used as the core system response function for a simulation engine, systems can be modelled with general TTF and TTR distributions, and with large number of components. This enables the realistic modelling of naval platforms without the constraints imposed by other methods. Future research includes the extension of the algorithm for unidirectional edges through the alteration of the function Cn(vw). Further work on variance reduction and importance sampling could be performed for highly reliable networks using importance sampling methods similar to those presented by Suh et al. [10]. This could improve the precision of MCS using the SPSA on highly reliable systems. REFERENCES [1] T. Landers, H. Taha., and C. King, “A reliability simulation approach for use in the design process,” IEEE Transactions on Reliability, vol. 40, no. 2, pp. 177–181, June 1991. [2] F. Peres and J.-C. Grenouilleau, “Spare parts supply modeliing: application to a space station,” International Journal of Quality and Reliability Management, vol. 20, no. 3, pp. 360–377, 2003. [3] P. Scarf, R. Dwright, and A. Al-Mustrati, “On reliability criteria and the implied cost of failure for a maintained component,” Reliability Engineering and System Safety, vol. 89, pp. 199–207, 2005. [4] S. Upadhya, K. and K. Srinivasan, N., “System simulation for availability of weapon systems under various missions,” Systems Engineering, vol. 8, no. 4, pp. 309–322, July 2005. [5] C. Marquez, A., S. Heguedas, A., and B. Iung, “Monte carlo-based assessment of system availability. a case study for cogeneration plants,” Reliability Engineering and System Safety, vol. 88, pp. 273–289, 2005. [6] E. Zio, P. Baralbi, and E. Patelli, “Assessment of the availability of an offshore installation by monte carlo simulation,” International Journal of Pressure Vessels and Piping, vol. 83, pp. 312–320, 2006. [7] C. M. Rocco and E. Zio, “Solving advanced network reliability problems by means of cellular automata and monte carlo sampling,” Reliability Engineering and System Safety, vol. 89, pp. 219–226, 2005. [8] P. O’Connor, Practical Reliabilty Engineering. New York, USA: John Wiley and Sons Inc., 1995. June 29, 2007 DRAFT
  • 19. UNPUBLISHED MATERIAL PLEASE DO NOT DISTRIBUTE 19 [9] P.-T. De Boer, D. Kroese, S. Mannor, and R. Rubenstein, “A tutorial on the cross-entropy method,” Annals of Operational Research, vol. 134, no. 1, pp. 19–67, 2005. [10] J.-J. Suh, C.-M. Han, and C.-H. Jun, “System reliability estimation using simulation combined with network reductions,” Microelectronics and Reliability, vol. 36, no. 9, pp. 1263–1267, 1996. [11] C. Kim and H. Lee, “A monte carlo simulation algorithm for finding mtbf,” IEEE Transactions on Reliability, vol. 41, no. 2, pp. 193–195, June 1992. [12] S. Yang and Z. Du, “Criticality evaluation for spare parts initial provisioning,” in Reliability and Maintainability, 2004 Annual Symposium - RAMS, 2004, pp. 507–513. [13] A. Dubi, Monte Carlo Applications in Systems Engineering. West Sussex, England: John Wiley and Sons Ltd., 2000. [14] H. Wang and H. Pham, “Survey of reliability and availability evalutation of complex networks using monte carlo techniques,” Microelectronics and Reliability, vol. 37, no. 2, pp. 187–209, 1996. [15] Y. Li, A. Taha, H., and L. Landers, T., “Recursive approach for enumerating minimal cutsets in a network,” IEEE Transactions on Reliability, vol. 43, no. 3, pp. 383–388, Sept 1994. [16] A. Kabir and S. Farrash, “Simulation of an integrated age replacement and spare provisioning policy using slam,” Reliability Engineering and System Safety, vol. 52, no. 2, pp. 129–138, 1996. [17] O. Gonzalez-Vega, J. Foster, and G. Hogg, “A simulation program to model effects of logistics on r&m of complex systems,” in Proc. Annual Reliability and Maintainability Symposium. IEEE, 1988. [18] S. Kamat and M. Riley, “Determination of reliability using event-based monte carlo simulation,” IEEE Transactions on Reliability, vol. R-24, pp. 254–255, Oct 1976. [19] S. Kamat and W. Frazimeier, “Determination of reliability using event-based monte carlo simulation. part 2,” IEEE Transactions on Reliability, vol. R-25, pp. 73–75, April 1975. [20] D. Magee and A. Refsum, “Resin, a desktop-computer program for finding cut-sets,” IEEE Transactions on Reliability, vol. R-30, pp. 407–410, Dec 1981. [21] J. Lin and C. Donaghey, “A monte carlo simulation to determine minimal cut sets and system reliability,” in Proc. Annual Reliability and Maintainability Symposium. IEEE, 1988, pp. 246–249. [22] W.-C. Yeh, “A simple algorithm for evaluating the k-out-of-n network reliability,” Reliability Engineering and System Safety, vol. 83, pp. 91–101, 2004. [23] ——, “A path-based algorithm for evaluating the k-out-n flow network reliability,” Reliability Engineering and System Safety, vol. 87, no. 2, pp. 243–251, 2005. [24] Z. Tan, “Minimal cut sets of s-t networks with k-out-n nodes,” Reliability Engineering and System Safety, vol. 82, pp. 49–54, May 2003. [25] C. Rocco S. and J. Moreno, “Network reliability assessment using a cellular automata approach,” Reliability Engineering and System Safety, vol. 78, no. 3, pp. 289–295, 2002. [26] G. Fishman, “A comparison of four monte carlo methods for estimating the probability of s-t connectedness,” IEEE Transactions on Reliability, vol. 35, no. 2, pp. 145–154, 1986. [27] H. Cancela and M. El Kahadiri, “A recursive variance-reduction algorithm for estimating communication-network reliability,” IEEE Transactions on Reliability, vol. 44, no. 4, pp. 595–602, Dec 1995. June 29, 2007 DRAFT