Algortimo jhonson

14
Planificación detallada 77 Planificación detallada En las empresas que fabrican contra pedido la tarea de determinar la secuencia óptima de fabricación de artículos en un taller es complicada debido al carácter combinatorio del problema. Sólo unos pocos casos se pueden resolver de forma exacta. Además, una vez establecida la secuencia, Murphy se ocupará de que no se cumpla o de que se produzcan retrasos. No obstante, es preciso no sólo planificar, sino controlar lo que se ha planificado comprobando que se está realizando según lo establecido. Todas las empresas, sean del tipo que sean, necesitan saber qué productos se van a fabricar cada día, y hacerlo de la forma más eficiente es el objetivo principal del planificador. En este tema se desciende el último peldaño del triángulo de la planificación estudiado en la primera parte de la asignatura analizando algunos algoritmos sencillos que permiten resolver más casos de los que en principio parece. También se estudian los principales conceptos que intervienen en la planificación.

description

 

Transcript of Algortimo jhonson

Page 1: Algortimo jhonson

Planificación detallada 77

Planificación detallada En las empresas que fabrican contra pedido la tarea de determinar la secuencia

óptima de fabricación de artículos en un taller es complicada debido al carácter combinatorio del problema. Sólo unos pocos casos se pueden resolver de forma exacta. Además, una vez establecida la secuencia, Murphy se ocupará de que no se cumpla o de que se produzcan retrasos.

No obstante, es preciso no sólo planificar, sino controlar lo que se ha planificado comprobando que se está realizando según lo establecido. Todas las empresas, sean del tipo que sean, necesitan saber qué productos se van a fabricar cada día, y hacerlo de la forma más eficiente es el objetivo principal del planificador.

En este tema se desciende el último peldaño del triángulo de la planificación estudiado en la primera parte de la asignatura analizando algunos algoritmos sencillos que permiten resolver más casos de los que en principio parece. También se estudian los principales conceptos que intervienen en la planificación.

Page 2: Algortimo jhonson

78 Organización de la Producción II. Planificación de procesos productivos

Introducción El Plan Maestro de Producción (PMP) y la planificación de materiales (MRP)

determinan los días en los que se deben fabricar los artículos, pero no la secuencia en que deben procesarse en las instalaciones. La definición de las prioridades de los artículos que van a procesarse debe seguir algún criterio de optimización, como el coste, el tiempo de cambio, o la importancia de los clientes.

La planificación detallada tiene como objetivo principal decidir la secuencia de trabajos que realizará cada recurso de la empresa en el horizonte de planificación más pequeño posible (no será el mismo para todas las empresas).

programaciónde la

producción

políticas limitaciones

recursos

pedidossecuencia

deproducción

Además, la programación tiene otros objetivos:

Cumplir las fechas de entrega.

Minimizar el tiempo y el coste de fabricación.

Minimizar el WIP.

Maximizar la utilización de los recursos.

Minimizar los plazos de entrega.

Paradójicamente, cuanto mayor es el número de limitaciones en los procesos de la empresa más fácil resulta planificar la producción. Sin embargo, la programación propuesta no será, en ningún caso, eficiente. Por ejemplo, si cada trabajo sólo puede programarse en un tipo de máquina, la ruta es fija, el lote de producción mínimo está fijado, y los tiempos de cambio son elevados, las combinaciones de trabajos para formar distintas secuencias son escasas.

Page 3: Algortimo jhonson

Planificación detallada 79

Por lo tanto, la principal consecuencia de la programación de la producción es la posibilidad de descubrir los puntos débiles de la planta. Por tanto, se puede considerar la programación como una fuente de proyectos de mejora, tratando de eliminar restricciones que “dificultan” la definición de la secuencia.

Además, como consecuencia de la programación de la producción se puede saber cuándo se terminarán los pedidos que han hecho los clientes. En ocasiones, es preciso dar una fecha de entrega al cliente cuando realiza el pedido. Una fecha demasiado tardía o demasiado optimista puede estropear, en algunos casos, las relaciones con el cliente o conducir a sanciones.

¿Para cuándo dice que lo quiere?

¿Para hoy? ¿Para mañana? ¿Para lapróxima semana?

¿Para el mesque viene?

El cálculo de la secuencia óptima de los trabajos en el taller es muy complejo y

sólo se ha resuelto para casos muy sencillos (una máquina o, a lo sumo, dos). El carácter combinatorio de la planificación dificulta la búsqueda de una solución óptima y la mayoría de los problemas resultan ser NP-completos (la relación entre el tamaño del problema y el tiempo de solución no es lineal, lo que supone que, al aumentar la complejidad del problema, el tiempo de resolución se dispara y el algoritmo no es eficiente).

Por otro lado, algunos programadores emplean la capacidad máxima del recurso porque desconocen cuál es la eficiencia real y, por tanto, la programación planteada nunca podrá llevarse a la práctica.

Además, existen metas contrapuestas a la hora de elegir la mejor forma de ordenar los trabajos:

Si se busca una buena utilización de los recursos, el plazo será peor y, por lo tanto, aumentará el coste de stock y los retrasos.

Si se busca minimizar el lead-time de los productos, el stock en curso será menor, pero la utilización de los recursos será peor.

Page 4: Algortimo jhonson

80 Organización de la Producción II. Planificación de procesos productivos

El problema se complica en aquellas empresas que trabajan contra pedido, o en las que las rutas de los productos no siguen un flujo uniforme. A lo largo del tema se estudiarán los algoritmos que resuelven los sistemas sencillos y se verá su utilidad para resolver casos más complejos.

Las tendencias actuales recomiendan disponer de exceso de capacidad en recursos de máquinas y disponer de operarios polivalentes que se adaptan a las necesidades de cada período.

Algunos sistemas informáticos de gestión (SAP, Baan,…) se apoyan en planificadores (Schedulers) para resolver la secuencia de trabajos (Preactor, Shiva, OPT21,…) o en herramientas de simulación (Ithink, Extend, Witness…), para solucionar casos más complejos.

Fundamentos teóricos Se entiende como taller el conjunto de máquinas que intervienen en la

planificación. Clasificar los talleres permite, de forma sencilla, catalogar el caso que se estudia, de forma que se sabe si existe un algoritmo que optimiza su planificación o si, por el contrario, es preciso buscar otra solución.

La primera clasificación hace referencia a los trabajos y a la forma en que llegan a la planificación. Se distinguen dos tipos distintos de talleres.

Estáticos: Los trabajos que hay que planificar están todos disponibles en el instante inicial y no se incluyen nuevos trabajos durante el período de planificación.

Dinámicos: Se actualiza el programa de planificación cuando llegan nuevos trabajos.

Los talleres estáticos son más frecuentes que los dinámicos en el mundo real. Lo normal en las empresas es planificar los productos que se procesarán la semana siguiente, a finales de la semana anterior, con los pedidos que se han ido recibiendo.

En estas empresas sólo se permite cambiar la planificación con pedidos urgentes de clientes preferentes, o por el reprocesamiento de piezas defectuosas de pedidos anteriores o en curso.

Debido a que estos cambios están casi siempre presentes en las empresas, la carga máxima con la que cuenta planificación no coincide con la capacidad real de las máquinas, sino que es un poco inferior, para que las urgencias no obliguen a prescindir de la planificación que se ha hecho para toda la semana.

Page 5: Algortimo jhonson

Planificación detallada 81

Terminología empleada en planificación Una operación es una tarea elemental que se realiza en una máquina. El

conjunto de operaciones se denomina trabajo y están relacionadas entre sí por medio de precedencias debidas a restricciones tecnológicas que definen la ruta.

ruta

tareasoperación

El siguiente dibujo recoge todos los conceptos que se definen en detalle a

continuación.

si1 tpi1

si2 tpi2

llegada (ai) entrega (di)

flujo de tiempo (Fi)

wi2

procesam. (pi1)

procesam. (pi2)

finalización (ci)

retraso Li

holgura (Hi = Li +wi1 + wi2)

espera (wi1)

tiempo

El tiempo de procesamiento (pi) es la duración de la operación. Incluye

el tiempo de cambio (tc) que, en la mayoría de los casos, es independiente de la secuencia (salvo en el caso de empresas de envasado y fabricación, por ejemplo, de pinturas o helados)

El tiempo de espera (wi) es el tiempo que el trabajo está en cola esperando a ser procesado en una máquina.

La fecha de llegada (ai) es el instante en el que el trabajo llega al taller y a partir del cual puede ya procesarse. Es decir, no es el momento en el que el cliente hace el pedido, sino el momento en que el pedido llega a planificación.

La fecha de finalización (ci) corresponde al instante en el que se termina la última operación de un trabajo.

Page 6: Algortimo jhonson

82 Organización de la Producción II. Planificación de procesos productivos

La fecha de entrega (di) es el instante en el que hay que entregar el trabajo. Generalmente viene fijada por el cliente.

Existen unos datos que se obtienen a partir de estos conceptos y que permiten comparar distintas planificaciones. Los tres más importantes son:

El flujo de tiempo (FI = ci – ai ó Fi = pi + wi) es el tiempo transcurrido desde la llegada del trabajo hasta la finalización de la última tarea. Se puede definir como la diferencia entre el tiempo de finalización y el de llegada (ci – ai); o bien, desde el punto de vista de su estancia en el taller, se puede calcular como la suma del tiempo de procesamiento y el tiempo de espera (pi + wi).

El retraso (Li = ci - di) cuantifica lo pronto (o tarde) que se ha terminado el trabajo y se calcula como la diferencia entre la fecha de finalización y la de entrega. Si es mayor que cero significa que el trabajo se ha terminado después de su fecha de entrega prevista y, entonces, se denomina tardanza (Ti). Si, por el contrario, es menor que cero, el trabajo se ha acabado antes de la fecha prevista, se denomina prontitud (Ei).

La holgura (HI = di – (ai + pi)) representa el margen de tiempo que existe para planificar un pedido, es decir, sabiendo el tiempo en el que llega y el tiempo de procesamiento, y conociendo la fecha en la que hay que entregar el artículo, es fácil calcular el margen del que se dispone para planificarlo.

si1 tpi1

si2 tpi2

llegada (ai) entrega (di)

flujo de tiempo (Fi)

procesam. (pi1)

procesam. (pi2)

finalización (ci)

holgura (Hi = Li +wi1 + wi2)

tiempo

Las características anteriores se calculan para cada trabajo. Existen otras medidas agregadas que tienen en cuenta el conjunto de trabajos que forman, por ejemplo, el pedido completo de un cliente.

Page 7: Algortimo jhonson

Planificación detallada 83

El Intervalo de fabricación (M) es el intervalo necesario para planificar los n trabajos que componen la lista de planificación.

El flujo medio de tiempo ( F ) es el valor medio del flujo de tiempo para los n trabajos. Este término es importante, ya que el inventario en proceso es directamente proporcional al flujo medio de tiempo, es decir, cuanto mayor sea este valor, más inventario habrá en proceso. También puede verse en sentido contrario, es decir, en empresas en las que hay mucho inventario en proceso los plazos de entrega que se pueden prometer son más altos.

Reglas de despacho. Las reglas de despacho permiten definir las prioridades entre los trabajos que se

encuentran en un taller. Pueden ser sencillas, basadas en un dato del producto, como el tiempo de procesamiento o la fecha de entrega; también se pueden obtener a través de cálculos entre diferentes variables (como la holgura).

Las principales reglas de despacho que se manejan en producción son:

FIFO (First In First Out) ó PEPA (Primero en Entrar, Primero en Atender): Se emplea a menudo y, especialmente, con productos perecederos, donde toma el nombre de FEFO (First Expiration First Out).

LIFO (Last In First Out) ó UEPA (Último en Entrar, Primero en Atender): No es muy común, pero en ocasiones, cuando el material ocupa grandes superficies y la rotación es elevada (planchas de acero de gran tamaño) suele ser útil esta regla.

SPT (Sort Process Time): Ordena los trabajos de menor a mayor tiempo de procesamiento. Es una de las más utilizadas.

LPT (Longest Process Time): Ordena los trabajos de mayor a menor tiempo de procesamiento.

EDD (Earliest Due Date): Ordena los trabajos en función de la fecha de entrega, de forma creciente, es decir, el primer trabajo de la lista es el que tiene menor fecha de entrega.

Holgura mínima: Considera el tiempo restante total hasta la finalización del trabajo. De esta forma se programan antes los trabajos con mayores posibilidades de retrasarse.

Page 8: Algortimo jhonson

84 Organización de la Producción II. Planificación de procesos productivos

El taller de una sola máquina En un taller de este tipo los trabajos constan de una única operación que se

realiza en una única máquina. En este caso es posible obtener una secuencia óptima de los trabajos que minimice una característica elegida por el planificador, como se verá más adelante.

Si bien en la mayoría de las empresas no se da este caso de forma exclusiva, en muchas de ellas la planificación puede hacerse agrupando máquinas en centros de trabajo que sí cumplen esta definición.

A

B

A

B

Para comparar distintas programaciones se calculará el valor del flujo medio de tiempo, la tardanza máxima (la que corresponde al trabajo más retrasado) y el número de trabajos retrasados.

La mejor programación será aquella que suponga un menor coste total y, por tanto, es necesario tener cuantificada la penalización por retraso y el coste de posesión en almacén.

Caso estático En el taller se deben planificar n trabajos y todos ellos están disponibles en el

instante inicial. Los tiempos de procesamiento son constantes y conocidos.

Minimizar el flujo medio de tiempo

Se deben ordenar los trabajos según la regla de despacho SPT (tiempo de procesamiento menor), es decir,

p1<p2<p3<…<pn

Intuitivamente se comprueba que, al asignar de esta forma los trabajos, el tiempo que cada uno de ellos está en el taller (al depender de los trabajos que se procesan antes que él) se reduce si se procesan primero los que tienen menor tiempo de procesamiento.

Minimizar la tardanza máxima

La tardanza máxima corresponde al trabajo más retrasado. En este caso la regla EDD (fecha de entrega más reciente) optimiza la secuencia.

Page 9: Algortimo jhonson

Planificación detallada 85

d1<d2<d3<…<dn

Esta secuencia supone hacer primero aquellos trabajos que hay que entregar antes.

Lógicamente esta ordenación tendrá un mayor valor del flujo medio de tiempo. Resulta prácticamente imposible obtener una secuencia que optimice dos criterios al mismo tiempo y, casi siempre, habrá que establecer prioridades para decidir la mejor planificación.

Minimizar el número de trabajos retrasados

Para reducir al máximo el número de trabajos retrasados se debe aplicar el Algoritmo de Moore, que consta de 4 pasos.

PASO 1. Ordenar los trabajos de acuerdo a la regla EDD.

d1<d2<d3<…<dn

PASO 2. Encontrar el primer trabajo retrasado en la lista (trabajo i).

PASO 3. En la secuencia 1,2,...,i encontrar el trabajo con mayor tiempo de procesamiento.

Quitar ese trabajo y volver al PASO 2.

PASO 4. Completar la secuencia añadiendo en cualquier orden los trabajos rechazados en el PASO 3.

Los únicos trabajos retrasados serán los que se añaden al final de la planificación, y son el menor número posible.

Caso dinámico En el taller se deben planificar n trabajos que no están disponibles todos ellos

en el instante inicial. Los tiempos de procesamiento son constantes y conocidos.

Minimizar el flujo medio de tiempo

En el caso en que no se permita detener los trabajos que se están procesando la regla de despacho SPT (tiempo de procesamiento menor) sigue siendo la que minimiza el flujo medio de tiempo, es decir,

p1<p2<p3<…<pn (de los trabajos asignables)

En este segundo caso es importante tener en cuenta el aumento de coste que supondría aumentar el número de cambios y la duración del cambio del artículo que se está procesando, ya que en numerosas ocasiones al reanudar el trabajo en la máquina hay que repetir el cambio.

Page 10: Algortimo jhonson

86 Organización de la Producción II. Planificación de procesos productivos

En ocasiones es posible detener la fabricación de un artículo, procesar un nuevo trabajo y después continuar con el trabajo anterior. En el caso en que sí se permita detener los trabajos que se están procesando la regla de despacho SRPT (tiempo de procesamiento remanente menor) minimiza el flujo medio de tiempo.

Esta regla supone que, al llegar un nuevo trabajo, se compara el tiempo de procesamiento que resta al trabajo que está en la máquina y el tiempo de procesamiento del trabajo que llega. Se planificará el trabajo de menor tiempo remanente.

En este caso la duración de los tiempos de cambio es crucial, ya que la máquina debe prepararse para el nuevo trabajo y volverse a preparar para el producto anterior, preparación que ya se hizo en su momento y que debe repetirse.

Minimizar la tardanza máxima

Sólo tiene sentido plantear este problema en el caso en que se permita posponer y reanudar. En este caso, la regla EDD (fecha de entrega más reciente) sigue optimizando la secuencia.

d1<d2<d3<…<dn (de los trabajos asignables)

El taller de máquinas en paralelo En el taller se dispone de m máquinas idénticas en paralelo que deben procesar

n trabajos y todos ellos están disponibles en el instante inicial.

A

B

A

B

En ocasiones se puede asignar un pedido a máquinas que son distintas entre sí,

bien porque el tiempo de procesamiento es diferente, o bien porque los costes de producción son distintos. En este caso, ninguno de los algoritmos que se presentan es aplicable.

Sin embargo, existen técnicas que optimizan la solución, como el algoritmo de asignación (o algoritmo de Khun) o el método de transporte. Si la solución que se quiere encontrar no tiene por qué ser la óptima, existen técnicas más sencillas de aplicar, como los gráficos de carga.

Page 11: Algortimo jhonson

Planificación detallada 87

Minimizar el flujo medio de tiempo Como en los otros casos estudiados en primer lugar se ordenan los trabajos

según la regla SPT.

p1<p2<p3<…<pn

A continuación se asignan a las m máquinas en rotación. Equivale a asignar a la máquina con menor carga.

Minimizar el intervalo de fabricación En el caso de una sola máquina el intervalo de fabricación es independiente de

la secuencia de los trabajos, suponiendo que no existen tiempos muertos entre trabajos. Sin embargo, cuando existen m máquinas, aunque sean iguales, dependiendo de la secuencia elegida y de la asignación, se tardará más o menos tiempo en procesar todos los artículos.

Si bien la solución ideal se puede conocer sabiendo el número total de máquinas y la suma de los tiempos de procesamiento de cada trabajo, cuando hay más de una máquina el problema de programar n trabajos con el objetivo de minimizar el intervalo de fabricación es NP-Completo.

Por este motivo se presentan dos métodos heurísticos.

Método LPT

Este método se basa en la regla de despacho LPT (tiempo de procesamiento mayor) y consiste en dos pasos básicos:

PASO 1. Ordenar los trabajos en orden LPT.

p1>p2>...>pn

PASO 2. Asignar a la máquina con menor carga actual.

Método MULTIFIT

El método MULTIFIT es un método iterativo. Se define D como la fecha para la cual todos los trabajos deben terminarse. Esta fecha se elige arbitrariamente y después se corrige. Por otro lado se asigna un índice i (i=1, 2, 3,…) a cada máquina.

Al algoritmo consta de los 5 pasos siguientes:

PASO 1. Establecer un primer valor de D.

PASO 2. Ordenar los trabajos de acuerdo a la regla LPT.

Page 12: Algortimo jhonson

88 Organización de la Producción II. Planificación de procesos productivos

PASO 3. Asignar el primer trabajo a la máquina de menor índice (i) que finalice el trabajo antes de la fecha D. Si no hay máquinas que cumplen esta condición el método falla y hay que elegir otro valor de D.

PASO 4. Si se encuentra una máquina, eliminar el trabajo de la lista y volver al PASO 3 hasta que el método falle o la lista esté vacía.

PASO 5. Reducir el valor de D hasta que el método falle.

El flow shop En este taller las máquinas están dispuestas de manera que el flujo de todos los

productos que se procesan en ellas es unidireccional. Existen m máquinas y puede haber trabajos que tengan menos operaciones que m.

A

B

B

A

C

C

Este problema es muy complicado debido a su carácter combinatorio. Si los n

trabajos se procesan en las m máquinas existen (n!)m alternativas para la programación. Por ejemplo, si hay que planificar 5 trabajos en 3 máquinas se disponen de 1.728.000 alternativas diferentes. Hasta el momento sólo está resuelto de forma óptima el caso estático del flow shop de dos máquinas. El algoritmo que minimiza el intervalo de fabricación es el Algoritmo de Johnson.

El Algoritmo de Johnson PASO 1. Formar una lista con todos los trabajos y dos listas más (una para

cada máquina). La lista de la primera máquina se completa de izquierda a derecha; la de la segunda de derecha a izquierda.

PASO 2. Encontrar el trabajo con menor tiempo de procesamiento (pi). Los empates pueden romperse al azar.

PASO 3. Si el tiempo corresponde a la primera máquina, poner el trabajo en la lista de la primera máquina. Si es de la segunda, poner el trabajo en la lista de la segunda máquina.

Page 13: Algortimo jhonson

Planificación detallada 89

PASO 4. Repetir hasta que se vacíe la lista de trabajos.

La secuencia óptima se consigue concatenando los trabajos de la lista de la primera máquina y los de la segunda.

El algoritmo busca que las máquinas estén el menor tiempo posible detenidas. La secuencia obtenida procesará primero en la máquina 1 aquellos trabajos que deben pasar por la máquina 2 y después los que sólo tienen operación en la máquina 1. Al mismo tiempo la máquina 2 procesará en primer lugar los trabajos que sólo tienen operación en la máquina 2 y después los que provienen de la máquina 1.

El job shop general Este problema corresponde al caso de cualquier taller que no se identifique con

las distribuciones anteriores. Existen m máquinas y cada trabajo puede seguir una ruta diferente. Incluso puede ocurrir que un trabajo pase más de una vez por la misma máquina, en dos etapas distintas del proceso.

A

B

C

A

C

B

Sólo se ha desarrollado un algoritmo que minimiza el intervalo de fabricación

para el caso del job shop de dos máquinas: el algoritmo de Jackson.

El Algoritmo de Jackson. Los trabajos se procesan en dos máquinas (M1 y M2) y se pueden dividir en

cuatro categorías.

Tipo 1: Trabajos que se procesan sólo en M1.

Tipo 2: Trabajos que se procesan sólo en M2.

Tipo 12: Trabajos que se procesan primero en M1 y luego en M2.

Tipo 21: Trabajos que se procesan primero en M2 y luego en M1.

Una vez separados en estas categorías, el algoritmo tiene dos pasos:

Page 14: Algortimo jhonson

90 Organización de la Producción II. Planificación de procesos productivos

PASO 1. Programar los trabajos de Tipo 1 y Tipo 2 en cualquier orden. Secuencias S1 y S2.

PASO 2. Programar los trabajos de Tipo 12 y Tipo 21 de acuerdo con el algoritmo de Johnson y obtener las secuencias S12 y S21 (hay que tener en cuenta que, en la secuencia S21, M2 es la primera máquina y M1 la segunda máquina).

La planificación óptima se obtiene combinando estas secuencias de la siguiente forma:

M1 -> S12, S1, S21

M2 -> S21, S2, S12

El objetivo que busca el algoritmo es evitar tiempos muertos y garantizar que los trabajos llegarán a la máquina antes de ser solicitados. Por este motivo las máquinas procesan primero aquellos trabajos que luego visitarán la otra máquina; a continuación se programan los trabajos exclusivos de cada máquina; y por último se procesan los trabajos que ya han visitado la máquina anterior.

Bibliografía recomendada Analysis and Control of Production Systems. E. A: Elsayed y T. O. Boucher, Practice-Hall, New Jersey, 1985

Bastante general. Incluye, además de MRP, la planificación detallada de operaciones.

Dirección de Operaciones. Aspectos tácticos y operativos en la producción y los servicios. J. A. Machuca, Editorial McGraw-Hill, Madrid, 1995

Segunda parte de una pareja de libros dedicados a la producción y los servicios. Preparados de forma extensa para ser explicados son un resumen de muchos libros ya comentados con algunos temas tratados de forma original, como el de la planificación detallada.