Teoría de las Limitaciones
Posted: January 3rd, 2009 | Author: admin | Filed under: Cómo ¿funciona? el mundo | Tags: como funciona el mundo, cuellos de botella, goldratt, matemática, teoría de las limitaciones | 6 Comments »La semana pasada leí “La Meta” (The Goal – Goldratt), un libro EXCELENTE donde Goldratt presenta su Teoría de las Limitaciones. El libro fue publicado en 1984 y hoy lo veo más vigente que nunca. Debe ser por algo que vendió más de 3 millones de ejemplares.
Teoría de las Limitaciones
La Teoría de las Restricciones analiza la causa y efecto de los Cuellos de Botella en procesos fabriles, aplicable con facilidad a lineas de producción, montaje, procesos por lotes, etc. Sostiene que la eficiencia de un sistema está siempre limitado por el eslabón más debil, y que atacando dichos eslabones se puede lograr mejor eficiencia, aún cuando eso signifique sub-utilización de otros recursos.
Un aspecto que me llamó la atención de la TOC (Theory of Constraints) tiene que ver con lo que Goldratt llama “Sucesos Dependientes” y “Variaciones Estadísticas”.
Los Sucesos Dependientes son aquellos que tienen una relación en serie entre uno y otro. En un ejemplo de La Meta, se trata de unos chicos caminando en fila uno detrás del otro: El segundo no puede avanzar hasta que el primero no lo haga, el tercero hasta que no lo haga el segundo, y así.
Las Variaciones Estadísticas son las desviaciones sobre el promedio que una acción determinada tiene. Por ejemplo, los chicos caminan en promedio a 2 km/hora. A veces un poco más, a veces un poco menos. Si bien el promedio es de 2 km/h, no es esa su velocidad constante.
Y acá viene lo realmente importante: En un esquema de Sucesos Dependientes, las Variaciones Estadísticas son acumulativas, no compensativas!
Supongamos que estoy caminando (A) en fila con una persona detrás (B). Los dos hacemos 10 pasos por minuto (lento, pero seguro ;P )
Yo (A) a veces hago 9 pasos, a veces 10, 11, 12 u 8. Pero en promedio hago 10. Lo mismo para B. B no puede sobrepasarme.
Miremos la siguiente tabla posible:
| MINUTOS | PASOS (A) | PASOS (B) | DISTANCIA A vs B |
| 1 | 10 | 9 | 1 |
| 2 | 11 | 10 | 2 |
| 3 | 9 | 8 | 3 |
| 4 | 8 | 12 (11) | 0 |
| 5 | 10 | 9 | 1 |
| 6 | 12 | 12 | 1 |
| 7 | 10 | 9 | 2 |
| 8 | 11 | 11 | 2 |
B nunca sobrepasa a A, y tiene una leve tendencia a alejarse. Pueden ver también que B nunca puede hacer más pasos que lo que hizo A + la distancia que lo separa de A y como en el minuto 4 B podría haber hecho más de lo que realmente hizo, porque A lo estaba limitando (no podía pasarlo). En general las distancias se mantienen cortas, al menos en períodos cortos. Pero que pasa cuando la fila se alarga ? Supongamos que hay una tercer persona C atrás de todo. También camina a 10 pasos por minutos, en -promedio-. Es más, para hacerlo más sencillo supongamos que C tiene un ritmo PERFECTO, y puede hacer siempre 10 pasos por minuto.
| MINUTOS | PASOS (A) | PASOS (B) | PASOS (C) | DISTANCIA A vs C |
| 1 | 10 | 9 | 10 (9) | 1 |
| 2 | 11 | 10 | 10 | 2 |
| 3 | 9 | 8 | 10 (8) | 3 |
| 4 | 8 | 12 (11) | 10 | 1 |
| 5 | 10 | 10 | 10 | 0 |
| 6 | 12 | 12 | 10 | 2 |
| 7 | 10 | 9 | 10 (9) | 3 |
| 8 | 11 | 11 | 10 | 4 |
En solamente 8 minutos, una cola de 3 personas la tercera persona ya está a 4 pasos de distancia de la primera, habiendo empezado todos “pegados” entre si. Lo que quiero que se vea es que cada vez que B pierde terreno, C pierde terreno también, pero no siempre que B recupera terreno, C lo hace. No siempre puede, justamente porque si bien son Sucesos Dependientes y tienen la misma velocidad promedio, hay Variaciones Estadísticas en la velocidad de cada uno. Pueden ser muy pequeñas, pero a la larga generan grandes consecuencias. Les dejo para que se diviertan ver que pasaría con C si B tuviera un promedio de 8 pasos por minuto en lugar de 10.
En una linea de montaje este tipo de relaciones es la norma, y fácilmente puede haber 10 o 15 etapas o “personas” involucradas en una cadena dependiente.
Sin embargo lo que más me llamó la atención, y que en última instancia me dio ganas de escribir este post es que estas relaciones están por todos lados en la vida cotidiana. Desde las colas de los supermercados, donde el cuello de botella, o “eslabon débil” está al final, en el cajero, y el alivio es la paralelización (varios cajeros), hasta los embotellamientos (con múltiples cuellos de botella a lo largo), las ondas verdes de los semáforos y, por supuesto, los servicios web.
Es de hecho, el enfoque ToC en la optimización de servicios web lo que más me gustó, ya que implica centrarse en los elementos más lentos de la cadena para marcar el ritmo del resto del sistema (un sistema en general con varios procesos en serie, ejecutados de forma paralela entre si, que comparten distintos cuellos de botella), que es algo que creo muchos desarrolladores o administradores de sistema hacen de forma intuitiva. Creo que es un enfoque muy útil para el diseño de aplicaciones de alto tráfico, planificación de recursos y estimaciones de tráfico entre otras cosas. Algún otro caso que se les ocurra ?
Ahora solamente me queda mezclar eso con un poco de erlang, algo de algoritmos genéticos y el próximo post ni yo voy a entender lo que escriba
Recent Comments