Jump to content

Help Creating Entities Once a Month and Processing Only During 8 Hours


Recommended Posts

Hi all! I am simulating a facility with nearly 40 servers, each one starting with some entities in the input node at initialization and having a different capacity. Each server has a 0 input buffer capacity. My entity creation is currently set to having an interarrival time to be 4.33 weeks (1 month) with a random number of entities created. Currently, it runs 24/7 and does not care about the time, but I want to incorporate that. How can I make it so that the entities arrive once a month, let's say the first Monday, at 8am? How can I make it so the servers are only processing between 8am and 4pm Monday - Friday? The work schedule doesn't seem to work for me, but I could be doing it wrong, since I have a 0 input buffer, which I can't change as it's part of my routing logic for overflow. I would be happy with using timers or a process logic if someone can explain it to me. Ideally, the entities only arrive when it's during the working time, and the entities remaining after 4pm are just put on hold until 8am the next day. Thanks in advance!

Edited by omarkhan
Link to comment
Share on other sites

You want to make the servers have a Capacity Type of Schedule and follow the default Standard Week. If you don't want to give them a lunch break, just change the definition of the Standard Day. Leave the default Off Shift Rule of Suspend Processing.

The easiest approach for arrivals is to have a Source with an Interarrival time of 4.33 weeks (or 4 weeks) and an integer random distribution for the Entities Per Arrival. Doing a "first Monday" is possible, but a bit complicated because Simio time does not have the concept of Month because months are of varying size. You could probably specify the initial Time Offset to be early in a month, then maybe make the interarrival time be something like DateTime.DaysInMonth(DateTime.Month(Timenow),DateTime.Year(TimeNow)) which would make the next arrival be exactly one month later (same day of the month).

When you say you have no buffers, what do you mean? If an entity arrives when all servers are busy, should it be balked (possibly disposed) or should it wait somewhere like on the server input node, on a path or in the Source output node? 

If the above arrival approach isn't exact enough, you can put exact arrivals in a data table. The arrival time could be specified at any exact datetime you desire and still have the Entities Per Arrival be a distribution. 

Link to comment
Share on other sites

Thank you for the quick and detailed response! I see the error I was making with work schedule and have tested it on one server, it seems to work as intended. Since each of my servers have a different capacity, would I need to create a unique work week and unique day type for them all? Or is there a quicker work around?

The manual inputs for the date time are a great work around, I'm only modeling for a few years so I don't mind inputting a few dates.

What I mean by there being no buffers is that no server can have a queue. I used a list for selecting the destination on the output node of each source (total of 8 ) where it's a hierarchy. It can go to a select number of servers and if all of them are full it goes to a dummy server of infinite capacity that exits the items to an overflow sink. 

Link to comment
Share on other sites

×
×
  • Create New...