question

Kari Payton avatar image
1 Like"
Kari Payton asked Matthew Gillespie answered

Reserve resource at a time interval before it is actually needed.

go-early.fsm

Hi,

I am trying to model a real world situation where the supervisor is in charge of allocating resources to different processors who have different priorities. I understand how to set the priority resource queue strategy. The problem I am trying to solve is how to use a time interval for prioritization. In this scenario, whenever processor 8 is going to need the resource within 10-15 minutes, then no other resource should be able to acquire it. I am having trouble setting this up because I don't know the specific time that the processor will need the resource because the delays use statistical distributions.

FlexSim 17.0.0
resourceprioritization
go-early.fsm (31.8 KiB)
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

1 Answer

Matthew Gillespie avatar image
0 Likes"
Matthew Gillespie answered

I've attached a new version of your model. I changed your process flow to look like this:

In the Calculate Delay activity I'm setting up the labels that will be used in the next activities for delay times. The delay label holds the total delay time, and the aheadTime label is the amount of time before the delay finishes when you want to try to acquire the resource:

The first delay activity will delay up until the ahead time:

After that delay I use a split activity to split the token into two. The first token goes to the acquire and the second goes to a delay to finish the remaining delay time (the aheadTime). The next activity is a Join activity which will wait until both the resource is acquired and the remaining delay time is finished. Then the tokens will be merged and the processor can continue its logic.


flow.png (24.3 KiB)
labels.png (11.4 KiB)
delay.png (5.6 KiB)
go-early-split.fsm (33.5 KiB)
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.