You are on page 1of 5

>Universidad Distrital Francisco Jos de Caldas Ingeniera Industrial

Formulacin del Procedimiento Cuellos de Botella Mvil The Shifting Bottle Neck, Procedure and Formulation
(Diciembre 2011)
Oscar A. Tllez, Estudiante de Ingeniera Industrial, Universidad Distrital Francisco Jos de Caldas, Bogot D.C.
ResumenEste artculo pretende mostrar el algoritmo denominado cuellos de botella mvil ms conocido en como the Shifting Bottleneck Procedure.publicado en 1988 por Joseph Adams, Egon Balas y Daniel Zawack. Adems estudia la contextualizacin del problema, su formulacin, los fundamentos tericos y algunas mejoras realizadas mediante la meta-heurstica Bsqueda Tab. Abstract This paper pretend to show the Shifting Bottleneck procedure publish in 1988 by Joseph Adams, Egon Balas y Daniel Zawack. Besides we present the contextualization, the formulation, theoretic foundations and better performance with some combination of the metaheuristic called Tabu Search. ndice de Trminos Cuello de Botella (Bottleneck), Sistemas tipo taller (Job Shop), Deterministico (Deterministic), Grafo (Graph), Secuenciacin (Scheduling)

de optimizacin combinatoria, porque problemas como el agente viajero TSP se resuelven con 300 - 400 nodos y cerca de 100.000 variables, pero no se ha podido optimizar programas de 10 mquinas con 10 trabajos (Adams, Balas, & Zawack, March 1988) El problema inicial fue planteado para minimizar el makespan. Sin embargo, se le puede incluir distintas mtricas segn el objetivo que se desee. Entre las mtricas ms conocidas se encuentra la medida Lateness definida como la diferencia entre el tiempo de entrega y la finalizacin del trabajo. Tambin se usa la medida Tardiness que es igula que el Lateness cuando es negativo y cero cuando es positivo. (HOPP & SPEARMAN, 2001)

II. OBJETIVO
I.

INTRODUCCIN Estudiar los fundamentos tericos, la formulacin contextualizacin del procedimiento Shifting Bottleneck. III. FORMULACIN DEL PROBLEMA A. Sistemas Tipo Taller (JOB SHOP) El sistema de produccin Job shop se caracteriza por manejar bajos volmenes de produccin y gran variedad de productos. La empresa Colombiana se caracteriza porque predominan este tipo de sistemas productivos, propios de pequeas y medianas empresas (pymes). Por esta razn el estudio de este tipo de modelos tiene un impacto significativo en Colombia y en general en Latinoamrica. B. Supuestos La mayora de los problemas clsicos de scheduling manejan los siguiente supuestos (HOPP & SPEARMAN, 2001) - Todos los trabajos estn disponibles al comienzo de la programacin (no llegan trabajos despus de que comience el proceso) - Los tiempos de proceso son determinsticos. - Los tiempos de proceso no dependen de la programacin (p.e. no hay setups) - Las mquinas nunca fallan. - No hay interrupciones programadas (preemption) - No hay cancelacin de trabajos y

l algoritmo cuello de botella mvil est inmerso dentro de un contexto de la Programacin de la Produccin, ms especficamente de la secuenciacin de operaciones. No obstante aunque este mtodo surge y se desarrolla en un ambiente eminentemente productivo, su utilizacin puede extenderse a otras reas del conocimiento como los servicios de mensajera, servicios electrnicos, atencin hospitalaria entre otros, sin perder por ello su validez ni dificultad de solucin. Programar la produccin constituye uno de los retos ms grandes que enfrentan los ingenieros industriales, debido a que la complejidad algortmica que requiere. De acuerdo con la teora de complejidad computacional existen dos clases de problema. Los problemas tipo P denominados polinomiales cuyo tiempo de computacional de solucin obedece a una funcin polinmica determinada y por otro lado se encuentran los problemas NP-Hard cuyo tiempo de evaluacin no es polnmico sino que tiene un crecimiento ascelerado que puede ser exponencial o de otra naturaleza. Los problemas Job shop scheuduling son considerados los problemas ms duros

Este artculo ser presentado al P. PhD. Jairo Humberto Torres Acosta para cumplir un requisito de la materia Plan y Control de la Produccin II Presenta: Oscar Augusto Tllez Snchez Cd. 20071015018 Informacin de contacto: oskarts@gmail.com, oatellezs@udistrital.edu.co.

>Universidad Distrital Francisco Jos de Caldas Ingeniera Industrial Adems se agregan algunos los siguientes supuestos especficos del algoritmo cuello de botella mvil (Adams, Balas, & Zawack, March 1988) - La secuencia de mquinas para cada trabajo est dada. - Cada mquina puede procesar un solo trabajo a la vez. C. Grafo Disyuntivo La programacin tipo taller se suele representar como un grafo disyuntivo G(N, A, B) donde N representa al conjunto de nodos, A al conjunto de arcos conjuntos y B los arcos disyuntos. En la Ilustracin 1 se encuentra representado un grafo disyuntivo en el que cada nodo tiene dos sub ndices (i,j) el subndice i representa la mquina que se usa y el j la operacin a realizar. Como es sabido, en cada mquina es posible realizar distintas operaciones dependiendo del trabajo o producto que se desee realizar. Los nmeros que aparecen sobre los arcos representan el tiempo de operacin. Por ejemplo entre el nodo (1,1) y el nodo (2,1) hay un arco con el nmero 5, lo que quiere decir que en la mquina 1 se realiza la operacin 1 que tiene una duracin de 5 unidades de tiempo y luego se traslada a la segunda mquina.

Ilustracin 2 Grafo cclico, fuente. SHITING BOTTLENECK (PDF)

IV. EL PROCEDIMIENTO SHIFTING BOTTLE NECK A. Algoritmo La heurstica SBN se establece a partir de precepto de que todos los sistemas tienen un recurso escaso denominado cuello de botella y este recurso por ser el que presenta mayor utilizacin es el que gobierna el comportamiento de todo el sistema. Por consiguiente la secuenciacin se debe trabajar sobre la mxima utilizacin para los cuellos de botella, lo que lograr disminuir el nmero de iteraciones para encontrar una buena solucin. A dems descompone el problema global en m sub-problemas de una sola mquina y la secuenciacin se realiza iterativamente en el recurso ms crtico. Un diagrama de flujo que representa los pasos de la heurstica se muestra en el Algoritmo 1.

Ilustracin 1 Grfico disyuntivo para un problema de programacin tipo taller con n=3,m=3. fuente: (Britto, Gonzalo, & Caballero, 2007)

La informacin de entrada para graficar el grafo disyuntivo se puede presentar de la siguiente forma tabular Tabla 1. Se indican las secuencias por las que pasan los tres productos en cada una de las mquinas y sus respectivos tiempos de tiempos de operacin.

Tabla 1 Informacin de entrada. Fuente: (Britto, Gonzalo, & Caballero, 2007)

D. Grafo Cclico El algoritmo Shiftin bottleneck como cualquier algoritmo de secuenciacin supone que una solucin bsica factible no contiene ciclos adems de que no es posible establecer un orden topolgico. Un ciclo en teora de grafos tiene la caracterstica de que se parte de un nodo y se llega al mismo nodo como se representa en la siguiente Ilustracin 2.

Algoritmo 1 Shifting Bottle Neck fuente: SHITING BOTTLENECK(PDF)

>Universidad Distrital Francisco Jos de Caldas Ingeniera Industrial B. Inicializacin del problema Inicializacin, consiste en construir el grafo, solamente con las restricciones iniciales de precedencia es decir con las restricciones conjuntivas, ya en la programacin del cuello de botella se incluyen las restricciones disyuntivas. C. Bsqueda del Cuello de Botella
BOTTLENECK(PDF)

Ruta Crtica

La ruta crtica representa el camino ms largo que posee una red. Para el caso de Shiftin bottle neck se require el clculo de dos caminos ms largos que dadas las caracterstica propias de este tipo de problemas, en su publicacin Adams Balas y Zawack desarrollaron un algoritmo especfico que simplificaba la complejidad algortmica del orden O(n2) al orden O(n), la razn es que el camino ms largo representaba el tiempo ms significativo en la eficiencia del shiftin bottleneck. Seleccin cuello de botella

En el contexto SBN el cuello de botella es aquella mquina k que es crtica con respecto a una seleccin parcial S=U(SK: K Mo) si Sk tiene un arco en el camino ms largo. Para identificar la mquina cuello de botella en cada iteracin, para cada: Donde M= Nmero de mquinas Mo=Mquinas que ya ha sido secuenciadas di representa el tiempo de operacin Se resuelve el problema

Algortmo 2 Seleccin del Cuello de Botella fuente: SHITING BOTTLENECK (PDF)

El problema P (k, M) es equivalente a encontrar la secuencia para la mquina k the minimiza el mximo lateness, dado que cada operacin I debe ser ejecutada en la mquina k. el tiempo de procesamiento di tiene una teimpo de liberacin ri y una fecha de entrega fi aqu:

Orden Topolgico

ri=L(0,i)

; L=longitud del camino en unidades de tiempo.

Se enumeran los nodos de tal forma que un nodo precedente no tenga un nmero mayor al del nodo que busco enumerar. Si el grafo contiene un ciclo, entonces ste no puede ser ordenado Topolgicamente. En la figura 1podemos observar un ejemplo de la numeracin.

fi=L(0,n)- L(i,n) + di Como se puede observar e la ltima ecuacin es necesario calcular dos caminos ms largos L(0,n) y L(i,n). Un procedimiento detallado del algoritmo se presenta ms adelante. D. Programacin del problema de una sola mquina En trminos generales el algoritmo planteado por Carlier y Pinson e 1989 es del tipo ramificacin y acotamieto el cual limita la bsqueda del rbol usando selecciones inmediatas. Este algoritmo es muy famoso porque fue el primero en resolver problema Job shop 10x10 planteado por Muth y Thomsom en 1953.

figura 1 Representacin del orden topolgico a la izquierda grafo mal ordenado y a la derecha bien ordenado. Fuente: SHITING

>Universidad Distrital Francisco Jos de Caldas Ingeniera Industrial

por consiguiente, mejorar el makespan del programa del JobShop1. A modo sinttico se muestra el algoritmo Shifting bottleneck Escrito en pseudocdigo. Paso 1. Inicializacin Mo = 0 G= grafo con todos los arcos conjutivos Cmax(Mo)= camino ms largo en G. Paso 2. Analice mquinas no secuenciadas Para toda i M\Mo haga Para todas las operaciones (i,j) haga rij = camino ms largo de 0 a (i,j) en G qij = camino ms largo de (i,j) a * en G Resuelva el problema para una sola mquina f(i) Paso 3. Seleccin del Cuello de Botella Determine k tal que f(k)=max {f(i)} Secuencie la mquina k de acuerdo con la solucin ptima del paso 2. Agregue los arcos disyuntos correspondientes a G Realice Mo = Mo U {k} Paso 4 Re-secuencie las mquinas Para todo i i M\Mo haga Borre los arcos disyuntos correspondientes a la maquina k Para toda operacin (i,j) haga rij = camino ms largo de 0 a (i,j) en G qij = camino ms largo de (i,j) a * en G Resuelva el problema para una sola mquina f(i) Inserte los correspondientes arcos disyuntos a G. Paso5 Condicin de Paro Si Mo=M => Pare De lo contrario => vaya al paso 2. Algoritmo 4 Pseudocdigo Shifting bottleneck. Fuente: Autora propia, basado en. THE SHIFTING BOTTLENECK FOR JOB SHOP, Scheduling, Lecture 8. (PDF) V. MEJORAS AL SBN Dada la antigedad del algoritmo, a lo largo de los aos se han realizado mejas parciales mediante la mejora en la eficiencia de cada una de las fases o mediante la combinacin con metaheurstica como la bsqueda tab. Como se presenta en la figura 2 Rodrigo, Gonzales y Caballero desarrollaron un hbrido que consta de 2 mdulos que los que el cuello de botella mvil cumple la funcin de solucin inicial.

Algoritmo 3 Secuenciacin de una sola mquina fuente. (Carlier & Pinzn, Febrero 1989)

Donde N= nmero del nodo terminal f= cota superior Para una presentacin detallada del uso y aplicacin del algoritmo vea (Carlier & Pinzn, Febrero 1989) E. Procedimiento de Re- optimizacin local Despus de programar una mquina, el paso de reoptimizacin consiste en reprogramar todas las mquinas ya programadas de manera que se mejore el programa parcial actual. A cada mquina programada se le borran las restricciones disyuntivas y se vuelve a programar la secuencia de los trabajos en ella, buscando mejorar su mximo retraso y

figura 2 Modulos principales para el algoritmo combinado fuete. (Britto, Gonzalo, & Caballero, 2007)

De esta manera se lograron mejoras significativas en diferentes problemas replicados. Lo autores recomiendan que
1

SHIFTING BOTTLENECK (PDF)

>Universidad Distrital Francisco Jos de Caldas Ingeniera Industrial se preste especial atencin al tamao de lista y bsqueda de vecindarios para garantizar la mejora de los resultados. VI. CONCLUSIONES A modo de conclusin se puede decir que aunque este algoritmo fue desarrollado en la dcada de los 80su aplicacin a la vida prctica todava es limitada, seguramente por la complejidad matemtica que maneja, razn por la cual no es comn verlo en un curso de pregrado. Por otro lado es importante resaltar que este tipo de algoritmos propios de ambientes Job shop son muy tiles en entornos productivos como el de Colombia, que dada una serie de condiciones econmicas, polticas y sociales predomina llegando incluso a abarcar el ms del 70% de las empresas nacionales. El algoritmo de por s es muy eficiente en la bsqueda de soluciones por lo que obtiene mejoras considerables en comparacin con las reglas de prioridad de despacho, adems si se le agregan los avance realizados al combinarlo con metaheurticas como la bsqueda tab, mejora su rendimiento para la muchos de los problemas. En bsqueda tab es importante los parmetros ms importantes son el tamao de la lista y la seleccin de vecindarios. VII. BIBLIOGRAFA Adams, J., Balas, E., & Zawack, D. (March 1988). The Shifting Bottle Neck Procedure for Job Shop Scheduling. Management Science Vol 34 . Britto, R., Gonzalo, M., & Caballero, J. P. (2007). Programacin de la produccin en sistemas de manufactura tipo taller con el algortmo combinado cuello de botella mvio y bsqueda tab. Ingeniera Unversidad. Carlier, J., & Pinzn, E. (Febrero 1989). An algorithm for solving the job shop problem. Management Science Vol 35, 165-176. HOPP, W. J. (2003). Supply Chain Science. Wallace J. Hopp. HOPP, W., & SPEARMAN, M. (2001). Factory Physics: Foundations of Manufacturing Management. New york: Irwin/McGraw-Hill.

VIII. INFOGRAFA Los autores no se indican porque el documento no los menciona. Documentos libres disponibles en la web.
SHIFTING BOTTLENECK (PDF) THE SHIFTING BOTTLENECK FOR JOB SHOP, Scheduling, Lecture 8. (PDF)

You might also like