October 14, 2014

## Network Availability or Reliability Model in an ExtendSim Block

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.