question

Ranggi M avatar image
0 Likes"
Ranggi M asked Joerg Vogel commented

How can I prioritize loading task then unloading task?

Good day,

I have this big model, where I assign task for picking in the warehouse. The list of picking included the material handling (container) and item in the rack. The operator need to get the container assigned to him, then go to pick all the item in different rack. Then, will unload all of them in one queue or more.

I haven't made the small model to help explaining what my problem is but I will try to explain what I already did :
1. I look some list in global table using on message in dispatcher to create container with the information detailed in that global table (like where to go, how many item should be picker for it) in the queue A assigned the label of the name of operator

2. When the container created, it will automatically ask for transport to Queue Final. In the pass to of dispatcher, using custom code it will only assign container to specific operator based on the label of the name of operator.

3. When operator being assigned to load the container, each time the container going to On Exit, the custom code to create item that should be picked for that container being created in the rack and automatically pulled to the Queue Final also.

What I expect is, the operator will pick all the container, then go pick all the item in the rack before going to the Final Queue, but somehow, because the final queue is closer to the Container Origin, the operator go to unload the container first then go do the picking.

I will attached the model if it will help, but I want to ask first here, if I can do little changing to what I did to achieve what I want. Because if not it will takes time to change all of the to something else.

Thank you!

FlexSim 19.2.4
dispatcherpickingtasksequencetask executers
· 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.

Joerg Vogel avatar image Joerg Vogel commented ·
There is a misunderstanding what a pass to function does. A pass to function transfers tasksequences to a dispatcher or taskexecuter. what you need to adjust is the break to function in the taskexecuter. This function is responsible to load more items by conditions you implement. This function checks if there are any tasksequences for transport jobs to get fulfilled by those conditions. If the taskexecuter has got transport capacity left and the tasksequence are built by FlexSim engine standards, then his break to function is called to begin another transport job and store the unfinished already loaded transport job in his tasksequence queue to get finished later. If you want to implement an own logic besides FlexSim standards you can do this in process flow.
0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann commented ·

Based on your description you could try two things:

1) Set the "Break to" option of the operators to "Same Destination". This should cause the operator to query for task sequences with the same destination after loading an item. Depending on the timing of when the other items are created, this might not work out though.

1635840401341.png

2) Assign the tasks to move the items a higher priority.

1635840461339.png

If these don't work, it would be good if you could post an example model of your logic. That would make finding a solution much easier.

0 Likes 0 ·
1635840401341.png (10.5 KiB)
1635840461339.png (6.6 KiB)
Ranggi M avatar image Ranggi M Felix Möhlmann commented ·
Hi, @Felix Möhlmann I want to try the "same destination" break to. But it can't be since, the destination of each item can be different . I will try the Priority first before trying to make a small model. Do you know when break to will fire? Will it get fire every time there is new sequence?
0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Ranggi M commented ·
"Break to" will fire each time the operator starts a "break" task. These are inserted after each "load" task in automatically creates task sequences as far as I know. So each time the operator loads an item it checks for other eligible sequences in the task sequence queue.

Also, since the operator will load the items itself, its capacity has to be large enough to hold all items.


1 Like 1 ·
Ryan Clark avatar image Ryan Clark commented ·

Hi @Ranggi M,

We haven't heard back from you. Were you able to solve your problem? If so, please add and accept an answer to let others know the solution. Or please respond to the previous comment so that we can continue to help you.

If we don't hear back in the next 3 business days, we'll assume you were able to solve your problem and we'll close this case in our tracker. You can always comment back at any time to reopen your question, or you can contact your local FlexSim distributor for phone or email help.

0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel Ryan Clark commented ·

@Ryan Clark , I am sorry, but Ranggi M has not got an answer, he can accept. We started only a conversation to discuss his request.

0 Likes 0 ·

0 Answers