Capacidad Productiva - Asignación de Máquinas Como vimos en el capítulo anterior, el comportamiento del mercado, hace que se active la producción en una empresa. Lo primero en la fabricación de un producto es un plan de producción. El plan de producción especifica las cantidades de cada producto terminado, subensambles y partes que se requieren en distintos puntos del tiempo. Dos requisitos para generar un plan de producción son las estimaciones de demanda y un plan maestro de producción: MPS, que se utiliza para crear un plan de producción detallado. El Plan Maestro de Producción, MPS, es un plan de entrega para la organización manufacturera. Incluye las cantidades exactas y los tiempos de entrega para cada producto terminado. El MPS, toma en cuenta las restricciones de fabricación y el inventario de producto terminado. Una restricción importante es la CAPACIDAD . Así que para verificar la factibilidad del MPS se lleva a cabo una evaluación inicial de la capacidad, lo que se conoce como: Planeación Preliminar de la Capacidad. Si la capacidad disponible es insuficiente, se debe cambiar el MPS. Los pasos específicos para la capacidad de producción son: a. Determinar la capacidad de producción del sistema de producción. b. Establecer la secuencia de producción de cierto número de trabajos que se realizan a través de una cantidad determinada de máquinas. c. Asignar la carga de trabajo a las máquinas. máquinas. Para el primer paso se debe tener definida la capacidad, bajo la forma de minutos por pieza, o piezas por hora, para cada producto en unión de las asignaciones correctas de tiempo para preparación, mantenimiento y reparaciones, que básicamente determinan la capacidad de producción. Estos datos se obtienen de los estudios de tiempos, de los equipos y de las operaciones que se ejecutan. Ejercicio:
Una fábrica de muebles de madera desea saber cuantos trompos necesita para realizar una operación cuya duración es de 10 minutos por unidad, mas dos minutos de paro de máquina (que corresponden a preparación, colocación de la pieza, inspecciones, etc.). Si se deben producir 960 piezas semanales y se trabajan dos turnos diarios de ocho horas cada uno, determinar el número de máquinas a utilizar. Tiempo de operación/unidad
Tiempo paro máquina.
10 min./un.
2 min./un.
Producción semanal
960 unid./semana
Tiempo total:
días = 5760 min. /sem. /sem. Capacidad semanal= 8 horas X 2 turnos X 60 min. X 6 días Turno día hora semana Al dividir el tiempo total de producción semanal requerido entre el tiempo disponible por máquina, por semana, nos da el número de trompos requeridos: 960 un.X 12 min. = 11520 min./un. 11.520 = 2 trompos. 5.760
5.1 Como se establece la secuencia:
Al establecer la capacidad de producción, es requisito indispensable definir el orden en el cual los trabajos pasan a través de las máquinas o las estaciones de trabajo, lo que es en si, el establecimiento de la secuencia. Si son muy pocos los tipos de trabajo o de máquinas, el problema se resuelve mediante ensayo y
error, utilizando gráficos. Consideremos un problema simple: se trata de establecer la secuencia de dos tareas que requieren el trabajo de dos máquinas M1 y M2 en ese orden. Esto significa que la M1 empieza a trabajar primero, las tareas pueden efectuarse en diferente orden, existiendo solamente dos secuencias posibles: la tarea 1 primero y la tarea 2 en segundo lugar o viceversa; este orden se cumple para la realización de las tareas en las dos máquinas. Si se incluyen los tiempos que se invierten en la realización de las tareas en cada una de las máquinas, como se muestra:
M1 antes de M2. La M1 Empieza a trabajar primero
Máquina 1 (M1) Máquina 2 (M2)
Tarea 1
5 horas 6 horas
Tarea 2
8 horas 3 horas
Este cuadro se lee así: La tarea 1 si se ejecuta en la M1, se realiza en 5 horas, pero si se ejecuta en la M2, el tiempo es de 6 horas. De igual manera, la tarea 2 tiene un tiempo de 8 horas en la M1 y de 3 horas en la M2. El programa resultante de cada secuencia se muestra por medio de los diagramas de tiempo, uno para cada alternativa. La primera:
Conforme aumenta el número de trabajos y de máquinas, se vuelve mas complicado y tedioso el realizar la secuencia apropiada para un problema de asignación. Con n tareas que pasan por M1 y M2, existen n alternativas. Si consideramos 11 trabajos para pasar por dos máquinas por ejemplo, serían 40 millones de alternativas para diagramas de tiempos de los patrones pasibles de secuencia.
5.2 Establecimiento de la secuencia para n trabajos por dos máquinas : La regla de Johnson, proporciona un tiempo de procesado mínimo para secuenciar n trabajos mediante dos máquinas o centros de trabajo, donde la misma secuencia de proceso debe ser seguida por todos los productos. La técnica es sencilla y eficaz. Se siguen los siguientes pasos: Se listan los tiempos de trabajo para pasar de M 1 a M2. Se selecciona el trabajo mas corto de la lista. Si el tiempo mas corto es por M 1, se coloca ese trabajo tan pronto como sea posible al comienzo de la secuencia de trabajos. Si el trabajo mas corto es por M 2, se coloca en la secuencia tan al final como sea posible. Un empate entre los tiempos de los trabajos más cortos se rompe en forma arbitraria porque no puede afectar el tiempo mínimo transcurrido para determinar todos los trabajos.
Para escoger el trabajo que le sigue, se suprime el trabajo escogido en el paso 2 de la lista y se repiten los pasos 2,3 y 4 hasta obtener una secuencia completa.
Ejercicio:
De acuerdo a la tabla adjunta, establecer la secuencia de siete trabajos a través de dos máquinas, el tiempo está dado en minutos.
Centro de W
A
B
C
D
E
F
G
M1(Horneado) M1(Horneado ) M2(Decorado) M2(Decorado )
4 11
7 7
3 10
12 8
11 10
9 13
2 3
La secuencia para estos trabajos es: G,C,A,B,F,E,D. G,C,A,B,F,E,D. Tiempo total:64 minutos.
5.3 Establecimiento de la secuencia de dos trabajos a través de n máquinas: La inversión a la secuencia “nx2”, presenta el problema de establecer la ruta para dos trabajos a través de n estaciones, 2xn. Para ello se emplea un enfoque gráfico: Los ejes de la gráfica presentan los dos trabajos que se deben procesar a través de la misma n instalaciones en cualquier orden que estas se necesiten. Con las teorías de redes, PERT y CPM , se estudiarán más en detalle estos problemas.
5.4 Análisis de costos : Primordial y como resultado de una buena secuencia, es el análisis de costos. Sea Co el costo de la mano de obra expresada en $ por unidad de tiempo por hombre y Cm el costo de máquina definido en $ por unidad de tiempo por máquina. Entonces el costo unitario de operación Y es:
5.5 Asignación de máquinas : Generalmente se utiliza el método de programación l ineal. Veamos un ejemplo: Un programador tiene cuatro trabajos que puede realizar en cualquiera de cuatro máquinas con los respectivos tiempos (minutos) como se muestra en la tabla. Determinar la asignación de los trabajos a las máquinas que resulte con el tiempo mínimo. Trabajo Máquina 1 Máquina 2 Máquina 3 Máquina 4 A 5 6 8 7 B 10 12 11 7 C 10 8 13 6 D 8 7 4 3 El método de solución implica cinco pasos: 1. Se resta el menor número de todos los demás en cada renglón y con los resultados se forma una nueva matriz.
2. Usando una nueva matriz, restar el número menor de los otros en cada columna. De nuevo formar una nueva matriz. 3. Verificar si existe un cero en cada renglón y en cada columna. Se dibuja el mínimo número de líneas necesarias para cubrir todos los ceros en la matriz. 4. Si el número requerido de líneas es menor que el de renglones, se modifica la matriz, sumando en la línea de intersección el número más pequeño que está sin cubrir (sin haber sido cruzado por alguna línea) y restándolo de cada número no cubierto, incluyendo el propio número. Se dejan sin cambio los números restantes ya cubiertos. 5. Verificar de nuevo la matriz con líneas que cubran los ceros y continuar la modificación (paso 3) hasta obtener la asignación óptima. Esta solución también se conoce como Algoritmo Húngaro, en honor al matemático D. Konig de esa nacionalidad. Su objetivo primordial es desarrollar uno técnica de control sencilla que reduzca el tiempo de entrega y el trabajo en proceso.
Programación Secuencial : La programación en un taller de tareas consiste en determinar el orden o la secuencia de las tareas en las máquinas para optimizar la ejecución de todo el programa. Son cuatro los factores que describen el problema específico de programación en un taller de tareas, acorde a: 1. El patrón de llegada de los trabajos: Si n tareas llegan simultáneamente al taller y quedan disponibles para iniciar su proceso, se tiene un problema de programación estática. Si las tareas llegan intermitentemente, el proceso es estocástico y el problema es de programación dinámica. 2. El número de máquinas que integran el taller. Existe un problema de secuenciación cuando n trabajos son programados en m máquinas. 3. El Flujo de Producción: El flujo de proceso de las tareas a través de las máquinas debe ser especificado; si todas las tareas siguen las misma ruta, el flujo de producción es continuo o en serie. Lo opuesto, es decir donde no existe una tarea preconcebida de procesos se tiene un taller cuyo flujo de producción es aleatorio. Los trabajos pueden ser independientes unos de otros, o bien, interdependientes. Cuando se mezclan los diferentes tipos de flujos de producción, los de serie con los aleatorios, existen rutas generales de procesos. 4. El objetivo que se desea optimizar: la medida de desempeño que frecuentemente se utiliza es la optimización del tiempo total de proceso de todas las tareas o trabajos en todas las máquinas. Otras medidas de ejecución son: El tiempo promedio de permanencia de los trabajos en el taller, la impuntualidad, el tiempo promedio de espera, etc. Para identificar los diferentes problemas de secuenciación, CONWAY, MAXWELL y MILLER proponen una notación de cuatro parámetros escritos así: A/B/C/D y que significan: A: Describe las llegadas de las tareas al proceso. Para problemas dinámicos, A, identifica la distribución de probabilidad de los tiempos entre llegadas; si se trata de un problema estático A denota el número de trabajos; estas tareas llegan simultáneamente. B: Identifica el número de máquinas en el taller. C: Define el tipo de flujo de producción en el taller, puede ser: En serie: F Aleatorio: R General: G Cuando se tiene un taller con una sola máquina no hay ningún tipo de flujo y el tercer parámetro se ignora. D: Describe el criterio de optimización. Por ejemplo: n/2/F/Fmax, indica programar n tareas en serie en dos máquinas tal que minimice el tiempo de flujo máximo; esta notación define el algoritmo de Johnson.
Variables de de un problema problema secuencial secuencial :
Sean n tareas procesadas en un taller de máquinas, se definen las siguientes variables: r i : Tiempo de llegada o disponibilidad de trabajos o tareas en el taller. di : Tiempo prometido de entrega, periodo de tiempo en que el trabajo i debe ser entregado. ai : Tiempo asignado de la tarea i en el taller, debe ser: ai = di - r i Pi: Tiempo total de proceso de la tarea tarea i, expresado por: X=n
Pi = ∑ Pi j donde: i=1
Pij : Tiempo total de proceso de la tarea i en la operación j. Wij : Tiempo de espera de la tarea i antes de la tarea j. Ci : Tiempo de terminación de la tarea i. Tiempo en el cual el proceso de la última operación de la tarea i es completada. Entonces: Ci = r i + Pi + Wij Fi : Tiempo que la tarea i permanece en el taller o el tiempo total de manufactura. Fi = Ci - r i = r i + Pi + Wij - r i Entonces: Fi = Pi + Wij Li : Tiempo de adelanto o de retraso de la tarea i en el taller de tareas, hasta su fecha de entrega. De donde: Li = Ci - di = r i + Pi + Wij - di = (Pi + Wij) + (r i - di) = Fi - ai Los valores negativos de L i indican eficiencia, mientras que los valores positivos de Li significan ineficiencia. Ti : Tiempo de mora o retraso de la tarea i, dado por: T i = Máx.(0, L i), esto indica impuntualidad. Ei = Tiempo de adelanto de la tarea i, expresado por: E i = Máx.(0, - Li), Ejercicio: Sean tres trabajos que requieren cada uno de tres procesos secuenciales. Los datos pertinentes están dados por: Tarea o Trabajo
Tiempo de Proceso Máquina 1 3 4 5
1 2 3
Máquina 2 2 3 6
Máquina 3 4 4 2
r i
di
0 1 2
20 14 14
Se asume que los trabajos son programados de acuerdo a la secuencia 2>3>1, es decir, se programa primero el trabajo 2, luego el trabajo 3 y por último el trabajo 1. Se procede primero a elaborar un diagrama de Gantt: (Ver anexo) i
Indica el tiempo de llegada al taller del trabajo i (r ( r i )
i
Indica el tiempo de entrega de la tarea i (d i )
Luego se expresan los valores de C i , ai , Fi , Li , Ti , Ei , Wij : C1 = 22
a1 = 20
F1 = 22
L1 = 2
r1 = 0
C2 = 12
a2 = 13
F2 = 11
L2 = -2
r2 = 1
C3 = 18
a3 = 12
F3 = 16
L3 = 4
r3 = 2
T1 = 2
E1 = 0
W11 = 10
W21 = 0
W31 = 3
T2 = 0
E2 = 2
W12 = 3
T3 = 4 E3 = 0 W13 = 0 Se pueden obtener las siguientes d efiniciones:
W22 = 0
W32 = 0
W23 = 0
W33 = 0
X =n
Tiempo promedio de flujo: F = 1/n ∑Fi = (1/3)*49 (1/3)*49 = 16.33 16.33 i=1 X =n
Impuntualidad promedio: T = 1/n ∑Ti = (1/3)*6 = 2 i=1
Tiempo de flujo máximo, F máx = Máx.(Fi) siendo, 1≤i≤n Impuntualidad máxima, T máx = Máx.( Ti ), siendo 1≤i≤n
= 22 =4
El diagrama Gantt no es un método estructurado que permita mejorar la secuencia de los trabajos en forma eficiente, por lo que existen técnicas exactas o aproximadas como el algoritmo de Johnson, de IgnallScharage y Lomnicki, y, otros para resolver problemas secuenciales de: n trabajos en una máquina n trabajos en dos máquinas n trabajos en tres máquinas y n trabajos en m máquinas.
Programación de n trabajos en una máquina : El problema (n/1/F) Consiste en programar n tareas en una máquina minimizando el tiempo promedio del flujo de producción, es decir la secuencia: P(1) ≤ P(2) . . . . . . . . . ≤ P(n) Lo anterior significa que que se toma el trabajo cuyo Pi sea menor entre todos y se coloca como P (1) ; de los que quedan se busca de nuevo el Pi menor y se le asigna la segunda posición P (2) de la secuencia y así en forma sucesiva. En conclusión, los trabajos se programan en orden creciente a su tiempo de proceso; este procedimiento se conoce como SPT, tiempo de proceso más corto. Si lo que se quiere es maximizar el flujo promedio de producción, como puede ser el caso de un hotel, para aumentar la permanencia de los turistas y así obtener mayores utilidades, entonces los trabajos se programan en orden decreciente a su tiempo de proceso. P(1)
≥
P(2) ≥
P(3) . . . . . . . . . ≥ P(n)
Es el caso de un hotel, donde el éxito es tener la mayor permanencia de los inquilinos para obtener mayores utilidades. Si los trabajos tienen factores de pond eración k j por su importancia, la secuencia óptima se define por: P(1) ≤ P(2) . . . . . . . . . ≤ P(n) K(1) K(2) K(n) Ejercicio: Se quiere programar secuencialmente cuatro trabajos en una máquina tal que se minimice F. Los tiempos de proceso Pi y su importancia k j se dan en la tabla siguiente: Trabajo 1
Pi (Horas) 10
k j (Puntos) 2
Pi / k j 5
2 3 4
6 9 4
3 6 4
2 1.5 1
Usando SPT, se tiene que la secuencia óptima es 1< 1.5 < 2 < 5 que corresponde a los trabajos 4 > 3> 2> 1 cuyo tiempo de terminación para C4 = 4, C3 = 13, C2 = 19 y C1 = 29 El flujo promedio de producción está dado por: F = 4+13+19+29 = 16.25 4
Programación de n Tareas en dos máquinas Es el problema (n/2/F/Fmax ), que consiste en programar un conjunto de n tareas que pasan a través de dos máquinas cuyo flujo de producción es en serie e independiente, tal que minimice el tiempo de flujo máximo. El procedimiento usado en esta programación fue desarrollado por Johnson y se conoce como algoritmo de Johnson. Sea Pij el tiempo de proceso de la tarea i en la máquina j. Asumir que todas las tareas son procesadas primero en la máquina 1 y luego en la máquina 2. Las etapas a seguir son: a.- Hallar la tarea con el mínimo Pij b.- Si el mínimo valor hallado corresponde a la máquina 1, se asigna esta tarea al primer puesto en la secuencia, y si ocurre en la máquina 2, se asigna la tarea a la última posición de la secuencia. c.- Se ignora esta tarea de la lista y se repite el proceso anterior con las tareas restantes. Si existe empate se escoge la posición al azar en la secuencia asignada. Este proceso continua hasta que todas las tareas sean programadas.
Algoritmo de Gupta (n/m/F/Fmax) Fue desarrollado por Jatinder ND Gupta, para responder al problema (n/m/F/Fmax), que consiste en ordenar n trabajos que siguen un flujo continuo de producción en m máquinas tal que se minimice el tiempo de flujo máximo. Aplicando el algoritmo de Gupta a la solución de este problema, se sigue el siguiente procedimiento: a. Formar una matriz de tiempos de procesos Pij de n tareas (filas) por m máquinas (columnas) Máquinas
P11 P12 P13 . . . . . . . . P1m P21 P22 P23 . . . . . . . . P2m P31 P32 P33 . . . . . . . . P3m Tareas
. . . . .. . . .........
Pn1
Pn2
Pn3
. .. . .. . .
Pnm
b. Calcular el valor de cada tarea i (V titi) expresado por la función: f (V titi) =
k
.
min. (Pij + Pi, j+1) Esta función está representada por:
donde j = 1,2,3,……,m-1 1,2,3,……,m -1
(V titi) =
k ______. min. (Pi1 + Pi2, Pi2 + Pi3, Pi3 + Pi4, . . . . . . P i, m-1 + Pim)
donde:
k = +1, si Pi1 ≥ Pim k = -1, si Pi1 < Pim c.
Ordenar en forma ascendente los (V titi) para obtener la secuencia óptima, cuando se presenta empate se discrimina a favor de la tarea cuya suma de los tiempos de proceso en todas las máquinas sea menor.
Ejercicio:
Cuatro trabajos deben ser procesados en cinco máquinas en el mismo orden. Los tiempos de proceso se muestran en la tabla siguiente: Trabajos 1 2 3 4
V t1 t1 =
1 4 5 6 2
2 8 3 2 5
Máquinas 3 4 3 2 4 3 3 9 8 7
5 1 2 10 6
1 . = 1 = 0.3333 min. (12, 11, 5, 3) 3
V t2 t2 =
1 . = 1 = 0.2 min. (8, 7, 7, 5) 5
V t3 t3 =
-1 . = -1 = -0.2 min. (8, 5, 12, 19) 5
V t4 t4 =
-1 . = -1 = -0.1428 min.(7, 13, 15, 13) 7
Si se ordenan las tareas en forma ascendente con respecto a V titi , se obtiene que la secuencia óptima es 3, 4, 2, 1, con un tiempo total de programación de 39 unidades de tiempo.