question

Lambert avatar image
0 Likes"
Lambert asked Lambert commented

Passing between dispatchers

Hi I have some operators connected to Dispatcher 1 and different ones connected to Dispatcher 2.

I would like the operators connected to Dispatcher 1 be able to work on tasks of Dispatcher 2, but ONLY when they're idle.

I have done some search (https://answers.flexsim.com/questions/108980/how-to-pass-task-to-correct-dispatcher-when-operat.html) but I am unable to find a solution.

Seems like a simple problem, could you please help?

FlexSim 23.0.3
dispatchers
· 2
5 |100000

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

Felix Möhlmann avatar image
0 Likes"
Felix Möhlmann answered Lambert commented

I think a "Pull logic" where the operators decide which available task to work on next would work better in this case.

You can implement this by having the processors push the tasks to a list and pull them in a Process Flow by tokens that each represent one operator. To distinguish between the groups, you can push the tasks to different partitions. The tokens first try to pull a task from their own group, if not successful they see if other work is available.

pulltasks_fm.fsm

For multiple groups of operators, using partitions can get cumbersome, since you can only ever try to pull from one partition at a time.

An alternative approach is to write the task group to the list as a push argument (added directly to the push command in the processors' operator field code at line 36).

Tokens can then compare their value to that of the list entry and sort by whether they match or not when pulling a task sequence.

pulltasks_fm_1.fsm


pulltasks-fm.fsm (50.8 KiB)
pulltasks-fm-1.fsm (52.0 KiB)
· 1
5 |100000

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

Lambert avatar image
0 Likes"
Lambert answered Joerg Vogel commented

Hi, I have a follow up question if I may.

Is there a way of forcing a dispatcher assign a task to a specific operator based for example on an operator label?

In other words, I have 5 operators connected to one dispatcher moving items from queues. I want 1 specific operator of those to be the only one able to pick up items from a different queue.

thank you!

· 6
5 |100000

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

Long G avatar image
0 Likes"
Long G answered Lambert commented

Just make 'A' connection from 'Dispatcher 2' to 'Dispatcher 1' at the end, and default setting of 'Pass To'(First Available) meets the request.

· 1
5 |100000

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