Planificación y secuenciamiento de procesos por lotes Prof. Cesar de Prada ISA-UVA Indice Procesos y plantas batch Conceptos básicos de secuenciamiento Formulación de problemas de secuenciamiento Resolución por optimización Sigue un curso de Ignacio Grossmann Plantas batch A medida que la fabricación de productos de alto valor añadido (químicos, farmaceúticos, alimentos, ciertos polímeros…) y producción limitada va generalizándose, tiene mas interés la fabricación en forma batch. Igualmente tiene creciente interés el reutilizar los equipos para fabricar distintos productos, dando lugar a fábricas flexibles multiproducto situadas cerca de los lugares de consumo. Esto plantea dos problemas: La operación de cada unidad batch Planificar y secuenciar la producción decidiendo qué productos se procesan, en qué equipos, en qué orden y los tiempos de inicio y fin de cada proceso. Unidades batch Operación Carga Secuencia de operaciones internas en la unidad Descarga Receta para la unidad Basicamente problemas de control Plantas batch Cuando se considera un conjunto de unidades batch, el problema fundamental es saber cuando arrancar y descargar cada una, de forma que se procese un determinado flujo de productos y se satisfagan las restricciones de energia, calidad, almacenamiento, etc Fabricación monoproducto Normalmente, la fabricación de un producto implica varias etapas que se llevan a cabo secuencialmente en varios equipos de acuerdo a una receta de fabricación. Ejemplo: Mezcla Reactor U1 U2 Centrifuga U3 Etapa 1, 4 h Etapa 2, 1 h Etapa 3, 2 h Secado U4 Etapa 4, 1 h En el ejemplo, la fabricación del producto A implica cuatro etapas (cada en una unidad de proceso) sucesivas empleando en cada una los tiempos indicados A Diagrama de Gantt U1 U2 U3 U4 1 2 3 4 0 2 U1 U2 U3 U4 4 6 8 10 12 14 16 t (hr) Transferencia entre unidades 1 2 3 4 0 2 4 6 8 10 12 14 16 t (hr) Diagrama de Gantt Operación no-solapada U1 U2 U3 U4 1 1 2 2 3 3 4 4 0 U1 U2 U3 U4 2 4 6 8 10 2 3 3 4 4 4 16 t (hr) Operación solapada 2 2 14 1 1 0 12 6 8 10 12 14 16 t (hr) Tiempo de ciclo (Cycle Time) Tiempo de ciclo = 8 h U1 U2 U3 U4 1 M tc = ∑ τj 1 2 2 3 4 0 U1 U2 U3 U4 2 4 6 4 8 Tiempo de ciclo = 4 h 10 6 j=1, M 4 8 M = nº de etapas t c = max{τ j } 4 4 16 t (hr) 3 3 2 14 2 2 0 12 1 1 j=1 3 10 12 14 16 t (hr) Intervalo de tiempo entre el comienzo de dos ciclos Tiempo de ciclo Otro ejemplo con tiempos diferentes en las etapas 1 y 2 Tiempo de proceso en la unidad: U1= 2h , U2 = 3h, U3 = 2h, U4 = 1h t c = max{τ j } Tiempo de ciclo = 3 h 1 U1 U2 U3 U4 j=1, M 1 2 M numero de etapas 2 3 3 4 0 2 4 6 4 8 10 12 14 16 t (hr) Makespan = 11 h Makespan: Tiempo total empleado en producir un numero de lotes (ejemplo: 2) Fabricación de varios productos Planta tipo flowshop: cada producto usa todas las etapas siguiendo la misma secuencia (plantas multiproducto) Mezcla 4h Reactor 2h U1 1h U2 3h Centrifuga 2 h U3 2h Secado U4 1h A 2h B Planta tipo jobshop: no todos los productos usan todas las etapas y/o siguen la misma secuencia (plantas multiproposito) Mezcla Reactor U1 U2 Centrifuga U3 Secado U4 A B 4h 2h 1h 2h 1h 3h Fabricación de varios productos Puede haber varias maquinas o unidades en cada etapa una maquina o unidad Multiples maquinas o unidades una etapa (Single-stage) Flow-shop con multiples unidades por etapa (Parallel units, Multi-stage) Job-shop 1 2 Todos los productos requieren usar todas las etapas siguiendo la misma secuencia A B C No todos los productos requieren usar todas las etapas y/o seguir la misma secuencia 3 Ejemplo, dos productos U1 U2 U3 U4 1 1 1 1 2 2 2 4 4 2 4 6 3 3 3 0 2 8 10 3 4 12 14 4 16 t (hr) Campaña: Fabricación de un numero determinado de lotes de los distintos productos Ejemplo: Campaña AABB Tipos de campañas Producto único (single product campaign SPC) Tiempo de ciclo de la campaña 13h U1 1 U2 U3 U4 0 Tiempo de ciclo de la campaña 12h U1 U2 U3 U4 1 1 2 2 3 4 4 2 4 6 8 10 3 4 12 14 4 16 t (hr) Productos mezclados (mixed product campaign MPC) 1 1 1 3 4 6 3 4 4 2 2 2 3 8 ABAB makespan 19 h 1 2 2 0 2 2 3 3 AABB makespan 20 h 1 10 12 3 4 14 4 16 t (hr) Tipos de campañas En general las campañas de productos mezclados MPC son mas eficaces, pero esto puede cambiar si se consideran los tiempos de limpieza necesarios asociados al cambio de productos U1 U2 U3 U4 1 1 1 1 2 2 U1 U2 U3 U4 4 6 8 10 1 1 4 12 1 6 8 4 10 3 3 3 4 4 16 t (hr) 2 2 3 2 14 4 1 2 2 0 3 4 4 2 3 3 3 0 2 2 12 14 4 16 t (hr) 4 Tipos de almacenamiento U1 U2 U3 U4 1 2 3 4 0 2 4 6 •Almacenamiento en la etapa: No existen tanques de almacenamiento intermedio pero el producto puede mantenerse en la unidad (NIS non-intermediate storage) 8 t (hr) •Transferencia sin espera: No existe almacenamiento intermedio y el producto no puede mantenerse mas tiempo en la unidad (ZW zero wait) •Almacenamiento intermedio ilimitado: Existen tanques para almacenamiento intermedio de capacidad ilimitada (UIS unlimited intermediate storage) n nº de lotes N t c = max ∑ n i τij j=1, M i =1 De una campaña i, del producto i M, nº de etapas Ejemplo Producto Etapa 1 Etapa 2 Etapa 3 A 6 4 3 B 3 2 2 Campaña ABAB Tiempo de ciclo 11h U1 U2 U3 1 1 1 2 2 3 0 2 4 6 Transferencia sin espera 8 1 10 2 3 12 14 2 3 16 t (hr) 3 Ejemplo almacenamiento en la unidad Tiempo de ciclo 10h U1 U2 U3 1 1 1 2 3 2 4 6 8 1 2 2 0 almacenamiento en la unidad 10 12 3 14 3 1 1 1 2 almacenamiento intermedio ilimitado 2 3 0 2 4 6 8 1 2 10 14 Max (6+3, 4+2, 3+2) almacen 2 3 3 12 3 16 t (hr) Tiempo de ciclo 9h U1 U2 U3 2 16 t (hr) 3 Unidades paralelas Reactor U1 6h Reactor U1 2h U2 Los productos pueden procesarse en varias unidades similares en cada etapa Unidades paralelas Tiempo de ciclo 6 h U1 U2 1 1 2 0 2 4 6 2 8 10 12 14 16 t (hr) Sin unidades paralelas U11 U12 U2 1 1 1 1 2 2 2 2 Tiempo de ciclo 4 h 0 2 4 6 8 10 12 14 16 t (hr) Con dos unidades unidades paralelas en la etapa 1 Planificación y secuenciamiento Planning and Scheduling Fuerte demanda industrial Potencial para optimizar Problemas: Como modelar Como plantear la solución en términos de optimización Como resolver el problema de optimización Planificación y secuenciamiento Nuevas herramientas: Sistemas de informacion + RTO Decisiones jerarquicas multinivel con diferentes modelos, escalas de tiempo e incertidumbre Secuenciamiento mono-etapa multiproducto Equipo 1 Tarea 1 Tarea 2 Equipo 2 Tarea i …… Tiempo mínimo de inicio ……. Tarea n Equipo L Duración de la tarea (puede variar con el Tiempo equipo) máximo de finalización Tareas correspondientes a los n productos L equipos similares para realizar las tareas pero, quizas, con costos diferentes Asignación y secuenciamiento Asignar cada tarea a un equipo, y el orden y tiempo de ejecución en los mismos, de forma que se cumplan las restricciones de tiempos y se minimizen costos Tarea 1 Tarea 2 Equipo 1 Tarea 3 Equipo 2 Tarea 4 Equipo 3 Tarea 5 Tarea 6 Asignación Secuenciamiento en la unidad Asignación MILP 1 si se asigna la tarea i a la unidad m = 0 en caso contrario y im min yim ,ti ∑ ∑C i∈I m∈M im yim ri tiempo mínimo de inicio ∑ pim yim ≤ di ∀i ∈ I m∈M ∑y m∈M ∑y i∈I im im M Conjunto de equipos Costo s.t. ti ≥ ri ti + I conjunto de tareas = 1 ∀i ∈ I Tiempo comienzo ti di tiempo máximo de finalización Asignación a una unidad pim duración de la tarea i en el equipo m pim ≤ max i {d i } − min i {ri } ∀m ∈ M pim m Suma de tiempos de tareas en una unidad m Cim costo de la tarea i en el equipo m ti tiempo de inicio de la tarea i en un equipo Asignación con otras restricciones Dadas N tareas (i) and M equipos (m) Tareas con tiempos fijos de proceso pim Fi ={m | conjunto de equipos que pueden realizar la tarea i} N ={ (i1,i2) las tareas i1 e i2 no se pueden realizar en el mismo equipo} No hay tiempos de comienzo y finalización pero si duración de las tareas ¿Como asignar las tareas a los equipos para minimizar el tiempo total de procesar todas ellas W? Tiempo de proceso Tarea 1 Tarea 2 . Tarea N Machine m equipo m Formulación MILP y im 1 si se asigna la tarea i a la unidad m = 0 en caso contrario min W Min Makespan ∑y El makespan es una cota superior para cada equipo m yim ,W im pim ≤ W m∈M i ∑y im =1 i∈I m∈ Fi yi1m + yi2 m ≤ 1 i1 ,i2 ∈ N 0 ≤ W ≤ Wmax yim ∈ { 0 ,1 }, yim = 0 m ∉ Fi Cada tarea i a un equipo posible m Asignaciones prohibidas I conjunto de tareas M Conjunto de equipos Fi conjunto de equipos que pueden realizar la tarea i pim duración de la tarea i en el equipo m W makespan Secuenciamiento en cada equipo 1 si la tarea i precede a la j en la unidad m zij = 0 en caso contrario y im 1 si se asigna la tarea i a la unidad m = 0 en caso contrario Si yim e y jm son ciertas ⇒ zij ó z ji son ciertas zij y zji no pueden ser ciertas simultáneamiente 1 ≥ z ij + z ji ≥ y im + y jm − 1 ∀i, j ∈ I, i > j, m ∈ M Si zij =1 entonces t j ≥ ti + pim t j ≥ ti + ∑p m∈M im yim − M (1− zij ) ∀i, j ∈ I , i ≠ j yim = {0,1}, zij = {0,1}, ti ≥ 0 Big-M Constraint Resultados Tarea 1 Tarea 2 Equipo 1 Tarea 3 Equipo 2 Tarea 4 Equipo 3 Tarea 5 Tarea 6 Asignación MILP CPLEX 6.5 (Grossmann) Secuenciamiento en la unidad 3 tasks, 2 units 0.04 sec 12 tasks, 3 units 926 sec 20 tasks, 5 units 18,000 sec Dos problemas Asignar Asignaciones a equipos fijas Añadir restricciones Secuenciar Analizar la solución Factible? No Si Stop Secuenciamiento cíclico Birewar, Grossmann (1990) M Etapas (una unidad por etapa) N Batches Dados N Batches (tareas) con tiempos de procesado pim y tiempos muertos de cambio del producto i al j en la etapa m sijm Encontrar la secuencia óptima que minimiza el tiempo de ciclo Secuenciamiento cíclico en una planta tipo flowshop (ZW) Tiempo de ciclo 15h U1 U2 U3 1 1 1 2 2 4 6 8 2 2 3 0 1 10 3 12 14 2 3 … 16 t (hr) ¿En que orden deben procesarse los lotes si tenemos N productos? Dado su carácter cíclico, basta resolver el problema para el primer ciclo Un criterio puede ser escoger el orden para minimizar el tiempo de ciclo. Tiempo de ciclo (ZW) sijm tiempo muerto entre los productos i y j en la etapa m Tiempo de ciclo 15h U1 U2 U3 1 1 1 2 2 4 6 8 2 2 3 0 1 10 3 12 14 2 3 … 16 t (hr) El tiempo de ciclo puede calcularse sobre la primera etapa sumando los tiempos de proceso de todos los productos en esa etapa y los tiempos muertos entre productos N N i =1 i =1 j =1 N CT = ∑ pi1 + ∑∑ sij1 yij 1 si el producto i va seguido del producto j yij = 0 en caso contrario Secuencia óptima en cada equipo 1 si el producto i va seguido del producto j yij = 0 en caso contrario N N i =1 i =1 j =1 N min ∑ pi1 + ∑∑ sij1 yij y ∑∑ y sujeto a N ∑y i =1 ij =1 ij = 1 i = 1,..., N N ∑y j =1 sii1 = ∞ Para asegurar que no hay subsecuencias aisladas: j = 1,..., N i∈Q j∈Q ij ≥ 1 ∀Q Q ⊆ B, Q ≠ ∅ B = {1,2,..., N } Para todo subconjunto Q de B Sub-secuencias Si no se imponen las restricciones adicionales, las restricciones de asignación N ∑y i =1 ij =1 ij = 1 i = 1,..., N N ∑y j =1 j = 1,..., N pueden cumplirse, pero con subsecuencias aisladas 3 1 2 ∑∑ y i∈Q j∈Q Q ⊆ B, 4 ij ≥ 1 ∀Q Q ≠ ∅ B = {1,2,..., N } Figura Q = {1,2}, Q = {3,4} Cálculo de tiempos muertos entre productos sijm tiempo muerto entre los productos i y j en la etapa m Tiempo de ciclo 15h U1 U2 U3 1 1 1 2 2 4 6 8 2 2 3 0 1 10 3 12 14 2 3 16 t (hr) Para determinar el tiempo de ciclo hay que calcular los tiempos muertos sijm entre productos. Un posible algoritmo es: T1 = pi1 + λij1 Tm = Tm −1 + p j ,m −1 m m = 2,3,...M d m = Tm − ∑ pik − λijm k =1 m = 1,...M δ = min d m m sijm = d m − δ λijm Tiempo de limpieza entre productos i,j en la etapa m … Visión ampliada de la planificación y el secuenciamiento Supply Chain Acetylene Acetaldehyde Process 2 Acrylonitrile Process 1 HCN Process 3 Propylene Phenol Cumene Process 4 Process 5 Cadena de suministro: empresa, almacenes, suministros, distribución Acetone Material flow Information flow (Orders) Plant Plant Warehouse End consumers Distr. Center Retailer Demand for A Demand for B Making of A, B & C Demands for C Caracterización del problema de distribución uk’k upk’ Plant xk’ Plant Warehouse yk’k ukk’’ x k Distr. Center ykk’’ Material Flow (A, B or C) Information Flow (Orders) d xk’’ Retailer yk’’r Customer Variables: Estados(x): Cantidad almacenada (inventory), I, Cantidad de pedidos (orders), O Control(u): Organización de la producción, velocidad de cursado de pedidos a otro nivel de distribución Salidas(y): Velocidad de producción Perturbaciones(d): Velocidad de llegada de pedidos Esquema del proceso de distribución Almacen de planta Planta Centro de Distribución Control law Plant I Orders from customers Control law Control law O Orders’ processing rate Comercio O O O Orders' processing rate Orders' processing rate Orders' processing rate System dynamics I System dynamics I System dynamics Deliveries to customers