question

Matthias avatar image
0 Likes"
Matthias asked Felix Möhlmann edited

The shortest path to pick up orders from Global Table using NetworkNode ?

Hi again,

I've finally made my model, but I have one more question.
Is there any possible way, to implement some logic to this very model, to make the Operator1 pick up the closest Flowitem(box) to him walking on NetworkNode ?

Right now there're 141 arrivals of different boxes with Type label (1-141) and they're randomly located in the warehouse. Racks output is Port By Case to the Combiner. Operator picks up orders according to rows in Global Table "Zamowienia"

If I make, for example - first order to pick up box number : 3,7,16 and 138 (I show it in the picture) the operator goes for boxes in this exact order, where it would be more effectively for him to pick it up in this order: 3,7,138 and 16 .

Could somebody tell me if it is possible? And if so, how?

warehouse_1.fsm

FlexSim 24.2.2
global tableorder pickingnetwork node
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 Felix Möhlmann edited

The fastest solution at this point would be to assign different priority values to the racks based on the sequence in which the picks should happen. Then edit the "Break To" code of the operator to check all pending task sequences and break to the one with the hightest priority.

warehouse-1-1.fsm

Other options would be:

Since the combiner will pull items through its inputs in ascending order, you could rearrange the port rankings to reflect the order in which the picks should be done. This would of course only work if all types of items are always available.

Or you use the addressing scheme to assing each rack different aisle/bay numbers. Then don't pass the task sequences directly to the operator but push them to a list instead. They can then be pulled in the 'correct' based on the aisle/bay of the involved item.


warehouse-1-1.fsm (231.3 KiB)
· 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.

Matthias avatar image Matthias commented ·

Thank you @Felix Möhlmann for the answer. I would have answered you faster, If I hadn't been so sick for the last two days.

Since I'm pretty newbie at this, could you sir give me some advice based on what I say now? - Your ideas are good and personally think 1st and 3rd could be the ones to introduce.

BUT. At this point I don't have these 8 orders specified yet. I will definitely make more of them and rearange those first 8. It's just something I wanted to do little later.
Of course the boxes (goods) from sources always go to the same racks, - to specified places.

SO NOW, please correct me if I'm wrong, but If I do this as you said in the first idea - it will only work when I make specific order, then change the code (racks priorities) and this will only work for this one specific order? Then If i change the 1st order to pick up instead of 3rd box (Label Type 3), to for e.x. 4 - I will have to change code again because box 4 will be in different rack. Yes, or not?
Is this logic (code changing) possible to introduce to Order Table with multiply orders? In other way - this "rack order code changing" can be done for each of the orders? (If I change the code and make many other orders - will all this work for every order, or just for the first one)?
On the racks sometimes are 4 or 5 type of boxes - for e.x. in the Rack 34 are boxes labeled: 67, 112, 65 nad 110. If the "racks order changing code" is to be done for every order, I think it won't collide, but if not, I'm pretty sure it will. (?)

If it has to be done for every order - sure, I can specify all the orders, then edit code, but how to do it? Maybe you could show me which part of code do I need to change in what range?

I checked your model and you connected nodes on different floors of the warehouse (yeah, you couldn't know this- the model represents two floors with stairs). I disconnected those nodes and amazingly - it threw up error in the console. Don't know why.

stairs-jpg.jpg

Regarding to your 2nd idea - at first I thougth it won't work, but then I rethought it and it will work, but It will change all my Order Table. In the order table I will have to put in the rows information, which type of good is this. Now is ascending order 1,2,3 and it suit the box labels 1,2,3 (and rows order). If I change it the way you say I will have to put there info (Box) 78, 73, 89 in the first three rows. It is some solution. Will add me some work, but at least I think I'm able do it.

As for the 3rd idea - unfortunatelly I'm not familiar with this options.

0 Likes 0 ·
stairs-jpg.jpg (160.3 KiB)
Felix Möhlmann avatar image Felix Möhlmann Matthias commented ·

While possible, I don't see why changing the priority on a per-order basis would be necessary here. The idea is that working through the racks in a specific order will always result in a sensible travel path without backtracking. (This is just an example. The order could also go from right to left or be different on the two floors). I can't think of a case where this would result in a suboptimal route with the given layout.

1739778184820.png

Using an addresse scheme you can control the route in even more detail, since you can also order the tasks by the bayIDs instead of just the racks. In the attached example model the operator always follows the indicated path when picking boxes (as long as there are boxes from both aisles in the order).

1739779555093.png

pick-order-list-with-address-scheme.fsm

I wish you a quick recovery. :)

0 Likes 0 ·
1739778184820.png (529.4 KiB)