question

Matthias Wanner avatar image
1 Like"
Matthias Wanner asked Joerg Vogel commented

Pull strategy does not work for queues?

priority-model-revisited.fsmIn my simulation, I have two sources with different flowitems. On exit at the sources of the flowitems, the sources set a label called "priority" in the flowitem. After the flowitem is placed on the first queue the operator should take the flowitem with higher priority label. Because I used the pull strategy in the following queue. I used best "Pull Best Item" with a custom label, in this case: priority. Now when I run the simulation the operator does not always take the correct item. The longer the simulation runs, the more errors occur. But if I use a processor without a queue in front and implement the pull strategy directly in the processor, the operator works correclty. Can someone help me? I dont want the operator to wait at the processor to collect the next flowitem and I want to use queues. Thanks a lot.

FlexSim 17.0.2
operatorpull strategyqueues
· 4
5 |100000

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

Kari Payton avatar image Kari Payton commented ·

Could you attach your model @matthias.wanner?

0 Likes 0 ·
Matthias Wanner avatar image Matthias Wanner Kari Payton commented ·

now it should be there

1 Like 1 ·
Fer Díaz avatar image Fer Díaz commented ·

Hello,

pullstrategy_priority.fsm I have used your script for the pull strategy of the queue.

In this simulation, I created 4 products in 4 different queues, each with a different priority, but giving higher importance to priority 1. These products are picked up by the transporter according to their priority. It works well, except for the first item taken by the transporter from queue 1, which is taken independently of its priority.

Additional information: these products are dispatched to a combiner, where they will be packed until a certain number of items is reached, depending on the product type. I utilized queue 5 before the combiner, as the combiner doesn't have a pull strategy.

I think it is related to the initialization of the variables. I would appreciate if someone can help me.

1703157986486.png


0 Likes 0 ·
Joerg Vogel avatar image Joerg Vogel Fer Díaz commented ·
@Fer Díaz, please ask a new question! This question has got an accepted answer and it may a bit outdated, because other mechanism might be more effektive in newer versions of FlexSim.
0 Likes 0 ·
Jacob Gillespie avatar image
1 Like"
Jacob Gillespie answered Matthias Wanner commented

The problem that you are running into is that Queue1 has a Maximum Content value of 1000. Each new item isn't being blocked but reserves its spot in the queue. You could get the functionality you are looking for by setting Maximum Content to 1 and then having Queue1 send its item to an intermediary queue that has a regular Maximum Content.

priority-model-revisited-edit.fsm


· 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.

Matthias Wanner avatar image Matthias Wanner commented ·

@Jacob Gillespie Yes! Thats it! It works. So if the queue has a max content more than 1 the pull strategy does not work, because the flowitems are not following the pull strategy but reserve a slot in the queue. Think I got it now. Thanks for your fast help!

0 Likes 0 ·
Kari Payton avatar image
2 Likes"
Kari Payton answered Matthias Wanner commented
@Matthias Wanner

If I understand what you are trying to do (use 3 queues instead of two) change the settings on queue 1 to be like the settings on processor 8. Flow Tab -> Input ->Pull Strategy -> Pull item with Maximum Custom Value -> item.priority

· 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.

Matthias Wanner avatar image Matthias Wanner commented ·

This solution approach I already tried, but it didnt work. Thanks for the answer! :D

0 Likes 0 ·