Jump to content

Random Entity Arrival from Data Table with Finite Entities


magranata
 Share

Recommended Posts

Hello,


I have a data table with 900 total entities, comprised of 10 different types of entities.


I am trying to randomize which entities go through the model, but I need all 900 to go through. I've tried the "entity mix" technique, but it always overloads my model with too many entities.


Does anyone have an idea of how to go about this? I want to run a series of experiments with a random selection of entities for each replication.


I hope this makes sense.


Thanks in advance!

-Mario

Link to comment
Share on other sites

The attached file includes one of the many alternatives. In order to ensure the randomness you should order the entities in a random fashion first. Then send them to the system sequentially. By this way you guarantee all of them to get through the system randomly.

sample file.spfx

Link to comment
Share on other sites

Gocken,


Thanks for the quick response! I have one question about this approach..


If I were to run say, 10 replications of this, wouldn't the entity data table be the same each time? Is there anyway to randomize the row number?


Thanks in advance!


-Mario

Link to comment
Share on other sites

There must be a simpler version but until discovering that one:

First add 900 rows to the existing table (for each replication you have to add 900 rows, each composed of different ordering of entities). Then, set replication number to 2 from Run-->Advanced options-->Randomness. After this enter (Run.ReplicationNumber-1)*900+RowNumber to rownumber property of source object.

sample file.spfx

Link to comment
Share on other sites

  • 2 weeks later...

Your original problem stated:

I have a data table with 900 total entities, comprised of 10 different types of entities.

I am trying to randomize which entities go through the model, but I need all 900 to go through. I've tried the "entity mix" technique, but it always overloads my model with too many entities.

It seems the best and simplest approach is illustrated in SimBit SelectEntityTypeFromTable . Your table would have 10 rows, one for each entity type. You would add a 2nd column to hold the weight or frequency of selection for each entity type. Set your MaximumArrival on the source to 900 to avoid any overload.

Link to comment
Share on other sites

Thank you! The table method seems to do the job.


However, I do question the 'RandomRow' Expression. Is this truly stochastic? I ran the SIMBIT 10+ times, and each time the first 4 parts were Part B and the 5th part was a Part C. I noticed this with my model as well. My model does create the appropriate percentage of parts based on my table, but I'm not sure that it's a true mix (as far as arrivals go) each time I run it.


Thanks for all of the help.

-Mario

Link to comment
Share on other sites

Nothing in any simulation product is truly random - it is pseudo-random, or "predictively random". I know that's an oxymoron, but you want results to appear random, but still be predictable. And the RandomRow function behaves that same way.

Every time you run replication #1 in Simio it will generate identical results, but replications 2, 3, ..., n will each be different. The interactive view always uses replication 1. That's part of the reason its important to run experiments with a suitable number of replications.

Link to comment
Share on other sites

×
×
  • Create New...