Jump to content

Time varying appointment arrivals


whc563

Recommended Posts

I have an appointment time table that designates when arrivals occur. I would like the "Arrival Events Per Time Slot" to vary with time -- I've tried something like this: Math.If(((DateTime.Hour(TimeNow)>6)&&(DateTime.Hour(TimeNow)<=10)),1,2) (1 arrival between 6-10am, 2 arrivals any time after that), but it seems the arrival events per time slot is fixed at the time the simulation starts.


When I start my simulation at 7am, I get 1 arrival/slot until the simulation ends at 6pm. If I start at 5am, I get 2 arrivals even between 6-10am.


Are there any workarounds to this? Any suggestions would be much appreciated.


Thanks!

Link to comment
Share on other sites

If you want a solution to a problem, it is best to post your questions inside Simio Insiders where we can post files with the response.


I tried what I think you are doing and it worked fine for me, aside from the fact that the expression you used creates 1 arrival per event between 6-11am, 2 arrivals any time after that (because 10:59:59 has an hour that is still <= 10).


I used your expression in the Entities Per Arrival property, created entities hourly on the half hour, and it produced 1 entity at a time until 11:30, when it produced 2.

Link to comment
Share on other sites

I agree, it works when I use the expression on the "Entities Per Arrival" field. But it does not work for me when I enter the expression under "Other Arrival Stream Options > Arrival Events Per Time Slot" (where entities per arrival is set to 1).


I'm using arrival events per time slot vs. entities per arrival because I am NOT looking for batch arrivals. I want multiple independent arrivals (each with their own realized arrival time deviations and no-show probabilities) per each time slot.

Link to comment
Share on other sites

Add a 'NumberArrivals' data column to the data table that is defining the arrival schedule. For example, define your arrival schedule table like this:


SomeArrivalTableName


ArrivalTime NumberArrivals

8:00 am 5

8:30 am 5

9:00 am 10

9:30 am 8

etc.


Then on the Source object, specify the Arrival Mode as 'Arrival Table'. Specify the Arrival Time Property as 'SomeArrivalTableName.ArrivalTime'. Specify the Arrival Events Per Time Slot as 'SomeArrivalTableName.NumberArrivals'.


Note that you can also easily add columns in the data table as well for the Arrival Time Deviation and No-Show Probabilities, and then map those columns to the corresponding properties in the Source. For example, if the Arrival No-Show Probability actually differs depending on the day of week or period in the day.

Link to comment
Share on other sites

×
×
  • Create New...