Mixed Model Sequencing is one way to handle products that have different workloads on a production line. In this post I continue to describe the basics if there is only one station where products vary in workload. This is part of a (rather long) series of posts on product-dependent workload. In my next posts I will go into situations where multiple stations are affected by product-dependent workload.
A Bit About Sequencing
Let’s have a look at the sequence. Keep in mind we are still at the simple example of only one workstation with a part-dependent workload difference to explain the concept. It will get quite a bit more difficult later on.
The idea is to create a sequence with the product types spread as evenly as possible. If you have two products with a 50-50 mix (two door and four door), then you would alternate the two product types. If the mix is 75-25, then three of one type would be followed by one of another type. Below are a few options of sequencing two and four door cars depending on their share.
However, this may not always be that easy. The above examples just happen to be a ratio that results in nice sequences. A 60:40 ratio, however, would be a sequence where you sometimes have two 2-doors and sometimes one 2-door before having a 4-door vehicle as shown below.
This becomes even trickier if you have more than two product types. I have explained the basic approach already in my post Introduction to One-Piece Flow Leveling. However, for normal one piece flow leveling you would start with the largest quantity. Here you start with the product that has the largest takt time difference to the target takt time. For example a product that is 30 seconds faster (or slower) than the takt time takes priority over a product that is only 20 seconds faster (or slower) than the takt time.
You start with the first product, and divide it as evenly as possible on the slots. Mathematically you take the number of products of that type divided by the total number of products. In other words, if every 3.24th product is of this type, then every 3.24th slot is for that product, and you round to the nearest slot. Then you take the next part type, and do the same – except that if the slot is occupied, you take the nearest available slot. You continue with all product types in order of priority (takt time difference).
If your sequence does not distribute the product types evenly, you may need more buffer. Let’s take again a 50:50 mix of two-door and four-door cars. But this time for demonstration, let’s mess up the sequence with a lot size of two as shown below.
Now instead of being 20 seconds over and 20 seconds under the average, you will be 40 seconds over (after two 4-door cars), followed by 40 seconds under (after two 2-door cars). Your fluctuation just got bigger, and you need more buffer to handle these larger fluctuations. Yet one of the main goals of this type of sequencing (besides reducing waiting time) is to reduce buffer space. Remember, the space directly at the assembly line is your most valuable space, and the more space you use simply to buffer parts the more waste you create by walking, bad information flow, longer transport, and so on. Hence, it is important to spread your takt time fluctuations as evenly across the sequence as possible!
Unfortunately the World Is More Complex
The above examples already look complex, with multiple products in varying quantities. However, having only one workstation with products with different workload is still easy. It becomes really tricky if multiple stations have workloads that depend on the product type.
This is usually the norm in the automotive industry. I already mentioned the number of doors and the sunroof. A car can have regular seats, or seats with heating, or with massage functions, or electric adjustments, all of which may have different connectors. There may be an air condition, or maybe not. The customer may have spent extra on a chrome package, illuminated door handles, color applications, door and trunk protectors, or many more options. For example, I read that BMW on average makes two identical cars per variant and year. Only once per year the very same car may come down the line.
If you now optimize the sequence for one workstation, it may be a very bad sequence for the other workstation. If you optimize for the other workstation, it may in turn be a bad sequence for the first workstation.
This may be complicated even more if the station also would have to do rework to fix issues that where done wrongly beforehand. I know, it should not have happened in the first place, but sometimes it does.
The overall goal is again to reduce idle times of workers while increasing inventory as little as possible.
How Many Option Are There?
Just for kicks I looked into the number of possible ways to sequence a production. This depends on the number of product variants and the total number produced. Generally speaking, for n variants and m number of products in total, the possible number of different sequences S are
Unfortunately, this number will go up rapidly. If you make 1,000 parts in one day with 30 different product types, the number of possible sequences 1087 already exceeds the number of atoms in the universe (1078 to 1082, there is a bit of uncertainty here). If you add the restriction of making only a certain quantity of each type, the number of sequences will go down a bit, but it will still be too much to have a computer compare all possible sequences. Hence, a good sequence is often more of an art than an algorithm. Due to the number of possible options, you will probably not achieve a perfect sequence, but hopefully one that is good enough. In the following posts I will describe you an approach that helps you to find a good sequence. Until then, go out, consider where you have product dependent workloads, and organize your Industry!
P.S. Many thanks to Mark Warren for his input.