Está en la página 1de 5

TERCERA ENTREGA PROYECTO PROGRAMACIÓN DE

PRODUCCIÓN
Laura Maya, Liana Olivares, Luis Tarazona
1. Diseño de Proceso Propuesto
El proceso productivo de Creating Ideas es “Flexible Job Shop”, ya que tiene máquinas que permiten
adaptarse y ser utilizadas según los tipos de productos solicitados. Las máquinas y estaciones están
distribuidos en 4 pisos de la siguiente forma:
 Primer Piso: Impresora Offset, Guillotina, Troqueladoras e Inyectoras.
 Segundo Piso: Impresora Digital, Laminadora, Almacén.
 Tercer Piso: Líneas de Ensamble, Línea de Calidad, Termoformado y Molido de Trituración de
Plástico.
 Cuarto Piso: CNC Router, Cortadora Láser, Área de ensamble de Rotomoldeo, Área de ensamble
de Ambientaciones, Almacén, Taller de Metal Mecánica y Taller de Modelería.

La cantidad de máquinas y su respectiva denominación es mostrada en la siguiente tabla:


Máquinas Denominación (Mi)
2 impresoras offset (1 bicolor y 1 de 5 colores) M1 - M2
2 troqueladoras M3 - M4
2 guillotinas M5 - M6
3 inyectoras M7 - M8 - M9
3 impresoras 3D M10 - M11 - M12
1 impresora digital de gran formato (imprime sobre rígidos) M13
1 impresora digital que imprime vinilos adhesivos M14
1 plotter de impresión M15
1 plotter de corte M16
4 termformadoras M17 - M18 - M19 - M20
1 termodobladora M21
1 máquina de corte láser M22
1 máquina Router CNC M23

Según la clasificación de los problemas de programación “||”, donde viene  a ser la


configuración de máquinas,  las características de trabajos, restricciones y/o limitaciones, y  el
criterio de optimalidad.
Como la configuración de las máquinas es “Job Shop”, será denominado como Jm, donde m es el
número de máquinas. El proceso productivo presentar paradas (brkdwn), precedencias (prec) y
restricciones de elegibilidad de máquinas (Mj). La minimización del tiempo de culminación de trabajo
(Cmax) será la función objetivo que se evaluará para solucionar el problema en estudio de Creating
Ideas.

El caso en estudio queda de la siguiente forma:

𝑱𝒎 ⁄𝒃𝒓𝒌𝒅𝒘𝒏 , 𝑴𝒋 , 𝒑𝒓𝒆𝒄 ∕ 𝑪𝒎𝒂𝒙

2. Modelo Matemático
La empresa al mes presenta entre 8 a 11 trabajos para realizar, los cuales no son iniciados al mismo
tiempo y son programados según van confirmándose y por nivel de priorización.

Fattahi y Fallahi (2009), desarrollaron un algoritmo para resolver problemas de programación


dinámica en sistemas Job Shop, el cual para este caso de estudio será utilizado. De este modo se
denota a las máquinas como “i”, trabajos antiguos como “j”, trabajos nuevos como “j’” y operaciones
como “h”. Cada trabajo consiste de una secuencia de operaciones 𝑂𝑗ℎ , donde j = 1, …, n y h = 1, …,
m. La ejecución de cada operación h de un trabajo j (j’) requiere una máquina de un conjunto de
máquinas y tiempo de procesos 𝑃𝑖𝑗ℎ (𝑃𝑖𝑗′ℎ ). La siguiente notación es usada para la formulación del
problema:
𝑃𝑖𝑗ℎ (𝑃𝑖𝑗′ℎ ): tiempo de procesamiento de la operación 𝑂𝑗ℎ (𝑂𝑗′ℎ ) en la máquina i.
1 si la máquina i es seleccionada para la operación 𝑂𝑗ℎ (𝑂𝑗′ℎ )
𝑦𝑖𝑗ℎ (𝑦𝑖𝑗′ ℎ ) = { }
0 de otra forma
𝑡𝑗ℎ : el tiempo inicial de operación h de un trabajo antiguo j.
𝑡𝑗′ℎ : el tiempo inicial de la operación h de un trabajo nuevo j’.
𝑘𝑖 : el número de operaciones asignadas a la máquina i.
𝑝𝑠𝑗ℎ : el tiempo de procesamiento de la operación 𝑂𝑗ℎ después de la selección de la máquina.
𝑝𝑠′𝑗′ℎ : el tiempo de procesamiento de la operación 𝑂𝑗′ℎ después de la selección de la máquina.

Fattahi y Fallahi se basan en dos factores para evaluar la solución, la eficiencia y la estabilidad, la
eficiencia fue medida por el tiempo de culminación de trabajo (Cmax), mientras que la estabilidad es
medida por la desviación del tiempo de inicio y una función de penalidad de la desviación total. La
función objetivo descrita es:
𝑀𝑖𝑛 𝑍 = 𝐸𝑓𝑖𝑐𝑖𝑒𝑛𝑐𝑖𝑎 + 𝐸𝑠𝑡𝑎𝑏𝑖𝑙𝑖𝑑𝑎𝑑
La propuesta matemática (función objetivo) formulada por Fattahi y Fallahi fue:
𝑀𝑖𝑛 𝑍 = [5 × 𝐶𝑚𝑎𝑥 + ∑𝑗 ∑ℎ|𝑡0𝑗ℎ − 𝑡̅| + ∑𝑗 ∑ℎ 𝑓(𝑡0𝑗ℎ + 𝑡 − 2 × 𝑅𝑇)] (1)

La función objetivo anterior está sujeta a las ecuaciones restricciones (2) y (3) donde se define al
Cmax. Este es definido como el tiempo total requerido de todos los procesos de los trabajos. 𝑓𝑗ℎ y
𝑓 ′ 𝑗′ ℎ denotan al tiempo de finalización de las operaciones 𝑂𝑗ℎ y 𝑂𝑗′ℎ respectivamente.

𝐶𝑚𝑎𝑥 ≥ 𝑓𝑗ℎ para j = 1, … , n; h = 1, … , ℎ𝑗 (2)


𝐶𝑚𝑎𝑥 ≥ 𝑓 ′ 𝑗′ ℎ para j′ = 1, … , n′; h = 1, … , ℎ𝑗′ (3)

El tiempo de finalización de cada operación es calculado por las ecuaciones restricciones (4) y (5),
las restricciones (6) y (7) hacen cumplir las restricciones, en la reprogramación del periodo, puede
empezar después del tiempo de reprogramación. Además, cada operación puede ser iniciada cuando
la máquina relacionada esta inactiva.
𝑓𝑗ℎ = 𝑡𝑗ℎ + 𝑝𝑠𝑗ℎ para j = 1, … , n; ℎ = 1, … , ℎ𝑗 (4)
𝑓′𝑗′ℎ = 𝑡′𝑗′ℎ + 𝑝𝑠′𝑗′ℎ para j′ = 1, … , n′; ℎ = 1, … , ℎ𝑗′ (5)
𝑡𝑗ℎ ≥ 𝑏𝑢𝑖 ∙ 𝑦𝑖𝑗ℎ + 𝑅𝑇 para i = 1, … , m; j = 1, … , n; h = 1; … , ℎ𝑗 (6)
𝑡′𝑗′ℎ ≥ 𝑏𝑢𝑖 ∙ 𝑦 ′ 𝑖𝑗′ ℎ + 𝑅𝑇 para i = 1, … , m; j′ = 1, … , n′; h = 1; … , ℎ𝑗′ (7)

El valor de 𝑏𝑢𝑖 denota el tiempo que la máquina i estará inactiva in el inicio del periodo de
reprogramación. RT muestra el tiempo de inicio del periodo de reprogramación. Las restricciones (8)
y (9) introducen el tiempo de procesamiento de cada operación (𝑝𝑠𝑗ℎ ), incluida las operaciones
restantes de la programación anterior y las operaciones de trabajo llegadas recientemente.
∑𝑖 𝑦𝑖𝑗ℎ ∙ 𝑝𝑖𝑗ℎ = 𝑝𝑠𝑗ℎ para i = 1, … , m; j = 1, … , n; h = 1, … , ℎ𝑗 (8)
∑𝑖 𝑦′𝑖𝑗′ℎ ∙ 𝑝′ 𝑖𝑗′ ℎ = 𝑝𝑠 ′ 𝑗′ ℎ para i = 1, … , m; j′ = 1, … , n′; h = 1, … , ℎ𝑗′ (9)

La máquina asignada a una operación es determinada por 𝑦𝑖𝑗ℎ . El tiempo de proceso para cada
operación se calcula en función a la máquina seleccionada. Las restricciones (10) y (11) respetan las
restricciones de precedencia. Cada operación puede ser ejecutada cuando ya se ejecutó la operación
de precedencia. Para cada trabajo, las operaciones deben ejecutarse en una secuencia predeterminada.
𝑡𝑗ℎ + 𝑝𝑠𝑗ℎ ≤ 𝑡𝑗ℎ+1 para j = 1, … , n; h = 1, … , n; h = 1, … , ℎ𝑗 − 1 (10)
𝑡′𝑗′ℎ + 𝑝𝑠′𝑗′ℎ ≤ 𝑡 ′𝑗′ ℎ+1 para j′ = 1, … , n′; h = 1, … , n; h = 1, … , ℎ𝑗′ − 1 (11)
Las operaciones asignadas a una máquina pueden ser ejecutadas en una secuencia. Para la secuencia,
un número de prioridad (k) es asignado a cada operación asignada. Las restricciones (12) y (13)
confían en que cada máquina puede ejecutar la operación asignada en prioridad k+1 después de
completar la operación en prioridad k.
𝑇𝑚𝑖𝑘 + 𝑝𝑖𝑗ℎ ∙ 𝑥𝑖𝑗ℎ𝑘 ≤ 𝑇𝑚𝑖𝑘+1 para i = 1, … , m; j = 1, … , n; h = 1, … , ℎ𝑗 ; 𝑘 = 1, … , 𝑘𝑖 − 1 (12)
𝑇𝑚′ 𝑖𝑘 + 𝑝′ 𝑖𝑗′ ℎ ∙ 𝑥 ′ 𝑖𝑗′ ℎ𝑘 ≤ 𝑇𝑚𝑖𝑘+1 para i = 1, … , m; j′ = 1, … , n′ ; h = 1, … , ℎ𝑗′ ;

𝑘 = 1, … , 𝑘𝑖 − 1 (13)

Las restricciones del (14) al (17) relaciona el tiempo de inicio de cada operación con el tiempo de
inactividad de la máquina asignada. Cada operación podría ejecutarse cuando su máquina asignada
estaba inactiva. Cada operación debe ser asignada a una máquina en una prioridad. Esta asignación
es hecha por 𝑥𝑖𝑗ℎ𝑘 (0 – 1). Esta variable puede ser 1 si la operación 𝑂𝑗ℎ es asignada a la máquina i en
prioridad k. L es un número largo usado para inactivar las ecuaciones no relacionadas.
𝑇𝑚𝑖𝑘 ≤ 𝑡𝑗ℎ + (1 − 𝑥𝑖𝑗ℎ𝑘 ) ∙ 𝐿 para i = 1, … , m; j = 1, … n; h = 1, … , ℎ𝑗 ; 𝑘 = 1, … , 𝑘𝑗 (14)
𝑇𝑚′ 𝑖𝑘 ≤ 𝑡 ′𝑗′ ℎ + (1 − 𝑥 ′ 𝑖𝑗′ ℎ𝑘 ) ∙ 𝐿 para i = 1, … , m; j′ = 1, … n′ ; h = 1, … , ℎ𝑗′ ;
𝑘 = 1, … , 𝑘𝑗′ (15)
𝑇𝑚𝑖𝑘 + (1 − 𝑥𝑖𝑗ℎ𝑘 ) ∙ 𝐿 ≥ 𝑡𝑗ℎ para i = 1, … , m; j = 1, … n; h = 1, … , ℎ𝑗 ; 𝑘 = 1, … , 𝑘𝑗 (16)
𝑇𝑚′ 𝑖𝑘 + (1 − 𝑥 ′ 𝑖𝑗′ ℎ𝑘 ) ∙ 𝐿 ≥ 𝑡 ′𝑗′ ℎ para i = 1, … , m; j′ = 1, … n′ ; h = 1, … , ℎ𝑗′ ;
𝑘 = 1, … , 𝑘𝑗′ (17)

Las restricciones (18) y (19) indican que cada operación puede ser asignada a una máquina desde sus
máquinas alternativas. Las máquinas alternativas para cada operación son definidas por los
parámetros 𝑎𝑖𝑗ℎ (0 – 1). La operación 𝑂𝑗ℎ puede ser ejecutada por la máquina i si 𝑎𝑖𝑗ℎ es 1.
𝑦𝑖𝑗ℎ ≤ 𝑎𝑖𝑗ℎ para i = 1, … , m; 𝑗 = 1, … , 𝑛; ℎ = 1, … , ℎ𝑗 (18)
𝑦′𝑖𝑗′ℎ ≤ 𝑎′ 𝑖𝑗′ ℎ para i = 1, … , m; 𝑗′ = 1, … , 𝑛′; ℎ = 1, … , ℎ𝑗′ (19)

Las ecuaciones (20) y (21) hacen cumplir que cada operación se puede realizar sólo en una máquina
y con una prioridad.
∑𝑖 ∑𝑘 𝑥𝑖𝑗ℎ𝑘 = 1 para i = 1, … , m; j = 1, … , n; h = 1, … , ℎ𝑗 ; 𝑘 = 1, … 𝑘𝑖 (20)
∑𝑖 ∑𝑘 𝑥′𝑖𝑗′ℎ𝑘 = 1 para i = 1, … , m; j′ = 1, … , n′; h = 1, … , ℎ𝑗′ ; 𝑘 = 1, … 𝑘𝑖 (21)
Las ecuaciones (22) y (23) hacen cumplir que solo una máquina, a partir de sus alternativas puede ser
asignada a cada operación.
∑𝑖 𝑦𝑖𝑗ℎ = 1 para i = 1, … , m; j = 1, … , n; h = 1, … , ℎ𝑗 (22)
∑𝑖 𝑦′𝑖𝑗′ℎ = 1 para i = 1, … , m; j′ = 1, … , n′; h = 1, … , ℎ𝑗′ (23)

Las ecuaciones (24) y (25) hacer cumplir que solo una prioridad puede ser asignada a cada operación.
∑𝑖 𝑥𝑖𝑗ℎ𝑘 = 𝑦𝑖𝑗ℎ para i = 1, … , m; j = 1, … , n; h = 1, … , ℎ𝑗 ; 𝑘 = 1, … 𝑘𝑖 (24)
∑𝑖 𝑥′𝑖𝑗′ℎ𝑘 = 𝑦′𝑖𝑗′ℎ para i = 1, … , m; j′ = 1, … , n′; h = 1, … , ℎ𝑗′ ; 𝑘 = 1, … 𝑘𝑖 (24)

10
La ecuación (26) define la función de penalidad 𝑓(𝑥). En particular, 𝑓(𝑥) = es usado, y además,
√𝑥

cuando la desviación total del tiempo actual es cero, se supone que la penalidad es cero. El 𝑡𝑜𝑗ℎ es
obtenido de la programación inicial. Esto muestra el tiempo de inicio de la operación h para el trabajo
antiguo j de la programación anterior.
10
𝑓(𝛾) = para y = (𝑡0𝑗ℎ + 𝑡 − 2𝑅𝑇) (26)
√𝑦

3. Herramientas a utilizar
Se utilizará los softwares R y Java para realizar la codificación del modelamiento matemático,
seguidamente del procesamiento de los datos de la empresa, y así, lograr la solución del problema en
estudio.

4. Bibliografía
Fattahi P., Fallahi A.; Dynamic schedulling in flexible job shop systems by considering
somultaneously efficency and stability; Irán; 2009.
Rangsaritratsamee R., Ferrel Jr W., Kurz M.; Dynamic Reeschedulling that Simultaneously considers
Efficency and Stability, 2004.

También podría gustarte