You are on page 1of 15

PRODUCCIÓN

Programación de la producción II
 PROGRAMACIÓN DE LA PRODUCCIÓN II

Índice

1. Introducción a la programación de la producción

2. Sistemas de manufactura (framework)

3. Programación de la producción
3.1. Notación
3.2. Medidas de desempeño
3.3. Diagramas de Gantt

4. Programación de una línea de flujo


4.1. n trabajos 2 máquinas (algoritmo de Jhonnson)
4.2. n trabajos 3 máquinas (algoritmo de Jhonnson con extensión a 3 máquinas)
4.3. n trabajos m máquinas (algoritmo de CDS)

Introducción
El propósito del presente documento es presentar a los estudiantes los conceptos básicos necesarios
para desarrollar la programación de la producción, enfocándose en el problema de una línea de flujo.
También se presentarán al estudiante las medidas de desempeño por excelencia para verificar qué tan
bien se ajusta la programación a una serie de parámetros particulares.

Por otra parte, teniendo en cuenta que el objetivo general del módulo es que los estudiantes desarrollen
las capacidades necesarias para desarrollen los métodos de programación, en esta unidad se presentará
la metodología necesaria para lograr dicho objetivo

Finalmente se presentará al estudiante una serie de ejercicios relacionados para reforzar los
conocimientos adquiridos en el desarrollo del módulo.

2 [ POLITÉCNICO GRANCOLOMBIANO]
Objetivo General.

Al finalizar el módulo los estudiantes sabrán cuáles son las medidas de desempeño que permiten evaluar
la programación de la producción, enfocado especialmente en un problema asociado al framework de
una sola máquina.

Al finalizar la octava semana de aprendizaje:

1. El estudiante distinguirá las diferencias entre un sistema single machine y un sistema flow shop

2. El estudiante identificará cuándo es útil emplear el algoritmo de Jhonnson para resolver


problemas de una línea de flujo

3. El estudiante sabrá cuando un sistema está dominado y podrá aplicar el algoritmo de Johnnson
con extensión a 3 máquinas

El estudiante podrá emplear el algoritmo CDS como método de generalización para un problema de línea
de flujo.

1. Desarrollo temático.

4.1 Recomendaciones académicas.

Se recomienda al estudiante realizar la lectura de la cartilla, en la cual se encuentra toda la información


relevante que se evaluará en la semana, adicional a la lectura de la cartilla se recomienda al estudiante
revisar las teleconferencias así como las video diapositivas, pues estas son un medio que puede aclarar
las dudas generadas con la lectura o también dar soporte a los temas expuestos en la misma.

Finalmente se recomienda al estudiante realizar los ejercicios planteados y sugeridos por el tutor, ya que
estos a pesar de no tener un valor porcentual en la nota si harán que su formación sea completa y pueda
ser reforzada de forma práctica.

4.2 Desarrollo de cada una de las unidades temáticas.

1. Introducción a la programación de la producción

El objetivo simplificado de la programación de la producción, también conocida como scheduling, radica


en asignar y secuenciar las órdenes de producción (que a partir de este momento denominaremos
trabajos) en un conjunto de máquinas predeterminadas. Para evaluar si dicha asignación y secuencia es
adecuada se emplean diferentes medidas de desempeño entre ellas están: la minimización del tiempo
de procesamiento de los trabajos, la maximización de la utilización de las máquinas y/o recursos, el
cumplimiento con las fechas de entrega prometidos a los clientes, etc.

[ PRODUCCIÓN] 3
Para el desarrollo de esta herramienta es importante reconocer dos elementos fundamentales:
 Los trabajos, los cuales cuentan con las siguientes características (parámetros):
 Fecha de disponibilidad: se refiere al momento en que todos los materiales, insumos,
ensambles, etc. están disponibles en la planta para que el trabajo pueda ser
programado, si todos sus componentes no se encuentran disponibles, no podrá
programarse.
 Fecha de entrega: se refiere a la fecha prometida al cliente para su entrega definitiva.
 Tiempo de proceso: esta característica presenta el tiempo que se tarda una máquina u
operario en procesar el trabajo, puede ser diferente para cada máquina.
 Prioridad: se refiere a la importancia que se le asigna a un trabajo en particular, por
ejemplo, los trabajos que serán exportados son más importantes (mayor peso) que
aquellos que se venden nacionalmente (menor peso). Este parámetro puede variar
desde 1 hasta el valor que se considere el más relevante)
 Las máquinas, las cuales cuentan con las siguientes características (parámetros):
 Configuración (framework): indica cómo se encuentran dispuestas las máquinas en el
piso de la planta, por ejemplo, en serie o agrupadas por estaciones de trabajo, etc.
 Alistamiento: indica cuanto tiempo debe emplearse en alistar la máquina para que
pueda procesar un trabajo en particular, dicho alistamiento puede variar entre las
máquinas y adicionalmente entre los trabajos.

Antes de continuar con los sistemas de manufactura es necesario tener claridad en dos conceptos que se
trabajaran bastante durante el desarrollo de esta metodología, estos son:
 La secuencia: que se define como el orden en que los trabajos son procesados en la máquina
(resultado que se obtiene al final de emplear la herramienta)
 La ruta: que se refiere al orden en que deben desarrollarse las diferentes operaciones de un
mismo trabajo (información necesaria para emplear la herramienta).

2. Sistemas de manufactura (framework)

Ahora que tenemos claridad en el objetivo de la herramienta y los parámetros que deben conocerse
para poder desarrollarla es importante aclarar los diferentes tipos de configuración que se han definido
con el objetivo de facilitar la resolución de problemas particulares, estos sistemas de manufactura,
configuración o framework como también se conocen son:

 Una Máquina (Single Machine): Se tienen n trabajos para secuenciarse en una única máquina. Un
ejemplo de este sistema es la lavadora de la casa, se cuenta con una única lavadora, pero son
varios conjuntos de prendas los que deben lavarse (ropa blanca, ropa a color, ropa negra)

 Máquinas en paralelo (Parallel Machines): Se tienen estaciones con múltiples máquinas


idénticas. Los n trabajos pueden ir a cualquier máquina de la estación. El problema es asignar a
que máquina debe ir cada trabajo y secuenciar los trabajos en las máquinas. Un ejemplo de este
sistema es una papelería que cuenta con varias fotocopiadoras, las diferentes fotocopiadoras
pueden imprimir los trabajos que deben ser fotocopiados.

4 [ POLITÉCNICO GRANCOLOMBIANO]
Para estos dos sistemas (Single machine y Parallel Machines), dado que el trabajo solo tiene una
operación no se habla del concepto de ruta señalado previamente en la lectura.

 Línea de Producción (Flow Shop): En este tipo de sistema de producción los n trabajos se
procesan en el mismo orden en las m máquinas que se encuentran disponibles en serie. Todos
los trabajos tienen la misma ruta. Un ejemplo de este sistema son las ensambladoras de
automóviles en las que cada automóvil (trabajo) debe recorrer una línea de producción en la que
cada máquina realiza una operación diferente para la producción del automóvil que será vendido
al cliente final.
 Taller (Job Shop): En este tipo de sistema los n trabajos deben ser procesados en m máquinas
pero no necesariamente siguiendo la misma ruta o con el mismo número de operaciones. Un
ejemplo de este tipo de sistema son los talleres de barrio, en el cual los automóviles que llegan a
ser reparados, no necesariamente deben pasar por las mismas máquinas y/o en el mismo orden,
pues requieren operaciones (arreglos) diferentes.

Para tener una idea más clara de los sistemas de manufactura y su clasificación podemos revisar la
siguiente gráfica:

[ PRODUCCIÓN] 5
3. Programación de la producción:

Ahora bien, una vez establecidas las características de los trabajos, las características de las máquinas y
como estas pueden estar configuradas (dispuestas en el piso de la planta) podemos establecer los
aspectos básicos de la metodología para solucionar el problema general de la programación de la
producción:

3.1. Notación:

Los parámetros necesarios para resolver un problema de programación de la producción son:

- pij: Tiempo de proceso del trabajo j en la máquina i (para el problema de una sola máquina no es
necesario especificar la máquina ya que se trata de una sola, y para el caso de máquinas en
paralelo tampoco es necesario pues se asume que estas son idénticas)
- rj: Tiempo de disponibilidad (release time) del trabajo j
- dj: Fecha de entrega del trabajo j
- wj: Prioridad del trabajo j
- skj: Tiempo de alistamiento de la máquina k para procesar el trabajo j

3.2. Medidas de desempeño

Las medidas de desempeño que se pueden calcular una vez se ha obtenido una secuencia de
trabajos son:

- Fecha de terminación de cada trabajo j: indica el instante de tiempo en que cada trabajo fue
terminado. Cj (a cada trabajo se le puede calcular esta medida)
- Makespan: indica la fecha de terminación del último trabajo que fue secuenciado. Cmax = Max
(Cj). Sólo es un valor y como lo indica su definición corresponde al máximo de todos los Cj
- Tiempo Flujo Promedio: indica el tiempo promedio que los trabajos estuvieron en las máquinas.
Fpromedio = (Cj-rj ) / n
- Retardo de cada trabajo j: indica si el trabajo fue entregado tarde o temprano y se calcula como:
Lj = Cj - dj
• Si esta diferencia es positiva indicaría entonces que el trabajo se entregó tarde, pues
terminó Cj, después que la fecha de entrega que se había fijado con el cliente dj. Por lo
tanto se define la tardanza como:
Tardanza Tj (trabajo j): Max (Lj, 0)
• Por el contrario, si esta diferencia es negativa, indicaría entonces que el trabajo se
entregó temprano, pues su fecha de terminación Cj sería menor que su fecha de entrega
dj.
- Tardanza Media: Es el promedio de las tardanzas de cada trabajo.  Tj / n
- Tardanza Ponderada Total: Es el promedio ponderado de cada una de las tardanzas de cada
trabajo, multiplicado por su respectiva prioridad.  wjTj

6 [ POLITÉCNICO GRANCOLOMBIANO]
3.3. Diagramas de Gantt

Adicional a estas medidas de desempeño existe una herramienta gráfica muy útil que permite
visualizar más fácilmente la secuencia en que fueron ordenados los trabajos, este es el diagrama de
Gantt.

Este diagrama básicamente se construye de la siguiente manera:


- En el eje x se pone el tiempo de programación
- En el eje y se ponen las máquinas en las cuales se están programando los trabajos.
- La secuencia de los trabajos es la que se grafica en el sistema de coordenadas

Ejemplo:

Considere el siguiente diagrama de Gantt:

Para interpretar dicho diagrama es importante reconocer la información:


- Se trata de un sistema con 2 máquinas (M1, M2)
- Se trata de un sistema en el que se programaron 3 trabajos (J1, J2, J3)
- Se trata de un sistema con configuración tipo job shop, el trabajo 1 debe pasar por la máquina 1
y después por la máquina 2, mientras que el trabajo 3 por ejemplo, debe pasar primero por la
máquina 2 y después por la máquina 1.

Una vez se ha identificado dicha información la interpretación del diagrama de Gantt sería:

- El trabajo 1 se procesa en la máquina 1 donde tarda 4 unidades de tiempo.


- El trabajo 3 se procesa en la máquina 2 donde tarda 3 unidades de tiempo.
- Una vez el trabajo 3 ha salido de la máquina 2, puede ingresar a la máquina 1 (dense cuenta que
antes de que el trabajo salga de la máquina 2 es imposible secuenciarlo en la máquina 1, pues
esto no tendría ningún sentido)
- Etc.

De acuerdo a el diagrama de Gantt, podemos concluir:


- La fecha en que termina de procesarse en su totalidad (C1) el trabajo uno es en el instante de
tiempo 13.
- La fecha en que termina de procesarse en su totalidad (C2) el trabajo dos es en el instante de
tiempo 11.

[ PRODUCCIÓN] 7
- La fecha en que termina de procesarse en su totalidad (C3) el trabajo tres es en el instante de
tiempo 7.

4. Programación de una línea de flujo

El problema de línea de flujo o flow shop, es uno delos problemas de programación de la producción más
estudiado en la literatura, pues este tipo de disposición de las máquinas en el piso de la planta, suele ser
el más común a lo largo de la industria.

Recuerden que este problema se caracteriza por tener n trabajos que deben ser programados en m
máquinas y que su característica especial es que dichos trabajos todos tienen la misma ruta, tal cual lo
muestra la figura a continuación:

Este problema presenta una situación particular: dado que todos los trabajos siguen la misma ruta se
trabaja con una restricción conocida como restricción de permutación, que es equivalente a la regla:
el primero que entra es el primero que sale (FIFO).
Esta restricción permite que la programación sea más sencilla, pues basta con secuenciar los trabajos
en la primera máquina pues en las máquinas siguientes deberán guardar el mismo orden ya que se
trata de una línea de flujo.

4.1. n trabajos 2 máquinas

El problema más simple de una línea de flujo es cuando tengo n trabajos a ser secuenciados, pero la
línea de flujo solo consta de 2 máquinas.

El algoritmo a emplear para diseñar la secuencia de los trabajos en la línea de flujo con las
características antes mencionadas (n trabajos, 2 máquinas) se conoce con el nombre de Algoritmo de
Jhonnson y este es óptimo para la minimización del makespan.

8 [ POLITÉCNICO GRANCOLOMBIANO]
El algoritmo de Jhonnson funciona de acuerdo a la siguiente metodología:

1. Haga dos particiones:


 Conjunto I
 Conjunto II
2. En el conjunto I: coloque todos los trabajos en los cuales p1j < p2j
En el conjunto II: coloque todos los trabajos en los cuales p1j > p2j.
Trabajos con p1j = p2j, se colocan en cualquier conjunto.
3. Los trabajos en el conjunto 1 se ordenan por SPT según el tiempo de proceso en la máquina 1
(p1j).
Los del conjunto II se ordenan por LPT según el tiempo de proceso en la máquina 2 (p2j).
Los empates se rompen arbitrariamente.
4. La secuencia definitiva será SPT(1)-LPT (2)

Ejemplo

Considere la siguiente información (5 trabajos que deben ser procesados en 2 máquinas). Se conocen los
tiempos de proceso de cada trabajo en la máquina 1 (P1j) y en la máquina 2 (P2j)

trabajo 1 2 3 4 5
p 4 9 8 2 5
1,j

p 6 5 3 7 5
2,j

Siguiendo entonces la metodología propuesta por el algoritmo tenemos:

1. Haga dos particiones:


 Conjunto I
 Conjunto II

2. En el conjunto I: coloque todos los trabajos en los cuales p1j < p2j , de acuerdo a esto, los
trabajos en este conjunto serían: J1, J4

En el conjunto II: coloque todos los trabajos en los cuales p1j > p2j, de acuerdo a esto los
trabajos en este conjunto serían: J2, J3, J5

Trabajos con p1j = p2j, se colocan en cualquier conjunto. En este caso el trabajo J5 tiene el
mismo tiempo de proceso en las máquinas entonces puedo asignarlo a cualquier conjunto, en
este caso fue asignado al conjunto II.

[ PRODUCCIÓN] 9
Los invito a realizar el ejercicio asignándolo al conjunto I y se darán cuenta que ¡el resultado final
será el mismo!

3. Los trabajos en el conjunto 1 se ordenan por SPT según el tiempo de proceso en la máquina 1
(p1j)
trabajo 1 4
p 4 2
1,j

De acuerdo con esto, la secuencia de este conjunto sería J4, J1

Los del conjunto II se ordenan por LPT según el tiempo de proceso en la máquina 2 (p2j).

trabajo 2 3 5
p 5 3 5
2,j

De acuerdo con esto, la secuencia de este conjunto sería J2, J5, J3 ó J5, J2, J3, pues existe un empate el
cual se puede romper arbitrariamente.

4. La secuencia definitiva será SPT(1)-LPT (2), de acuerdo a esto la secuencia final sería: J4, J1, J2,
J5, J3 ó J4, J1, J5, J2, J3
El diagrama de Gantt asociado a esta secuencia sería:

A partir de este diagrama podemos identificar que el Makespan es de 31 unidades de tiempo.

4.2. n trabajos 3 máquinas

Cuando el problema de línea de flujo tiene más de 2 máquinas, no puede emplearse el algoritmo de
Jhonson, sin embargo, existe una extensión a este algoritmo que puede aplicarse cuando existen
exactamente 3 máquinas.

Para que este algoritmo extendido permita obtener la secuencia óptima, debe cumplirse que la máquina
del medio esté dominada, es decir, que el máximo tiempo de proceso de esta máquina, sea menor o
igual al máximo de los mínimos tiempos de procesamiento de las otras dos máquinas:

{ } { }

10 [ POLITÉCNICO GRANCOLOMBIANO]
Si esta condición se cumple, es posible reducir el problema de 3 máquinas, a un problema de dos
máquinas. Para convertirlo en un problema de dos máquinas, deben crearse unos tiempos de
procesamiento “virtuales” de la siguiente manera:

Y una vez se tengan estos tiempos, es posible solucionarlo con el algoritmo presentado anteriormente.

Ejemplo

Considere la siguiente información (5 trabajos que deben ser procesados en 3 máquinas): se conocen los
tiempos de proceso de cada trabajo en la máquina 1 (P1j), en la máquina 2 (P2j) y en la máquina 3 (P3j)

trabajo 1 2 3 4 5
p 4 9 8 10 5
1,j
p 6 5 3 7 5
2,j
P3,j 10 8 9 8 11

El primer paso consiste, entonces, en comprobar que la máquina dos esté dominada; de acuerdo con
esto tenemos:

{ } { }

Efectivamente, la máquina dos está dominada y podemos entonces crear los tiempos de procesamiento
virtuales, así:

trabajo 1 2 3 4 5
p 4 9 8 10 5
1,j
p 6 5 3 7 5
2,j

p3,j 10 8 9 8 11
p1j´ 10 14 11 17 10
p2j´ 16 13 12 14 16

[ PRODUCCIÓN] 11
Habiendo creado los tiempos de procesamiento virtuales, es posible aplicar la metodología de Jhonson
propuesta en el apartado 4.1, así:

1. Haga dos particiones:


 Conjunto I
 Conjunto II

2. En el conjunto I: coloque todos los trabajos en los cuales p1j´ < p2j´ , de acuerdo a esto, los
trabajos en este conjunto serían: J1, J3, J5

En el conjunto II: coloque todos los trabajos en los cuales p1j´ > p2j´, de acuerdo a esto los
trabajos en este conjunto serían: J2, J4

3. Los trabajos en el conjunto 1 se ordenan por SPT según el tiempo de proceso en la máquina 1
(p1j´)

trabajo 1 3 5
p ´ 10 11 10
1,j

De acuerdo con esto, la secuencia de este conjunto sería J1, J5, J3 o J5, J1, J3, pues existe un
empate entre J1 y J5 el cual se puede romper arbitrariamente

Los del conjunto II se ordenan por LPT según el tiempo de proceso en la máquina 2 (p2j´).

trabajo 2 4
p ´ 13 14
2,j

De acuerdo con esto, la secuencia de este conjunto sería J4, J2

4. La secuencia definitiva será SPT(1)-LPT (2); de acuerdo con esto la secuencia final sería: J1, J5, J3,
J4, J2 ó J5, J1, J3, J4, J2

El diagrama de Gantt asociado a esta secuencia debe construirse con las 3 máquinas originales, no
con las virtuales, y de acuerdo con la secuencia sería:

A partir de este diagrama podemos identificar que el Makespan es de 56 unidades de tiempo.

12 [ POLITÉCNICO GRANCOLOMBIANO]
4.3. n trabajos m máquinas

Cuando el problema de línea de flujo tiene más de 3 máquinas, no puede emplearse el algoritmo de
Jhonson, así como tampoco es posible obtener la secuencia óptima, sin embargo, existe una heurística
conocida como CDS que permite encontrar una buena secuencia para la minimización del makespan.

La heurística CDS, trabaja con el mismo concepto del algoritmo de Jhonson, sin embargo, lo que hace es
aplicar el procedimiento de forma iterativa y después escoger la secuencia con el mejor makespan.

Ejemplo:

Considere la siguiente información (5 trabajos que deben ser procesados en 4 máquinas): se conocen sus
tiempos de procesamiento:

Trabajo 1 2 3 4 5
Máq. 1 (p1j) 1 10 17 12 11
Máq. 2 (p2j) 13 12 9 17 3
Máq. 3 (p3j) 6 18 13 2 5
Máq. 4 (p4j) 2 18 4 6 16

Dado que existen más de 3 máquinas debe aplicarse la heurística CDS de forma iterativa, así:

Iteración I:

En esta iteración se aplica el algoritmo de Jhonson, como si solo existieran las máquinas 1 y 4.

Trabajo 1 2 3 4 5
M1 1 10 17 12 11
M2 13 12 9 17 3
M3 6 18 13 2 5
M4 2 18 4 6 16
p'1j 1 10 17 12 11
p'2j 2 18 4 6 16

[ PRODUCCIÓN] 13
Bajo este supuesto tendríamos:

Conjunto I: J1, J2, J5


Organizándolo por SPT con respecto a p'1j: J1, J2, J5

Conjunto II: J3, J4


Organizándolo por LPT con respecto a p'2j: J3, J4

La secuencia final sería entonces J1, J2, J5, J3, J4


El makespan sería 88 (comprueben este resultado pintando el diagrama de Gantt teniendo en cuenta las
4 máquinas originales).

Iteración II

En esta iteración asumiremos máquinas virtuales, como lo hacíamos con el algoritmo de Jhonson para 3
máquinas:

La primera máquina virtual P1j´será la suma de P1j Y P2j


La segunda máquina virtual P2J´ será la suma de P3j Y P4j

Trabajo 1 2 3 4 5
M1 1 10 17 12 11
M2 13 12 9 17 3
M3 6 18 13 2 5
M4 2 18 4 6 16
p'1j 14 22 26 29 14
p'2j 6 36 17 8 21

Note que lo que estamos haciendo es ir desde los extremos hacia el centro. Bajo este supuesto
tendríamos:

Conjunto I: J2, J5
Organizándolo por SPT con respecto a p'1j: J5, J2

Conjunto II: J1, J3, J4


Organizándolo por LPT con respecto a p'2j: J3, J1, J4

La secuencia final sería entonces J5, J2, J3, J1, J4


El makespan sería 85 (comprueben este resultado pintando el diagrama de Gantt teniendo en cuenta las
4 máquinas originales)

Iteración II

En esta iteración asumiremos máquinas virtuales, como lo hacíamos con el algoritmo de Jhonson para 3
máquinas

14 [ POLITÉCNICO GRANCOLOMBIANO]
La primera máquina virtual P1j´será la suma de P1j + P2j + P3j
La segunda máquina virtual P2J´ será la suma de P4j + P3j + P2j

Trabajo 1 2 3 4 5
M1 1 10 17 12 11
M2 13 12 9 17 3
M3 6 18 13 2 5
M4 2 18 4 6 16
p'1j 20 40 39 31 19
p'2j 21 48 26 25 24

Note que lo que estamos haciendo es ir desde los extremos hacia el centro. Bajo este supuesto
tendríamos:

Conjunto I: J1, J2, J5


Organizándolo por SPT con respecto a p'1j: J5, J1, J2

Conjunto II: J3, J4


Organizándolo por LPT con respecto a p'2j: J3,J4

La secuencia final sería entonces J5, J1, J2, J3, J4

El makespan sería 85 (comprueben este resultado pintando el diagrama de Gantt teniendo en cuenta las
4 máquinas originales)

Nota: El número de iteraciones a realizar siempre será igual al número de máquinas menos 1.
Para este problema de 4 máquinas se hacen siempre 3 iteraciones
Para un problema de 8 máquinas por ejemplo deberían hacerse 7 iteraciones, teniendo en cuenta que
se parte siempre de los extremos y se va avanzando hacia el centro.

Como ya hemos terminado las iteraciones posibles, para obtener la mejor secuencia lo que debe hacerse
es escoger la que minimice el makespan, en este caso podría ser la secuencia obtenida con la iteración 2
o con la iteración 3, pues con ambas se obtuvo un makespan de 85

[ PRODUCCIÓN] 15

You might also like