October 14, 2014
Earlier this year I attended an interesting Webinar/Masterclass presented by Anthony Nastasi of Imagine That! He discussed a variety of different methods used to model reliability in ExtendSim. One method he showed was to set up a kind of reliability graph. I thought it would be interesting to encode a Monte Carlo solution to the source-terminal availability problem in an ExtendSim custom block. I then extended the block to provide a reliability option and the result of my efforts is presented below. It is more a proof of concept that a properly finished product but you might find it interesting. For now I will concentrate on a brief explanation of how it works. When I have time I will document the code and give a post on the modelling details as well as MODL techniques used.
Download the model here NetworkModel or on the Downloads page. The availability model is shown in a simple test model in the diagram below which also shows the associated database and block dialog.
The Network Database
There are Networks, Nodes, Links and Distributions tables in the database with the natural relationships between tables. Note that each node has a distribution associated with reliability analysis and a plain probability value for use in source terminal availability analysis. When analysing a network the first node is treated as the source and the last node the terminal. Links may be unidirectional (1 for A -> B) or bidirectional (0 for A <-> B).
Running the Block Model in Off-Line Mode
First select the network to analyse. To run the Availability Model Off-Line decide on the sample size for the Monte Carlo analysis and then click on the associated button. On my first generation i7 desktop a sample size of ten million takes about 5 seconds for the first test network. Reliability analysis can be run from the Reliability Estimate button. Although the analysis method is different – one sample is the event of a single node changing state from up to down or vice-versa – run time only increases to about 7 seconds. Note that reliability analysis uses an internal event list to determine the next node to change state.
Running the Block On-Line
If run as part of a discrete event simulation model the block acts as a value block and supplies a value of 1 if a working path is available or 0 when it is not. If the availability option is selected pulling a value triggers a new sample. If reliability is selected then the block just reports the current state.