question

Leo L6 avatar image
0 Likes"
Leo L6 asked Jason Lightfoot commented

Breakdown Repeatability Error

Hi,

There is a station in my model which doesn't break down the same amount of time on the same replication #. For example in replication 1, the station breaks down 0.88% in the state bar chart, but on the same replication for a different unrelated parameter value (flow item count), the station breaks down 0.46%. This doesn't seem logical since flow item count shouldn't effect station breakdown % and my understanding is that the random stream is identical per replication and so breakdown % should be the same. Also, this error only happens for one station in the model (Station 2).

Replication 1 with item count = 10

1691446574695.png

Replication 1 flow item count = 121691446399600.png

As shown for station 2 the breakdown % values are substantially different

Here is the model file: FlexSimMTTRError2.fsm

Thanks in advance

FlexSim 22.0.16
mtbf mttrbreakdownrandom streams
1691446399600.png (28.5 KiB)
1691446574695.png (26.3 KiB)
flexsimmttrerror2.fsm (318.3 KiB)
· 2
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·
Yes - there's something wrong with the stream initialization for the first scenario with item count of 10 - all subsequent scenarios follow the same sampling sequence, as you'd expect.
0 Likes 0 ·
Leo L6 avatar image Leo L6 Jason Lightfoot ♦♦ commented ·

But item count scenarios of 12 and 14 also have different breakdown % values. It's only scenarios 16, 18 and 20 where it seems to converge.

0 Likes 0 ·

1 Answer

Jason Lightfoot avatar image
1 Like"
Jason Lightfoot answered Jason Lightfoot commented

Yes - you're sampling from the same stream in the OnArrival trigger of the station so the more arrivals you have will affect the sampling sequence. If you change involved to current in the MTBF/MTTR it will fix this - but of course then the addition/removal of machines to the MTBF/MTTR will affect the sampling. If your model has a fixed number of machine/stations then it won't matter.


I've sent in a suggestion to have getstream accept a variant so that the expression for the stream used in MTBF/MTTR samples could be something like

getstream([current,involved]) 

which will solve this an many other cases like those of instanced activities where the stream can then be

getstream([current,activity])


· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jason Lightfoot avatar image Jason Lightfoot ♦♦ commented ·

Attached is a version of your model with a user command to override getstream() such that it accepts variants as the stream 'key', as I described above. The user command code is just:

/**Custom Code*/
var key=param(1);
Map streamMap;
treenode mapnode=c.subnodes.assert("streamMap",streamMap);
streamMap=mapnode.value;
int result=streamMap[key];
if (result==0){
    result=streamMap.keys.length;
    streamMap[key]=result;
    mapnode.value=streamMap.clone();
}
return result;

flexsimmttrerror2-jl2_getstream_override.fsm

1 Like 1 ·