secuenciacion 2005 pdf
Post on 02-Jan-2016
88 Views
Preview:
TRANSCRIPT
3
PMPPropuesto
BOMLista de
Materiales
Registrosde
inventarios
Órdenes de compra de materia primas
Sistema MRP
Órdenes de producción de componente
•Datos de transacciones de inventarios
• Informes
Dis
poni
bilid
ades
–R
PPL
Maestrode ítems
Datos de Proveed.
MRP Entradas y salidas
4
PLANES DE PRODUCCIÓN
LÍNEAS DE PRODUCTOS
PRODUCTOSINDIVIDUALES
COMPONENTES
OPERACIONES
PLANEACIÓNAGREGADA
PROGRAMA MAESTRODE LA PRODUCCIÓN
REQUERIMIENTOS DEMATERIALES (PLAN)
PROGRAMACIÓNDEL TALLER
5
MRP Entradas y salidasCT1
05
Pulido
CT2
0206
Corte y ac.
CT3
07
Ensamblado
Madera Cajonera
CT3
01
Montaje
CT1
0215
Pintura y acabado
14Armario
CT2
0211
Corte yacanalado
CT4
12
Pegado
Madera Estructura Al
CT3
13
Montaje bisagras y cerraduras en puertas
4 puertascompletas
4 Puertas
1 Cajonera
CT4
01
Pegado
10Puerta
CT3
08
Ensamblado
Estructura
CT1
09
Pulim. Barniz. paños
PañosMadera
Madera
T. Lote =400
T. Lote =1000
T. Lote =50
EJEMPLO
6
PROGRAMACIÓN DE OPERACIONES
RECURSO
RECURSO
TRABAJO 1
TRABAJO 2
TRABAJO N
DISTRIBUCIÓNDE TAREAS
DEPENDENCIA RECURSO
8
OBJETIVOS
Continuar con el proceso de planeación jerárquica hasta el nivel más fino.
Proporcionar antecedentes para los problemas, modelos y algoritmos de programación.
Analizar el entorno de la programación.
Definir la terminología y la notación empleada para programar los trabajos en las máquinas
9
Planeación Corto plazo
El Scheduling o planeación a corto plazo específica la organización de la producción de acuerdo a las órdenes emitidas en el mediano plazo (MRP), considerando la disponibilidad de recursos y restricciones, controlando las operaciones y ajustando la capacidad del sistema para asegurar que se cumplan los requerimientos del programa maestro de producción y el MRP
10
Programación de Operaciones
“Es el proceso de organizar, elegir y dar tiempos al uso de
recursos para llevar a cabo todas las actividades, necesarias
para producir las salidas deseadas en los tiempos deseados,
satisfaciendo a la vez un gran número de restricciones de
tiempo y relaciones entre las actividades y los recursos”
Lo anterior implica que, si los recursos no están limitados no
existe el problema. Y en el contexto de la definición las
actividades son los trabajos u operaciones y los recursos son
las máquinas o las hora hombre
MORTON Y D. W. PENTICO (1993)
11
Programación de Operaciones
El problema de scheduling implica realizar las siguientes actividades
1. Asignación de trabajos a las máquinas o a los centros de trabajo.
2. Determinación de la secuencia de realización de las actividades
3. Programación de las fechas de comienzo y finalización de las operaciones.
12
SchedulingScheduling: Asignación, secuenciación y programación de tareas (u operaciones) en agentes (maquinas, trabajadores,..) respetando restricciones de operación.Aplicaciones del Scheduling
Paralelización de TareasComputación Distribuida de Algoritmos H.E.Asignación de Tareas en RobóticaProgramación de ProyectosProgramación de OperariosProgramación de TripulacionesProgramación de Producción
14
DEFINICIONESPROGRAMA:
Es la definición del tiempo de inicio y finalización de cada trabajo en cada máquina, al igual que cualquier recurso adicional que se necesite
SECUENCIA:Orden simple de trabajos que indica que trabajo se realiza primero y cuales son los siguientes. Si cada trabajo se procesa tan pronto como es posible y sin interrupción para un tiempo dado de procesamiento, la secuencia determina los tiempos de inicio y terminación y, por lo tanto, determina la programación
15
SECUENCIACIÓN
PROBLEMÁTICA
Los problemas de secuenciación son muy comunes y no solamente están inscritos dentro de la manufactura, si no que están presentes en diferentes escenarios.
Un grupo de aviones esperando pista para aterrizar
Un grupo de clientes en un banco
Un conjunto de programas a ser corridos en un centro de computo (Hiererchical sheduling)
Un grupo de clientes en una peluquería
Un grupo de clientes en una clínica
Muchos casos son resueltos de manera a apropiada de acuerdo al momento en que se presentan las actividades (FIFO) razonamiento lógico en algunos ambiente pero no en todos
16
SECUENCIACIÓN
PROBLEMÁTICA
La idea es determinar la mejor secuencia de trabajos y para ellose podría enumerar todas las secuencias posibles y elegir aquella que optimiza alguna medida de desempeño.
Este proceso para 23 trabajos implicaría 23! = 2.59*1022 > (23)23 Secuencias posibles, si un equipo pudiera examinar un Billón por segundo, tardaría 8.2 siglos para examinarlas todas, eso sin considerar restricciones asociadas a los recursos adicionales, (mano de obra y materia prima) y las dependencias entre trabajos (como la preparación), que le dan un mayor grado de dificultad.
17
PROBLEMÁTICAEn general, en un problema de scheduling intervienen los siguientes elementos:- Trabajos
disponibilidadfecha de entregatiempo de procesoprioridadtiempo de alistamiento (setup)OperacionesPatrones de flujo.
- Máquinas o recursosConfiguraciónCapacidad
- Tipos de scheduling.- Objetivos- Criterios
18
DEFINICIONESTRABAJOS: Conjunto de operaciones a realizar, con un tiempo de proceso definido, y que se supone que una vez se comienza una operación, debe procesarse continuamente hasta terminar, es decir sin interrupciones. Los trabajos pueden tener una fecha deentrega o una de finalización
Un trabajo puede depender de otro ya sea por la precedencia o por que el tiempo necesario para llevarlo a cabo depende de que el trabajo anterior sea procesado como en el caso de tiempos de alistamiento que dependen de la secuencia. Si los tiempos de alistamiento no dependen de la secuencia pueden introducirse en los tiempos de operación (carga)
19
DEFINICIONESMÁQUINAS:Son las encargadas de procesar los trabajos. los entornos de máquinas se dividen así:
Una sola máquina: En la cual se deben procesar todos los trabajos y esta solo puede procesar un solo trabajo a la vez. (Producción en línea)
Máquinas en paralelo: Varias máquinas que pueden realizar el mismo tipo de procesamiento, un trabajo se puede realizar en cualquiera de las máquinas, en caso de que no se diga lo contrario se supone que las máquinas son idénticas es decir es decir el tiempo de realizar el trabajo es independiente de la máquina en que se haga.
20
DEFINICIONESMÁQUINAS:Taller de producción en línea: Contiene máquinas diferentes y cada trabajo debe procesarse, en cada máquina exactamente una vez y cada trabajo sigue el mismo orden de visita a las máquinas, un trabajo no puede comenzar su proceso en la segunda maquina hasta no terminar el de la primera. (Líneas de ensamble)
Taller de producción intermitente: es más general que el taller de producción continua, cada trabajo tiene una ruta única y pueden no pasar por todas la máquinas.
Taller de producción abiertos: Los trabajos no tiene una ruta en particular y muchas veces el orden carece de importancia.
21
Enfocada al producto – Flow shop
Enfocada al proceso – Job Shop
Configuración productiva
El desarrollo de la programación con lleva a variar notablemente en función del tipo de configuración productiva.
Configuración continua.
Configuración productiva por lotes.
Configuración por proyectos
26
TERMINOLOGÍA Y NOTACIÓN
VARIABLES QUE DESCRIBEN EL PROBLEMA: Se asumen dadas, es decir son proporcionadas por etapas anteriores de planeación
m (machine) = Número de máquinas, cada maquina se identifica con un entero en 1,2, m
n (jobs) = Número de trabajos que serán procesados, identificados desde 1,2, i, hasta n, los atributos relevantes delos trabajos son denotados por las siguientes variables
27
TERMINOLOGÍA Y NOTACIÓNVARIABLES QUE DESCRIBEN EL PROBLEMA:ATRIBUTOS DE LOS TRABAJOS
ri (ready-time, release-time or arrival-time)= Tiempo de la liberación de la orden (o fecha de distribución) del trabajo i. Significa el momento más temprano a partir del cual el trabajo ise puede empezar a procesar, generalmente viene del MRP en HPP
di (due-date) = Fecha de entrega del trabajo i. Es el tiempo en que se esperara el trabajo este terminado, tiempo más lejano en que la ultima operación del trabajo i puede ser terminada
ai (allowance) = Tolerancia o tiempo total permitido para el trabajo en el taller
ai = di - ri
28
TERMINOLOGÍA Y NOTACIÓN
VARIABLES QUE DESCRIBEN EL PROBLEMA:ATRIBUTOS DE LOS TRABAJOS
Un trabajo i esta constituido por un conjunto gi de operaciones, entonces cada trabajo i es descrito por gi pares de valores de la forma. (mi,1;pi,1) ,.. (mi,j;pi,j) , ..(mi,gi;pi, gi) dondemi,j identifica el número de maquina requerido para realizar la operación j del trabajo i 1<=mi,j<=mpi,j (procesing time) es el tiempo de proceso de la operación i del trabajo j, indica el tiempo que se demora máquina mi,j en desarrollar la operación
29
TERMINOLOGÍA Y NOTACIÓN
VARIABLES QUE DESCRIBEN EL PROBLEMA:ATRIBUTOS DE LOS TRABAJOS
El tiempo de proceso total para un trabajo se define como:
Otra variable que describe el problema de scheduling es la importancia o el valor planteada por el programador, que tienen un trabajo con respecto a otro, que denotaremos wei (WEIGHT).
∑=igenj
jii pP ,
30
TERMINOLOGÍA Y NOTACIÓNVARIABLES QUE DESCRIBEN SOLUCIÓN: Para una solución
del problema se debe definir cuando cada operación de cada trabajo será terminada. Lo cual es equivalente a definir cuanto tiempo espera cada operación de cada trabajo antes de ser procesada, este tiempo lo denotaremos como Wi,j , (waiting-time before procesingbegins )
1. Wi,j= Tiempo de espera que precede la realización de la operación j del trabajo i, es decir tiempo entre la terminaciónde la operación (j-1) y el inicio de la operación j
2. El tiempo total que ha esperado un trabajo es la suma de los tiempos de espera de sus operaciones
∑=igenj
jii wW ,
31
TERMINOLOGÍA Y NOTACIÓNVARIABLES QUE DESCRIBEN SOLUCIÓN: La solución de un problema de scheduling esta completamente especificada y definida por el conjunto de Wi,j , pero existen otras variables que se puede derivar y que compactan y facilitan la notación las cuales son:
El tiempo en que un trabajo sale (o se termina) del taller
El tiempo que un trabajo consume (está) dentro del taller
La diferencia entre el tiempo en que un trabajo sale del
taller y su supuesto tiempo planeado de terminación
32
TERMINOLOGÍA Y NOTACIÓNVARIABLES QUE DESCRIBEN SOLUCIÓN:
El tiempo en que un trabajo sale (o se termina) del taller: generalmente se conoce como el tiempo de
terminación del trabajo i y se denota como Ci
(completion-time), o tiempo en el cual son procesadas
todas la operaciones del trabajo i
iii
genjji
genjjii
gigiiiiii
wprCi
wprCi
pwpwpwrCi
ii
ii
++=
++=
+++++++=
∑∑ ,,
,,2,2,1,1, ..
33
TERMINOLOGÍA Y NOTACIÓNVARIABLES QUE DESCRIBEN SOLUCIÓN:
El tiempo que un trabajo consume (está) dentro del taller, se conoce como el tiempo de flujo del trabajo i y se
denota como Fi (flow time). También llamado el intervalo
de manufactura (manufacturing interval) o tiempo de taller
(shop time)
iii
iii
genjji
genjjii
gigiiiiii
rCFwpF
wpF
pwpwpwF
ii
ii
−=+=
+=
++++++=
∑∑ ,,
,,2,2,1,1, ..
34
TERMINOLOGÍA Y NOTACIÓNVARIABLES QUE DESCRIBEN SOLUCIÓN:
La diferencia entre el tiempo en que un trabajo sale del taller y su supuesto tiempo planeado de terminación, se conoce como retraso y denota Li
(lateness), retraso del trabajo i
También existen: La tardanza del trabajo i Ti , (tardiness),
que indica si el trabajo se paso la fecha de entrega, valor
positivo de la tardanza
y el adelanto del trabajo i, Ei, (earliness)
iii dCL −=
)0,max( ii lT =
)0,max( ii lE −=
35
TERMINOLOGÍA Y NOTACIÓN
VARIABLES DEL PROBLEMA
n = Número de trabajos que serán procesados
m = Número de máquinas
Pk = Tiempo de proceso del trabajo i
ri = Tiempo de la liberación de la orden del trabajo i.
di = Fecha de entrega del trabajo i.
WEi = Ponderación (importancia o valor) del trabajo i respecto a los otros trabajos
VARIABLES DE LA SOLUCIÓN
Ci = Tiempo de terminación del trabajo i
Fi = Ci – ri, tiempo de flujo del trabajo i.Li = Ci – di, retraso del trabajo i 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 δi = 0 si el trabajo i esta a tiempo o se adelantaCmáx = Máxi=1,n (Ci), tiempo máximo de terminación de todos los trabajos o lapsoLmáx = Máxi=1,n (Li), retraso máximo de todos los trabajos.Tmáx = Máxi=1,n (Ti), tardanza máxima de todos los trabajos.
RESUMEN
36
TERMINOLOGÍA Y NOTACIÓN
VARIABLES DE PROBLEMA:
EJEMPLO
M(1,j) P(1,j) M(2,j) P(2,j)OPER OPER
M 3 1 1 4 1 2 1N 4 2 2 3 2 1 4
3 3 2 3 3 4TRABAJO ri diT1 0 16T2 0 14 M(3,j) P(3,j) M(4,j) P(4,j)T3 0 10 OPER OPERT4 0 8 1 3 3 1 2 3
2 2 2 2 3 33 1 3 3 1 1
Dada la solución constituida por el programa que sale al iniciar las operaciones los más témpano posible conservando la siguiente secuencia, en las maquinas M1 (T2,T1, T4,T3) M2(T2,T4,T3,T1) Y M3(T3,T4,T2,T1), hacer el grafico de Gantt y hallar todas las variables de la solución
37
TERMINOLOGÍA Y NOTACIÓN
VARIABLES DE PROBLEMA:
EJEMPLO
M1 ( T2, T1, T4, T3)
M2 ( T2, T4, T3, T1)
M3 ( T3, T4, T2, T1),
TRABAJO 1 OPER 1 OPER 2 OPER 3 ri diT1 4/1 3/2 2/3 0 16T2 1/2 4/1 4/3 0 14T3 3/3 2/2 3/1 0 10T4 3/2 3/3 1/1 0 8
38
TERMINOLOGÍA Y NOTACIÓNGRAFICO DE GANTT:
VARIABLES DE LA SOLUCIÓN
EJEMPLO
M3
M2 T2 01
M1 T4 O31 2 3 4 5 6 7 8 9 10 11 12 13 14 15
T2 O2
T3 O1
T1 O1
T4 O1
T4 O2
T3 O2
T2 O3
T3 O3
T1 O2
T1 03
T1 T2 T3 T4W1j W2j W3j W4j
OPER 1 5 0 0 1OPER 2 0 0 1 0OPER 3 0 2 4 2Wi 5 2 5 3Pi 9 9 8 7ri 0 0 0 0Ci 14 11 13 10Fi 14 11 13 10di 16 14 10 8Li -2 -3 3 2Ti 0 0 3 2Ei 2 3 0 0δ 0 0 1 1
39
OBJETIVOS
Tres tipos de metas han sido predominantes en la medición y valoración del scheduling (Baker, 1974)
1. La utilización eficiente de recursos.2. La respuesta rápida a la demanda 3. La conformidad con los plazos previstos. Cumplir fechas
de entrega
Otros1. Minimizar el trabajo en proceso (WIP)2. Minimizar el tiempo de flujo3. Reducir demora por tiempos de alistamiento4. Minimizar costos de producción
40
MEDIDAS DE DESEMPEÑOEspecificar la medida de desempeño en un problema de scheduling es especificar un conjunto de soluciones equivalentes y un ordenamiento preferido para estas.
Ejemplo: Definir el tiempo promedio de terminación como medida de desempeño en un problema de scheduling significa:
1. Que todos los programas que tengan el mismo Ĉ son equivalentes, así que es indiferente cual de estos se selecciona.
2. Si en un par de programas, Ĉ1<Ĉ2 , el programa con Ĉ1 es preferido al programa con Ĉ2.
Un programa es óptimo con respecto a una medida de desempeño si no existe ningún otro programa que sea preferido a este.
41
MEDICIÓNPara hablar del mejor programa o la mejor secuencia se requiere una medida de desempeño. Maximizar la ganancia o minimizar el costo, Es difícil estimar parámetros financieros que de una manera directa relacionen los programas con los costos o la ganancia y no se conocen muchos modelos que trabajen alrededor de estas ideas. Por tal motivo se emplean objetivos sustitutos en función del tiempo de terminación para un programa dado y la mayoría de las medidas sustitutas son de nominadas medidas normales.
42
MEDICIÓNMedida normal: Es una función del tiempo de
terminación de los trabajos que incrementa sólo
si al menos un tiempo de terminación en el
programa aumenta. El objetivo es minimizar la
funciónM = F (C1, C2, C3……Cn)M2 = F (C1
2, C22, C3
2……Cn2)
M2 > M si solo sí Ci2 > Ci Para al menos un i,
1<=i<=n
43
MEDICIÓNMedida normal:Son medidas normales el promedio o el máximo de los tiempos de terminación, el tiempo de flujo, el retraso y la tardanza, además promedios ponderados y máximos de las anteriores también son medidas normales. Pero el promedio o el máximo del adelanto no es una medida no es una medida normal, al igual que la diferencia entre el tiempo de terminación más largo y el segundo más largo.
44
Objetivos sustitutos comunes
Minimizar el tiempo de flujo total (Σ Fi)Minimizar la tardanza total (ΣTi) Minimizar el tiempo máximo de terminación (Cmax)Minimizar la tardanza máxima (Tmax)Minimizar el número de trabajos tardíos . (Σδi)Minimizar el retrazo máximo (Lmax)
Todos (excepto Cmáx, Lmáx, y Tmáx) son simplemente sumas, sobre todos los trabajos, de las cantidades respectivas para cada trabajo. Si los trabajos no tienen todos la misma importancia, se puede calcular una medida ponderada multiplicando la medida por el peso apropiado para el trabajo.
MEDIDAS NORMALES
45
MEDIDAS NORMALES MÁS COMUNES
Makespan O Lapso: Tiempo total requerido para completar los trabajos. Cmax
Average Flow Time: Es el tiempo promedio que un trabajo está en el área de trabajo.
Ejercicio: Calcular las medidas normales para el problema planteado
46
MEDICIÓN
Los promedios de las medidas de desempeño son fácilmente relacionados con estos: para el caso del retraso, por definición tenemos que.
Para un problema de n trabajos tendremos
Dividiendo cada término entre n
iiiiiiii dCarCaFL −=−−=−=
∑∑∑∑∑∑∑∑========
−=−−=−=n
ii
n
ii
n
ii
n
ii
n
ii
n
ii
n
ii
n
ii dCarCaFL
11111111
dCarCaFL −=−−=−=
47
MEDICIÓN
Para un problema dado â, ř y đ, son constantes
que no se afectan por la decisión de secuencia,
Ĺ es la diferencia de F^ y â; y F^ es la diferencia
entre Ĉ y đ, lo cual no indica que si un programa
es òptimo con respecto a F^ lo es también con
respecto a Ĉ y Ĺ
dCarCaFL −=−−=−=
48
MEDICIÓN
Dado que todas las medidas de desempeño son derivadas del tiempo de espera de las operaciones, el promedio de este también es derivado de estas medidas
Para un problema dado ri y pi son constantes, minimizar el tiempo promedio de terminación de dos trabajos es equivalente a minimizar el tiempo promedio de espera de los trabajos
nP
nW
rC
piWrCn
i in
i i
iii
∑∑ == ++=
++=
11
49
MEDICIÓN
El promedio de los retrasos, el promedio de las tardanzas, y el promedio de los adelantos, se relaciona de la siguiente manera:
En general esto no implica que un programa que minimice el promedio del retraso también minimice el promedio de la tardanza, sin embargo para programas con fechas muy estrechas, es decir sin adelantos, el retraso y la tardanza son medidas equivalentes, por otro lado si las fechas son muy amplias el adelanto es simplemente el valor negativo del retraso.
LET
LET iii
=−
=−
50
MEDICIÓN
Las relaciones entre las medidas de desempeño antes planteadas no implican nada con respecto a los máximos valores de tales medidas para un problema de scheduling, es decir un programa que es óptimo con respecto a F^ lo es también con respecto a L^ , pero eso no significa que un programa que es óptimo con respecto a la minimización de L max es óptimo con respecto a la minimización de F max
51
MEDIDAS DE DESEMPEÑO PARA EL TALLER
Además de las medidas de desempeño para las soluciones es importante también definir medidas de desempeño relacionadas con los talleres o centros de trabajo. Las más usadas son:
La utilización de la planta
Inventario producto en proceso
52
MEDIDAS DE DESEMPEÑO PARA EL TALLER
La utilización de la planta: Es la fracción de la capacidad disponible que es requerida para el procesamiento de las operaciones, esta es la razón entre la suma de los tiempos de proceso de todos los trabajos y el tiempo disponible.
La suma de los tiempos de proceso es una constante cuando estos no dependen de la secuencia.
53
MEDIDAS DE DESEMPEÑO PARA EL TALLER
La utilización de la planta: si los tiempos de proceso no se ven afectados por el programa, entonces la capacidad disponible es el factor relevante, dado que el programa define cuando se inicia y se termina el proceso en cada máquina. Asumiendo que todos las máquinas están disponibles en el mismo momento la utilización esta definida por:
max1
mFpi
Un
i∑ ==
54
MEDIDAS DE DESEMPEÑO PARA EL TALLER
Inventario en proceso: Hay dos formas de establecer el inventario en proceso una es el número de trabajos en el taller y la otra es la suma de los tiempos de proceso de estos trabajos.La siguiente notación es usada para el inventario en proceso: N(t) = Número de trabajos en el taller en el tiempo tN^(t1, t2)= Número promedio de trabajos en el taller durante el intervalo de t1 a t2
dttNtt
ttNt
t∫−= 2
1
)(1),(12
21
55
MEDIDAS DE DESEMPEÑO PARA EL TALLER
Inventario en proceso:P(t) = suma de los tiempos de proceso de todas las operaciones en el taller durante el tiempo t, denominada también trabajo contenido (work content) o trabajo total ( total work).P^(t1, t2) = trabajo promedio contenido durante el intervalo t1, t2
dttPtt
ttPt
t∫−= 2
1
)(1),(12
21
)()()( tqp NtNtN =+
56
MEDIDAS DE DESEMPEÑO PARA EL TALLER
Inventario en proceso:
dttNC
CNc
∫=max
0maxmax )(1),0(
dttNF
FNF
∫=max
0maxmax )(1),0(
57
MEDIDAS DE DESEMPEÑO PARA EL TALLER
Inventario en proceso:
∑∫
∫
=
=
−−−−+−−+−−+=
n
ii
F
F
FdttN
FnFnnnFFnFFnnFdttN
n
n
10
231210
)(
)1))(1(.......())(2())(1()(
nn-1n-2
N(t)321
F1 F2 F3 ,,,,,,,,Fn
Time
58
MEDIDAS DE DESEMPEÑO PARA EL TALLERInventario en proceso:
∑∫=
=n
ii
F
FdttNn
10
)(dttNF
FNF
∫=max
0maxmax )(1),0(
maxmax
1max *),0(
FFn
F
FFN
n
ii
==∑
=
nFoN
FF ),( max
max
=
Lo anterior Nos indica que razón entre el número promedio de trabajos en el taller de trabajos en el taller y el número de trabajos es igual a la razón entre el tiempo de flujo promedio y el máximo tiempo de flujo, es decir que dado un F max el promedio de trabajos en el taller es directamente proporcional al promedio del tiempo de flujo
59
RELACIÓN DE LAS MEDIDAS NORMALESDado que la suma de los tiempos de procesamiento es constante, minimizar el lapso Cmáx es equivalente a minimizar el tiempo ocioso o maximizar la utilización de las máquinas.
Si los costos de mantener el inventario dominan, el tiempo de flujo ponderado es una medida equivalente. Minimizar el tiempo de flujo es lo mismo que minimizar los tiempo de terminación y los tiempos de espera de los trabajos el cual equivale a inventario en proceso, de manera que minimizar el tiempo de flujo equivale a minimizar el número de trabajos en proceso. El tiempo de flujo ponderado corresponde al valor del inventario en proceso.
El número de trabajos retrasados, la tardanza máxima y la tardanza total son medidas de servicio al cliente y son indispensables en los sistemas que trabajan sobre pedido
60
Notación del Scheduling
Un problema de Scheduling se describe por una tripleta α / β / γ.
• En el campo α se describe el ambiente de máquinas y contiene una entrada.
• El campo β provee detalles de las características de procesamiento y restricciones; puede contener múltiples entradas o ninguna.
• El campo γ describe el objetivo que se minimizará y contiene generalmente una entrada.
61
Notación del Scheduling
Campo α. Ambientes de máquina. 1 : 1 máquinaPm : Máquinas idénticas en paralelo Qm : Máquinas en paralelo con velocidades diferentesRm :Máquinas en paralelo no relacionadas.Fm : m Máquinas en serieFFc : flowshop flexible (híbrido) con c estaciones en serie Jm : Jobshop con m máquinasFJc : jobshop flexible (híbrido) con c estaciones de mcccccccc máquinas idénticas
62
Notación del SchedulingCampo α. Ambientes de máquina.
Una sola máquina (1). Es el más simple de todos los casos posibles y se puede considerar como un caso especial de todos los demás ambientes más complicados.
Idénticas máquinas en paralelo (Pm). Hay m máquinas idénticas en paralelo. El trabajo j requiere una operación y puede ser procesado en cualquiera de las m máquinas o de un conjunto incluido en ellas. Si el trabajo solamente puede ser procesado en un subconjunto Mj, entonces, la entrada Mj debe aparecer en el campo β.
63
Notación del SchedulingCampo α. Ambientes de máquina.
Máquinas en paralelo con velocidades diferentes (Qm). Se tienen m máquinas en paralelo, las cuales tienen velocidades diferentes. La velocidad de la máquina i se denota por vi. El tiempo pij que el trabajo j requiere en la máquina i es igual a pj / vi. Este ambiente también se conoce como máquinas uniformes.
Máquinas en paralelo no relacionadas (Rm). Es una generalización del ambiente anterior. En éste, hay m máquinas diferentes en paralelo. La máquina i puede procesar el trabajo ja una velocidad vij. El tiempo pij que el trabajo j requiere en la máquina i es pj / vij.
64
Notación del SchedulingCampo α. Ambientes de máquina.
Flow shop (Fm). Hay m máquinas en serie. Cada trabajo tiene que ser procesado en cada una de las mmáquinas. Los trabajos siguen la misma ruta. Una vez terminado el procesamiento de un trabajo en una máquina pasa a la cola de la máquina siguiente. Generalmente se trabaja bajo la regla FIFO (primeros en entrar primeros en salir), es decir, que un trabajo no pasa a otro que este en la fila. Cuando esto se hace, se incluye la entrada prmu en el campo β y se denomina permutation flow shop.
65
Notación del SchedulingCampo α. Ambientes de máquina.
Flexible flow shop (FFc). Es una generalización del anterior. En lugar de m máquinas en serie, hay cetapas en serie con un número de máquinas idénticas en paralelo en cada etapa. Cada trabajo debe ser procesado primero en la etapa 1 y después en la etapa 2 y así hasta terminar todas las etapas. En cada etapa, el trabajo j requiere ser procesado en solo una de las máquinas y puede ser cualquiera de ellas.
66
Notación del Scheduling
Campo α. Ambientes de máquina.
Job Shop (Jm). En un job shop con m máquinas,
cada trabajo tiene su propio ruta predeterminada. Se
distinguen los job shops en los cuales los trabajos
visitan las máquinas una sola vez de los que pueden
visitar la misma máquina más de una vez. En el ultimo
caso, se incluye la entrada recrc en el campo β para
significar la recirculación.
67
Notación del SchedulingCampo α. Ambientes de máquina.
Flexible Job Shop (FJc). Es una generalización del job shop y
el ambiente de máquinas paralelas. En lugar de m máquinas,
hay c centros de trabajo con un número de máquinas idénticas
en paralelo en cada centro de trabajo. Cada trabajo tiene su
propia ruta a través del shop, cada trabajo debe ser procesado
en cada centro en una sola máquina, y puede ser en cualquiera
de las máquinas. Si un trabajo puede visitar más de una vez la
misma máquina, se incluye la entrada recrc en el campo β para
indicar la recirculación..
68
Notación del Scheduling
Campo α. Ambientes de máquina.
Open Shop (Om). Hay m máquinas. Cada trabajo
tiene que ser procesado en cada una de las m
máquinas. Sin embargo, el tiempo de proceso puede
ser cero. No hay restricciones frente a la ruta de cada
trabajo a través del taller. Se debe determinar una
ruta para cada trabajo y diferentes trabajos pueden
tener diferentes rutas
69
Notación del Scheduling
Campo β. Restricciones .
r i : Tiempo de liberación de la orden del trabajo iSjk : Tiempos de preparación dependientes de la secuenciaPrpm : ∃ la posibilidad de culminar la operación sobre un trabajo (orden) en diferentes máquinas prec : Restricciones de precedenciabrkdwn: Fallas en los recursos Mj : Elegibilidad de recursos (para problemas Pm)Nwt : Sin esperarecrc : Recirculación
70
Notación del Scheduling
Campo β. Restricciones .
Fechas de liberación (rj). Si este símbolo aparece en el campo β, el trabajo j no puede iniciar su proceso antes de dicha fecha. Si el símbolo no aparece, significa que los trabajos pueden iniciar encualquier momento.
Tiempo de alistamientos dependientes de la secuencia (sjk). El valor sjk representa el tiempo de alistamiento dependiente de la secuencia entre los trabajos j y k; s0k se utiliza cuando el trabajo k es el primero de la secuencia y análogamente sj0 cuando el trabajo j es el último de la secuencia. Si estos alistamientos dependen de la máquina, debe incluirse el subíndice i (sijk). Si este valor no se incluye, se asumen todos los tiempos de alistamiento como 0.
71
Notación del Scheduling
Campo β. Restricciones .
Interrupciones (prpm). Significa que el trabajo no debe permanecer en la máquina hasta finalizar el procesamiento. Si el trabajo se interrumpe, cuando inicie nuevamente, solo requerira el tiempo faltante para su operación. Si no se incluye en el campo β, significa que las interrupciones no son permitidas.
Restricciones de precedencia (prec). Se dan cuando un trabajo debe esperar que otro trabajo haya finalizado para poder iniciar su procesamiento. Hay algunas casos particulares: cuando cada trabajo tiene al menos un predecesor y un sucesor, se considera una cadena (chains); Si cada trabajo tiene al menos un predecesor se considera (outtree); si cada trabajo tiene al menos un sucesor se considera (intree).
72
Notación del Scheduling
Campo β. Restricciones .
Paradas (brkdwn). Una máquina parada implica que ésta no se encuentra disponible todo el tiempo.
Restricción de elegibilidad de máquina (Mj). Cuando aparece Mjsignifica que no todas las máquinas pueden procesar el trabajo j.
Sin espera (nwt). Este fenómeno sucede en los flow shops, y hace referencia a trabajos que no pueden esperar entre operaciones, por tanto, se deberán programar de manera tal que una vez terminen de ser procesados en la máquina 1 puedan pasar a la máquina 2 sin tener que esperar entre procesos.
73
Notación del Scheduling
Campo β. Restricciones .
Recirculación (recrc). Ocurre cuando un trabajo visita una máquina o centro de trabajo en más de una ocasión.
Pueden aparecer en el campo β notas de carácter aclaratorio, tales como pj = p, que denota que todos los tiempos de proceso son iguales, o dj = d que significa que todos los trabajos deberán estar listos para la misma fecha.
74
Notación del Scheduling
Campo γ. Funciones objetivo.
Makespan (Cmax) : Tiempo de terminación del ultimo trabajo en el sistema.Lmax : Máximo retraso
: Tiempo de terminación total ponderado.: Tardanza total ponderada ().: Número ponderado de trabajos tardíos
75
Notación del SchedulingCampo γ. Funciones objetivo.
Makespan (Cmax). Es equivalente al tiempo de terminación del ultimo trabajo en el sistema. Un mínimo makespan implica generalmente una alta utilización de los recursos (máquinas).
Máximo retraso (Lmax). Es la máxima diferencia entre la fecha de entrega y la fecha de terminación de un trabajo.
Tiempo de terminación total ponderado (). La suma de los tiempos de terminación ponderados de los n trabajos dan una idea sobre el costo total de mantener inventarios incurridos con el programa. También se denomina, tiempo de flujo ponderado.
76
Notación del SchedulingCampo γ. Funciones objetivo.
Tardanza total ponderada (). La tardanza difiere del retraso, en que ésta nunca es negativa (en el retraso esto ocurre cuando el trabajo finaliza antes de la fecha de entrega); y esta función indica una forma más general del costo que la presentada por el tiempo de flujo ponderado.
Número ponderado de trabajos tardíos (). Es una medida de interés práctico de fácil referencia, muy vinculada con los niveles de servicio al cliente.
77
Métodos de solución
1.Métodos de programación manual • Interval scheduling• Dispatch scheduling• prioridades determinada heurísticamente
2.Métodos de simulación en computador
3.Métodos de programación matemática• programación entera
Branch-and-Bound• programación dinámica
4.métodos heurísticos
78
Métodos de programación heurística1. Neighborhood search2. Lagrangian relaxation3. Beam search4. Tabu search5. Simulated annealing6. Genetic algorithms7. Neural networks8. Bottleneck dynamics
Métodos de solución
79
Métodos de programación manualEn este caso se programan los trabajos en las maquinas empíricamente. La programación puede hacerse de dos formas:
a) Tomando como punto de partida la fecha de entrega y regresando hacia atrás las unidades de tiempo correspondientes al tiempo de procesamiento, a este método se le conoce como programación de intervalos. (Interval scheduling)
b) Programar tomando como criterio de decisión cualquier prioridad determinada heurísticamente, en este caso los trabajos se organizan cumpliendo alguna regla de decisión simple, esta programación se conoce como programación de despachos (Dispatch scheduling).
Métodos de solución.
80
Métodos de simulación en computadorMediante la simulación es posible modelar sistemas reales y analizar su comportamiento con ayuda del computador a un costo razonable y con una calidad aceptable.Métodos de programación matemáticaSe clasifican en métodos de programación entera y dinámica. En ambos casos es posible encontrar soluciones optimas pero para problemas de bajo volumen. Los problemas de gran tamaño pueden resultar intratables porque el tiempo requerido para encontrar una solución optima se puede representar por una expresión que crece en forma exponencial (nopolinomial). Por esta razón se han empezado a desarrollar diferentes métodos heurísticos para encontrar soluciones aproximadas para los problemas de gran tamaño.
Métodos de solución
81
Métodos de programacion entera1. Branch-and-Bound : Consiste en hacer un bosquejo de todas las posibles soluciones de un problema, mediante la elaboración de un árbol de decisión en cuyas ramas se representan diferentes alternativas de solución. Se inicia el árbol con tantas ramas como trabajos se van a programar, lo que indica que en cada rama o alternativa, se procesa cada trabajo de primero (primer nivel).A continuación se divide cada rama en n .
El método no sugiere analizar todas las alternativas de solución, sino ir desechando aquella ramas que con determinados criterios muestran que no pueden producir una solución optima.
Métodos de soluciónMétodos de simulación en computador
82
Métodos de programación entera
Programación dinámicaEs utilizada para la secuenciación, mediante la enumeración de todas las posibilidades de organización de los trabajos como elementos del espacio de soluciones.Por ejemplo, si se van a secuenciar n trabajos, lo que se hace es tomar cada trabajo en un scheduling individual, suponiendo que llega de primero y por lo tanto debe ser procesado de primero.
Métodos de solución
84
SECUENCIACIÓN
Consiste en determinar el orden o secuencia en la que se procesarán los trabajos en un área de trabajo.
Si los trabajos a procesar llegan simultáneamente encontrándose el área disponible para trabajar, entonces el problema de secuenciación se denomina estático.
Si los trabajos llegan a largo del programa, el problema de secuenciación se denomina dinámico.
El problema de secuenciación se presenta en Job shops (taller), líneas de producción y proyectos.
85
N TRABAJOS EN UNA MÁQUINA
Los modelos desarrollados para este tipo de problema muchas veces se emplean para múltiples máquinas
Por ejemplo en procesos en serie con una máquina cuello de botellaO en casos en los que varias máquina pueden ser consideradas como una.
El problema puede considerarEntornos estáticos o dinámicosTiempos de preparación dependientes de la secuencia
86
SUPUESTOS BÁSICOSLas decisiones de que y como ya han sidos tomadas.
Los trabajos que se desarrollaran están bien definidos y son
completamente conocidos, es decir las características y las magnitudes
estas han sido determinadas previamente (Una trabajo representa una
preestablecida secuencia de operaciones)
Los recursos o maquinas que pueden ser empleados en la realización de
los trabajos han sido completamente definidos, en cuanto a cantidad y
disponibilidad
La orden de la realización de operaciones de un trabajo es conocido y se
conocen (tiempos) cada uno de los recursos empleados para su
realización
N TRABAJOS EN UNA MÁQUINA
87
SUPUESTOS INICIALESCertidumbre en los datos.
Cada máquina esta continuamente disponible para ser asignada (no
mantenimiento o fallas) y solo puede procesar un trabajo a la vez
los tiempos de preparación son independientes del orden del procesado
todos los trabajos están disponibles de inmediato (ri = 0)
No existe precedencia entre los trabajos
una vez que comienza el procesado de un trabajo, no se puede
interrumpir (no Preemption).
Cada operación de un trabajo solo puede ser desarrollada en una sola
maquina a la vez
Un trabajo no puede tener más de una operación en ejecución.
N TRABAJOS EN UNA MÁQUINA
89
N TRABAJOS EN UNA MÁQUINA
CARACTERÍSTICAS
Determinar la secuencia óptima de procesar n trabajos en una máquina.
Todas las secuencias tienen el mismo makespan.
Representemos los tiempos de proceso de los trabajos i como pi (i = 1,n).
En la mayoría de los casos las secuencia que representa el orden, es igual al programa, es decir, la secuencia establece las fechas de inicio y finalización de las ordenes.
90
N TRABAJOS EN UNA MÁQUINA
Los diferentes algoritmos se han desarrollados para logras algunas medidas de desempeño.
TIEMPO DE FLUJO MÍNIMOTIEMPO DE FLUJO PONDERADORETRASO TOTAL MÍNIMOTARDANZA MÁXIMA Y RETRASO MÁXIMONÚMERO PONDERADO DE TRABAJOS TARDÍOSTIEMPO DE FLUJO MÍNIMO SIN TRABAJOS TARDÍOSTARDANZA MÁXIMAADELANTO Y TARDANZA MÍNIMOS CON FECHAS DE ENTREGA EN COMÚN
91
N TRABAJOS EN UNA MÁQUINATIEMPO DE FLUJO MÍNIMO
Minimizar el flow time es el criterio a satisfacer.
Este criterio es de gran importancia para empresas en las que los costos de mantener inventario dominan a los demás.Los productos son de alto costo y dejan la planta una vez se terminan.Se asume que los costos unitarios de los productos son similaresSe asume que el tiempo de liberación es cero.
∑∑ ∑∑ == ==−+==
n
i in
i
i
j jn
i i PinPF11 11
)1(
Se puede demostrar por contra ejemplo que la secuencia que minimiza el criterio es aquella en la que los trabajos se ordenan del menor tiempo al mayor. TCP (SPT).El SPT minimiza el tiempo total que todos los trabajos tardan en el sistema, con lo que minimiza el tiempo de espera total.SPT minimiza el número promedio de trabajos esperando a ser procesados.SPT minimiza el inventario promedio de trabajos en proceso. (medido en número de trabajos)T 1 2 3 4Pi 15 17 24 11
SPT 4 1 2 3 TTFCi 11 26 43 67 147
92
Se establece como criterio el Minimizar el tiempo de flujo promedio ponderado en los siguientes caso:
Cuando los trabajos tienen diferente prioridad o peso, establecidos por aspectos comerciales. (pago en efectivo) Cuando el valor de los trabajos no es similar.
Para estos casos se emplea el índice Wi, que puede indicar importancia del trabajo o su valor. Mayor valor del índice Wi, el trabajo es más importante o más valioso.La secuencia óptima sería ordenando los trabajos de menor pi/wi al mayor.
N TRABAJOS EN UNA MÁQUINAMÍNIMO TIEMPO DE FLUJO PONDERADO
93
N TRABAJOS EN UNA MÁQUINA
Trabajo pi wi pi/wi1 10 5 2,002 6 10 0,603 5 5 1,004 4 1 4,005 2 3 0,67
• La secuencia óptima es (2,5,3,6,1,4).Trabajo 2 5 3 6 1 4 totalci 6 8 13 21 31 35 114Fi*wi 60 24 65 105 155 35 444
MÍNIMO TIEMPO DE FLUJO PONDERADO
94
N TRABAJOS EN UNA MÁQUINA
T 4 1 2 3SPT total
Pi 11 15 17 24 67di 20 26 15 40 101ci 11 26 43 67 147Li -9 0 28 27 46
∑∑∑∑ ====−=−= n
i in
i in
i iin
i i dCdCL 1111 )(
MÍNIMO RETRASO TOTALEl retraso se conoce como: Li = Ci - di. El retraso total es:
Dado que la sumatoria de los tiempos de proceso es constante para cualquier programa de producción, minimizar el tiempo de terminación total, minimiza el retraso total. En consecuencia lasecuencia SPT minimiza la tardanza total. El retraso total es una medida poco común ya que los adelantos se anulan con las tardanzas
T 2 4 1 3DDT total
Pi 17 11 15 24 67di 15 20 26 40 101ci 17 28 43 67 155Li 2 8 17 27 54
95
N TRABAJOS EN UNA MÁQUINA
T 4 1 2 3SPT total
Pi 11 15 17 24 67di 20 26 15 40 101ci 11 26 43 67 147Li -9 0 28 27 46Ti 0 0 28 27 55
TARDANZA MÁXIMA Y RETRASO MÁXIMOEste par de indicadores son de gran uso en los ambientes de fabricación en los cuales el servicio al cliente es una medida de desempeño muy importante, lo que concentra la atención en las fechas de entrega. Organizar los trabajos de tal modo que queden de primero los que tienen la fecha de entrega más cercana -secuencia FEC (EDD)- hace que el trabajo más tardío tenga la menor tardanza posible
T 2 4 1 3DDT total
Pi 17 11 15 24 67di 15 20 26 40 101ci 17 28 43 67 155Li 2 8 17 27 54Ti 2 8 17 27 54
96
N TRABAJOS EN UNA MÁQUINANÚMERO DE TRABAJOS TARDÍOS
Este indicador es de gran uso en ambientes de fabricación en los que los costos por cada trabajo tardío son dominantes (industria del GLP)
La secuencia EDD (FEC), hace que ningún trabajo salga demasiadotarde con respecto a otras secuencias, pero muchos o incluso todos los trabajos pueden salir algo tarde. Lo cual no implica que se minimicen el número de trabajos tardíos.
Si es posible tener todos los trabajos a tiempo, la se secuencia EDD cumple con esto. En el caso en que no es posible tener todos lostrabajos a tiempo, además de las fechas de entrega, es importante tener en cuenta los tiempos de proceso de los trabajos y en especial los de aquellos que se demoran más, ya que moverlos al final podría generar que los de menor tiempo de proceso estén a tiempo
97
N TRABAJOS EN UNA MÁQUINANÚMERO DE TRABAJOS TARDÍOS
El algoritmo de Hudgson permite minimizar el número de trabajos tardíos.
1. Se realiza la secuencia EDD y se calculan las tardanzas de cada trabajo, si no hay trabajos tarde se finaliza
2. Se identifica el primer trabajo tardío, se selecciona del conjunto formado por los trabajos que están a tiempo y el primer tardío, el trabajo de mayor tiempo de proceso, los empates se rompen arbitrariamente (cuando el N. tardíos es único indicador. )
3. El trabajo de mayor tiempo de proceso seleccionado anteriormentese retira de la secuencia y se repite de nuevo el proceso.
4. Los trabajos que se retina de la secuencia se colocan luego al final en cualquier orden (cuando el N. tardíos es único indicador. )
98
N TRABAJOS EN UNA MÁQUINANÚMERO DE TRABAJOS TARDÍOS
Algoritmo de Hudgson1. DDT
2. MAX(Pi)= T2
3. RETIRO T2
1. DDT
T 2 4 1 3DDT total
Pi 17 11 15 24 67di 15 20 26 40 101ci 17 28 43 67 155Li 2 8 17 27 54Ti 2 8 17 27 54δi 1 1 1 1 1
T 4 1 3Pi 11 15 24di 20 26 40ci 11 26 50Li -9 0 10Ti 0 0 10δi 0 0 1
2. MAX(Pi)= T3
3. RETIRO T3
4. T2 Y T3 AL FINAL
T 4 1 2 3HDS2total
Pi 11 15 17 24 67di 20 26 15 40 101ci 11 26 43 67 147Li -9 0 28 27 46Ti 0 0 28 27 55δi 0 0 1 1 2
T 4 1 3 2HDStotal
Pi 11 15 24 17 67di 20 26 40 15 101ci 11 26 50 67 154Li -9 0 10 52 53Ti 0 0 10 52 62δi 0 0 1 1 2
El orden en el cual se colocan los trabajos finales puede afectar otros indicadores
T 1 2 3 4 5Pi 4 2 3 2 4di 16 10 7 7 5
TALLER
99
N TRABAJOS EN UNA MÁQUINANÚMERO PONDERADO DE TRABAJOS TARDÍOS
Este indicador es empleado en el caso en el no todos los trabajos son igual de importantes o los costos de los trabajos tardíos son diferentes. Se pretende que los trabajos de mayor costo o importancia en lo posible no estén tardíos.
Minimizar el indicador de número ponderado de trabajos tardíos es un problema NP- DURO, no se tiene algoritmo que o modelo que minimice en tiempo considerable el indicador.
Como modelo heurístico se tiene un adaptación del algoritmo de Hodgson, que proporciona buenas soluciones. En este modelo en lugar de retirar (de los trabajos tempranos y el primer tardío) el trabajo de mayor tiempo de proceso, se retira el de mayor cociente entre el tiempo de proceso y el peso
100
N TRABAJOS EN UNA MÁQUINA
Adaptación Hudgson1. DDT
2. MAX(Pi/ / wi)= T2
3. RETIRO T2
1. DDT
2. MAX(Pi/ / wi)= T4
3. RETIRO T4
4. T2 Y T4 AL FINAL
T 1 3 4 2HDSMtotal 2
Pi 15 24 11 17 67 di 26 40 20 15 101 ci 15 39 50 67 171 Wi 3 9 2 6 20 Pi/ Wi 5,0 2,7 5,5 2,8 16 Li -11 -1 30 52 70 Ti 0 0 30 52 82 δi 0 0 1 1 8
NÚMERO PONDERADO DE TRABAJOS TARDÍOS
T 2 4 1 3DDTtotal
Pi 17 11 15 24 67di 15 20 26 40 101ci 17 28 43 67 155Wi 6 2 3 9 20Pi/ Wi 2,8 5,5 5,0 2,7 16Li 2 8 17 27 54Ti 2 8 17 27 54δi 1 1 1 1 20
T 4 1 3Pi 11 15 24di 20 26 40ci 11 26 50Wi 2 3 9Pi/ Wi 5,5 5,0 2,7Li -9 0 10Ti 0 0 10δi 0 0 1
T 1 2 3 4 5Pi 4 2 3 2 4di 16 10 7 7 5wi 1 4 3 1 3
TALLER
101
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
En ambientes de fabricación en los que, el cumplimiento de las fechas de entrega de los clientes es un indicador de gran importancia, muchas veces se plantea como indicador la minimización del número de trabajos tardíos o la minimización de la máxima tardanza, en la búsqueda de estos indicadores es común que la tardanza total no necesariamente sea tan baja como se esperaría, aspecto preocupante cuando el costo de tardanza es un costo dominante.
Para el caso de la minimización del número de trabajos tardíos la secuencia obtenida presenta pocos trabajos tardíos pero con tardanzas muy grandes. Ejemplo secuenciar (A.H)
T1 T2 T3 T4di 6 11 8 3pi 4 5 2 5
103
N TRABAJOS EN UNA MÁQUINA
T1 T2 T3 T4di 6 11 8 3pi 4 5 2 5
TARDANZA MÍNIMA
Cuando se minimiza la máxima tardanza se pueden obtener muchos trabajos tardíos.
Mínima tardanza máxima, Tmax = 5, (EDD)
104
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
Como medida alternativa en cuanto a objetivos de cumplimiento de los clientes, se propone la tardanza total para el caso de trabajados con igual importancia o la tardanza total ponderada para trabajos con diferentes importancias.
Aunque todos los pesos de los trabajos sean iguales no existe un algoritmo que resuelva de manera eficiente el problema general de la tardanza, el cual es considerado NP- Hard.
En casos especiales se pueden encontrar soluciones optimas de manera sencilla:
CASO 1: Todos los trabajos tienen los mismos pesos y la misma fecha de entrega T1 T2 T3 T4
di 11 11 11 11pi 4 5 2 5
106
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
CASO 2: Todos los trabajos tienen los mismos pesos y el mismo tiempo de proceso, en este caso la secuencia EDD, es óptima T1 T2 T3 T4
di 6 11 8 3pi 5 5 5 5
107
N TRABAJOS EN UNA MÁQUINA
T1 T2 T3 T4di 6 11 8 3pi 5 5 5 5
TARDANZA MÍNIMA
CASO 3: Cuando mediante la secuencia DDT se obtiene, como máximo un trabajo tardío, esta secuencia será el optima para la tardanza mínima.
Según caso 1 y 2 si DDT= SPT la secuencia que se obtenga es optima
108
CASO 4: Cuando todos los trabajos son tardíos, en este caso minimizar la tardanza total es equivalente a minimizar el tiempo de flujo total, para lo cual la secuencia SPT proporciona el optimo.
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
109
Combinado la información de los casos anteriores Morton y Rachamadugu en 1983 desarrollan un algoritmo heurístico, apoyándose en la siguiente en la proposición:
Dados dos trabajos adyacentes Ji y Jj en una sola maquina, la secuencia Ji,Jj es una secuencia optima si cumple la siguiente propiedad.
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
Si los trabajos tienen ponderaciones diferentes y todos son tardíos, minimizar la tardanza ponderada es equivalente a minimizar el tiempo de flujo ponderado T Wi di Pi Wi/Pi
1 2 3 7 0,29 2 1 7 15 0,07 3 3 8 13 0,23 4 6 5 13 0,46
110
La secuencia que minimiza el tiempo de flujo ponderado es TPPC, en la secuencia de primero el trabajo con el menor (Pi/Wi). Lo anterior es equivalente a decir que se secuencia primero el trabajo con mayor razón (Wi/Pi), esta secuencia se conoce como (RPTP) Razón Peso entre Tiempo de Proceso.
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
111
Cuando no todos los trabajos están tardíos la RPTP, no debe ser la única regla o criterio de secuenciación, dado que la secuencia DDT proporcionar resultados óptimos en algunos caso.
Para una mejor aproximación se define la holgura de un trabajo i, como, Si = di-Pi-t, que en problemas estáticos indica el número de unidades de tiempo que el trabajo se puede desplazar hacia adelante sin que tenga tardanza, desde el momento en que esta disponible.
Entre mayor sea entonces la holgura de un trabajo este debería de programarse al final. Lo cual le restaría importancia a la RPTP.
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
112
Si la holgura es negativa indica que el trabajo es tardío y en consecuencia para su secuenciación la RPTP debe tener toda su importancia como criterio
En caso de que la holgura sea positiva la importancia del criterio RPTP debe disminuir a medida que la holgura sea mayor.
Si define Si+=max{0,Si}, la función EXP(-f(S+)), nos permite modelar el
comportamiento de la importancia asignada al indicador RPTP.
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
0,00
0,20
0,40
0,60
0,80
1,00
1,20
-5 -4 -3 -2 -1 0 1 2 3 4 5
Holgura
Ipor
tanc
ia d
e R
PTP
113
Dado que la función EXP(-(S+)), decrece muy rápidamente, los autores proponen una normalización de la holgura. Para ello definen
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
prom
i
n
iiprom
PS
Pn
P
+
=∑=
1]
1 Tiempo promedio del tiempo de proceso de los trabajo
Número trabajos de tiempo promedio que se podría programar primero que el trabajo i sin que este sea tardío
114
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
Dado que se plantea la holgura como elemento de asignación de la importancia concedida al indicador RPTP Rachamadugu y Morton proponen como criterio de prioridad para programar un trabajo la siguiente expresión
⎥⎦
⎤⎢⎣
⎡−
+
⎟⎟⎠
⎞⎜⎜⎝
⎛= prom
iPK
s
i
ii e
Pw ..γ
El factor lo plantean como 2, determinado a partir de estudios experimentales, buscando mejorar el decrecimiento de la importancia
115
N TRABAJOS EN UNA MÁQUINATARDANZA MÍNIMA
Ti 7 3 1 4 8 9 5 6 2 10
Pi 9 6 8 10 11 13 3 11 12 7
Wi 5 6 4 5 9 8 1 4 1 1di 8 32 26 35 51 53 38 48 28 64
W/P 0,56 1,00 0,50 0,50 0,82 0,62 0,33 0,36 0,08 0,14
s -1,00 26,00 18,00 25,00 40,00 40,00 35,00 37,00 16,00 57,00
S* - 26,00 18,00 25,00 40,00 40,00 35,00 37,00 16,00 57,00
s*/(2.Pprom) - 1,44 1,00 1,39 2,22 2,22 1,94 2,06 0,89 3,17
exp(s*/(2.Pprom)) 1,00 0,24 0,37 0,25 0,11 0,11 0,14 0,13 0,41 0,04 Ri 0,56 0,24 0,18 0,12 0,09 0,07 0,05 0,05 0,03 0,01
P prom 9
K 2
117
N TRABAJOS EN UNA MÁQUINAADELANTO Y TARDANZA MÍNIMOS CON FECHAS DE
ENTREGA EN COMÚN (D)
En los ambientes de fabricación donde se manejan restricciones de almacenamiento de productos terminados, o en el caso de productos perecederos, los adelantos pueden resultar tan costos como las tardanzas.
Dado que la sumatoria de los retrasos: ∑ Li = ∑ (Ci-di), puede ser cero por la presencia de anticipaciones (-) y tardanzas (+). Se requiere la definición de una medida anormal, que consiste en la suma de los adelantos y las tardanzas: Z=∑ (Ei+Ti), por ser Z una medida anormal, la presencia de tiempos ociosos puede mejorar el desempeño, lo cual implica que no necesarimente una secuencia representa un programa.
118
N TRABAJOS EN UNA MÁQUINAADELANTO Y TARDANZA MÍNIMOS CON FECHAS DE
ENTREGA EN COMÚN (D)
De manera especifica se presenta el caso de fechas de entrega en común cuando las ordenes son para fechas especiales, para alguna promoción temporal, para un mismo cliente o se despachan en un mismo medio de transporte. Para este problema se conoce que:
• No hay tiempo ocioso entre los trabajos, pero es posible que lo haya al inicio del programa.
• El programa dominante tiene los trabajos a tiempo en LPT y los tardíos en SPT
119
N TRABAJOS EN UNA MÁQUINAADELANTO Y TARDANZA MÍNIMOS CON FECHAS DE
ENTREGA EN COMÚN (D)1. Los trabajos se deben ordenar inicialmente LPT para ser
enumerados
2. Luego se secuencian de tal modo que los trabajos pares (según la enumeración anterior) quede al final en orden descendiente y los impares al inicio en orden ascendente, (se conoce como la secuencia en V)
3. En esta secuencia se halla el trabajo en la posición redondear.mas (n/2), Denominado j*
4. Se suman los tiempos de procesos de la secuencia hasta el trabajo j* . Cj* = ∆=P1+P3+P5+..Pj*
5. Si D ≥ ∆, el problema es no restringido, en el caso contrario el problema es restringido.
120
N TRABAJOS EN UNA MÁQUINAADELANTO Y TARDANZA MÍNIMOS CON FECHAS DE
ENTREGA EN COMÚN (D)
1.CASO NO RESTRINGIDO: Las dos siguientes características se cumplen para alguno de los posibles programas óptimos:
• Cj*= D
• La posición de j* es redondear.mas (n/2), cuando n es par se tienen igual cantidad de trabajos arriba y debajo de la fecha deentrega, cuando es impar hay un trabajo más antes de la fecha de entrega que después
Para este caso los trabajos se programan de tal modo que Cj*= D, para ello se puede requerir de tiempo ocioso al inicio del programa, una de las secuencias optimas es la secuencia en v con Cj*= D
121
N TRABAJOS EN UNA MÁQUINAADELANTO Y TARDANZA MÍNIMOS CON FECHAS DE
ENTREGA EN COMÚN (D)
2. CASO RESTRINGIDO: Este problema es NP-duro, pero se conoce un procedimiento heurístico desarrollado por Sundararaghavan y otros, el cual consiste en construir una secuencia en v empezando en cero, en la que el trabajo más largo del programa se coloca la inicio si hay más tiempo entre inicio y la fecha de entrega que entre la fecha de entrega y la suma de los tiempos de proceso de todos los trabajos , y secoloca al final se es el caso contrario, lo anterior se repite para todos los trabajos ordenados inicial mente en LPT.
El heurístico también existe para fechas de entrega diferentes y para costos diferentes entre los adelantos y las tardanzas
122
Los n trabajos se procesan en 2 máquinas con el mismo orden. El criterio es el de minimizar el makespan.
El procedimiento a utilizar es el de Johnson.
Si pij es el tiempo de proceso del trabajo i en la máquina j, seleccione el mínimo y si éste corresponde a la máquina 1, asígnelo a la primera posición de la secuencia.
Si corresponde a la máquina 2, el trabajo se asigna a la última posición de la secuencia.
Elimine el trabajo asignado del set y repita el procedimiento con los trabajos no asignados.
N TRABAJOS EN 2 MÁQUINAS (EN SERIE)
124
PROCEDIMIENTO DE JOHNSON
Determine la secuencia de proceso que minimice el makespan
Tra ba jos M á quina 1 M á quina 21 4 32 1 23 5 44 2 35 5 6
La secuencia es (2,4,5,3,1).
126
Algoritmo de Jackson.
Formar 4 sets de trabajos;
{A} = Los procesados solamente en la máquina 1.
{B} = Los procesados en máquina 2 solamente.
{AB} = Los procesados primero en máquina 1 y luego en la 2.
{BA} = Los procesados primero en máquina 2 y luego en la 1.
Secuenciar los trabajos de {AB} y {BA}, por separado, con algoritmo de Johnson.
N TRABAJOS CON RUTA DIFERENTE EN 2 MÁQ.(INTERMITENTE)
127
Defina secuencias arbitrarias para los trabajos
{A} y {B}. (Puede ser minimizar el Tft)
Combine las secuencias de la siguiente
manera.
Máquina 1: {AB} antes de {A} antes de {BA}.
Máquina 2: {BA} antes de {B} antes de {AB}.
N TRABAJOS CON RUTA DIFERENTE EN 2 MÁQ.
128
N TRABAJOS EN 3 MÁQUINASTodos los trabajos tienen la misma secuencia de proceso.Puede resolverse con el algoritmo de Johnson si:
min {pi1} > máx { pi2 }, omin { pi3 } >máx { pi2 }.La máquina 2 es dominada completamente por la máquina 1 o 3.Se aplica el procedimiento formando 2 máquinas dummy, 1´y 2´, con tiempos de proceso:pi1´ = pi1 + pi2 y pi2´ = pi2 + pi3.El procedimiento proporciona una secuencia factible y “buena” aún cuando no se cumplan las condiciones.
129
Trabajos Máq 1 Máq 2 Máq 31 8 2 42 5 4 53 6 1 34 7 3 2
Trabajos Máq 1́ Máq 2´1 10 62 9 93 7 44 10 5
n Trabajos en 3 Máquinas
Secuenciar los siguientes trabajos.
Secuencia óptima es {2,1,4,3}.
130
N TRABAJOS EN M MÁQUINAS
No existe un método eficiente que proporcione una solución exacta.
Se utilizan métodos heurísticos tales como las Reglas de Despacho.
Éstas son reglas que determinan qué trabajo procesar al quedar éste disponible de manera secuencial en el tiempo, en lugar de suponer que todos los trabajos están disponibles.
Se maneja el concepto de prioridad en los trabajos.
131
SECUENCIACIÓN DINÁMICA DE TRABAJOS
Los trabajos llegan a procesarse al azar durante un intervalo de tiempo.Su secuencia se determina mediante el uso de reglas de despacho que proporcionan prioridades a los mismos.Las reglas se derivan a través de análisis de líneas de espera, experimentación y simulación.La regla de secuenciación y despacho mas importante es la del tiempo de proceso mas corto (SPT).Otras reglas se derivan del SPT , así como del tamaño de las líneas de espera y la fecha prometida a los clientes.
132
REGLAS DE DESPACHO
Basadas en tiempo de proceso.
Menor Trabajo Remanente (LWKR): Considera la
suma de los tiempos de proceso para todas las
operaciones por realizarse en el trabajo.
Trabajo Total (TWK): Considera la suma de los
tiempos de proceso de todas las operaciones del
trabajo.
Menor Cantidad de Operaciones por Realizarse (FOPR): Considera el número de operaciones a
133
Basadas en Fechas de Entrega:Fecha Prometida (DDATE): La prioridad se asigna en base a la fecha prometida.Tiempo de Holgura (SLACK): La prioridad se asigna en función del tiempo que falta para la fecha prometida menos el tiempo de proceso faltante.Holgura/ Operación Faltante (S/ROP):La prioridad se determina por el cociente entre el SLACK y el número de operaciones faltantes.
Otras Reglas de Despacho
134
Ejemplo
Se tienen las siguientes tareas a programarse en un taller de producción (Nota: A/5 significa que el trabajo se programa en la máquina A y dura 5 unidades de tiempo)
B/6A/53
A/3B/12B/2A/41
Operación 2Operación 1Trabajo
135
Regla SPT
3x373
1,21,2
Elección
Máquina
3x12
12,3421,30
BATIEMPO
trabajos disponibles
Cuando haya más de un trabajo disponible en una máquina se programa el que tenga menor tiempo de proceso para esa máquina
Por ejemplo. En t=0 se pueden programar 2 trabajos en A (1 y 3). Se elige el trabajo 1 porque su tiempo de proceso en A es 4 y el del trabajo 3 es de 5. En t=0 hay sólo un trabajo: Ese es el que se programa
137
Regla LPT
11x112x29
1,32,3
Elección
Máquina
31,2521,30
BATIEMPO
trabajos disponibles
Cuando haya más de un trabajo disponible en una máquina se programa el que tenga mayor tiempo de proceso para esa máquina
Por ejemplo. En t=0 se pueden programar 2 trabajos en A (1 y 3). Se elige el trabajo 3 porque su tiempo de proceso en A es 5 y el del trabajo 1 es de 4. En t=0 hay sólo un trabajo (el 2): Ese es el que se programa
139
Regla MWR
11x112x29
1,32,3
Elección
Máquina
31,2521,30
BATIEMPO
trabajos disponibles
Cuando haya más de un trabajo disponible en una máquina se programa el que tenga mayor tiempo de proceso REMANENTE.
Por ejemplo. En t=0 se pueden programar 2 trabajos en A (1 y 3). Se elige el trabajo 3 porque su tiempo de proceso remanente es de 11 (5 + 6) y el del trabajo 1 es de 6 (4 + 2). En t=0 hay sólo un trabajo (el 2): Ese es el que se programa.
En t=5 se programa el trabajo 1 en A. El tiempo remanente del trabajo 1 antes de empezar a ser procesado en A es de 6 (4+2) y el del trabajo 2 es de 3 (le quedan 3 unidades de tiempo por procesarse en A). Note que el tiempo de proceso total para el trabajo 2 es 4 (3+1) pero el tiempo remanente en t=5 es de 3 porque ya se programó una operación con duración 1.
top related