question

Shawn avatar image
0 Likes"
Shawn asked Shawn commented

Order picking in process flow

Hello,

I am trying to use the global table to pick boxes on the process flow. How can I do this operation :

when the transporter unloads the pallets, the Operators will go to 5 Queues for picking,and then go to help other queues picked until all racks are picked up, the Operators return to use the pallet jack and send a pallet of boxses to the shipping queue.

This is my model:
Warehouse B2B picking.fsm

At the same time, I also want my process flow to be merged together in a better way, is there any smart way to do it?

Regards,

Shawn


FlexSim 22.1.0
process flowglobal tableorder pickingzone picking
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

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

To be able to control the task distribution more easily, I would build the logic 'the other way around', from the viewpoint of the operators. Instead of the items acquiring an operator to move them, the operators look for items to transport.

That way you can set certain conditions in order for an item to be allowed to be pulled and order the transport tasks by priority.

In the attached model I use an item list to hold all pending items that have to be transported somewhere. They are pushed to the list in the transport reference field of the 'Use Transport' option. (Though you can of course push the to the list in other ways such as triggers or process flow). In addition to the default labels 'destination', 'priority' and 'preempt', the queues/combiners labels 'aisleNum' and 'strict' are also copied to the item. The aisleNum shows which isle the transport task belongs to and is later used to prioritize which items get pulled first by an operator. The 'strict' label will control whether an operator from a different aisle is allowed to pull the item or not.

1653470569107.png1653470603249.pngEach operator also has the 'aisleNum' label which specifies in which aisle they (primarily) work.

The 'strict' value is added as a label field to the list. The 'aisleNum' is used in an expression field that calculates the difference between the item's number and the puller's number.

1653470815101.png

To control the operator and instanced process flow is used. Each operator thus runs its own version of the process flow and can be referenced as 'current' throughout.

The process flow is quite simple in this case: Each operator pulls items from the list and transports them from their current location to their destination.

In the 'Pull Item' activity the list fields are used to distribute tasks:
- The operator can only pull items that can be transported by anyone (strict == 0) or that belong to their aisle (aisleNumDiff == 0).
- The tasks are ordered first by the priority (so single boxes have priority over full pallets) and then by the aisle difference (so operators will first move all items in their own aisle, then move to the closest one)

1653471064663.png

ProcessFlow_TaskDistribution_fm.fsm


· 21
5 |100000

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

Shawn avatar image Shawn commented ·

Hi Felix,thanks for your answer.

If I want my picker to load 5 boxes at a time, where should I make changes.

0 Likes 0 ·
Felix Möhlmann avatar image Felix Möhlmann Shawn commented ·

In theory you would just have to increase request number in the pull from list activity and move the load and unload activity into a subflow to run it as often as needed.

In practice it might be better to first pull one item and then pull up to 4 more. Because then you can make sure that the items all have the same destination (which in this case also means the same starting location).

1653507656071.png

processflow-taskdistribution-fm_1.fsm

0 Likes 0 ·
Shawn avatar image Shawn Felix Möhlmann commented ·

Hi Felix,Sorry to reply so late. I'm trying to understand how to apply it to my model. When I applied the additional model to my model, he got stuck (as shown in the figure below). Can you help me find out the problem
picking-error.pngWarehouse B2B picking.fsm

0 Likes 0 ·
Show more comments