This is often implemented by circulating cards, the kanbans, between a machine and the downstream buffer. The machine must have a card before it can start an operation. It can then pick raw materials out of its upstream (or input) buffer, perform the operation, attach the card to the finished part, and put it in the downstream (or output) buffer. The number of cards circulating determines the buffer size, since once all cards are attached to parts in the buffer, no more parts can be made. When the machine picks up raw materials to perform an operation, it also detaches the card that was attached to the material. The card is then circulated back upstream to signal the next upstream machine to do another operation. This way, a demand for a unit of finished goods percolates up the supply chain.
Kanban control. Movement of parts shown in blue, circulation of kanban in red. Machines are shown as circles and buffers as triangles. The last buffer is the finished goods (FG) inventory.
Kanban control ensures that parts are not made except in response to a demand. The analogy is to a supermarket: Only the goods that have been sold are restocked on the shelves. However, it has a major drawback: It uses the parts themselves as carriers of information. A machine is told to stop production when its output buffer is full. This requires that a number of parts sit in the buffer without serving any apparent purpose but to block the upstream machine.
That's not quite right, though. The parts waiting in a buffer do serve a purpose: They act as a buffer inventory, partially decoupling the operation of downstream machines from any interruptions of upstream production. If a machine fails, the machine downstream of it can continue production by consuming the parts that are already in the buffer. With luck, the upstream machine will be repaired before the buffer is empty, and the failure will not affect the downstream machine (or the customer on the downstream end of the chain).
But we can do this in a better way.
CONWIP control. Movement of parts shown in blue, circulation of release authorizations in green.
This leads to subtly different behavior from a kanban control. First of all, like kanban, the CONWIP system only responds to actual demands that have occurred, so it is still a ``pull'' type system. But unlike kanban, the resting state of the system has all buffers empty, except finished goods, which is full. This occurs because any part released to the system will move to finished goods. New parts will not be released if the finished goods buffer is full. The inventory in finished goods is now available to serve the customer, and there is no internal inventory to collect dust.
But what about the buffer inventories and the decoupling against failures? Something subtle called ``part/hole duality'' is happening. It is true that inventory in a buffer protects the downstream portion of the line against the consequences of failures upstream. But it does not protect the upstream portion of the line against failures downstream. If a buffer is full, and the machine downstream of it fails, a kanban line will stop production upstream of the failure, no matter how many raging customers line up at the end. When the failed machine is repaired, it will suddenly impose an increased workload on the upstream portion of the system, since it needs to catch up with the demand.
The mostly empty buffers in a CONWIP line contain valuable (but cheap) empty space. This space is used to decouple the upstream portion of the line against failures downstream. If the last machine in the line fails, the customers will be served from the finished goods buffer, while new parts will be released to the line as usual and proceed to the buffer in front of the failed machine. There they wait for the repair. When the machine is repaired, it has a sufficiently large number of parts in its input buffer to catch up with demand and replenish the finished goods buffer.
Empty buffer space acts to decouple the machines also in a kanban line. But there, the control policy is to fill up the buffers whenever possible. And this is possible most of the time, unless the demand rate is greater than the system capacity.
Something remarkable just happened: We separated the flow of parts and information. Then we got a control policy that allows the same throughput and service levels as kanban, but at lower inventories. Intuitively, the advantage over kanban will be larger for systems with more stages (since there will be more internal buffers), and for systems with more process variability (since that requires larger buffer inventories to achieve the same throughput).
As an added bonus, the CONWIP control is even simpler to implement than kanban, since just one set of cards is circulating.
But we can do even better than this.
Sometimes, if the system is very heavily utilized or there is a bottleneck in the line, the buffers towards the upstream end of a CONWIP line will have quite high levels. On the other hand, kanban control was designed to prevent individual buffer levels from exceeding designated limits.
Therefore, we construct a hybrid control policy where the CONWIP control is supplemented with secondary kanban cells. These detect problems in the line, and block release of parts to the line if they cannot be processed further. We do not need a separate kanban cell to block the last machine, since any material that has gotten this far surely will reach the finished goods buffer if the machine can do an operation. The resulting control policy acts mostly like CONWIP, but at decreased inventories when trouble occurs.
Hybrid CONWIP/kanban control. Movement of parts shown in blue, circulation of kanban in red, and release authorizations in green.
Note how similar this is to a kanban control: We circulate cards between the machines and buffers. The sizes of the buffers are determined by the number of cards in circulation. The only difference is that cards detached from finished goods are passed to the first machine instead of the last. From there, they follow the parts back to the finished goods buffer.
In our simulation studies, we have seen service improvements of more than 40% (average backlog) combined with inventory decreases of about 25%, compared with the best possible kanban control of the line. This was a 10-machine line running at about 80% utilization, where the parameters were chosen such that 75% of the demand was served from stock in both cases. The advantage over kanban grows with the length of the process, the degree of process variability, and the service level target. The advantage of the hybrid policy over CONWIP grows with the system utilization.
Service level vs inventory for various parameter choices. Kanban in red, CONWIP/kanban hybrid in green.
This figure is generated from simulations of several hundred parameter configurations for each of the policies. For each choice of buffer sizes and inventory limits (when applicable), the system was simulated for two years, and the resulting service and inventory levels were recorded. The service level or fill rate is the fraction of demand for finished goods that is served from stock. The inventory is all material in the line and in the finished goods buffer. In this plot, leanness is indicated by high service levels at low inventories, i.e., by points towards the lower right corner. Note that for any target service level, many parameter choices for the hybrid policy achieve the target with less inventory than the best kanban policy.
For example, to achieve 98% fill rate in the six-machine line where these data are taken from, the best kanban policy has 66.6 units of inventory, and the best hybrid policy just 49.2. This is a 26% difference.
Here is another paper in PostScript format or in pdf format that applies these control policies to a six-machine line with a good deal more variability than in a Toyota plant. This paper was presented at the 1996 Manufacturing and Service Operations Management Conference at Tuck School of Management, Dartmouth College.
This story explains the control policies through an analogy.
Some of the literature references can be found on
This page is written by
Asbjoern M. Bonvik.
Last modified on October 1, 1999. It is based on research by
Asbjoern M. Bonvik,
Christopher Couch and
Stanley B. Gershwin.
It is related to the research efforts of the
Leaders for Manufacturing Program
Research Group 5.
Please send comments to
Copyright © Massachusetts Institute of Technology 1996, 1999.
All rights reserved.
Number of queries to this page:
This page is written by Asbjoern M. Bonvik. Last modified on October 1, 1999. It is based on research by Asbjoern M. Bonvik, Christopher Couch and Stanley B. Gershwin. It is related to the research efforts of the Leaders for Manufacturing Program at MIT, especially its Research Group 5. Please send comments to firstname.lastname@example.org.
Copyright © Massachusetts Institute of Technology 1996, 1999. All rights reserved.