Adjusting the production sequence is a popular way of handling production lines with a product-dependent workload. This post is part of rather long series on Mixed Model Sequencing. In the last post I discussed the basics of sequencing and the calculation of the takt time. This post describes the basics of adjusting workload and buffering – but still for a simple case of only one imbalanced station. Subsequent posts will get more serious with multiple imbalances. But let’s continue with our simple single imbalance example.
A Bit About Workload
In the last step in the previous post, you figured out what takt time you need for which product variant. Let’s again take the example of a two-door and a four-door car, where mounting four doors takes twice as long as two doors, and the target takt time is 60 seconds per car. If you have a 50:50 mix, you need to get the four-door takt to 80 seconds and the two-door takt to 40 seconds to get an average of 60 seconds.
Hence you now would have to make sure that the workstation is able to do a two-door mount in 40 seconds and a four-door mount in 80 seconds on average, meaning the takt time has to be a bit faster, with the difference being the OEE. For this you can use all the usual tools to change takt times (and cycle times).
If the workload is too much, you could add another worker. Or you could split the work among different stations. Or you could add or optimize tools and machines to make the work faster.
If the workload is too little, you could remove a worker. Or you could add smaller tasks maybe from other stations. Overall, you have all the tools available to adjust your workload as you would have in normal line balancing. However, there are a few limitations specific to stations with mixed products that have different workloads or takt time:
- You must have the same number of operators regardless of the product type. Do not move operators around on very short notice depending on which product comes down the line. Additionally, they both should not have any significant idle time.
- Tasks cannot move between stations depending on the product. For a negative example, consider if you mount two doors you also attach a mirror, but if you mount four doors the mirror is done somewhere else. This is bad. This will create even more imbalance elsewhere, and you may end up with cars where the mirror was forgotten. I advise against such shifting around of tasks among stations during normal operation. All the tasks need to stay at this station. You may skip tasks (i.e., not mounting a sunroof if the car does not need a sunroof), but you cannot shift them elsewhere temporarily.
- The average takt time must match the line takt. As discussed before, the average takt time (or cycle time) across all product variants for this station needs to match the overall takt time of the entire line. On average, the workstation should neither be faster nor slower than the rest of the line.
Again, we don’t care about machine waiting times. Hence, feel free to have one machine or tool exclusively for one product and another exclusively for another product if it helps you with your task.
A Bit About Buffering
So now you have created good takt times for your different products at this workstation. On average, your station takt matches the line takt. But never forget that the individual product types do not match the line takt. Some products may take longer (a four-door vehicle), others may be faster (a two-door vehicle), and again others may be just with the takt (a three-door vehicle?).
Hence, even if the average fits, the individual products won’t. As a result you need to buffer these fluctuations. There are Three Fundamental Ways to Decouple Fluctuations: You create either an inventory buffer, a capacity buffer, or a time buffer. Most useful is the inventory buffer. But before I go into inventory buffers in more detail, let’s get the other two out of the way.
Capacity Buffers
A capacity buffer would increase and decrease the available capacity depending on the demand. In my previous posts I already talked a lot about why it is a bad idea to have workers move in and out of the line on short notice, so let me just repeat that this is a bad idea. However, for smaller fluctuations we can use human nature to help us. Human workers can work at different speeds. On average, it should be a workload that keeps the worker busy without overloading, and that he can do every day for years without problems.
However, for short periods a worker can work a bit faster if he is able to rest a bit afterward. Hence, for product variants that have only a slightly longer takt time or a slightly smaller takt time, the worker may be able to work a bit faster during a busy part, and relax a bit during the not so busy part.
This may even happen automatically. If the worker sees that there is a larger bit of work coming, or that his colleagues may have to wait for him, he will speed up a bit. If there is little work and he would have to wait on other anyway, he will slow down a bit. A difference of ± 10% of the takt time is often not a problem for human workloads as long as the average is fine. Selling the idea to the unions, on the other hand, may be a bit more difficult.
Time Buffers
Another option is time buffers, and these are usually the worst type. It means if the station does not get done in time, others will have to wait. If the station is faster than the others, the station has to wait. Please remember that we do this whole exercise solely to reduce waiting times in human workers and to avoid inefficiencies and waste.
This type of buffering does not need any particular planning, as it is the default way of decoupling fluctuations. If something goes wrong, no matter if it is with capacity (production) or inventory, someone has to wait (customer, workers, suppliers, etc.). Again: We want to avoid that!
Inventory Buffers
Often the best way of buffering is through inventory. You can create a buffer inventory before the workstation that fills up if the product variant takes longer, and empties again if the product variant is faster. Similarly, you can create a buffer inventory after the workstation that empties if the product variant takes longer, and fills up again if the product variant is faster. Psychologically, a buffer before often feels better for the workers at the workstation, but technically it makes little difference.
Here you also have to consider the type of line. If it is an unstructured timed line as shown below, you simply add the required buffer before.
We already discussed that a pulsed line (shown below) is not well suited for this type of mixed model sequencing.
With a continuously moving line your buffer is simply a wider slot on the line. For example, if your line moves at 6 meters per minute, a station requiring 60 seconds would have a 6-meter-wide slot. If the station requires 80 seconds, the station would have a 8-meter-wide slot. If a part requires sometimes 40 seconds (two doors) and sometimes 80 seconds (four doors), you need a 8-meter-wide slot, even though you sometimes use only 4 meters if a two-door comes along. The difference is your buffer to manage the fluctuations in the work content.
This continuously moving assembly line has the advantage that you can add buffers that are not the equivalent to an integer number of parts.For the unstructured line, you either add a buffer capacity of one (or an integer number of parts), or you don’t. You can’t add the equivalent of half a part of buffer for an unstructured line. However, for a continuously moving line this is possible. We just did that. By making the slot 8 meters wide, we added the equivalent of one-third of a part as buffer capacity. Neat, isn’t it?
I will continue this in my next post. This series on product dependent workload turns out to be rather long, so stay with me. Until then, go out and organize your industry!
P.S. Many thanks to Mark Warren for his input.
Series Overview
- Mixed Model Sequencing – Introduction
- Mixed Model Sequencing – Just Make the Problem Go Away
- Mixed Model Sequencing – Adjust Capacity
- Mixed Model Sequencing – Basic Example Introduction
- Mixed Model Sequencing – Basic Example Workload and Buffering
- Mixed Model Sequencing – Basic Example Sequencing
- Mixed Model Sequencing – Complex Example Introduction
- Mixed Model Sequencing – Complex Example Data Basis
- Mixed Model Sequencing – Complex Example Sequencing 1
- Mixed Model Sequencing – Complex Example Sequencing 2
- Mixed Model Sequencing – Complex Example Verification
- Mixed Model Sequencing – Summary
Here is also the Sequencing Example Excel File for posts 7 to 11 with the complex example. Please note that this is not a tool, but merely some of my calculations for your information.