Jump to content

Assign a value to a state variable following a time series distribution


PierreUL

Recommended Posts

Hi!

I try to modelize a production process. All my entities are of the type. But I want to give at each entity parameters such as height and length. I want that Simio generate it randomly in a state variable as an entity exit the source.

My problem is the those parameters don't follow a standard distrubution as a normal ou triangular one. It follows time series (chronological series). Since it's a current pattern in production, I was wondering if there is a simple way to implement it in Simio?


Thank you in advance!

Pierre


(I hope it's clear enough? Don't hesitate to ask me precisions if it isn't.)

Link to comment
Share on other sites

Hi,

Thanks but my problem is not how to assign a value. I can already do it and it work. My problem is more about the statistics, how to assign the right distribution. So far I assigned a value following a normal distribution (random.normale(m, s)) but it doesn't match to the reality at all. I need to modelize time series. so is there special features in simio that could help me to do it?


Thanks in advance,

Pierre

Link to comment
Share on other sites

Simio does not have a distribution for a time series, but there are other ways:

For example, let's say you are assigning length, but that average length increases by 1 inch each hour. You could use an expression like:

Random.Triangular(12+TimeNow, 16+TimeNow, 20+Timenow)

which at time 0 would give you a mode of 16, gradually increasing to a mode of 17 after 1 hour and to 26 after 10 hours.


If it is not a linear increase, you could put values in a table and at successive times read from a different row in the table:

Random.Normal(MyTable[CurrentIndex].CurrentMean,5)


Or you could use a lookup table and put time and value pairs in the lookup table:

Random.Normal(MyLookupTable[TimeNow]

Link to comment
Share on other sites

If the sample itself is reused 2-10 times (highly unusual) than you could assign the sample to a state, then use that state value multiple times. You might also look into using the Math.SumOfSamples function - that might work for you, depending on what you are doing with it.

Link to comment
Share on other sites

×
×
  • Create New...