Jump to content

simultaneous timer events [solved]


Recommended Posts

Hello.


In my model, I have three timers that launch events at the same time: based on time, one (call it A) launch its event at 60, the second at 30 (B) and last at 120 ©. So every 120hours, the three launch their events. Does Simio choose randomly their order on the heap, or is there some kind of "hidden choice"? In "Simio event calendar", it is written that "Within an event type the events are ordered by event index; i.e. the order in which they were scheduled". I do not really understand "the schedule order". In my model, it seems that Simio chooses C-A-B for what I have seen. Is anyone able to explain?

I thought that maybe, at time 0, C is put in "future events", so are B at 30 and A at 60. Then, at 60, A is added at 120 (after C so) and B at 90. Finally, B at 120 and we have the order C-A-B. Am I right?


Thank you!

Edited by Guest
Link to comment
Share on other sites

The order of simultaneous events is determined by their position in the heap, and the specific algorithms used for sorting and removing events from the heap. That said, it can appear that it is random because it is hard for users to predict and control.


The easiest thing to do is to avoid simultaneous events by adding very small adjustments. For example, the first B could be offset by .00001 and the first C could be offset by .00002 seconds. This is unlikely to impact the model behavior in most situations except that it will make your events happen in a predictable order (in this case A-B-C).


Another approach that works in some instances is that you can force a particular event to be pushed to the end of the current event calendar (e.g. make it the new "last" event to be executed at a given time). You can do this by specifying a delay of time Math.Epsilon.

Link to comment
Share on other sites

Thanks for the advice. Actually these events are really simultaneous (I simulate the grouped maintenance of multiple machines), and I have initially let Simio schedule them. I just wanted to understand the logic.

But I have not yet used math.epsilon, and maybe I could add some "intelligence" to my models using that.


Thank you again!

Link to comment
Share on other sites

  • 3 months later...
×
×
  • Create New...