Planificación y secuenciamiento de procesos por lotes

Anuncio
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
Descargar