This paper describes how wandering bottleneck(s) emerge in manufacturing plants, inadequacy of existing simplified drum buffer rope (SDBR) methodology to address these, the ramifications of continuing to use conventional SDBR and ways to smoothen flow while handling wandering bottlenecks. It also discusses possible reservations for the proposed direction of solution along with suggestions to overcome the same. The suggested methodology can have wide applications. It’s is especially relevant for managing manufacturing in the textile industry, steel industry and the pharmaceutical industry where the phenomenon of wandering bottleneck is very persistent.
- Bottleneck is a resource, which faces ‘demand’ beyond its capacity.
- Constraint is a resource, which has the least capacity (also called as capacity constraint resource, CCR). It determines the output of any system.
What’s the primary intent of SDBR?
Existing SDBR’s methodology, manages the bottleneck of a system by loading all the orders as per available capacity of CCR. Consequently, all other resources (which by definition have more capaScity than CCR) will have demand lesser than its capacity- i.e. bottleneck is removed during planning itself. This bottleneck is prevented from emerging during execution as well, by controlling the release of material, as per output rate of CCR. Hence, the actual load of released orders in front of any resources would be lesser than the CCR load.
Hence SDBR (simplified drum buffer rope) attempts to avoid the bottleneck both during planning and execution of orders.
Questioning the assumptions behind SDBR:-
Simplified drum buffer rope (SDBR) assumes that, loading orders as per available capacity of CCR, will leave some ‘capacity gaps’ (called protective capacity) at non-CCRs. This protective capacity is expected to ensure smooth flow of orders so that all orders can meet their due date commitments. However, in reality, from time to time, the load on non-CCR, may exceed its capacity (due to output fluctuations/quality reworks/rejections etc.) thereby creating a ‘temporary bottleneck’.
As long as this temporary bottleneck is for a short duration, the ‘production buffer’ (part of SDBR execution methodology to protect the ‘flow of orders’ from any disturbances) can accommodate any ‘flow obstacles’ created due to the emergence of bottleneck and can still protect delivery commitments.
But, when this bottleneck emerges due to reasons like significant drop in output of any resource, change of product mix, change of production process…etc., the emerged bottleneck persists for a long period.
The problem of wandering bottlenecks:-
In a vast majority of cases (e.g. in textile, pharmaceutical, steel industries), bottlenecks emerge due to change in product mix and stays for a significant portion of the production buffer time. Longer the bottleneck persists, higher is the damage it creates to the system.
- If the bottleneck emerges upstream to CCR, the load ahead of bottleneck continues to pile up creating starvation for CCR and reducing the CCR output. Reduced CCR output will further reduce material release; orders with due date commitment as per CCR output will continue to miss delivery dates.
- If the bottleneck emerges downstream to CCR, the load after CCR will continue to pile up, thereby increasing the lead-time and eat away the buffers meant for protecting the flow disruptions. This means orders may miss delivery commitments.
In both the cases, since the orders are loaded as per CCR (least capacity resources determine the output of the system, hence capacity lost at CCR can never be gained back!), the emergence of a bottleneck (upstream or downstream) will permanently damage reliability.
Direction of solution
Any solution to this issue should primarily prevent bottleneck from emerging due to change in product mix or output fluctuations. It should also enable us to manage the bottleneck of the system both in planning (by loading the orders as per CCR capacity) and in execution (by controlling the release of materials as per CCR output).
Consider the following example,
Let us say, there are two products, product 1 and product 2 flowing through two departments, dept 1 and dept 2, as shown below.
Product 1 takes 1 hour @ dept 1 and 1 hour @ dept 2.
Product 2 takes 5 hours @ dept 1 and 2 hours @ dept 2
Let us also assume a production buffer of 20 days.
The usual product mix is, product 1: product 2 = 80:20.
Also, let’s say dept 1 is available for 200 hours/week and dept 2 is available for 130 hours/week.
Load on both departments is as below.
Assume that current load on the plant is worth 400 hours, which is 21 days. (Dept 2 being the CCR, 400/130 = 21 days).
Load per department, 92% on dept 2 and 90% on dept 1 (as per table 1.0)
Given the above, we can consider dept 2 as the CCR.
Conventional simplified drum buffer rope (SDBR) loads the order as per dept 2 (being the CCR), and releases as per its output, so that dept 1’s protective capacity (~10%) is maintained and thereby avoiding emergence of bottleneck.
But, when the product mix is changed (during execution) from 80:20 to 70:30, following would be the load pattern.
If the load pattern is as indicated above, continuing to load orders as per the capacity of dept 2 (CCR), does not prevent the dept 1 from emerging as a bottleneck.
Direction of solution 1:-
One option is to maintain 80:20 product mix – meaning, dept 2 is available for product 1 for 80% (80% of 130 hours = 104 hours) and for product 2 for 20% (20% of 130 = 26 hours). This means, dept 2 is available for product 1 for 104 hrs. and for product 2 for 26 hrs. Hence, dept 2 can be sub divided into CCR 1 (104 hours weekly availability for product 1) and CCR 2 (26 hours weekly availability for product 2).
But, with partitioning of CCR capacity as CCR 1 (for product 1) and CCR 2 (for product 2), the total load changes as below (Recall, with dept 2 as CCR (without partitioning CCR capacity), total load was 21 days).
The above direction of solution will maintain the CCR at one place (dept 2) while preventing emergence of a bottleneck, as long as the product mix is maintained at 80:20. However, in reality, there is a possibility that the actual product mix can be different from the planned product mix due to demand fluctuations.
For example; let’s assume that the actual product mix as per demand is 60:40, while the planned product mix is 80:20. Then, the table is the representation of the changed load of orders in production.
It can be seen that in this case there is a difference of load in days. Also, there is significant difference of load in days when compared with table 3.0. This means, the due dates quoted as per load in front of CCR + ½ the production buffer will also be different for these products, even though they are flowing through the same CCR.
This means that there is a possibility that an order which arrived earlier for product 2 will receive a later due date (43 days load), while the order which arrived later, will get earlier due date. This differential due date creates confusion for everyone including customers.
Since the demand is under no one’s control, one of the ways to maintain uniform due dates, is by constantly monitoring the CCR load as per product types and re-partitioning its capacity frequently. But, when the product flow becomes complex with multiple divergence and convergence points, and /or there is a wide variety of products, this CCR load balancing/re-partitioning can become a nightmare.
A better direction of solution will therefore be one which recognizes that CCRs can change in real time. And irrespective of complexity of flow or variety of products, the method should help manage it (the CCR) both at the planning stage (by aligning orders) and in execution (by throttling material release)”
Direction of solution 2:-
One of the ways to recognize the CCR at any point in time on a real time basis is to check the load on each of the resources and identify the resource which has the maximum load.
So, continuing with the earlier example: –
When the product mix is 80:20, dept 2 is the CCR (based on load, 6.46 days > 6.3 days). And when the product mix is 70:30, dept 1 is the CCR (based on load, 7.7 days > 7.0 days). By the correctly identifying the CCR like this, on a real-time basis, and loading orders as per the identified CCR, emergent bottlenecks can be prevented! Due date in such a scenario can be quoted by identifying the resource which has the maximum existing load, + the maximum of the new order’s load across resources + half of the production buffer.
This direction of solution works well for single product routes. However, what happens when there are multiple product routes? To check this let’s try applying this solution for an example with multiple product routes as below.
There are two routes (1 & 2).
Route 1 = dept 1 – dept 2 – dept 4 – dept 5 (for product type 1)
Route 2 = dept 1 – dept 3 – dept 4 – dept 5 (for product type 2)
Individual load on work-centers for an existing order book, are mentioned below:
For type 2 product, which is going through route 2 (1-3-4 -5), the maximum load = 15. 3 days is at dept 4, hence that’s the CCR. Due dates can be given as per load on CCR (dept 4) + max of new order load (within the route) + ½ x production buffer.
However, while the capacity of dept 4 (identified CCR) = 100/day, the dept 3 has capacity = 70/day, this means, releasing the orders as per dept 4, creates bottleneck upstream (dept 3)! This means that when capacities of resources are different from each other and when higher capacity resources get higher load (due to product mix/output fluctuations), scheduling the orders as per higher capacity resources, without considering intersection of flow lines (in this case both product types 1 & 2, shares the capacity of dept 1, 4 & 5), creates bottleneck at the lower capacity resource.
Hence, when there are multiple product routes (as is very typical in the pharmaceutical industry, steel industry and textile plants), we should consider resources as independent flow lines and also examine;
- Number of products sharing the resources’ capacity
- Loading on different product routings
- Output rate per resource as per product type
to identify the actual CCR. We can then quote due dates as per its capacity.
To illustrate this, let’s consider below example,
Let’s assume that there are 4 products; 1, 2, 3 & 4.
And there are 5 resources; A, B, C, D & E.
Resource capacity (pieces / day); A = 24 | B = 3 | C = 9 |D = 14| E = 12
Product routing for these 5 products are as below;
Flow diagram is as below.
If the resources are seen as independent flow lines and we take into consideration the
1. Number of products sharing the resources’ capacity
2. Loads in respective product routings
3. Output rate per resource as per product type
This means that
Resource A is shared by 4 products; hence its capacity is partitioned as A1, A2, A3, A4.
Resource B is not shared by any products; hence its capacity is not partitioned at all.
Resource C is not shared by any products; hence its capacity is not partitioned at all.
Resource D is shared by 4 products; hence its capacity is partitioned as D1, D2, D3, D4.
Resource E is shared by 3 products; hence its capacity is partitioned as E1, E2, E3.
The independent flow lines for the various products will look as below.
Having understood the independent product routing, we must now understand how to allocate capacity as per product mix.
Let’s consider an example for product 1.
Touch time of product 1 at various resources could vary, and hence the output per resource will also get impacted. So,
resource output (pieces/day); A1 = 6 | B = 3 |D1 = 2| E1 = 4
Similarly, for other independent flow lines, overall resources output (A = 24 | B = 3 | C = 9 |D = 14| E = 12) can be partitioned as below:
In this situation consider the below order book:
The load table, with above capacity partitioning for this order book, will look as indicated below:
In this situation let’s try to load the upcoming order for product 1 with quantity 10. However, recall that to do so we have to find CCR based on higher load on various resources within product 1’s routing.
Since we know the routing for product 1 (after capacity partitioning) is A1 -> B -> D1 -> E1., the load table will be as indicated below:
Comparing loads on resources within the product routing for product 1 (A1 -> B -> D1 -> E1), reveals that D1 has highest load. Hence, resource D1 is considered as CCR for this order and this order is loaded as per available capacity of D1 and the due dates can be given accordingly. This means, that the bottleneck has been managed in planning. However, it is essential that there is no emergent bottle neck in execution as well.
Releases have to be scheduled as per due date minus production buffer. But beware that releasing the order, when the respective route has more WIP than the desired WIP limit, will create overloading problem. And NOT releasing the order when the respective route has LESS WIP than the desired WIP limit, will create starvation problem. Hence, in addition to release dates, it is prudent to throttle the releases as per actual WIP across routes, as well.
If any resource (s) within the route has/have more WIP than the desirable WIP limit (desirable WIP limit can be arrived at with respect to production buffer and be based on the touch time and waiting time up to a specific resource), no releases of orders for that route should happen (until the WIP level comes below the desired WIP limits). While the routes whose resources have WIP lesser than the desired WIP limits, they can have advanced releases – i.e. earlier than calculated release dates (till the WIP level comes approximately equal to the desired WIP limits).
For example: Let’s assume production buffer for product 1 via route A1-B-C1-D1 is 20 days. Let’s say the desired WIP limit with respect to each of the resource A, B, C and D is 2, 5, 10 and 15 days, respectively (based on production buffer, touch time and waiting time up to a specific resource). For each of the orders mapped on the above route, actual WIPs up to resources A, B, C and D will be compared against their respective WIP limits. If ALL resources on the route have actual WIP lower than the desirable WIP limits, then early release can be allowed. However, if even ONE resource on the route has actual WIP more than desired WIP limit, then release should be postponed avoiding resource overload.
Wandering bottle necks can be managed in manufacturing units (especially of the pharmaceutical industry, steel industry and textile plants) by tweaking the existing simplified drum buffer rope (SDBR) planning method -by considering resources as independent flow lines and partitioning the resource’s capacity. The CCR can then be identified as the resource which has highest load in that independent flow line. Loading new orders as per this CCR’s available capacity and throttling the release of orders as per actual WIP vs. desired WIP limitsacross the resources within product routings, can help manage bottlenecks both at planning stage and in execution.