Sorry in advance for the essay... I wanted to explain the idea thoroughly.
Assembly line material replenishment and consumption is a very common problem in manufacturing environments. However, it is surprisingly difficult for inexperienced modelers to create this type of model in FlexSim. I have worked with 10+ modelers in the last year who have tried to create this type of model. For instance, consider the following model requirements:
Example Scenario: Model a product being assembled on a production line. The production line produces 10 different variants and items are added to the product in 50 stations based on the product being produced. There are around 500 parts added to each product with amounts that depend on the variant. The lineside storage for the raw material is in buffers that are replenished using min/max replenishment. Parts are reordered from a external warehouse when the buffer reaches the min and follow the following chain to get to the lineside location:
- Warehouse location to warehouse dock - using forklift
- Warehouse dock to truck - using forklift
- Truck to plant dock - using forklift
- Plant dock to plant lineside location
- using tugger or forklift (depending on size and weight)
The parts are ordered by the packaging qty. The tuggers at the plant can carry 500 lbs of material and follows a defined route every 30 minutes for delivery.
This is a common scenario to model to learn the following things:
- Optimizing min/max replenishment points for a line
- Optimizing tugger routes
- Finding overall system performance
Current Difficulty: I am not saying that it is impossible to mostly do this with the current objects in FlexSim (there are a few exceptions). However, for a model that is common to almost all assembly plants, it is not intuitively accomplished in FlexSim. Also, it can become a mess really quickly at scale (think 10 stations with boxes that contain 10,000 bolts and 2 bolts used per part...). Below is some functionality that a material replenishment model could include that I think would dramatically improve the ability of FlexSim to tackle this type of problem. If it is possible to do these inherently in FlexSim (without or with minimal custom process flows/code), then please let me know.
Requested Functionality
- Allow easily defining the route that a part takes to get from storage to consumption (I see this as similar to a patient track in HC)
- Defined replenishment mechanisms
- This is basically the method used to reorder the parts when the lineside inventory gets small. Some common methods are the following:
- Min/max replenishment (This requires quite a few labels and messages)
- Frequency (This is currently easy to do)
- This is basically the method used to reorder the parts when the lineside inventory gets small. Some common methods are the following:
- Better resource capacity considerations for task executers (by weight or volume)
- When doing material delivery models it is useful to model a small box of bolts as a flowitem and an engine block as another. However, if I set the capacity of an AGV to 2, then it considers two small boxes of bolts to be the same as two engine blocks... In order to fix this it is necessary to do other work like add labels and do capacity based off labels.
- Define routes for resources that are run continuously (can be done with AGV module) or at an interval.
- Scalability I most often accomplish this by being sure to do delivery by packaging qty and then doing consumption from a label with the currentQty on a lineside location. This requires quite a bit of code to get it working.
I would be happy to have further discussions on this, if it is something of interest to the community.