question

Willem VDV avatar image
0 Likes"
Willem VDV asked tannerp commented

How to create a base stock model?

Hello

Recently I tried to make a base-stock model for managing inventory. In my project I would use 3 operations with each a buffer and a finishing queue for the inventory of finished goods.

I use an external given throughput of 15 units per hour to determine how many goods leave our inventory once processed. The problem I have now is that I don't know how to let the sink node know that 15 units per hour need to leave the inventory.

Another problem I'm having is that I don't know how to communicate that production of a unit should start once the inventory position hits a certain level (reorder point). Should I communicate this by a message from the inverntory of finished goods, to the first process?

Kind regards

Willem Van de Velde

FlexSim 17.1.0
throughputbase stockreorder pointbase model
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

Joerg Vogel avatar image
1 Like"
Joerg Vogel answered tannerp commented

A storage area or a rack is not a processor. You can set a dwell time, but then you have a long warm-up time until you get an output rate that matches your condition. Another approach is not easy to guess. You tell the rack not to release anything: Do Not Release Item or as a command holditem(obj. item). Then you explicitly release items by code or ProcessFlow. The command is for example

releaseitem(obj. item,num port);

You can use the code in an user event with a repeated constant release time or you use delayed messages with statistical distributions. You can use the code in any other trigger, too. If you need more items at once you execute the code in a loop.

The object item is a reference to an existing item in the rack. You can access them by the rank or you look for the occupied cells in the rack to find an item. The port number sends the released item through this output port to the attached outobject. You should explicitly define an output port the value must be greater than zero otherwise the object function Send To Port is evaluated again. If you have set there the return value to -1 the released item stays again in the rack.

In ProcessFlow you push the entering items to a list. This can you do in the 3D model, too. In the ProcessFlow you pull the queried item from the list in the interval of delayed tokens. Here you can query the list by the staytime of the items on the list. The delay value is from a suitable statistical distribution, a constant value or from an empirical table driven distribution.

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

tannerp avatar image tannerp commented ·

Here's a simple suggestion that could be used to signal a "reorder" of goods. It could also probably be manipulated to be used for the sink object.

Using the Event Triggered Source found in Process Flow, it's very easy to "listen" to the activity and content levels in various objects in the 3D model. As I've shown in the picture below, the Source waits for the content to decrease to an exact value of 5 (this can be altered, I just chose this for the example's sake).

The token can then be sent on in the Process Flow to trigger the next activity in the model, whether that's moving the object somewhere, assigning it a process time, etc.

Here's an image to be used as a supplement to the above paragraphs:

1 Like 1 ·