Algortimo jhonson

588
-1

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
588
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Algortimo jhonson

  1. 1. 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áctercombinatorio del problema. Sólo unos pocos casos se pueden resolver de formaexacta. Además, una vez establecida la secuencia, Murphy se ocupará de que no secumpla o de que se produzcan retrasos. No obstante, es preciso no sólo planificar, sino controlar lo que se ha planificadocomprobando que se está realizando según lo establecido. Todas las empresas, seandel tipo que sean, necesitan saber qué productos se van a fabricar cada día, yhacerlo 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ónestudiado en la primera parte de la asignatura analizando algunos algoritmossencillos que permiten resolver más casos de los que en principio parece. Tambiénse estudian los principales conceptos que intervienen en la planificación.
  2. 2. 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 secuenciaen que deben procesarse en las instalaciones. La definición de las prioridades de losartículos que van a procesarse debe seguir algún criterio de optimización, como elcoste, el tiempo de cambio, o la importancia de los clientes. La planificación detallada tiene como objetivo principal decidir la secuencia detrabajos que realizará cada recurso de la empresa en el horizonte de planificaciónmás pequeño posible (no será el mismo para todas las empresas). políticas limitaciones programación secuencia pedidos de la de producción producción recursos 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 dela empresa más fácil resulta planificar la producción. Sin embargo, la programaciónpropuesta no será, en ningún caso, eficiente. Por ejemplo, si cada trabajo sólopuede programarse en un tipo de máquina, la ruta es fija, el lote de producciónmínimo está fijado, y los tiempos de cambio son elevados, las combinaciones detrabajos para formar distintas secuencias son escasas.
  3. 3. Planificación detallada 79 Por lo tanto, la principal consecuencia de la programación de la producción es laposibilidad de descubrir los puntos débiles de la planta. Por tanto, se puedeconsiderar la programación como una fuente de proyectos de mejora, tratando deeliminar restricciones que “dificultan” la definición de la secuencia. Además, como consecuencia de la programación de la producción se puedesaber cuándo se terminarán los pedidos que han hecho los clientes. En ocasiones, espreciso dar una fecha de entrega al cliente cuando realiza el pedido. Una fechademasiado tardía o demasiado optimista puede estropear, en algunos casos, lasrelaciones con el cliente o conducir a sanciones. ¿Para cuándo dice que lo quiere? ¿Para hoy? ¿Para mañana? ¿Para la ¿Para el mes próxima semana? que viene? El cálculo de la secuencia óptima de los trabajos en el taller es muy complejo ysólo se ha resuelto para casos muy sencillos (una máquina o, a lo sumo, dos). Elcará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 eltamaño del problema y el tiempo de solución no es lineal, lo que supone que, alaumentar la complejidad del problema, el tiempo de resolución se dispara y elalgoritmo no es eficiente). Por otro lado, algunos programadores emplean la capacidad máxima del recursoporque desconocen cuál es la eficiencia real y, por tanto, la programaciónplanteada nunca podrá llevarse a la práctica. Además, existen metas contrapuestas a la hora de elegir la mejor forma deordenar 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.
  4. 4. 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 enlas que las rutas de los productos no siguen un flujo uniforme. A lo largo del tema seestudiarán los algoritmos que resuelven los sistemas sencillos y se verá su utilidadpara resolver casos más complejos. Las tendencias actuales recomiendan disponer de exceso de capacidad enrecursos de máquinas y disponer de operarios polivalentes que se adaptan a lasnecesidades de cada período. Algunos sistemas informáticos de gestión (SAP, Baan,…) se apoyan enplanificadores (Schedulers) para resolver la secuencia de trabajos (Preactor, Shiva,OPT21,…) o en herramientas de simulación (Ithink, Extend, Witness…), parasolucionar casos más complejos. Fundamentos teóricos Se entiende como taller el conjunto de máquinas que intervienen en laplanificación. Clasificar los talleres permite, de forma sencilla, catalogar el casoque se estudia, de forma que se sabe si existe un algoritmo que optimiza suplanificació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 llegana 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. Lonormal en las empresas es planificar los productos que se procesarán la semanasiguiente, a finales de la semana anterior, con los pedidos que se han idorecibiendo. En estas empresas sólo se permite cambiar la planificación con pedidos urgentesde clientes preferentes, o por el reprocesamiento de piezas defectuosas de pedidosanteriores o en curso. Debido a que estos cambios están casi siempre presentes en las empresas, lacarga máxima con la que cuenta planificación no coincide con la capacidad real delas máquinas, sino que es un poco inferior, para que las urgencias no obliguen aprescindir de la planificación que se ha hecho para toda la semana.
  5. 5. Planificación detallada 81 Terminología empleada en planificación Una operación es una tarea elemental que se realiza en una máquina. Elconjunto de operaciones se denomina trabajo y están relacionadas entre sí pormedio de precedencias debidas a restricciones tecnológicas que definen la ruta. tareas operación ruta El siguiente dibujo recoge todos los conceptos que se definen en detalle acontinuación. finalización (ci) flujo de tiempo (Fi) holgura (Hi = Li +wi1 + wi2) si2 tpi2 espera (wi1) wi2 procesam. (pi2) si1 tpi1 retraso Li tiempo llegada (ai) procesam. (pi1) entrega (di) 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.
  6. 6. 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 permitencomparar 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. finalización (ci) flujo de tiempo (Fi) holgura (Hi = Li +wi1 + wi2) si2 tpi2 procesam. (pi2) si1 tpi1 tiempo llegada (ai) procesam. (pi1) entrega (di) Las características anteriores se calculan para cada trabajo. Existen otrasmedidas agregadas que tienen en cuenta el conjunto de trabajos que forman, porejemplo, el pedido completo de un cliente.
  7. 7. 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 seencuentran 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 puedenobtener 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.
  8. 8. 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 serealiza en una única máquina. En este caso es posible obtener una secuencia óptimade los trabajos que minimice una característica elegida por el planificador, como severá más adelante. Si bien en la mayoría de las empresas no se da este caso de forma exclusiva, enmuchas de ellas la planificación puede hacerse agrupando máquinas en centros detrabajo que sí cumplen esta definición. A A B B Para comparar distintas programaciones se calculará el valor del flujo medio detiempo, la tardanza máxima (la que corresponde al trabajo más retrasado) y elnúmero de trabajos retrasados. La mejor programación será aquella que suponga un menor coste total y, portanto, es necesario tener cuantificada la penalización por retraso y el coste deposesión en almacén. Caso estático En el taller se deben planificar n trabajos y todos ellos están disponibles en elinstante 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 deprocesamiento menor), es decir, p1<p2<p3<…<pn Intuitivamente se comprueba que, al asignar de esta forma los trabajos, eltiempo que cada uno de ellos está en el taller (al depender de los trabajos que seprocesan antes que él) se reduce si se procesan primero los que tienen menortiempo de procesamiento. Minimizar la tardanza máxima La tardanza máxima corresponde al trabajo más retrasado. En este caso la reglaEDD (fecha de entrega más reciente) optimiza la secuencia.
  9. 9. Planificación detallada 85 d1<d2<d3<…<dn Esta secuencia supone hacer primero aquellos trabajos que hay que entregarantes. Lógicamente esta ordenación tendrá un mayor valor del flujo medio de tiempo.Resulta prácticamente imposible obtener una secuencia que optimice dos criteriosal mismo tiempo y, casi siempre, habrá que establecer prioridades para decidir lamejor planificación. Minimizar el número de trabajos retrasados Para reducir al máximo el número de trabajos retrasados se debe aplicar elAlgoritmo 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 laplanificació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 ellosen 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 laregla de despacho SPT (tiempo de procesamiento menor) sigue siendo la queminimiza 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 quesupondría aumentar el número de cambios y la duración del cambio del artículoque se está procesando, ya que en numerosas ocasiones al reanudar el trabajo en lamáquina hay que repetir el cambio.
  10. 10. 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 nuevotrabajo y después continuar con el trabajo anterior. En el caso en que sí se permitadetener los trabajos que se están procesando la regla de despacho SRPT (tiempo deprocesamiento remanente menor) minimiza el flujo medio de tiempo. Esta regla supone que, al llegar un nuevo trabajo, se compara el tiempo deprocesamiento que resta al trabajo que está en la máquina y el tiempo deprocesamiento del trabajo que llega. Se planificará el trabajo de menor tiemporemanente. En este caso la duración de los tiempos de cambio es crucial, ya que la máquinadebe prepararse para el nuevo trabajo y volverse a preparar para el productoanterior, 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 posponery reanudar. En este caso, la regla EDD (fecha de entrega más reciente) sigueoptimizando 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 procesarn trabajos y todos ellos están disponibles en el instante inicial. A A B 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 deproducción son distintos. En este caso, ninguno de los algoritmos que se presentanes aplicable. Sin embargo, existen técnicas que optimizan la solución, como el algoritmo deasignación (o algoritmo de Khun) o el método de transporte. Si la solución que sequiere encontrar no tiene por qué ser la óptima, existen técnicas más sencillas deaplicar, como los gráficos de carga.
  11. 11. Planificación detallada 87 Minimizar el flujo medio de tiempo Como en los otros casos estudiados en primer lugar se ordenan los trabajossegú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 lamá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 dela secuencia de los trabajos, suponiendo que no existen tiempos muertos entretrabajos. 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 menostiempo en procesar todos los artículos. Si bien la solución ideal se puede conocer sabiendo el número total de máquinasy la suma de los tiempos de procesamiento de cada trabajo, cuando hay más de unamáquina el problema de programar n trabajos con el objetivo de minimizar elintervalo 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 procesamientomayor) 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 lacual todos los trabajos deben terminarse. Esta fecha se elige arbitrariamente ydespué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.
  12. 12. 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 losproductos que se procesan en ellas es unidireccional. Existen m máquinas y puedehaber trabajos que tengan menos operaciones que m. C A A B C B Este problema es muy complicado debido a su carácter combinatorio. Si los ntrabajos se procesan en las m máquinas existen (n!)m alternativas para laprogramación. Por ejemplo, si hay que planificar 5 trabajos en 3 máquinas sedisponen de 1.728.000 alternativas diferentes. Hasta el momento sólo está resueltode forma óptima el caso estático del flow shop de dos máquinas. El algoritmo queminimiza 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.
  13. 13. 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 laprimera 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 quedeben pasar por la máquina 2 y después los que sólo tienen operación en la máquina1. Al mismo tiempo la máquina 2 procesará en primer lugar los trabajos que sólotienen 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 conlas distribuciones anteriores. Existen m máquinas y cada trabajo puede seguir unaruta diferente. Incluso puede ocurrir que un trabajo pase más de una vez por lamisma máquina, en dos etapas distintas del proceso. C A A B B C Sólo se ha desarrollado un algoritmo que minimiza el intervalo de fabricaciónpara 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 encuatro 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:
  14. 14. 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 siguienteforma: M1 -> S12, S1, S21 M2 -> S21, S2, S12 El objetivo que busca el algoritmo es evitar tiempos muertos y garantizar quelos trabajos llegarán a la máquina antes de ser solicitados. Por este motivo lasmáquinas procesan primero aquellos trabajos que luego visitarán la otra máquina; acontinuación se programan los trabajos exclusivos de cada máquina; y por último seprocesan 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.

×