question

Florian G3 avatar image
0 Likes"
Florian G3 asked tannerp commented

Simulate different storage strategies

Hello,

I'm trying to simulate a basic Warehouse (source, rack, ASRS vehicle, sink) model to compare three storrage strategies:

FIFO (first in first out), LIFO (last in first out) and FEFO (first expired first out).

I have tried to set some labels for the Flowitems, but im struggling to unload the flowitems out of the rack by the strategies.

Where can I define the strategie in the properties of the rack?

Where can I set some movement options for the ASRS, wether it moves in a single or double cycle?

Many thanks in advance for your feedback and ideas

FlexSim 18.1.2
flexsim commandswarehouseasrs vehiclefifolifo
5 |100000

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

tannerp avatar image
1 Like"
tannerp answered tannerp commented

Hi @Florian G3,

If you use a list in your model, you can pull from that list using queries like "ORDER BY age DESC" that follow the logic of FIFO, LIFO, and FEFO. The lists will automatically track the age of the items on the list so all you need to do is add the proper query. If you post an example model, I'd be happy to show you where to do this. Just make sure to tag me @tanner.p.

Regarding the question about ASRS movements, do you mean how many items it picks up per cycle (like a capacity) or something different?


fifo-query.png (19.3 KiB)
· 10
5 |100000

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

Florian G3 avatar image Florian G3 commented ·

Hello tanner,

You find my model in the insert files.

I have tryed to define the lists for FIFO and LIFO, but im still struggeling to connect them to my model, can you give me a hint or a solution?

do you have an Idea how i can define the colour of my boxes get brightend by the time it stayes in the Rack? That would make it easy to check if the strategie works.

Many thanks in advance

@tanner.p

fifo-lifo-fefov2.fsm

0 Likes 0 ·
tannerp avatar image tannerp Florian G3 commented ·

Hi @Florian G3,

Sorry for the delayed response. I can help you implement this logic, but I need to know when the racks are supposed to be unloaded. Do you want the ASRS Vehicle to load all of the items before unloading any items? Or do you want it to load and unload at the same time? The different ASRS Vehicles in your attached model are behaving differently.

0 Likes 0 ·
Florian G3 avatar image Florian G3 tannerp commented ·

Hello @tanner.p

fifo-lifo-fefov2.fsm

My goal is to compare the different storage strategies. It will be perfect, if the racks can be loaded and unloaded at the same time, mayby controlled by a production Table.

I added my new model. To make my results better to compare, i added some queues in front of the rack to make sure to provide enough flowitems simultaneously.

I have added a global list ('StorageTable') to control the load and unload process.

And I added some triggers in the Queue ('QUEUE ASRS LIFO') to give the flowitems a value depence on the time entering the Rack. I was not able to track and use this value to control the unload process.

Can you help me to implement the logic for the LIFO, FEFO and the Random rack? For the random rack I want to pick the Flowitem closest to the ASRS Vehicle.

Can you give me a hint how i can control the load process? The rack should be loaded by the closest distance between the loading station (Queue) and the first empty cell.

('First Available Bay' and 'First Available Level' in the rack logic loads Bay after Bay, which makes the distance longer for the ASRS)

Many thanks in advance

0 Likes 0 ·
fifo-lifo-fefov2.fsm (207.7 KiB)
Show more comments
Show more comments
Joerg Vogel avatar image
0 Likes"
Joerg Vogel answered

Random: you can add an global item list in the toolbox. There exists a dynamic field which calculate the distance to the queue where an item is. You adapt this code to compute the distance of populated rack cells and the location of the extender of an ASRS vehicle. You need some adjustments in the rack.

  • The dwell time is set to hold the items in the rack.
  • You release the item in rack cell that you pulled closest to the location of the vehicle. The command is releaseitem.

If you need a dwell time for a random rack you must think about a priority strategy when the distance is in favor to the delay of release. The dwell time and the priority are fields of your list, which you evaluate in your pull condition.

For the search of closest empty cells you add another list that stores all currently empty cells. An additional static field is the distance to your queue. You pull the cell node value from the list, when you transfer an item into the rack, and you push the cell node into the list when you unload an item from the cell.
You can start with my own question and answer to get rack cells. You need to convert the result table into an array to push the rack cells into a list. The querry clause to achieve this is ARRAY_AGG(yourColumnName).

5 |100000

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