Programación de-operaciones

29
PROGRAMACIÓN DE OPERACIONES UNT PCO

Transcript of Programación de-operaciones

Page 1: Programación de-operaciones

PROGRAMACIÓN DE OPERACIONES

UNT

PCO

Page 2: Programación de-operaciones

Planeación del proceso

Planeación estratégica de la capacidad

Planeación agregada

Programa maestro de producción

Planeación de requerimientos de materiales

Programación de pedidos Programación semanal de fuerza laboral y clientes

Programación diaria de fuerza laboral y clientes

Largo plazo

Mediano plazo

Corto plazo

Manufactura Servicios

4

Page 3: Programación de-operaciones

PARÁMETROS

n = número de trabajos que serán procesados

m = número de máquinas

pik = tiempo de procesado del trabajo i en la máquina k (pi si m = 1)

ri = tiempo de liberación de la orden (o fecha de distribución) del trabajo i

di = fecha de entrega del trabajo i

wi = ponderación (importancia o valor) del trabajo i respecto a los otros trabajos.

Page 4: Programación de-operaciones

MEDICIONES

Ci = tiempo de terminación del trabajo i

Fi = Ci – ri, tiempo de flujo del trabajo i (Fi>0)

Li = Ci – di, retraso del trabajo i (Li < 0 denota anticipación

Ti = máx {0,Li}, tardanza del trabajo i

Ei = máx {0, -Li}, adelanto del trabajo i

δi = 1 si el trabajo i se atrasa (es decir, si Ti > 0)

δi = 0 si el trabajo i está a tiempo o se adelanta (es decir, si Ti = 0)

Cmáx = máx i=1,n {Ci}, tiempo máximo de terminación de todos los trabajos o lapso

Lmáx = máx i=1,n {Li}, retraso máximo de todos los trabajos

Tmáx = máx i=1,n {Ti}, tardanza máxima de todos los trabajos

Page 5: Programación de-operaciones

GRÁFICAS DE GANTT

Trabajo Tiempo procesamiento / núm. máquina Fecha de

distribución

Fecha de

entrega Operación 1 Operación 2 Operación 3

1

2

3

4

4/1

1/2

3/3

3/2

3/2

4/1

2/2

3/3

2/3

4/3

3/1

1/1

0

0

0

0

16

14

10

8

Considere la secuencia 2-1-4-3 en la máquina 1, la secuencia 2-4-3-1 en la

máquina 2 y la 3-4-2-1 en la máquina 3

M1 2(2) 1(1) 4(3) 3(3)

M2 2(1) 4(1) 3(2) 1(2)

M3 3(1) 4(2) 2(3) 1(3)

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Page 6: Programación de-operaciones

MEDICIONES

C1 = 14 L1 = -2 T1 = 0 δ1 = 0

C2 = 11 L2 = -3 T2 = 0 δ2 = 0

C3 = 13 L3 = 3 T3 = 3 δ3 = 1

C4 = 10 L4 = 2 T4 = 2 δ4 = 1

Cmáx = máx{14,11,13,10} = 14

Fi = Ci porque ri = 0

ΣFi = ΣCi = 48

ΣLi = 0

ΣTi = 5

Tmáx = 3

Nδ = 2

Page 7: Programación de-operaciones

EJERCICIO

Utilice el programa descrito en la gráfica de Gantt y (16, 10, 14, 8) como el vector

de fechas de entrega para dar los valores de

a) Lapso

b) Tiempo de flujo total

c) Tardanza total

d) Retraso total

e) Número de trabajo tardíos

M1 3 4 1 2

M2 1 3 2 4

M3 2 3 1 4

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

Page 8: Programación de-operaciones

M = 1 ----------- MINIMIZAR TIEMPO DE FLUJO

¿Cómo programo los trabajos de manera que se minimice el tiempo de flujo total?

Si se tienen n trabajos programados, 1-2-…-(n-1)-n, el tiempo de flujo total F es:

F = p1 + (p1+p2) + (p1+p2+p3) + … + (p1+p2+p3+…pn)

Arreglando los términos se tiene:

F = np1 + (n-1)p2 + (n-2)p3 + … + pn

Parece lógico que el trabajo en la primera posición tenga el menor tiempo de procesamiento, porque entra en la cuenta n veces.

La mejor secuencia es ordenarlos de acuerdo con el tiempo de procesado más corto (TPC)

Page 9: Programación de-operaciones

SECUENCIA TPC

La secuencia TPC minimiza el tiempo total que tardan todos los trabajos en el sistema, ya que los tiempos en que se mandan las órdenes son cero y, por lo tanto, minimiza el tiempo de espera total.

El TPC también minimiza el número promedio de trabajos esperando a ser procesados, o sea el inventario promedio de trabajo en proceso, medido en número de trabajos.

Page 10: Programación de-operaciones

M = 1 ------------- MINIMIZAR RETRASO TOTAL

Li = Ci – di

ΣLi = Σ(Ci – di) = Σci – Σdi

Como Σdi es constante para cualquier programa,

al minimizar el tiempo de terminación total

también se minimiza el retraso total.

Entonces el TPC minimiza el retraso total

Page 11: Programación de-operaciones

M = 1 -------------- MINIMIZAR TIEMPO DE FLUJO

PONDERADO

Sea wi el peso o valor del trabajo i, donde un peso más grande significa que el trabajo es más importante o más valioso.

Sea [i] el índice del trabajo programado en la i-ésima posición

C[i] = p[1] + p[2] + … + p[i]

ΣwiCi = w1C1 + w2C2 + … + wnCn

Si todos los trabajos tienen el mismo peso, la secuencia TPC es óptima. Si todos los trabajos tienen el mismo tiempo de procesado, parece natural realizar el de mayor peso primero, el segundo más grande después, etc.

Entonces, un trabajo con tiempo de procesado pequeño y peso alto debe programarse primero.

Se puede lograr calculando la razón de tiempo de procesado entre peso y ordenar los trabajos según el orden no decreciente de estas razones: secuencia de tiempo de procesado ponderado más corto (TPPC), que minimiza el tiempo de flujo ponderado.

Page 12: Programación de-operaciones

M = 1 ---- MINIMIZAR TARDANZA Y RETRASO MÁXIMOS

Cuando la satisfacción del cliente es la medida de desempeño importante.

TPC no considera las fechas de entrega.

Tmáx es medida orientada a las fechas de entrega. Se quiere que el trabajo más tardío tenga la menor tardanza posible. (“El grito más sonoro del cliente sea tan bajo como sea posible”).

Se puede demostrar el teorema que indica que colocando primero el trabajo con la fecha de entrega más cercana, después la siguiente más cercana, etc.

Secuencia fecha de entrega más cercana (FEC), minimiza Tmáx y Lmáx.

Page 13: Programación de-operaciones

M = 1 ------ MINIMIZAR NÚMERO DE TRABAJOS

TARDÍOS

Con FEC aunque ningún trabajo salga demasiado tarde, muchos pueden

salir algo tarde. Se puede querer minimizar el número de trabajos tardíos.

Algoritmo de Hodgson:

1. Calcular tardanza para cada trabajo en secuencia FEC. Se hace NT = 0;

sea k la primera posición que contiene un trabajo tardío. Si ningún trabajo

está tarde, se va al paso 4.

2. Encontrar trabajo con tiempo de procesado más largo en las posiciones 1

a k. Sea p[j] = máx i=1,k p[i]; entonces j* = [j] es el índice del trabajo con el

tiempo de procesado más largo entre los primeros k trabajos.

3. Quitar el trabajo j* de la secuencia, se hace NT = NT + 1, y se repite el

paso 1.

4. Los NT trabajos que se quitaron se colocan al final de la secuencia, en

cualquier orden. Esta secuencia minimiza el número de trabajos tardíos.

Page 14: Programación de-operaciones

M = 1 ------- MINIMIZAR NÚMERO PONDERADO DE

TRABAJOS TARDÍOS

Heurística: Aplicar el algoritmo de Hodgson,

quitando, entre los primeros k trabajos,

aquellos con el mayor cociente de tiempo de

procesado entre el peso, en lugar del tiempo

de procesado más largo.

Este método, en general, no minimiza el

número ponderado de trabajos tardíos, pero

con frecuencia proporciona buenas soluciones.

Page 15: Programación de-operaciones

M = 1 --------- MINIMIZAR TIEMPO DE FLUJO SIN

TRABAJOS TARDIOS

Si las fechas de entrega son más importantes, se querrá tener un tiempo de flujo lo más pequeño posible para mantener todos los trabajos a tiempo.

Para que todos los trabajos estén a tiempo, el último trabajo debe estar a tiempo. Conjunto programable de trabajos contiene aquellos que tienen

fechas de entrega mayores o iguales que la suma de todos los tiempos de procesado.

Entre los trabajos programables se elige el que tiene el tiempo de procesamiento más largo y se programa como el último.

Se quita el trabajo programado del problema y se resuelve el problema de programación de nuevo con los trabajos restantes.

El resultado es el programa óptimo que se construye eligiendo primero el último trabajo, después el penúltimo, etc.

Page 16: Programación de-operaciones

M=1 ---------- PROGRAMA DINÁMICO

• Problema estático con fechas de liberación distintas de cero

• El TPC no necesariamente minimiza el tiempo de flujo.

• El mejor programa no es evidente y debe recurrirse a enfoques heurísticos o enumerativos.

• El conjunto de trabajos programables contiene trabajos con tiempo de liberación menor o igual que la fecha actual.

• Si se permiten interrupciones, se minimiza el tiempo de flujo al programar el trabajo más corto disponible e interrumpir el que está en proceso, si hay un trabajo con tiempo de procesado más corto que el tiempo que le falta al trabajo en proceso.

Page 17: Programación de-operaciones

M=1 --------------- PROGRAMA DINÁMICO

• Situación dinámica

• Cada vez que se termina un trabajo, se programa el “mejor” trabajo en el conjunto programable. El conjunto programable se actualiza cuando llega un nuevo trabajo.

• Una desventaja de este enfoque es que un trabajo con prioridad baja sólo se programará cuando no haya otros trabajos que realizar, por lo que podría nunca hacerse.

• Una vez determinados los pesos, se ordenan los trabajos según el TPPC. Una máquina disponible toma el primer trabajo en la lista. Cuando llega un nuevo trabajo, se vuelven a calcular los pesos y las prioridades y se hace una nueva lista.

Page 18: Programación de-operaciones

MAQUINAS PARALELAS

Maq. 1

Maq. 2

Maq. m

.…

.…

.…

Trabajos

1 2 …… n

¿Qué máquina procesa el trabajo y en qué orden?

Solución: Lista programada. Una lista es una secuencia de todos los trabajos.

Para crear un programa, se asigna el siguiente trabajo en la lista a la máquina

con la menor cantidad de trabajo asignado, y se continúa hasta que todos los

trabajos en la lista se asignan.

Page 19: Programación de-operaciones

MÁQUINAS PARALELAS --- MÍNIMO TIEMPO DE

FLUJO

TPC minimiza el tiempo de flujo en una máquina y es probable que la lista TPC sea un buen punto de partida.

Se programa el trabajo con el menor tiempo de procesado en cualquier máquina, después el trabajo con el siguiente tiempo de procesado más pequeño, para que comience en cuanto sea posible en la máquina con el menor tiempo total de procesado.

Se continúa hasta que todos los trabajos estén programados y se obtiene un programa óptimo.

Page 20: Programación de-operaciones

MÁQUINAS PARALELAS --- MÍNIMO LAPSO DE

PRODUCCIÓN

No se cuenta con un algoritmo eficiente para

minimizar el lapso. Sin embargo, la lista del

programa proporciona un buen heurístico.

Se usa primero una lista de tiempo de

procesado más largo (TPL) y se asigna el

siguiente trabajo en la lista a la maquina con el

menor tiempo de procesado total asignado.

Page 21: Programación de-operaciones

MÁQUINAS PARALELAS --- OTROS MODELOS

Si la medida no es el lapso o el tiempo de flujo, el problema de programar maquinas paralelas idénticas es mucho más difícil.

Si la medida es Tmáx la lista FEC parece adecuada.

Para tiempo de flujo ponderado se usa TPPC.

Para número de trabajos tardíos se puede aplicar una extensión del algoritmo de Hodgson.

Desafortunadamente ninguno de ellos garantiza programas óptimos. Si los procesadores (máquinas) no son idénticos, el problema puede complicarse todavía más.

Page 22: Programación de-operaciones

MÁQUINAS SECUENCIALES

Máq. 1 Máq. 2 Máq. m

Trabajos

1 2 n

…. ….

El procesado de trabajos de manera secuencial en varias máquinas, recibe el

nombre de producción continua.

Page 23: Programación de-operaciones

M=2 SECUENCIAL ---- MÍNIMO LAPSO

Minimizar el lapso es equivalente a minimizar

el tiempo ocioso.

Algoritmo de Johnson:

Si un trabajo tiene un tiempo de procesado corto

en la máquina 1, debe ir al principio del programa,

mientras que uno con un tiempo corto en la

segunda máquina debe programarse al final.

El algoritmo de Johnson siempre genera un

programa óptimo.

Page 24: Programación de-operaciones

LAPSO DE PRODUCCIÓN MÍNIMO CON MÁS DE

DOS MÁQUINAS

Si se tiene más de dos máquinas, el algoritmo de Johnson no funciona excepto en casos especiales.

Un caso especial ocurre cuando la maquina intermedia está dominada, ya sea por la primera o por la tercera. Una máquina está dominada cuando su tiempo de procesado más largo no es mayor que el tiempo de procesado más corto de otra máquina. Es decir, para la máquina intermedia: p12 <= máx{min pi1, min pi3}

Entonces se puede formar un problema equivalente de dos máquinas con tiempos de procesado p’i1 = pi1 + pi2 y p’i2 = pi2 + pi3

Page 25: Programación de-operaciones

MÁQUINAS SECUENCIALES --- OTRAS MEDIDAS

El lapso de producción se centra en la utilización de la máquina. La utilización ha sido la medida de desempeño más común; pero el cambio rápido en el entorno de producción ha hecho que otras medidas sean importantes, en particular las de servicio al cliente como tardanza, número de trabajos tardíos, tiempo de flujo ponderado y adelanto.

Existen pocos resultados para otras medidas. Se pueden encontrar heurísticas relacionadas con fechas de entrega.

Page 26: Programación de-operaciones

PRODUCCIÓN INTERMITENTE

T-1

T-1

T-2

T-2

T-3

T-3

Máquina A Máquina C

Máquina D Máquina B

Page 27: Programación de-operaciones

PRODUCCIÓN INTERMITENTE EN DOS

MÁQUINAS

Algoritmo de Jackson: Máquina A: trabajos {AB} ordenados según el algoritmo

de Johnson, después los trabajos {A} en cualquier orden, seguidos de los {BA} en orden inverso al algoritmo de Johnson.

Máquina B: trabajos {BA} en orden inverso de Johnson, trabajos {B} en cualquier orden y trabajos {AB} en el orden de Johnson.

{A}: trabajos procesados sólo en A

{B}: trabajos procesados sólo en B

{AB}: trabajos procesados en A y después en B

{BA}: trabajos procesados en B y después en A

Page 28: Programación de-operaciones

DESPACHO

(Producción intermitente m máquinas)

El enfoque más común para la producción intermitente es usar reglas de despacho con prioridades. La idea básica es programar una operación de un trabajo tan pronto como se pueda; si hay más de un trabajo que espera ser procesado por la misma máquina, se programa el que tienen la mejor prioridad.

A = conjunto de máquinas ociosas

Jk = índice del último trabajo programado en la máquina k

𝒊𝒕={𝑖|𝐽𝑘 = i, k ∈ 𝐾} Uk = conjunto de trabajos que se pueden procesar en la máquina k

Hk = tiempo de terminación del trabajo que se está procesando en la máquina k

uit = urgencia, o prioridad, del trabajo i en el tiempo t

sij y cij son los tiempos de inicio y terminación de la operación j del trabajo i, respectivamente.

Page 29: Programación de-operaciones

DESPACHO ------Prioridades

TPC: Tiempo de procesado más corto.

PEPS: Primero en entrar, primero en servir.

MTR: Mayor trabajo restante.

FEC: Fecha de entrega más cercana.

HLG: Holgura: Tiempo hasta que el trabajo debe entregarse.

RC: Razón crítica: Holgura entre tiempo que queda para entregar el trabajo.

HLG/OP: Operación con holgura: Razón de holgura. entre el número de operaciones que quedan.