After discussing a lot about the milk run, its use, and its calculations, here is a post on a number of remaining frequently asked questions. Many of them are pitfalls, where it is easy to make a quick wrong guess (e.g., two milk runs on the same route will not halve your inventory at the assembly locations). Let’s get into more details.
What About Using a Part at Multiple Locations?
You may have identical parts that go to different stops (e.g., screws that are used at different locations). In this case you must consider all of these different destinations separately. Hence, for the same screw you need to calculate a demand at stop A, demand at stop B, and so on for every stop where the screw is used. You cannot use a joint demand!
The reason is that the milk run needs to know where it needs to drop off the parts. If you use identically labeled boxes of screws for all stations, then the milk run does not know where to put them. The driver will probably try to fit as many boxes as possible at the first station, oversupplying the first station and causing all other stations to run out of screws. Hence: Do use separate labels and make separate calculations for every milk-run stop, even if the parts are identical!
I Don’t Have Enough Space!
You may do the calculations and then mentally place the boxes at your station, only to find out that you do not have enough space! Well, welcome to the club! This happens to everybody. You can look at my post on Twelve Ways to Create Space around Your Assembly for some suggestions, but one way to resolve this problem is an increased delivery frequency (i.e., a shorter milk-run cycle).
It turns out that you may have problems only with a few bulkier parts, and everything else is fine. Unfortunately, since they are all on the same milk run, they all run on the same schedule. Hence, a more frequent delivery for the bulky parts means a more frequent delivery for all parts on the same vehicle.
However, it is unlikely that you will service your entire plant with the same milk run. In all likelihood you may have multiple milk runs for different areas. In this case, you can opt to have different milk run cycles for different areas.
How About Multiple Trains on the Same Loop? – Don’t!
You may have a genius idea: You just use two trains, and the inventory needed to cover the loop would shrink to half of the inventory. Or even three trains and you would need only one-third of the inventory. Wrong! By using multiple trains, you would indeed reduce the time needed to cover in the worst case, but much less.
Let’s assume an example with two milk runs on the same loop. Assume the first milk run (the red line) just missed the box. Instead of waiting one cycle for the red milk run, the empty box has to wait only for half a cycle to be picked up by the blue milk run. Hence the overall worst case to cover is 1.5 cycles.
Here is the example with three milk runs on the same loop. The “just missed” empty box would be picked up one-third of a cycle later, giving you a worst case of 1.33 cycles.
Overall, I believe the benefit in reduced inventory at the assembly line is small, and may not worth be the effort. It definitely won’t cut the required inventory in half for two milk runs or even one-third for three milk runs. You also may run into problems if a milk run catches up with the other one. The only more substantial benefit would be that the milk run would carry only half (or one-third) of the material of a single milk run.
Frankly, while possible, I have never seen such a solution, and would strongly advise against it. Rather than making two (or more) trains on the same loop, split the big loop into two (or more) separate loops.
Milk Run During Breaks?
The milk run must run on a regular schedule. This schedule ensures that there is a milk run visiting to pick up empty boxes and return full boxes every fixed time interval. If the milk run does not come, the line will run out of material very soon. Hence, the milk run MUST visit every cycle.
However, this is only valid while the lines and stations are actually running. If the assembly is idle, the milk run can idle too. Hence, during breaks at the line, the milk run can take a break too. Obviously, if the line is stopped completely (holidays, off-shifts, etc.), the milk run does not have to run either.
Different Break Times?
Can the milk run have different break times than the line? In other words, if there is a break, could the milk run just continue its route while the rest of the plant takes a break, and then take the milk-run break once he has arrived in the warehouse?
In short: No! Do not use different breaks for the milk run and the assembly locations! You will mess up the delivery cycle.
In more detail, let’s first look at the situation without a break. In the example below, we look at one station of a milk run. A part is consumed per minute (or ten every ten minutes), represented by the green boxes with a “10” in them. The milk run stops by every thirty minutes (the blue arrows), picking up empty boxes for thirty parts and delivering boxes with thirty new parts (the arrows with the 30 in it).
If the milk run and the assembly take a break at the same time, nothing changes. The milk run still picks up boxes for thirty parts and delivers thirty parts every time it stops by. One stop will be twenty minutes later due to the break, but the line also had a break, hence the consumption is the same thirty parts.
However, if the milk run takes its break early, the line will run out of parts. The milk run will return after fifty minutes, but during this time the line consumed forty parts, running out of their thirty-part inventory. Depending on the safety buffer, the milk run would have to pick up forty parts. After the break when the milk run returns at 10:20, the line worked consumed only twenty parts. This will be a problem later when the milk run brings only twenty parts, but the line would need thirty to cover the time till the next milk run. In sum: It is a mess!
A similar situation applies if you have your break late. At 10:00 the milk run picks up only ten parts. The line will run out of parts afterward, since there would be a need for fifty parts until the milk run returns. Even when the milk run returns, it will bring only a measly ten parts. Again, we have a mess.
Hence, keep your break times for the milk run and the lines the same. There is a tiny bit of wiggle room, as the milk run can take a break the scheduled last station before the line break and the scheduled first station after the line break. However, this usually amounts only to less than five minutes depending on your schedule. If you REALLY need different breaks, your lines need more inventory or you need to have a special process supplying the lines during the overlapping break. Again, don’t do it.
My Milk Run Supplies Two Lines. If Only One Is Running, Do I Need Fewer Milk Runs?
No. The milk run replenishes the consumed parts at each station within the milk-run cycle time. If only one line is running, the milk run still has to supply the other line every milk-run cycle, hence you cannot reduce the number of milk runs. The only difference for the milk run is that it will carry less material and can make the stops at the idle line slightly faster.
If your lines have sometimes-different schedules, it may be useful to have separate milk runs for separate lines. This way you could turn off the line-specific milk run along with the line without worrying about the other still-working line.
I Have a Great Idea of Putting On-Demand Goods Also on a Milk Run …
So you want to have the milk run also bring parts that are needed only once or twice, but not regularly like the other milk-run goods? Don’t! The more you create exceptions from a standard approach, the more you will be messing up the standard. Mistakes and errors will increase. The same also applies if you want to “flexibly change the routes” depending on demand or other shenanigans. Of course, they can all be done. I just don’t recommend it. It will be a lot of trouble to create such a mixed standard, and even more trouble to maintain it. In the end, you may be better off just having a guy bring the rarely used parts separately from the milk run.
So here you have it. A few pointers and tips on how to do milk runs. However, this series is not yet done. So far I looked primarily at internal milk runs. However, it is also possible to do milk runs externally. While most of the previous concepts still apply, there are some additional things to consider. More on this in my next post. Now go out, establish a cyclic material supply throughout your plant, and organize your industry!
Thank you for the informative posts on Milk Runs. They were easy to follow and enjoyable to read.
I think I have understood the principles of how a milk run works for common parts (i.e. same parts used across all SKUs), but I am not clear on how you would use a milk run for regularly used parts, but they change from one batch to the next. For example, we may use white coloured casings on one batch (say, 200 parts), then change the casing to black for the next batch.
Is a milk run suitable for such parts?
Hi Michael, the challenge of batches is to know when which material is needed. Your logistics needs a good information flow to know when to bring what where. technically speaking this is no longer a milk run, even tough you can use the same equipment. The milk run has a built-in information flow, but if the parts differ you need to create a separate information flow.