Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Sistema MRP
de de
Disponibilidades RPPL
PLANES DE PRODUCCIN
PLANEACIN AGREGADA PROGRAMA MAESTRO DE LA PRODUCCIN REQUERIMIENTOS DE MATERIALES (PLAN) PROGRAMACIN DEL TALLER LNEAS DE PRODUCTOS PRODUCTOS INDIVIDUALES COMPONENTES
OPERACIONES
Madera
05
Cajonera
T. Lote =400
CT3
Madera
08
Estructura
CT4 01 10
Ensamblado
CT1
Puerta
T. Lote =1000
Madera
09
Paos
Pegado
CT2
CT4 12
Madera
11 02
1 Cajonera Estructura Al
CT3 01 14 CT1 15 02
Armario
T. Lote =50 5
EJEMPLO
4 puertas completas
PROGRAMACIN DE OPERACIONES
TRABAJO 1 TRABAJO 2 TRABAJO N RECURSO DEPENDENCIA RECURSO RECURSO
DISTRIBUCIN DE TAREAS
OBJETIVOS
planeacin
Proporcionar antecedentes para los problemas, modelos y algoritmos de programacin. Analizar el entorno de la programacin. Definir la terminologa y la notacin empleada para programar los trabajos en las mquinas
8
Programacin de Operaciones
MORTON Y D. W. PENTICO (1993)
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 nmero de restricciones de tiempo y relaciones entre las actividades y los recursos Lo anterior implica que, si los recursos no estn limitados no existe el problema. Y en el contexto de la definicin las actividades son los trabajos u operaciones y los recursos son las mquinas o las hora hombre 10
Programacin de Operaciones
El problema de scheduling implica realizar las siguientes actividades 1. Asignacin de trabajos a las mquinas o a los centros de trabajo. 2. Determinacin de la secuencia de realizacin de las actividades 3. Programacin de las fechas de comienzo y finalizacin de las operaciones.
11
Scheduling
Scheduling: Asignacin, secuenciacin y programacin de tareas (u operaciones) en agentes (maquinas, trabajadores,..) respetando restricciones de operacin. Aplicaciones del Scheduling Paralelizacin de Tareas Computacin Distribuida de Algoritmos H.E. Asignacin de Tareas en Robtica Programacin de Proyectos Programacin de Operarios Programacin de Tripulaciones Programacin de Produccin
12
13
DEFINICIONES
PROGRAMA: Es la definicin del tiempo de inicio y finalizacin de cada trabajo en cada mquina, 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 interrupcin para un tiempo dado de procesamiento, la secuencia determina los tiempos de inicio y terminacin y, por lo tanto, determina la programacin 14
SECUENCIACIN
PROBLEMTICA Los problemas de secuenciacin son muy comunes y no solamente estn inscritos dentro de la manufactura, si no que estn 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 peluquera Un grupo de clientes en una clnica
Muchos casos son resueltos de manera a apropiada de acuerdo al momento en que se presentan las actividades (FIFO) razonamiento lgico en algunos ambiente pero no en todos 15
SECUENCIACIN
PROBLEMTICA La idea es determinar la mejor secuencia de trabajos y para ello se podra enumerar todas las secuencias posibles y elegir aquella que optimiza alguna medida de desempeo. Este proceso para 23 trabajos implicara 23! = 2.59*1022 > (23)23 Secuencias posibles, si un equipo pudiera examinar un Billn por segundo, tardara 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 preparacin), que le dan un mayor grado de dificultad. 16
PROBLEMTICA
En general, en un problema de scheduling intervienen los siguientes elementos: - Trabajos
disponibilidad fecha de entrega tiempo de proceso prioridad tiempo de alistamiento (setup) Operaciones Patrones de flujo.
Mquinas o recursos
Configuracin Capacidad
17
DEFINICIONES
TRABAJOS:
Conjunto de operaciones a realizar, con un tiempo de proceso definido, y que se supone que una vez se comienza una operacin, debe procesarse continuamente hasta terminar, es decir sin interrupciones. Los trabajos pueden tener una fecha de entrega o una de finalizacin 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 operacin (carga) 18
DEFINICIONES
MQUINAS: Son las encargadas de procesar los trabajos. los entornos de mquinas se dividen as:
Una
trabajos y esta solo puede procesar un solo trabajo a la vez. (Produccin en lnea)
Mquinas
el mismo tipo de procesamiento, un trabajo se puede realizar en cualquiera de las mquinas, en caso de que no se diga lo contrario se supone que las mquinas son idnticas es decir es decir el tiempo de realizar el trabajo es independiente de la mquina en que se haga. 19
DEFINICIONES
MQUINAS:
Taller
y cada trabajo debe procesarse, en cada mquina exactamente una vez y cada trabajo sigue el mismo orden de visita a las mquinas, un trabajo no puede comenzar su proceso en la segunda maquina hasta no terminar el de la primera. (Lneas de ensamble)
Taller
taller de produccin continua, cada trabajo tiene una ruta nica y pueden no pasar por todas la mquinas.
Configuracin productiva
El desarrollo de la programacin con lleva a variar notablemente en funcin del tipo de configuracin productiva.
Configuracin continua.
22
23
24
Configuracin productiva
Mquinas paralelas
25
TERMINOLOGA Y NOTACIN
VARIABLES QUE DESCRIBEN EL PROBLEMA: Se asumen dadas, es decir son proporcionadas por etapas anteriores de planeacin
m (machine) = Nmero de mquinas, cada maquina se identifica con un entero en 1,2, m n (jobs) = Nmero de trabajos que sern procesados, identificados desde 1,2, i, hasta n, los atributos relevantes de los trabajos son denotados por las siguientes variables 26
TERMINOLOGA Y NOTACIN
VARIABLES QUE DESCRIBEN EL PROBLEMA: ATRIBUTOS DE LOS TRABAJOS
ri (ready-time, release-time or arrival-time)= Tiempo de la liberacin de la orden (o fecha de distribucin) del trabajo i. Significa el momento ms temprano a partir del cual el trabajo i se 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 ms lejano en que la ultima operacin del trabajo i puede ser terminada ai (allowance) = Tolerancia o tiempo total permitido para el trabajo en el taller ai = di - ri
27
TERMINOLOGA Y NOTACIN
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) donde mi,j identifica el nmero de maquina requerido para realizar la operacin j del trabajo i 1<=mi,j<=m pi,j (procesing time) es el tiempo de proceso de la operacin i del trabajo j, indica el tiempo que se demora mquina mi,j en desarrollar la operacin 28
TERMINOLOGA Y NOTACIN
VARIABLES QUE DESCRIBEN EL PROBLEMA: ATRIBUTOS DE LOS TRABAJOS
en
p i,
g
i
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). 29
TERMINOLOGA Y NOTACIN
VARIABLES QUE DESCRIBEN SOLUCIN: Para una solucin del problema se debe definir cuando cada operacin de cada trabajo ser terminada. Lo cual es equivalente a definir cuanto tiempo espera cada operacin de cada trabajo antes de ser procesada, este tiempo lo denotaremos como Wi,j , (waiting-time before procesing begins )
1.
Wi,j= Tiempo de espera que precede la realizacin de la operacin j del trabajo i, es decir tiempo entre la terminacin de la operacin (j-1) y el inicio de la operacin j El tiempo total que ha esperado un trabajo es la suma de los tiempos de espera de sus operaciones
Wi =
j en g i
2.
i, j
30
TERMINOLOGA Y NOTACIN
VARIABLES QUE DESCRIBEN SOLUCIN: La solucin 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 notacin las cuales son:
El tiempo en que un trabajo sale (o se termina) del taller El tiempo que un trabajo consume (est) taller dentro del
La diferencia entre el tiempo en que un trabajo sale del taller y su supuesto tiempo planeado de terminacin
31
TERMINOLOGA Y NOTACIN
VARIABLES QUE DESCRIBEN SOLUCIN:
El tiempo en que un trabajo sale (o se termina) del taller: generalmente se conoce como el tiempo de terminacin del trabajo i y se denota como Ci (completion-time), o tiempo en el cual son procesadas todas la operaciones del trabajo i
Ci = ri + wi ,1 + pi ,1 + wi , 2 + pi , 2 + .. + wi , g i + pi , gi Ci = ri +
j en g i
i, j
j en g i
i, j
Ci = ri + pi + wi
32
TERMINOLOGA Y NOTACIN
VARIABLES QUE DESCRIBEN SOLUCIN:
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). Tambin llamado el intervalo de manufactura (manufacturing interval) o tiempo de taller (shop time)
Fi = wi ,1 + pi ,1 + wi , 2 + pi , 2 + .. + wi , g i + pi , gi Fi =
j en g i
i, j
j en g i
i, j
Fi = pi + wi Fi = Ci ri
33
TERMINOLOGA Y NOTACIN
VARIABLES QUE DESCRIBEN SOLUCIN:
La diferencia entre el tiempo en que un trabajo sale del taller y su supuesto tiempo planeado de terminacin, se conoce como retraso y denota Li (lateness), retraso del trabajo i
Li = Ci d i
Tambin existen: La tardanza del trabajo i Ti , (tardiness), que indica si el trabajo se paso la fecha de entrega, valor positivo de la tardanza
TERMINOLOGA Y NOTACIN
RESUMEN
VARIABLES DEL PROBLEMA
n = Nmero de trabajos que sern procesados m Pk i = Nmero de mquinas = Tiempo de proceso del trabajo
ri = Tiempo de la liberacin de la orden del trabajo i. di = Fecha de entrega del trabajo i. WEi = Ponderacin (importancia o valor) del trabajo i respecto a los otros trabajos Ci = Tiempo de terminacin del trabajo i
VARIABLES DE LA SOLUCIN
Fi = Ci ri, tiempo de flujo del trabajo i. Li = Ci di, retraso del trabajo i Ti = mx (0,Li), tardanza del trabajo i. Ei = mx (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 adelanta Cmx = Mxi=1,n (Ci), tiempo mximo de terminacin de todos los trabajos o lapso Lmx = Mxi=1,n (Li), retraso mximo de todos los trabajos. Tmx = Mxi=1,n (Ti), tardanza mxima de todos los trabajos.
35
EJEMPLO
TERMINOLOGA Y NOTACIN
M(1,j) P(1,j) M N TRABAJO T1 T2 T3 T4 3 4 ri 0 0 0 0 di 16 14 10 8 OPER 1 2 3 1 2 3 4 3 2 OPER 1 2 3 M(2,j) P(2,j) 2 1 3 1 4 4
VARIABLES DE PROBLEMA:
M(4,j) P(4,j) 2 3 1 3 3 1
Dada la solucin constituida por el programa que sale al iniciar las operaciones los ms tmpano 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 solucin
36
EJEMPLO
TERMINOLOGA Y NOTACIN
OPER 1 4/1 1/2 3/3 3/2 OPER 2 3/2 4/1 2/2 3/3 OPER 3 2/3 4/3 3/1 1/1 ri 0 0 0 0 di 16 14 10 8
VARIABLES DE PROBLEMA:
TRABAJO 1 T1 T2 T3 T4
M1 ( T2, T1, T4, T3) M2 ( T2, T4, T3, T1) M3 ( T3, T4, T2, T1),
37
EJEMPLO
TERMINOLOGA Y NOTACIN
T3 O1 T4 O2 T4 O1 T2 O2 3 T3 O2 T1 O1 7 T4 O3 9 10 T2 O3 T1 O2 T3 O3 11 12 T1 03
GRAFICO DE GANTT:
M3 M2 M1 1 2 T2 01
13
14
15
VARIABLES DE LA SOLUCIN
OPER 1 OPER 2 OPER 3 Wi Pi ri Ci Fi di Li Ti Ei
T1 W1j 5 0 0 5 9 0 14 14 16 -2 0 2 0
T2 W2j 0 0 2 2 9 0 11 11 14 -3 0 3 0
T3 W3j 0 1 4 5 8 0 13 13 10 3 3 0 1
T4 W4j 1 0 2 3 7 0 10 10 8 2 2 0 1
38
OBJETIVOS
Tres tipos de metas han sido predominantes en la medicin y valoracin del scheduling (Baker, 1974)
1. 2. 3.
La utilizacin eficiente de recursos. La respuesta rpida a la demanda La conformidad con los plazos previstos. Cumplir fechas de entrega
Otros 1. Minimizar el trabajo en proceso (WIP) 2. Minimizar el tiempo de flujo 3. Reducir demora por tiempos de alistamiento 4. Minimizar costos de produccin 39
MEDIDAS DE DESEMPEO
Especificar la medida de desempeo en un problema de scheduling es especificar un conjunto de soluciones equivalentes y un ordenamiento preferido para estas. Ejemplo: Definir el tiempo promedio de terminacin como medida de desempeo en un problema de scheduling significa:
1. 2.
Que todos los programas que tengan el mismo son equivalentes, as que es indiferente cual de estos se selecciona. 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 desempeo si no existe ningn otro programa que sea preferido a este.
40
MEDICIN
Para hablar del mejor programa o la mejor secuencia se requiere una medida de desempeo. Maximizar la ganancia o minimizar el costo, Es difcil estimar parmetros 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 funcin del tiempo de terminacin para un programa dado y la mayora de las medidas sustitutas son de nominadas medidas normales.
41
MEDICIN
Medida normal: Es una funcin del tiempo de terminacin de los trabajos que incrementa slo si al menos un tiempo de terminacin en el programa aumenta. El objetivo es minimizar la funcin M = F (C1, C2, C3Cn) M2 = F (C12, C22, C32Cn2) M2 > M si solo s Ci2 > Ci Para al menos un i, 42 1<=i<=n
MEDICIN
Medida normal: Son medidas normales el promedio o el mximo de los tiempos de terminacin, el tiempo de flujo, el retraso y la tardanza, adems promedios ponderados y mximos de las anteriores tambin son medidas normales. Pero el promedio o el mximo del adelanto no es una medida no es una medida normal, al igual que la diferencia entre el tiempo de terminacin ms largo y el segundo ms largo. 43
MEDIDAS NORMALES
Objetivos
sustitutos comunes
( Fi) (Ti) (Cmax) (Tmax) (i) (Lmax)
Minimizar el tiempo de flujo total Minimizar la tardanza total Minimizar el tiempo mximo de terminacin Minimizar la tardanza mxima Minimizar el nmero de trabajos tardos . Minimizar el retrazo mximo
Todos (excepto Cmx, Lmx, y Tmx) 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. 44
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
45
MEDICIN
Los promedios de las medidas de desempeo son fcilmente relacionados con estos: para el caso del retraso, por definicin tenemos que.
L
i
=
n
ri a
=
n
i =1
Li =
i =1
Fi
i =1
ai =
i =1
Ci
i =1
ri
i =1
ai =
i =1
Ci
i =1
di
46
MEDICIN
Para un problema dado , y , son constantes que no se afectan por la decisin 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 tambin con respecto a y
L = F a = C r a = C d
47
MEDICIN
Dado que todas las medidas de desempeo son derivadas del tiempo de espera de las operaciones, el promedio de este tambin es derivado de estas medidas
C
i
= ri + W
i n
+ pi W
C = r +
i=1
n i=1
Pi
Para un problema dado ri y pi son constantes, minimizar el tiempo promedio de terminacin de dos trabajos es equivalente a minimizar el tiempo promedio de espera de los trabajos
48
MEDICIN
El promedio de los retrasos, el promedio de las tardanzas, y el promedio de los adelantos, se relaciona de la siguiente manera:
T
i
= L
En general esto no implica que un programa que minimice el promedio del retraso tambin 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. 49
T E = L
MEDICIN
Las relaciones entre las medidas de desempeo antes planteadas no implican nada con respecto a los mximos valores de tales medidas para un problema de scheduling, es decir un programa que es ptimo con respecto a F^ lo es tambin con respecto a L^ , pero eso no significa que un programa que es ptimo con respecto a la minimizacin de L max es ptimo con respecto a la minimizacin de F max 50
MEDIDAS DE DESEMPEO PARA EL TALLER Adems de las medidas de desempeo para las soluciones es importante tambin definir medidas de desempeo relacionadas con los talleres o centros de trabajo. Las ms usadas son:
La
Inventario
MEDIDAS DE DESEMPEO PARA EL TALLER La utilizacin de la planta: Es la fraccin de la capacidad disponible que es requerida para el procesamiento de las operaciones, esta es la razn 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.
52
MEDIDAS DE DESEMPEO PARA EL TALLER La utilizacin 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 mquina. Asumiendo que todos las mquinas estn disponibles en el mismo momento la utilizacin esta definida por:
U=
pi i =1
53
mF max
1 t2 N (t1 , t 2 ) = N (t )dt t 2 t1 t1
54
Inventario en proceso:
N (t )dt
0
Fmax
N (t )dt
0
56
N(t) 3 2 1 F1 F2 Time
Fn
F3
,,,,,,,,Fn
N (t )dt = nF + (n 1)( F
1 0
Fn
N (t )dt = F
0 i =1
57
MEDIDAS DE DESEMPEO PARA EL TALLER Inventario en proceso: Fmax 1 N (0, Fmax ) = N (t )dt Fmax 0
N ( 0 , F max ) =
Fn
N (t )dt = F
0 i =1
i =1
Fi
F max
= n*
F F max
Lo anterior Nos indica que razn entre el nmero promedio de trabajos en el taller de trabajos en el taller y el nmero de trabajos es igual a la razn entre el tiempo de flujo promedio y el mximo 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
58
Dado que la suma de los tiempos de procesamiento es constante, minimizar el lapso Cmx es equivalente a minimizar el tiempo ocioso o maximizar la utilizacin de las mquinas. 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 terminacin 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 nmero de trabajos en proceso. El tiempo de flujo ponderado corresponde al valor del inventario en proceso. El nmero de trabajos retrasados, la tardanza mxima y la tardanza total son medidas de servicio al cliente y son indispensables en los sistemas que trabajan sobre pedido 59
Pm Qm Rm Fm FFc Jm FJc
: Mquinas idnticas en paralelo : Mquinas en paralelo con velocidades diferentes :Mquinas en paralelo no relacionadas. : m Mquinas en serie : flowshop flexible (hbrido) con c estaciones en serie : Jobshop con m mquinas : jobshop flexible (hbrido) con c estaciones de
61
70
72
Recirculacin (recrc). Ocurre cuando un trabajo visita una mquina o centro de trabajo en ms de una ocasin. Pueden aparecer en el campo notas de carcter aclaratorio, tales como pj = p, que denota que todos los tiempos de proceso son iguales, o dj = d que significa que todos los trabajos debern estar listos para la misma fecha. 73
74
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 funcin indica una forma ms general del costo que la presentada por el tiempo de flujo ponderado. Nmero ponderado de trabajos tardos (). Es una medida de inters prctico de fcil referencia, muy vinculada con los niveles de servicio al cliente. 76
Mtodos de solucin
1. Mtodos de programacin manual Interval scheduling Dispatch scheduling prioridades determinada heursticamente 2. Mtodos de simulacin en computador 3. Mtodos de programacin matemtica programacin entera Branch-and-Bound programacin dinmica 4. mtodos heursticos
77
Mtodos de solucin
Mtodos de programacin heurstica 1. Neighborhood search 2. Lagrangian relaxation 3. Beam search 4. Tabu search 5. Simulated annealing 6. Genetic algorithms 7. Neural networks 8. Bottleneck dynamics 78
Mtodos de solucin.
Mtodos de programacin manual En este caso se programan los trabajos en las maquinas empricamente. La programacin puede hacerse de dos formas: a) Tomando como punto de partida la fecha de entrega y regresando hacia atrs las unidades de tiempo correspondientes al tiempo de procesamiento, a este mtodo se le conoce como programacin de intervalos. (Interval scheduling) b) Programar tomando como criterio de decisin cualquier prioridad determinada heursticamente, en este caso los trabajos se organizan cumpliendo alguna regla de decisin simple, esta programacin se conoce como programacin de despachos (Dispatch scheduling). 79
Mtodos de solucin
Mtodos de simulacin en computador Mediante la simulacin es posible modelar sistemas reales y analizar su comportamiento con ayuda del computador a un costo razonable y con una calidad aceptable. Mtodos de programacin matemtica Se clasifican en mtodos de programacin entera y dinmica. En ambos casos es posible encontrar soluciones optimas pero para problemas de bajo volumen. Los problemas de gran tamao pueden resultar intratables porque el tiempo requerido para encontrar una solucin optima se puede representar por una expresin que crece en forma exponencial (no polinomial). Por esta razn se han empezado a desarrollar diferentes mtodos heursticos para encontrar soluciones aproximadas para los problemas de gran tamao.
80
Mtodos de solucin
Mtodos de simulacin en computador
Mtodos de programacion entera 1. Branch-and-Bound : Consiste en hacer un bosquejo de todas las posibles soluciones de un problema, mediante la elaboracin de un rbol de decisin en cuyas ramas se representan diferentes alternativas de solucin. 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 continuacin se divide cada rama en n . El mtodo no sugiere analizar todas las alternativas de solucin, sino ir desechando aquella ramas que con determinados criterios muestran que no pueden producir una solucin optima.
81
Mtodos de solucin
Mtodos de programacin entera Programacin dinmica Es utilizada para la secuenciacin, mediante la enumeracin de todas las posibilidades de organizacin 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.
82
Secuenciacin de la Produccin
83
24/03/2006
SECUENCIACIN
Consiste en determinar el orden o secuencia en la que se procesarn los trabajos en un rea de trabajo. Si los trabajos a procesar llegan simultneamente encontrndose el rea disponible para trabajar, entonces el problema de secuenciacin se denomina esttico.
Si los trabajos llegan a largo del programa, el problema de secuenciacin se denomina dinmico. El problema de secuenciacin se presenta en Job shops (taller), lneas de produccin y proyectos.
84
Los modelos desarrollados para este tipo de problema muchas veces se emplean para mltiples mquinas
Por ejemplo en procesos en serie con una mquina cuello de botella O en casos en los que varias mquina pueden ser consideradas como una. Entornos estticos o dinmicos Tiempos de secuencia preparacin dependientes de la 85
Los
trabajos
que
se
desarrollaran
estn
bien
definidos
son
completamente conocidos, es decir las caractersticas 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 realizacin de los trabajos han sido completamente definidos, en cuanto a cantidad y disponibilidad
La orden de la realizacin de operaciones de un trabajo es conocido y se conocen (tiempos) cada uno de los recursos empleados para su realizacin
86
Certidumbre en los datos. Cada mquina esta continuamente disponible para ser asignada (no mantenimiento o fallas) y solo puede procesar un trabajo a la vez los tiempos de preparacin son independientes del orden del procesado todos los trabajos estn 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 operacin de un trabajo solo puede ser desarrollada en una sola maquina a la vez Un trabajo no puede tener ms de una operacin en ejecucin.
87
88
Determinar la secuencia ptima de procesar n trabajos en una mquina. Todas las secuencias tienen el mismo makespan. Representemos los tiempos de proceso de los trabajos i como pi (i = 1,n). En la mayora de los casos las secuencia que representa el orden, es igual al programa, es decir, la secuencia establece las fechas de inicio y finalizacin de las ordenes.
89
TIEMPO DE FLUJO MNIMO TIEMPO DE FLUJO PONDERADO RETRASO TOTAL MNIMO TARDANZA MXIMA Y RETRASO MXIMO NMERO PONDERADO DE TRABAJOS TARDOS TIEMPO DE FLUJO MNIMO SIN TRABAJOS TARDOS TARDANZA MXIMA ADELANTO Y TARDANZA MNIMOS CON FECHAS DE ENTREGA EN COMN
90
i =1
Fi =
n i =1
i j =1
Pj =
i =1
(n + 1 i ) Pi
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 nmero promedio de trabajos esperando a ser procesados. SPT minimiza el inventario promedio de trabajos en proceso. (medido en nmero de trabajos)
T 1 2 3 4 Pi 15 17 24 11
Este criterio es de gran importancia para empresas en las que los costos de mantener inventario dominan a los dems. Los productos son de alto costo y dejan la planta una vez se terminan. Se asume que los costos unitarios de los productos son similares Se asume que el tiempo de liberacin es cero.
91
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 importante o ms valioso. Wi , el trabajo es ms
Trabajo 1 2 3 4 5
pi 10 6 5 4 2
wi 5 10 5 1 3
93
i =1
Li = i =1 (Ci d i ) = i =1 Ci i =1 d i
n n n
Dado que la sumatoria de los tiempos de proceso es constante para cualquier programa de produccin, minimizar el tiempo de terminacin total, minimiza el retraso total. En consecuencia la secuencia SPT minimiza la tardanza total. El retraso total es una medida poco comn ya que los adelantos se anulan con las tardanzas SPT DDT
T Pi di ci Li 4 1 2 3 total 11 15 17 24 67 20 26 15 40 101 11 26 43 67 147 -9 0 28 27 46 T 2 4 1 3 total Pi 17 11 15 24 67 di 15 20 26 40 101 ci 17 28 43 67 155 Li 2 8 17 27 54
94
T Pi di ci Li Ti
2 4 1 3 17 11 15 24 67 15 20 26 40 101 17 28 43 67 155 2 8 17 27 54 2 8 17 27 54
DDT total
95
96
97
3. RETIRO T3 4. T2 Y T3 AL FINAL El orden en el cual se colocan los trabajos finales puede afectar otros indicadores
T Pi di ci Li Ti i 4 1 3 2 11 15 24 17 67 20 26 40 15 101 11 26 50 67 154 -9 0 10 52 53 0 0 10 52 62 0 0 1 1 2
TALLER T Pi di 1 4 2 3 4 5 2 3 2 4
HDS total
T Pi di ci Li Ti i
4 1 2 3 11 15 17 24 20 26 15 40 11 26 43 67 -9 0 28 27 0 0 28 27 0 0 1 1
HDS2 total
67 101 147 46 55 2
16 10 7 7 5
98
Li Ti i
2 17 15 17 6 2,8 2 2 1
4 11 20 28 2 5,5 8 8 1
1 15 26 43 3 5,0 17 17 1
3. RETIRO T4 4. T2 Y T4 AL FINAL
HDSM
T Pi di ci Wi
Pi/ Wi
Li Ti i
4 11 20 11 2 5,5 -9 0 0
1 15 26 26 3 5,0 0 0 0
3 24 40 50 9 2,7 10 10 1
Li Ti i
TALLER T Pi di wi 1 4 1 2 3 4 5 2 3 2 4 4 3 1 3
16 10 7 7 5
100
101
102
103
104
105
106
CASO 3: Cuando mediante la secuencia DDT se obtiene, como mximo un trabajo tardo, esta secuencia ser el optima para la tardanza mnima. T1 T2 T3 T4
di pi 6 11 5 5 8 5 3 5
107
108
Si los trabajos tienen ponderaciones diferentes y todos son tardos, minimizar la tardanza ponderada es equivalente a Wi di Pi Wi/Pi minimizar el tiempo de flujo ponderado T 1 2 3 7 0,29
2 3 4 1 3 6 7 15 0,07 8 13 0,23 5 13 0,46
109
110
112
Tiempo promedio del tiempo de proceso de los trabajo Nmero trabajos de tiempo promedio que se podra programar primero que el trabajo i sin que este sea tardo 113
wi i = P .e i
si+ K . Pprom
El factor lo plantean como 2, determinado a partir de estudios experimentales, buscando mejorar el decrecimiento de la importancia 114
115
116
De manera especifica se presenta el caso de fechas de entrega en comn cuando las ordenes son para fechas especiales, para alguna promocin 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 tardos en SPT 118
1. Los trabajos se deben ordenar inicialmente LPT para ser enumerados 2. Luego se secuencian de tal modo que los trabajos pares (segn la enumeracin 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 posicin 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. 119
1.CASO NO RESTRINGIDO: Las dos siguientes caractersticas se cumplen para alguno de los posibles programas ptimos: Cj*= D La posicin de j* es redondear.mas (n/2), cuando n es par se tienen igual cantidad de trabajos arriba y debajo de la fecha de entrega, cuando es impar hay un trabajo ms antes de la fecha de entrega que despus
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
120
2. CASO RESTRINGIDO: Este problema es NP-duro, pero se conoce un procedimiento heurstico desarrollado por Sundararaghavan y otros, el cual consiste en construir una secuencia en v empezando en cero, en la que el trabajo ms largo del programa se coloca la inicio si hay ms 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 se coloca al final se es el caso contrario, lo anterior se repite para todos los trabajos ordenados inicial mente en LPT. El heurstico tambin existe para fechas de entrega diferentes y para costos diferentes entre los adelantos y las tardanzas
121
Los n trabajos se procesan en 2 mquinas 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 mquina j, seleccione el mnimo y si ste corresponde a la mquina 1, asgnelo a la primera posicin de la secuencia. Si corresponde a la mquina 2, el trabajo se asigna a la ltima posicin de la secuencia. Elimine el trabajo asignado del set y procedimiento con los trabajos no asignados. repita el
122
La regla de Johnson
123
PROCEDIMIENTO DE JOHNSON
Mq 2 21 0 5 10 15 20 25
125
Formar 4 sets de trabajos; {A} = Los procesados solamente en la mquina 1. {B} = Los procesados en mquina 2 solamente. {AB} = Los procesados primero en mquina 1 y luego en la 2. {BA} = Los procesados primero en mquina 2 y luego en la 1. Secuenciar los trabajos de {AB} y {BA}, por separado, con algoritmo de Johnson. 126
Defina secuencias arbitrarias para los trabajos {A} y {B}. (Puede ser minimizar el Tft)
Mquina 1: {AB} antes de {A} antes de {BA}. Mquina 2: {BA} antes de {B} antes de {AB}.
127
N TRABAJOS EN 3 MQUINAS
Todos los trabajos tienen la misma secuencia de proceso. Puede resolverse con el algoritmo de Johnson si: min {pi1} > mx { pi2 }, o min { pi3 } >mx { pi2 }. La mquina 2 es dominada completamente por la mquina 1 o 3. Se aplica el procedimiento formando 2 mquinas dummy, 1y 2, con tiempos de proceso: pi1 = pi1 + pi2 y pi2 = pi2 + pi3. El procedimiento proporciona una secuencia factible y buena an cuando no se cumplan las condiciones. 128
n Trabajos en 3 Mquinas
Secuenciar los siguientes trabajos.
Trabajos 1 2 3 4 M q 1 8 5 6 7 M q 2 2 4 1 3 M q 3 4 5 3 2
Mq 2 6 9 4 5
Trabajos 1 2 3 4
Mq 1 10 9 7 10
N TRABAJOS EN M MQUINAS
No existe un mtodo eficiente que proporcione una solucin exacta. Se utilizan mtodos heursticos 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 estn disponibles.
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 travs de anlisis de lneas de espera, experimentacin y simulacin. La regla de secuenciacin y despacho mas importante es la del tiempo de proceso mas corto (SPT). Otras reglas se derivan del SPT , as como del tamao de las lneas de espera y la fecha prometida a los clientes. 131
REGLAS DE DESPACHO
Basadas en tiempo de proceso.
Menor Cantidad de Operaciones por Realizarse 132 (FOPR): Considera el nmero de operaciones a
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 funcin del tiempo que falta para la fecha prometida menos el tiempo de proceso faltante. Holgura/ Operacin Faltante (S/ROP):La prioridad se determina por el cociente entre el SLACK y el nmero de operaciones faltantes.
133
Ejemplo
Se tienen las siguientes tareas a programarse en un taller de produccin (Nota: A/5 significa que el trabajo se programa en la mquina A y dura 5 unidades de tiempo)
Trabajo 1 2 3 Operacin 1 A/4 B/1 A/5 Operacin 2 B/2 A/3 B/6 134
Regla SPT
trabajos disponibles
1,2 1,2 3 3
Cuando haya ms de un trabajo disponible en una mquina se programa el que tenga menor tiempo de proceso para esa mquina 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 slo un trabajo: Ese es el que se programa
135
B 2
1 1
3 3 3 3 3 3
136
Regla LPT
trabajos disponibles
2,3 1,3 2 1
Cuando haya ms de un trabajo disponible en una mquina se programa el que tenga mayor tiempo de proceso para esa mquina 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 slo un trabajo (el 2): Ese es el que se programa
137
B 2
3 3 3 3 3 3 1 1
138
Regla MWR
trabajos disponibles
2,3 1,3 2 1
Cuando haya ms de un trabajo disponible en una mquina 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 slo 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 operacin con duracin 1.
139
B 2
3 3 3 3 3 3 1 1
140