Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Resumen-- Los sistemas de producción Job Shop (JS) se Abstract--Job Shop (JS) production systems are characterized
caracterizan porque los trabajos a ser procesados tienen by different route of process of the jobs to be processed. A
diferentes rutas de producción. Una generalización de este tipo generalization of this type of systems is the Flexible Job Shop
de sistemas es el Job Shop Flexible (FJS), en el cual se cuenta (FJS), in which there is more than one machine per station to
con más de una máquina por estación para realizar alguna de las perform some of the operations. In this article is proposed a
operaciones. En este artículo se propone un modelo de mixed integer lineal programming model to schedule such
programación lineal entera mixta para programar este tipo de systems in which objective function is to minimize the number of
sistemas en el cual la función objetivo es minimizar el número de tardy jobs. The model is applied for scheduling a small
trabajos tardíos. El modelo se aplica para la programación de manufacturing company production system. The results show a
producción de una pequeña empresa manufacturera. Los reasonable performance in terms of the objective pursued and the
resultados muestran un desempeño razonable en términos del computational times to achieve it. In instances of up to 14 jobs
objetivo que se persigue y los tiempos computacionales para the model allows to obtain optimal solutions.
lograrlo. En instancias de hasta 14 trabajos el modelo permite
obtener soluciones óptimas. Key Words— Production schedule, Flexible job shop, Mixed
integer lineal programming, tardy jobs.
Palabras claves- Programación de producción, Job shop
flexible, Programación lineal entera mixta, trabajos tardíos.
29
Modelo de Programación Lineal Entera Mixta para la Programación de Sistemas tipo Job-Shop Flexible en Entornos Make to Order
se diferencian principalmente por el tipo de variables Los procesos productivos con los que cuenta la empresa
utilizadas. Estas son: son:
Variables indexadas por tiempo: Las variables de 1. Mezclado: Para este proceso se emplea un molino, el
decisión son binarias y definen si en un periodo de cual se encarga de mezclar el caucho con aditivos que
tiempo se realiza una operación en una máquina permiten garantizar las especificaciones del producto
determinada. final. En este proceso se cuenta con 2 máquinas.
Variables de precedencia: Las variables de decisión 2. Preformado: Este proceso se realiza especialmente
son binarias y definen si una operación determinada para tapones y mangueras. Consiste en tomar el
precede a otra en su procesamiento en la máquina caucho ya mezclado y consiste en dar una forma
asignada. básica cilíndrica que facilite su procesamiento
Variables de secuencia-posición: Las variables de posterior. En este proceso se cuenta con 3 máquinas.
decisión son binarias y definen si una operación 3. Laminado: Este proceso consiste en tomar el caucho
determinada es asignada a una posición en la mezclado y pasarlo por una laminadora, con el fin de
secuencia de procesamiento de la máquina asignada. crear láminas de diferentes grosores que permita la
manipulación y conformado final de los productos.
III. APLICACIÓN En este proceso se cuenta con 2 máquinas.
4. Conformado metal-caucho: Este proceso se realiza
El proyecto se desarrolló en una pequeña empresa de principalmente con las ruedas y soportes. Se realizan
producción de empaques de caucho ubicada en la ciudad operaciones para adherir el caucho a las piezas de
de Bogotá D.C., Colombia, y con más de 30 años en el metal. En este proceso se cuenta con 1 máquina.
mercado. Se especializa en la fabricación de empaques de 5. Vulcanizado: En este proceso se incluye el moldeado
caucho para uso industrial y automotriz. Sus clientes de la pieza y la vulcanización de la misma para
principales son empresas que fabrican partes y repuestos mejorar las propiedades del caucho. En este proceso
para electrodomésticos y para automóviles. La empresa se cuenta con 3 máquinas.
desarrolla sus operaciones productivas un entorno bajo 6. Rebabado: Consiste en remover los residuos
pedido (Make to Order, MTO) y con un sistema de resultantes después del vulcanizado. En este proceso
producción enfocado hacia el proceso que se puede se cuenta con 2 puestos de trabajo.
clasificar como una configuración de Job Shop Flexible
dado que cada orden tiene una secuencia específica de En la Fig. 1 se muestra el diagrama multi-producto que
procesamiento y en cada proceso se cuenta con varias permite relacionar las familias de productos con los
máquinas que pueden ejecutar la tarea. La empresa objeto procesos productivos de la empresa.
de estudio, no contaba con un procedimiento formal que le En la Fig. 2 se presenta la distribución de planta actual
permitiera definir la programación de las órdenes de las áreas productivas de la empresa que permite
producción para satisfacer la demanda de los clientes. observar la disposición de los procesos productivos y la
Básicamente este consistía programar de acuerdo al orden cantidad de máquinas disponibles para cada uno de ellos.
en el cual se recibían de los clientes, es decir, utilizando
una regla de despacho FIFO (First in First Out), sin IV. MODELO PROPUESTO
considerar el cumplimiento de las fechas de entrega
convenidas. Esta situación motivó el desarrollo del En esta sección se presenta el modelo propuesto en el
proyecto con el fin de encontrar alternativas que cual se utiliza un enfoque de formulación matemática
permitieran mejorar su operación y de esta forma su empleando variables de tipo secuencia-posición.
productividad y competitividad.
La empresa fabrica sesenta referencias de producto, los A. Supuestos del modelo
cuales se clasifican en las siguientes familias: Tapones,
Se consideran los siguientes supuestos:
grommets, mangueras, fundas, soportes, empaques
cónicos, bridas, ruedas y empaques para fumigadoras. Por Todas las máquinas están disponibles al inicio del
el tamaño de la empresa se reciben entre 3 y 7 pedidos de programa
los clientes y en cada pedido se ordenan entre 1 y 3 Las máquinas pueden procesar un solo trabajo a la
productos diferentes, de tal forma el número de órdenes de vez.
producción podría estar entre 3 y 21. En el flujo de procesamiento de los trabajos no se
Los pedidos de los clientes se reciben permanentemente, presenta recirculación, es decir, los trabajos pasan de
sin embargo, la programación de la producción se hace al una estación a la siguiente apenas vayan concluyendo
inicio de la semana considerando las órdenes recibidas a la sus respectivas operaciones, debido a que por la
fecha. Los pedidos en general son diferentes en cuanto a naturaleza del producto y de la materia prima
los productos, especificaciones y cantidades. Una utilizada no existe la posibilidad de reproceso.
característica adicional muy importante para caracterizar el No se puede iniciar una operación de un trabajo sin
sistema es que cuando los pedidos se reciben se define, en haber terminado la operación anterior, o hasta que
conjunto con el cliente, una fecha de entrega para los existan máquinas disponibles para realizar dicha
mismos. operación, es decir, que no se puede ejecutar más de
una operación de un mismo trabajo al tiempo.
30
INGE CUC, vol. 13 no. 2, pp. 28-34. Julio - Diciembre, 2017
Siempre hay personal disponible para realizar cada Todos los trabajos tienen la misma importancia.
operación. Todos los trabajos están disponibles al inicio del
Los tiempos de transporte entre operaciones y programa.
tiempos de alistamiento de máquinas son Las máquinas son homogéneas, es decir, el tiempo de
despreciables. procesamiento del trabajo no depende de la máquina
No existen paradas de emergencia ni necesidades de seleccionada.
mantenimiento a lo largo del proceso
31
Modelo de Programación Lineal Entera Mixta para la Programación de Sistemas tipo Job-Shop Flexible en Entornos Make to Order
1, si la operación 𝑗 del trabajo 𝑖 se hace en la La función objetivo (1) busca minimizar el número de
𝑥𝑖𝑗𝑘𝑙 : { máquina 𝑘 en la posición 𝑙 trabajos tardíos, definidos estos como aquellos trabajos que
0, en caso contrario son terminados después de la fecha de entrega establecida.
1, si la operación 𝑗 𝑑el trabajo 𝑖 se hace en la Esta consideración es el aporte más innovador del modelo
𝑣𝑖𝑗𝑘 : { máquina 𝑘 debido a que esta medida de desempeño no se considera
0, en caso contrario normalmente en la literatura, en particular para este tipo de
𝑇𝑀𝑘𝑙 : tiempo de inicio de la máquina 𝑘 en la posición 𝑙 sistemas productivos, y resulta de suma importancia en los
𝑡𝑖𝑖𝑗 : tiempo de inicio de la operación 𝑗 del trabajo 𝑖 entornos de manufactura MTO debido a que en estos se
𝐶𝑖 : tiempo requerido para completar el trabajo 𝑖 definen fechas de entrega y las penalizaciones por el
𝑇𝑖 : tardanza del trabajo 𝑖 incumplimiento están asociadas a el tiempo de
1, si 𝑐𝑖 − 𝑑𝑖 > 0 incumplimiento, o como se considera en este modelo, por
𝑈𝑖 : {
0, en caso contrario el solo incumplimiento, ya que los clientes pueden no
𝑠𝑘 : número de operaciones asignadas a la máquina 𝑘 recibir la orden debido a que no se entrega en la fecha
prometida. La restricción (2) define el tiempo requerido
C. Formulación del modelo para completar cada trabajo. La restricción (3) establece la
tardanza de cada trabajo. La restricción (4) considera un
Dados los conjuntos, parámetros y variables definidos trabajo como tardío si tiene tardanza. La restricción (5)
previamente se propone el siguiente modelo matemático asegura que se respete la precedencia entre las operaciones.
cuya función objetivo es minimizar el número total de La restricción (6) asegura que cada máquina solo pueda
trabajos tardíos: procesar una operación a la vez. Las restricciones (7) y (8)
aseguran que una operación no puede iniciar hasta que la
𝑀𝑖𝑛 𝑧 = ∑𝑖 𝑈𝑖 (1) máquina a la cual fue asignada esté disponible y hasta que
su precedente no haya sido terminada. La restricción (9)
Sujeto a: establece la relación entre las máquinas asignadas y las
disponibles para cada operación a asignar. La restricción
𝐶𝑖 ≥ 𝑡𝑖𝑖𝑗 + 𝑝𝑖𝑗 ∀𝒊 (2) (10) asegura que cada operación de cada trabajo solo pueda
ser asignada a una máquina y en una posición. Las
𝑇𝑖 ≥ 𝐶𝑖 − 𝑑𝑖 ∀𝒊 (3) restricciones (11) y (12) aseguran que cada operación
efectivamente se procese en una máquina y en la posición
𝑇𝑖 ≤ 𝑈𝑖 ∗ 𝑀 ∀𝒊 (4) que fue asignada. Las restricciones (13) -(16) garantizan la
no negatividad de las variables de decisión. Las
𝑡𝑖𝑖𝑗 𝑖 + 𝑝𝑖𝑗 ≤ 𝑡𝑖𝑖𝑗+1 ∀𝑖, ∀𝑗 = 1 … 𝐽𝑖 − 1 (5) restricciones (17) -(19) definen las variables como
correspondientes como binarias.
𝑇𝑀𝑘𝑙 + 𝑝𝑖𝑗 ∗ 𝑥𝑖𝑗𝑘𝑙 ≤ 𝑇𝑀𝑘𝑙+1 ∀𝑖, 𝑗, 𝑘, ∀𝑙 = 1, … , 𝑠𝑘 -1 (6)
V. RESULTADOS
Para el procesamiento del modelo se empleó el software
𝑇𝑀𝑘𝑙 ≤ 𝑡𝑖𝑖𝑗 + (1-𝑥𝑖𝑗𝑘𝑙 ) ∗ 𝑀 ∀𝑖, 𝑗, 𝑘, 𝑙 (7)
GAMS versión 23.5.6 usando CPLEX y empleando un
computador con procesador de 3.2 GHz y 4 GB de RAM.
𝑇𝑀𝑘𝑙 + (1-𝑥𝑖𝑗𝑘𝑙 ) ∗ 𝑀 ≥ 𝑡𝑖𝑖𝑗 ∀𝑖, 𝑗, 𝑘, 𝑙 (8) El tiempo máximo para obtener una solución óptima se
definió en 3600 segundos.
32
INGE CUC, vol. 13 no. 2, pp. 28-34. Julio - Diciembre, 2017
Para las pruebas de desempeño del modelo se debe resaltar que obtener estos resultados se logra en
seleccionaron instancias con datos históricos de la empresa tiempos computacionales razonables, que antes del
en las cuales el número de órdenes de producción (i, de desarrollo del proyecto se obtenían de manera empírica y
acuerdo a la notación usada en el modelo) estuvo entre 3 y manual. Aunque los tiempos computacionales son
20. El número de operaciones por orden y el número de relativamente pequeños sigue siendo necesaria la captura
máquinas (j y k, de acuerdo a la notación usada en el de los datos y la interpretación de los mismos, pero estos
modelo) son 4 y 13 respectivamente debido a que como se tiempos representan un costo bajo en relación a los ahorros
muestra en la Fig. 1 todos los productos requieren 4 que se logran gracias a la disminución de los costos
operaciones en su fabricación, y se cuenta con 13 máquinas asociados a los incumplimientos. El modelo permite
en la planta. De las instancias seleccionadas se logró obtener soluciones óptimas en instancias pequeñas e
obtener el óptimo, en un tiempo computacional menor a intermedias, en relación al número de órdenes, en
3600 segundos, en instancias de menos de 14 órdenes de instancias de mayor tamaño puede generar soluciones
producción. Para instancias más grandes solo se pueden factibles debido a que por la naturaleza del problema los
obtener soluciones factibles en razón a que el FJS es un tiempos computacionales necesarios para obtener el
problema NP-Hard por su naturaleza combinatoria lo que óptimo pueden ser imprácticos. Para el caso de la empresa
causa que el número de variables y restricciones crezcan de la implementación ha resultado viable debido al bajo
forma exponencial. En la tabla 2 se presenta una número de órdenes de producción que maneja, pero en
comparación de los resultados obtenidos para las instancias empresas más grandes puede resultar poco práctico su uso,
seleccionadas. por lo cual una línea futura de investigación es el desarrollo
Tabla 2. Resultados de la aplicación del modelo de otros métodos de solución tales como meta heurísticas
que permitan manejar instancias de mayor tamaño en
Tiempo CPU Total de Tipo de
i
(s) trabajos tardíos solución
tiempos computacionales razonables.
3 0.04 0 Óptima
Un resultado derivado de la implementación es que en la
práctica los tiempos de entrega de los pedidos a los clientes
4 0.11 0 Óptima
puede realizarse previa negociación con el cliente, pero
5 0.9 0 Óptima teniendo en cuenta que la fecha solicitada por ellos puede
6 5.2 1 Óptima ser verificada a través de una corrida del modelo, con lo
7 18 2 Óptima cual se puede llegar a fechas de entrega realistas y
satisfactorias para ambas partes, con la consecuencia de
8 42 2 Óptima
que la disminución del número de trabajos tardíos puede
9 75 1 Óptima ser mucho mayor gracias a este pre procesamiento.
10 100 2 Óptima El modelo se convierte en una aproximación a problemas
11 180 2 Óptima en entornos MTO en los cuales los indicadores de
desempeño asociados a tardanzas tienen mayor relevancia
12 580 3 Óptima
que los usados tradicionalmente en los modelos de
14 1200 3 Óptima optimización que usan por lo general el makespan como
16 3600 6 Factible objetivo a minimizar. Este modelo puede servir como base
17 3600 5 Factible para la formulación y solución de otro tipo de problemas
18 3600 7 Factible
de programación de producción, tanto teóricos como
prácticos.
20 3600 6 Factible
Otra posible línea futura de investigación es la inclusión de
Fuente: Autores objetivos que apunten al mejoramiento de la productividad
del sistema productivo, tales como el makespan o el tiempo
En la Fig. 3 se presenta el resultado de una instancia
total de terminación, a través de modelos multiobjetivo. De
ficticia (por motivos de confidencialidad no se presentan
igual forma se pueden incluir en el modelo restricciones
datos reales) con 4 trabajos y fechas de entrega de 113, 87,
asociadas a tiempos de parada, programadas y no
104 y 129 unidades de tiempo respectivamente para cada
programadas, ventanas de tiempo para le entrega, entre
trabajo. La solución del modelo garantiza 0 trabajos
otras, así como la consideración de tiempos de
tardíos.
procesamiento estocásticos.
VI. CONCLUSIONES Y
RECOMENDACIONES FINANCIACIÓN
El modelo propuesto permite a la empresa desarrollar Artículo derivado del proyecto de investigación titulado:
mejores programas de producción en relación a minimizar “Diseño de modelo para la programación de producción
el impacto de los incumplimientos en las fechas de entrega para una empresa de empaques de caucho”. Financiado por
de las órdenes recibidas a los clientes. De igual manera se la Escuela Colombiana de Ingeniería Julio Garavito. Fecha
de Inicio: 2015, Fecha de Finalización 2016.
33
Modelo de Programación Lineal Entera Mixta para la Programación de Sistemas tipo Job-Shop Flexible en Entornos Make to Order
REFERENCIAS http://dx.doi.org/10.1080/00207543.2013.793428
[12] R.-H. Huang, C.-L. Yang, and W.-C. Cheng, “Flexible job shop
[1] C. Özgüven, Y. Yavuz, and L. Özbakir, “Mixed integer goal scheduling with due window—a two-pheromone ant colony
programming models for the flexible job-shop scheduling approach,” Int. J. Prod. Econ., vol. 141, no. 2, pp. 685–697,
problems with separable and non-separable sequence dependent 2013. Disponible: https://doi.org/10.1016/j.ijpe.2012.10.011
setup times,” Appl. Math. Model., vol. 36, no. 2, pp. 846–858, [13] M. Mousakhani, “Sequence-dependent setup time flexible job
2012. Disponible: http://dx.doi.org/10.1016/j.apm.2011.07.037 shop scheduling problem to minimise total tardiness,” Int. J.
[2] M. Mastrolilli and L. M. Gambardella, “Effective Prod. Res., vol. 51, no. 12, pp. 3476–3487, 2013. Disponible:
Neighborhood Functions for the Flexible Job Shop Problem!,” http://dx.doi.org/10.1080/00207543.2012.746480
J. Sched., vol. 3, no. 1, pp. 3–20, 1999. Disponible: [14] A. Sadrzadeh, “Development of Both the AIS and PSO for
http://dx.doi.org/10.1002/(SICI)1099- Solving the Flexible Job Shop Scheduling Problem,” Arab. J.
1425(200001/02)3:1<3::AID-JOS32>3.0.CO;2-Y Sci. Eng., vol. 38, no. 12, pp. 3593–3604, Dec. 2013.
[3] C. R. Scrich, V. A. Armentano, and M. Laguna, “Tardiness Disponible: http://doi.org/10.1007/s13369-013-0625-y
Minimization in a Flexible Job Shop: A Tabu Search [15] K. Thörnblad, A.-B. Strömberg, M. Patriksson, and T.
Approach,” J. Intell. Manuf., vol. 15, no. 1, pp. 103–115, 2004. Almgren, “An efficient algorithm for solving the flexible job
Disponible: shop scheduling problem,” in 25th NOFOMA conference
http://dx.doi.org/10.1023/B:JIMS.0000010078.30713.e9 proceedings, June 3-5 2013, Göteborg, Sweden, 2013.
[4] Z. Wu and M. X. Weng, “Multiagent scheduling method with Disponible:
earliness and tardiness objectives in flexible job shops,” IEEE http://publications.lib.chalmers.se/records/fulltext/181796/loca
Trans. Syst. Man, Cybern. Part B, vol. 35, no. 2, pp. 293–301, l_181796.pdf
2005. Disponible: [16] G. Calleja and R. Pastor, “A dispatching algorithm for flexible
https://doi.org/10.1109/TSMCB.2004.842412 job-shop scheduling with transfer batches: an industrial
[5] N. Zribi, A. El Kamel, and P. Borne, “Total tardiness in a application,” Prod. Plan. Control, vol. 25, no. 2, pp. 93–109,
flexible job-shop,” in IMACS Multiconference on 2014. Disponible:
“Computational Engineering in Systems Applications”, CESA, http://dx.doi.org/10.1080/09537287.2013.782846
2006, pp. 1543–1549. Disponible: [17] Y. Liu, H. Dong, N. Lohse, S. Petrovic, and N. Gindy, “An
https://doi.org/10.1109/CESA.2006.4281882 investigation into minimising total energy consumption and
[6] J. C. Tay and N. B. Ho, “Evolving dispatching rules using total weighted tardiness in job shops,” J. Clean. Prod., vol. 65,
genetic programming for solving multi-objective flexible job- pp. 87–96, 2014. Disponible:
shop problems,” Comput. Ind. Eng., vol. 54, no. 3, pp. 453–473, https://doi.org/10.1016/j.jclepro.2013.07.060
2008. Disponible: https://doi.org/10.1016/j.cie.2007.08.008 [18] H. Na and J. Park, “Multi-level job scheduling in a flexible job
[7] A. Baykasoglu and L. Özbakir, “Analyzing the effect of shop environment,” Int. J. Prod. Res., vol. 52, no. 13, pp. 3877–
dispatching rules on the scheduling performance through 3887, 2014. Disponible:
grammar based flexible scheduling system,” Int. J. Prod. Econ., http://dx.doi.org/10.1080/00207543.2013.848487
vol. 124, no. 2, pp. 369–381, 2010. Disponible: [19] K. Z. Gao, P. N. Suganthan, Q. K. Pan, T. J. Chua, T. X. Cai,
https://doi.org/10.1016/j.ijpe.2009.11.032 and C. S. Chong, “Discrete harmony search algorithm for
[8] K. Thörnblad, “On the optimization of schedules of a multitask flexible job shop scheduling problem with multiple objectives,”
production cell,” 2011. Disponible: J. Intell. Manuf., vol. 27, no. 2, pp. 363–374, Apr. 2016.
http://publications.lib.chalmers.se/records/fulltext/144904.pdf Disponible: http://doi.org/10.1007/s10845-014-0869-8
[9] J. C. Chen, C.-C. Wu, C.-W. Chen, and K.-H. Chen, “Flexible [20] O. Faura Gatius, “Flexible Job-Shop Problem minimizando los
job shop scheduling with parallel machines using Genetic costes en función de la fecha de entrega y el instante de
Algorithm and Grouping Genetic Algorithm,” Expert Syst. realización,” Universitat Politécnica de Catalunya, 2016.
Appl., vol. 39, no. 11, pp. 10016–10021, 2012. Disponible: Disponible: http://hdl.handle.net/2117/98534
https://doi.org/10.1016/j.eswa.2012.01.211 [21] A. Türkyılmaz and S. Bulkan, “A hybrid algorithm for total
[10] L. Lin, M. Gen, Y. Liang, and K. Ohno, “A hybrid EA for tardiness minimisation in flexible job shop: genetic algorithm
reactive flexible job-shop scheduling,” in Procedia Computer with parallel VNS execution,” Int. J. Prod. Res., vol. 53, no. 6,
Science, 2012, vol. 12, pp. 110–115. Disponible: pp. 1832–1848, Mar. 2015. Disponible:
https://doi.org/10.1016/j.procs.2012.09.039 http://dx.doi.org/10.1080/00207543.2014.962113
[11] M. C. Gomes, A. P. Barbosa-Póvoa, and A. Q. Novais, [22] Y. Demir and S. Kürşat Işleyen, “Evaluation of mathematical
“Reactive scheduling in a make-to-order flexible job shop with models for flexible job-shop scheduling problems,” Appl. Math.
re-entrant process and assembly: a mathematical programming Model., vol. 37, no. 3, pp. 977–988, 2013. Disponible:
approach,” Int. J. Prod. Res., vol. 51, no. 17, pp. 5120–5141, https://doi.org/10.1016/j.apm.2012.03.020
2013. Disponible:
34