Está en la página 1de 5

WinQSB - Programación de trabajos (Job Scheduling)

Este módulo, Job Scheduling, resuelve problemas de programación en job shops y flow shops.
De acuerdo con los requisitos operativos de los trabajos, el programa aplica una heurística
apropiada para determinar las secuencias de trabajo.

Las capacidades específicas del programa incluyen:

 15 reglas populares de secuenciación para problemas del tipo job shop, incluyendo la
mejor secuencia de todas las reglas y la generación aleatoria de un número determinado
de secuencias.
 7 heurísticas populares para problemas del tipo flow shop, incluyendo la mejor
secuencia de todos las heurísticas, la generación aleatoria de un número determinado de
secuencias, y la enumeración completa de las secuencias de permutación.
 Las entradas incluyen los trabajos y los tiempos de preparación de máquina y los
elementos de coste.
 18 medidas de desempeño para el programa obtenido.
 Diagrama de Gantt para trabajos y máquinas.
 Visualización gráfica del análisis de rendimiento.
 Realización del análisis de finalización.
 Ingreso de los problemas en formato de planilla de cálculo.

Job shop
En un job shop, hay n trabajos en espera de ser procesados en m máquinas o centros de trabajo.
Cada uno de los n trabajos tiene su propia ruta o secuencia de máquinas, es decir, cada trabajo
puede tener una ruta diferente. Una secuencia o programa factible para un job shop se define
como la asignación de las operaciones a las máquinas sin violar las restricciones de capacidad
y rutas.

Flow shop
En un flow shop, hay n trabajos que esperan ser procesados en m máquinas o centros de
trabajo. Cada uno de los n trabajos tiene la misma secuencia de máquinas, es decir, la misma
ruta. Un programa factible para un conjunto de trabajos se define como una secuencia de todos
los trabajos en cada máquina sin violar las capacidades de cada máquina. Se ha demostrado que
encontrar todas las secuencias posibles es computacionalmente impracticable para problemas
de cierta magnitud. Por lo tanto, la mayoría de los métodos algorítmicos generan un
subconjunto de soluciones que sólo incluye los programas o secuencias de permutación. Un
programa o secuencia de permutación es un programa con la misma secuencia de trabajos en
todas las máquinas.

Reglas de secuenciación para problemas de programación en job shops


Se pueden utilizan reglas de secuenciación conocidas para resolver problemas de programación
en job shops. En WinQSB, hay 14 reglas de secuenciación disponibles. Cada regla puede ser
seleccionada como la regla primaria o la regla de desempate para generar las secuencias de
trabajo. Las reglas usadas en la selección de una operación para la ejecución en una máquina se
describen a continuación:

 SPT (Tiempo de proceso más corto): Seleccionar la operación con el menor tiempo de
procesamiento.
 LPT (Tiempo de proceso más largo): Seleccionar la operación con el mayor tiempo de
procesamiento.
 RANDOM (Selección al azar): Seleccionar la operación al azar.
 FCFS (primera llegada, primer servicio).
 LCFS (Última llegado, primer servicio).
 LWKR (Menos trabajo restante): Seleccionar la operación asociada con el trabajo que
tenga menos trabajo por hacer en términos de tiempo.
 MWKR (Más trabajo restante): Seleccionar la operación asociada con el trabajo que
tiene más trabajo por hacer en términos de tiempo.
 TWK (Trabajo total): Seleccionar la operación asociada con el trabajo que requiere más
esfuerzo en términos de tiempo.
 LWK (Menor trabajo total): Seleccionar la operación asociada con el trabajo que
requiere menos esfuerzo en términos de tiempo.
 FOPR (Menor número de operaciones pendientes): Seleccionar la operación asociada
con un trabajo que tiene el menor número de operaciones pendientes de ser
completadas.
 EDD (Fecha de entrega más cercana): Seleccionar el trabajo con la primera fecha de
entrega.
 SLACK (Tiempo de holgura): Seleccionar el trabajo con el menor valor de la diferencia
entre su fecha de entrega y el tiempo de procesamiento restante.
 S / ROP (Holgura / Nº de operaciones restantes): Seleccionar el trabajo con el menor
valor del cociente entre el tiempo de holgura y el número de operaciones restantes.
 WINQ (Siguiente trabajo en cola): Seleccionar el trabajo que se unirá a la cola con la
menor carga de trabajo.
 Priority Index: Seleccionar el trabajo con mayor índice de prioridad.

Métodos heurísticos para problemas flow shop


Están disponibles siete métodos heurísticos populares en WinQSB para resolver los problemas
de programación de tipo flow shop. Se pueden encontrar en las siguientes referencias:

1. Campbell, H. G., Dudek, R. A., and Smith, M. L., "A Heuristic Algorithm for the n-job, M-
machine Sequencing Problem," Management Science, 16 (1970), pp. B630-637.
2. Dannenbring, D. G., "An Evaluation of Flow Shop Sequencing Heuristics," Management
Science, 23 (1977), pp. 1174-1182.
3. Gupta, J. N. D., "A Functional Heuristic Algorithm for the Flow Shop Scheduling Problem,"
Operational Research Quarterly, 22 (1971), pp. 39-47.
4. Ho, Johnny, and Yih-Long Chang, "A New Heuristic for the n-Job, M-Machine Flow Shop,"
European Journal of Operations Research, 52 (1991), pp. 194-202.
5. Hundal, T. S., and Rajgopal, J., "An Extension of Palmer's Heuristic for the Flow Shop
Scheduling Problem", International Journal of Production Research 26 (1988), pp. 1119-1124.
6. Johnson, S. M., "Optimal Two and Three-stage Production Schedules with Set Up Times
Included," Naval Research Logistics Quarterly, 1 (1954), pp. 61-68.
7. Palmer, D. S., "Sequencing Jobs through a Multi-stage Process in the Minimum Total Time---A
Quick Method of Obtaining a Near Optimum," Operational Research Quarterly, 16 (1965), pp.
101-107.

Medidas de rendimiento
Se utilizan 18 medidas de rendimiento para evaluar una secuencia. Se describen a
continuación.

i: Subíndice para los trabajos, i = 1 ,..., n

j: Subíndice para las máquinas, j = 1 ,..., m

Pij: Tiempo de procesamiento del trabajo i en la máquina j.


di: Fecha de entrega del trabajo i.
ri: Tiempo de disponibilidad (o arribo al sistema) del trabajo i.
Ci: Tiempo de realización del trabajo i.
Fi: Tiempo de flujo del trabajo i, es decir, Fi = Ci - ri.
Wi: Tiempo total de espera de trabajo i, es decir, Wi = Fi - Σj Pij.
Li: Impuntualidad del trabajo i, es decir, Li = Ci - di.
Ei: Adelanto del trabajo i, es decir, Ei = maxi {-Li, 0}.
Ti: Retraso del trabajo i, es decir, máxi Ti = {Li, 0}.
Nt: Número de trabajos sin terminar en el sistema en el instante t.
wi: Peso asignado de trabajo i.

Si los pesos no se indican, se supone que todos los pesos son iguales a 1. Las medidas de
rendimiento se definen como sigue:

Cmax:Tiempo de finalización de todos los trabajos o makespan.


MC: Tiempo de finalización medio ponderado, es decir, MC = (Σi wi Ci) / (Σiwi).
Wmax:Tiempo máximo de espera, es decir, Wmax = máxi Wi.
MW: Tiempo de espera medio ponderado, es decir, MW = (Σi wi Wi) / (Σiwi).
Fmax:Tiempo de flujo máximo, es decir, Fmax = máxi Fi.
MF: Tiempo de flujo medio ponderado, es decir, MF = (Σi wi Fi) / (Σi wi).
Lmax:Máxima impuntualidad, es decir, Lmax = máxi Li.
ML: Impuntualidad media ponderada, es decir, ML = (Σiwi Li) / (Σiwi).
Emax:Adelanto máximo, es decir, Emax = máxi Ei.
ME: Adelanto medio ponderado, es decir, ME = (Σiwi Ei) / (Σiwi).
Tmax:Retraso máximo, es decir, Tmax = máxi Ti.
MT: Retraso medio ponderado, es decir, MT = (Σiwi Ti) / (Σiwi).
NT: Número de trabajos retrasados, es decir, NT = | {i | Ci> di} | .
WIP: Trabajo medio en proceso, es decir, WIP = Promedio de Nt sobre Cmax.
MU: Utilización media de las máquinas.
TJC: Costos totales de los trabajos, incluidos los costos de inactividad, actividad,
adelantos y retrasos.
TMC: Costos totales de las máquinas, incluyendo los costos de inactividad y los costos
de actividad.
TC: Costo total = TJC + TMC.

Salvo en el caso de MU, se desea minimizar las medidas de desempeño.

Diagramas de Gantt
El diagrama de Gantt fue creado por H. L. Gantt en 1918. Se trata de una herramienta gráfica
para mostrar el inicio y fin de cada actividad. Un diagrama de Gantt típico incluye una línea de
tiempo horizontal y una línea vertical de las actividades. En WinQSB, se muestran los
programas asociados a los trabajos o a las máquinas para el problema considerado.
PROBLEMAS

1. Cinco trabajos deben ser programados para su procesamiento por lotes realizado en un
sistema de supercomputadoras. Los tiempos de procesamiento y la hora de entrega para
cada trabajo se muestra en la tabla siguiente:

Trabajo 1 2 3 4 5
Tiempo de
40 min 2,5 h 20 min 4h 1,5 h
procesamiento
Hora de
11:00 a.m. 2:00 p.m. 2:00 p.m. 1:00 p.m. 4:00 p.m.
entrega

a) Si los trabajos son ordenados de acuerdo a la regla de Tiempo de Procesamiento


más Corto, (SPT) encontrar la tardanza (el tiempo de retraso) de cada trabajo y la
tardanza media (el retraso medio del trabajo) de todos los trabajos. ¿Cuál es tiempo
promedio de espera de los trabajos?
b) Repita los cálculos anteriores para una programación según la regla Fecha de
Entrega más Temprana. (EDD). Calcule tiempo promedio de espera de los trabajos.
c) Compare y recomiende la programación adecuada para procesar los trabajos,
fundamentando su respuesta con los valores de las medidas de desempeño obtenidas
en cada caso.
d) ¿Qué secuencia sugeriría si la gerencia exige minimizar el número de trabajos
retrasados?

2. Cuatro camiones están esperando para ser descargados en la compañía XYZ que tiene
solamente una bahía de descarga. Los camiones son etiquetados según su orden de arribo a
la zona de descarga. Asumiendo que al momento es la 1:00 p.m. y que son conocidos los
tiempos de descarga de cada camión y el momento en el cual el material descargado debe
ser entregado:

Tiempo de descarga
Camión Entrega material
(minutos)
1 20 1:25 p.m.
2 14 1:45 p.m.
3 35 1:50 e.m.
4 10 1:30 p.m.

a) Determinar la programación que resulta de aplicar las reglas PEPS (FCFS), TPC
(SPT), TEC (EDD), y RC (CR). En cada caso calcular el tiempo de flujo promedio.
tardanza promedio (retraso medio del trabajo), y el número de trabajos retrasados.
b) Suponga que el costo total de inactividad es proporcional al tiempo de espera total
de las descarga en la bahía. ¿Qué secuencia es la qué genera el mínimo costo total
de máquina? ¿Es única dicha secuencia?

Costo de inactividad
Camión
por minuto ($ /minuto)
1 1
2 4
3 1
4 2
3. María y Marta son dos hermanas que asisten juntas a clases. Durante el primer cuatrimestre
se organizan para aprovechar las horas de consulta de las materias que están cursando. En
virtud de que los exámenes comienzan la semana próxima, piensan dedicar el día de mañana
para las consultas. Estiman que el tiempo (minutos) que tienen que emplear en asistir a las
mismas es:

Profesores María Marta


Matemática 40 20
Historia 15 30
Inglés 25 10
Ciencias 15 35
Música 20 25

Asumen que los profesores que dan las consultas estarán disponibles todo el día de mañana.
A María le gustaría visitar a los profesores en el orden dado anteriormente pero Marta
preferiría hacer sus consultas en el siguiente orden: Matemáticas, Música, Inglés, Ciencias e
Historia. ¿Cómo deben programar las consultas a los profesores para minimizar el tiempo
total destinado a consulta?

4. Los siguientes trabajos deben ser procesados a través de tres máquinas con secuencia fija:

Trabajo A B C
1 4 2 6
2 2 3 7
3 6 5 6
4 3 4 8

Obtenga la secuencia óptima de los trabajos para minimizar el tiempo total de ejecución de
los trabajos (makespan). ¿Cuál es dicho valor en la solución óptima? Elabore diagrama de
Gantt de la solución óptima.