question

SudheerReddy avatar image
0 Likes"
SudheerReddy asked Mischa Spelt commented

Doubt on Acquire Resource which uses group as a reference.

acquireresource.fsm

I am attaching the model for reference.

In Groups I have added 5 task executers as members. In process flow I acquire a resource and release a resource.

Here my question

1) Task Executer1 has completed the Job and released the resource and arrived to Loading point. When the next item arrived even Task Executer1 is available it acquires TaskExecuter2 and so on. Why is TaskExecuter1 is not acquired first even it is available, could please explain the reason for this kind of behaviour.

2) In Group even if I have 5 Task Executers, if Task Executers1 completes his job and comes back, then my next item should take Task Exectuer1 for having better utilization. How to achieve this kind of a set up?

FlexSim 19.1.2
acquire resource
doubt1.jpg (80.3 KiB)
acquireresource.fsm (36.0 KiB)
· 3
5 |100000

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

SudheerReddy avatar image SudheerReddy commented ·
0 Likes 0 ·
SudheerReddy avatar image SudheerReddy commented ·

@Mischa Spelt Thanq for the feed back.

I attached my model could you have a look and update it

0 Likes 0 ·
Mischa Spelt avatar image Mischa Spelt SudheerReddy commented ·

Hi, I've made the change described in my answer to the model that you attached to your other question: https://answers.flexsim.com/questions/74093/how-to-set-load-and-unload-time-of-task-executers.html?childToView=74097#answer-74097

0 Likes 0 ·

1 Answer

Mischa Spelt avatar image
1 Like"
Mischa Spelt answered

Hi Sudheer,

The reason for the behaviour you're seeing, is that the Resource works FIFO, like a list (or queue): resources that you acquire are taken from the of the list and when they are released they are added back to the bottom of the list.

If you always want to use the most recently used resource, you can add the push time to the resource, for example:

  • Open the Advanced properties of the Resource
  • On the Fields tab, click the green plus button. From the popup menu, select Task Executer -> Push Time.

  • In the properties of the Acquire, add an order by clause to sort the list with the last added item (highest push time) at the top. You can type the query "ORDER BY pushTime DESC" manually, or use the dropdown of the Query / Object / Array field

This will give the desired effect:

Of course you can add other fields as well -- for example, instead of push time you can use Utilization to make sure that the operator with the highest (or lowest) utilization gets acquired.


addpushtime.png (44.4 KiB)
orderbyfield.png (15.0 KiB)
statebar.png (7.3 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.