Date: 10/18/2018
Author: Descreye Solutions
A buffer is temporary storage to handle the inefficiencies or variability within processes. It is used to decouple the action of one process from the action of another. Warehouses are buffers as the decouple the action of production with that of consumption. Lines often have buffer positions, which are positions where no value added process is performed but it allows one part of the line to run when another is not. In a broader sense the location of material in any non-value added step could be considered a buffer. In that sense material handling equipment often acts as a buffer. Whether the buffer is a giant warehouse or a place for one part to wait for the next step on a manufacturing line buffers play a critical role in the efficiency of a system.
Buffers are an essential part of any production system design. Without buffers any reduction in the output of one part of the system would immediately and proportionally impact every part of the system. However, with adequate buffers a system can have local inefficiencies while maintaining a global production rate.
Sizing buffers is a critical component of logistics, factory, and manufacturing production line design. However, the methodologies used to do buffer sizing are often inadequate or incorrectly applied. Many of the methodologies have assumptions that limit their applicability. Fortunately, buffer sizing simulations are very easy to make and can provide valuable insight in a short period of time.
Currently the most useful methodologies for buffer sizing, outside simulation, can be categorized into two strategies. The first strategy is using queueing theory methodology. Queuing theory provides a method that can mathematically solve the buffer sizing problem. However, in order to use queuing theory the problem has to be perfectly described by the assumptions of the queueing theory problem. That is so rare that it makes queueing theory fairly useless in determining buffer sizes of todays complex manufacturing systems. The second strategy that is often used for buffer design is the cycle stock and safety stock calculations. This is most common in logistics when calculating inventory levels and reorder points, but the same methodology could be used in any buffer calculations. This methodology uses the equation shown below to calculate the safety and cycle stock, which together would give an estimated buffer size given a service level (service level = 1-risk of shortage). The safety and cycle stock methodogy is commonly used, but it is often incorrectly applied. In order to use that methodology it is assumed that both the demand variability and the supply variability is normal. This is often assumed by those that apply the methodology, but is rarely true. Given the sensitivity of the amount to the tail shape of the distribution this produces results that rarely are adequate for actual buffer sizing.
Given the inadequacies in the buffer sizing methodologies it is common in this space to use heuristics to size buffers in design and then to adjust the buffer, if necessary, when production is running. However, the buffers are rarely reduced when they are over designed as the cost has already, at least perceptually, been incurred.
Fortunately, it is easy to make a buffer sizing simulation. Most simulation software can easily simulate a wide range of behavior between servers and clients of the buffer. These can each include working hours, downtime characteristics (MTBF/MTTR), cycle times, scrap rates, etc. By doing this it is possible to accurately predict the requirement for a buffer size. Once this analysis is run the biggest challenge is agreeing on the service level that should be used to set the buffer size. The service level is basically a cost v. revenue trade off between risk of lost sale and cost of buffer. A common failure in this field is caused by overly conservative service levels that drive high inventories. This is caused by the incentives of the organization. While it should be independent on individual peoples jobs it is often not, because nobody is incentivized to make a buffer that is too small 1% of the time.
After running many buffer sizing simulations it is important to always carefully consider all contributors to variability in the system - The buffers purpose is to buffer processes within the system from variability in other parts of the system. One example of this was when I was doing work on a buffer and the leader wanted to have a service level of 99% given the normal operations of the production line. That buffer was identified to be about 1.5 hours. However, then it was revealed that the server part of the buffer was going to run a 7 day week and the other was working a 5 day week. The buffer in this case is actually about a 1-3 days, which is significantly larger that the initial estimate.