Exploiting the Constraint - TOC

Once we have identified the constraint in the system, we need to make the most of its capacity prior thinking about making any investment. We have parts, operators and machines, and we must think in a creative way so that we are able to get the most optimal status in the system. It's very important here to ensure that the constraint or bottleneck is always working.

All explained above can be achieved by paying attention to these details:

  • Covering with human resources the planned production stops
  • Ensuring that only OK parts go through the constraint station
  • Reducing variability and randomness
  • Elimination dependencies between stations
  • Maximizing added value operations reducing waste

The importance of preventing the constraint to stop due to planned stops

In the case that our constraint is a bottleneck, this is, with an output equal or less than customer demand, it's important that this station doesn't stop because of planned stops for operators rest. It's clear that operators that add direct value in the line need to take a break to avoid fatigue, but it should be organized in a way so that when it's the "break" time for the operators that work in the constraint, their position is covered by other operators that work in other stations non constraint, to avoid that the bottleneck stops and cause disruptions in the shipments to final customer.

The importance of ensuring that only OK parts go through the constraint in the system

It's extremly important to ensure that parts that reach the bottleneck have the required quality by inspections done previously, because, if in the constraint, parts that were NOK are processed, we are adding value to a part which has no value (scrap), losing time in the station that sets the output of the system

How to reduce variability and randomness?

Eliminating randomness is something impossible, because we need to keep in mind that every process has a variability by working with operators, fore example acyclic elements such us going to take a box with material and possible breakdowns in machines. In spite of this, we can reduce this randomness a lot by standardizing, operators training and automation.


Due to the fact that every person is different, it would be usual to think that different methods could be used for making the required operations in a production station. 

Standardization consist of taking the best practices observed in each operator for an specific task and create a method or standard way of working, so that all the operators work in the same way. In this manner, if all people work with the same method, the results expected related to cycle time are much more predictable and less random than if each operator works in a different way.

Operators training

Once Standard Work is created, which is the basics, we need to proceed to plan the operators training. We could establish for example different levels for operators in an specific production station:

  • 0: person not trained in the standard
  • 1: person trained that can work with supervision
  • 2: person trained that can work without supervision
  • 3: person trained that has ability to train his/her colleagues

If all operators are between levels 2 and 3, variability and randomness will be reduced a lot and sytem will be more predictable.


Automating certain repetitive processes will allow us to eliminate randomness in the system. It's extremely useful in relatively easy and specific task for a high production volume.

Robot Automatizacion Explotando Restriccion

How to eliminate dependencies?

Let's explain this better with an example. Let's suppose that we have a process which manufactures a reference with three production stations with the following cycle times:

  • Station 1: 10 seconds/part
  • Station 2: 16 seconds/part
  • Station 3: 12 seconds/part

Stations Exploiting the constraint

It's clear that bottleneck is in the station 2, however, we are in real life and certain random events could happen in the stations 1 and 3.

What happens if station 1 is stopped due to breakdown?

Station number 2 will be "starving", waiting for material from station 1, wasting a precious time that sets the output of the system. We need to remember here, a second wasted in the constraint, it's a second wasted in the output of the whole system

What happens if station 3 is stopped due to breakdown?

Station number 2 will be "blocked", as it won't be able to place the part in station 3, wasting that time that sets the output of the system. Remember again here, a second wasted in the constraint, it's a second wasted in the output of the whole system

How could we solve this problem?

To solve this, we need to make a "decoupling" in the station which is the constraint, in this case station 2.

To be able to make this, we will place buffers before and after the station which is the system constraint.

  • The buffer which is located prior the constraint station will allow us to absorb all that possible production stops that occur in previous station. Due to this reason, if station 1 in the example stops and we have a buffer full with 4 parts, this small stop will not affect to station 2, because it will already have parts for feeding.
  • The buffer which is located after the constraint station will allow us having an space in which parts could be placed avoiding being in status "blocked", so with this buffer between stations 2 and 3, if occurs an stop in station 3, the station 2 will be able to continue working as it will have an space in which the part could be placed.

Setting the size of the buffer is usuallly done with the experience, starting with some size and incresing it until reaching the optimal status. The bigger the size of the buffer is, the more it can absorb the stops, but we need to take into account that if the size is too big another "wastes" can arise. The target should be always reaching the optimal status, never oversizing.

Stations with Buffers Exploiting Constraint

How to maximize the added value operations?

It's very important to ensure that most of the operations done in the bottleneck are added value operations. Due to this reason, all the muda's or wastes must be detected and could be:

  • Unnecessary movements for the operator or machine: It important to try to save movements by trying to make simultaneous operations, paying attention to reaching/dropping the tools, etc.
  • Unnecessary displacements of operator or machine: the material should be allocated as close as possible to avoid making big displacements that add zero value.

List of post published related to Theory of Constraints

Below you can access to all the post published related to the Theory of Constraints:

Theory of Constraints - TOC - Introduction

Identifying the constraint - TOC

Exploiting the Constraint - TOC

Subordinating everything else to the constraint - TOC

Elevating the constraint - TOC

We use cookies to compile visitor statistics. If you continue browsing we will consider this as proof that you accept their use. More information Close