Vous êtes sur la page 1sur 66

TEORIA, ALGORITMOS Y SISTEMAS

MICHAEL L. PINEDO SCHEDULING

TRADUCCION: CAPITULO 3 Y 10

PRESENTADO POR:
YULIKA ORTEGA HORTA
MARIA JOSE PADILLA PADILLA
MARIA ALEJANDRA ALCARAZ MONTIEL
MILADIS CARO SERRANO
JOSE JAVIER NAVARRO
ANDRES DE LEON NUÑEZ
GIOVANIS ULLOQUE

PRESENTADO A:
HERNANDO GARZON SAENZ

FUNDACION UNIVERSITARIA TECNOLOGICO COMFENALCO


TECNOLOGIA EN PRODUCCION INDUSTRIAL
VI SEMESTRE – SECCION 9
CARTAGENA DE INDIAS- MAYO 2019
CAPÍTULO 3
MODELOS DE UNA SOLA MÁQUINA (DETERMINISTAS)

PAGINA 35

3.1 El tiempo de finalización ponderado total ..............................................................................36


3.2 La latitud máxima .................................................................................................................. 42
3.3 El número de trabajos tardes ...................................................................................................47
3.4 La tardanza total - Programación dinámica. ……………………………………………… ..50
3.5 La tardanza total - un esquema de aproximación. . …………………………………………54
3.6 La tardanza total ponderada .................................................................................................. .57
3.7 Discusión .............................................................................................................................. .61

Los modelos de una sola máquina son importantes por varias razones. El entorno de una sola
máquina es muy simple y es un caso especial de todos los demás entornos. Los modelos de
máquinas individuales a menudo tienen propiedades que ni las máquinas en paralelo ni las
máquinas en serie tienen. Los resultados que se pueden obtener para los modelos de una sola
máquina no sólo proporcionan información sobre el entorno de una sola máquina, sino que también
proporcionan una base para las heurísticas que se aplican a entornos de máquinas más
complicados. En la práctica, los problemas de programación en entornos de máquina más
complicados a menudo se descomponen en subproblemas que tratan con máquinas individuales.
Por ejemplo, un entorno de máquina complicado con un único cuello de botella puede dar lugar a
un solo modelo de máquina.

En este capítulo se analizan en detalle varios modelos de una sola máquina. El objetivo de tiempo
de finalización ponderado total se considera primero, seguido de varios objetivos relacionados con
la fecha de vencimiento, incluidos el retraso máximo, el número de trabajos que llegan tarde, la
tardanza total y la tardanza ponderada total. Todas las funciones objetivas consideradas en este
capítulo son regulares.

En la mayoría de los modelos considerados en este capítulo, no hay ninguna ventaja en tener
privilegios; para estos modelos se puede mostrar que el horario óptimo en la clase de horarios
preventivos no es preventivo. Sin embargo, si los trabajos se liberan en diferentes puntos en el
tiempo, puede ser ventajoso anticiparse. Si los trabajos se liberan en diferentes puntos en el tiempo
en un entorno no preventivo, entonces
PÁGINA 36

puede ser ventajoso permitir la ociosidad no forzada (es decir, un horario óptimo puede no ser sin
demora).

3.1 EL TOTAL PONDERADO TIEMPO DE TERMINACIÓN

El primer objetivo que debe considerarse es el tiempo de finalización total ponderado, es decir,

.El peso wj del trabajo j puede ser considerado como un factor de importancia;
puede representar un costo de mantenimiento por unidad de tiempo o el valor ya agregado al
trabajo j. Este problema da lugar a una de las reglas más conocidas en la teoría de la programación,
la denominada primera regla de tiempo de procesamiento más corto ponderado (WSPT). De
acuerdo con esta regla, los trabajos se ordenan en orden decreciente de wj/ pj.

Teorema 3.1.1. La regla del WSPT es óptima para Prueba. Por contradicción.
Supongamos que un horario S, que no es WSPT, es óptimo. En este programa, debe haber al menos
dos trabajos adyacentes, por ejemplo, trabajo j seguido de trabajo k, de modo que:

Supongamos que el trabajo j comienza su procesamiento en el tiempo t. Realice el denominado


intercambio adyacente de pares en los trabajos j y k. Llama al nuevo horario S′. Mientras que en
la programación original S, el trabajo j comienza su procesamiento en el tiempo t y es seguido por
el trabajo k, bajo la nueva programación S′ trabajo k comienza su procesamiento en el tiempo t y
es seguido por la tarea j. Todos los demás trabajos permanecen en su posición original. El tiempo
de finalización ponderado total de los trabajos procesados antes de los trabajos j y k no se ve
afectado por el intercambio. Tampoco es el tiempo de finalización ponderado total de los trabajos
procesados después de los trabajos j y k. Por lo tanto, la diferencia en los valores de los objetivos
de los cronogramas S y S′ se debe solo a los trabajos j y k (consulte la Figura 3.1). Bajo S, el
tiempo de finalización ponderado total de los trabajos j y k es
(t + pj) wj + (t + pj + pk) wk,

mientras que bajo es


(t + pk) wk + (t + pk + pj) wj.
Se verifica fácilmente que si wj/ pj <wk/ pk la suma de los dos tiempos de finalización ponderados
en es estrictamente menor que bajo S. Esto contradice la optimalidad de S y completa la
prueba del teorema. ⊓⊔
El tiempo de cálculo necesario para ordenar los trabajos de acuerdo con el WSPT es el tiempo
requerido para ordenar los trabajos de acuerdo con la proporción de los dos parámetros. Se puede
hacer una clasificación simple en tiempo O (n log (n)), vea el Ejemplo D.1.1 en el Apéndice D.

¿Cómo se ve afectada la minimización del tiempo de finalización ponderado total por las
restricciones de precedencia? Considere la forma más simple de restricciones de precedencia, es
decir, restricciones de precedencia que toman la forma de cadenas paralelas (consulte la Figura
3.2).

PÁGINA 37

Fig. 3.1 Un intercambio por pares de trabajos j y k

Fig. 3.2 Restricciones de precedencia en forma de cadenas

Este problema aún puede resolverse mediante un algoritmo relativamente simple y muy eficiente
(tiempo polinómico). Este algoritmo se basa en algunas propiedades fundamentales de la
programación con restricciones de precedencia.

Considere dos cadenas de trabajos. Una cadena, digamos Cadena I, consiste en trabajos 1,. . . , k y
la otra cadena, digamos Cadena II, consiste en trabajos k + 1,. . . , n. Las restricciones de prioridad
son las siguientes:
y

El siguiente lema se basa en el supuesto de que si el programador decide comenzar a procesar


trabajos de una cadena, debe completar toda la cadena antes de que se le permita trabajar en
trabajos de la otra cadena. La pregunta es: si el programador desea minimizar el tiempo total de
finalización ponderado de los n trabajos, ¿cuál de las dos cadenas debe procesar primero?

Lema 3.1.2. SI

LA PÁGINA 38
es óptimo procesar la cadena de tareas 1, ..., k antes (después) de la cadena de tareas k + 1, ..., n.
Prueba. Por contradicción. En la secuencia 1, ..., k, k + 1, ..., n el tiempo total de finalización
ponderado es esta

mientras en la secuencia k + 1,. . . , n, 1, ..., k es

El tiempo de finalización ponderado total de la primera secuencia es menor que el tiempo de


finalización ponderado total de la segunda secuencia si

el resultado es el siguiente.
Un intercambio entre dos cadenas de trabajos adyacentes se suele denominar intercambio de
secuencia adyacente. Dicho intercambio es una generalización de un intercambio de pares
adyacente. Una característica importante de la cadena
se define de la siguiente manera: dejemos que l ∗ satisfaga

La relación en el lado izquierdo se llama el factor ρ de la cadena 1, ..., k y se denota por ρ (1, ..., k
). El trabajo l ∗ se conoce como el trabajo que determina el factor ρ de la cadena. Supongamos
ahora que el programador no tiene que completar todos los trabajos en una cadena antes de que se
le permita trabajar en otra cadena. Puede procesar algunos trabajos de una cadena (mientras se
adhiere a las restricciones de precedencia), cambiar a otra cadena y, en algún momento posterior,
volver a la primera cadena. Si, en el caso de cadenas múltiples, el tiempo total de finalización
ponderado es la función objetivo, entonces se mantiene el siguiente resultado.

PÁGINA 39

3.1 Tiempo de finalización ponderado total 39 Lema 3.1.3. Si el trabajo l ∗ determina ρ (1, ..., k),
entonces existe una secuencia óptima que procesa los trabajos 1, ..., l ∗ uno tras otro sin ninguna
interrupción por trabajos de otras cadenas. Prueba. Por contradicción. Supongamos que, en la
secuencia óptima, el procesamiento de la subsecuencia 1, ..., l ∗ se interrumpe por un trabajo, por
ejemplo, trabajo v, de otra cadena. Es decir, la secuencia óptima contiene la subsecuencia 1, …, u,
v, u + 1, ..., l ∗, digamos subsecuencia S. Basta con demostrar que con la subsecuencia v, 1, ..., l
∗, digamos S, o con la subsecuencia 1, ..., l ∗, v, diga S, el tiempo de finalización ponderado total
es menor que con la subsecuencia S. Si no es menor con la primera subsecuencia, entonces tiene
que ser menor con la segunda y viceversa.
Lema 3.1.2 se deduce que, si el tiempo de finalización ponderado total con S es menor que con S’,
entonces:

lema 3.1.2 también se sigue que si el tiempo de finalización ponderado total con S es menor que
con S, entonces

si el trabajo l ∗ es el trabajo que determina el factor ρ de la cadena 1, ..., k, entonces,

si S es mejor que S, entonces


Entonces S es mejor que S. El mismo argumento sigue adelante si la interrupción de la cadena es
causada por más de un trabajo.

El resultado en Lemma 3.1.3 es intuitivo. La condición del lema implica que las relaciones del
peso divididas por el tiempo de procesamiento de los trabajos en la cadena 1, ..., l ∗ deben aumentar
en algún sentido. Si uno ya había decidido comenzar a procesar una cadena de trabajos, tiene
sentido continuar procesando la cadena hasta que la tarea l ∗ se complete sin procesar ninguna otra
tarea intermedia. Los dos lemas anteriores contienen la base para un algoritmo simple que
minimiza el tiempo de finalización ponderado total cuando las restricciones de precedencia toman
la forma de cadenas.

ALGORITMO 3.1.4 (TIEMPO TOTAL DE FINALIZACIÓN PONDERADO Y CADENAS)

Siempre que se libere la máquina, seleccione entre las cadenas restantes el que tiene el factor ρ
más alto. Procese esta cadena sin interrupción hasta e incluyendo el trabajo que determina su factor
ρ. || El siguiente ejemplo ilustra el uso del algoritmo.

PÁGINA 40
Ejemplo 3.1.5 (Tiempo total de finalización ponderado y cadenas) Considere las siguientes dos
cadenas:

Los pesos y tiempos de procesamiento de los trabajos se indican en la siguiente tabla

El factor ρ de la primera cadena es (6 + 18) / (3 + 6) y está determinada por la tarea 2. El factor ρ


de la segunda cadena es (8 + 17) / (4 + 8) y está determinada por la tarea 6. As 24 / 9 es mayor que
25/12 los trabajos 1 y 2 se procesan primero. El factor ρ de la parte restante de la primera cadena
es 12/6 y está determinado por el trabajo 3. Como 25/12 es más grande que 12/6, los trabajos 5 y
6 siguen a los trabajos 1 y 2. El factor ρ de la parte restante de la segunda cadena es 18/10 y está
determinada por el trabajo 7; por lo tanto, el trabajo 3 sigue al trabajo 6. Como la relación wj / pj
del trabajo 7 es mayor que la relación del trabajo 4, el trabajo 7 sigue al trabajo 3 y el trabajo 4 es
el último.
Se han obtenido algoritmos de tiempo polinomial para 1 | prec | ∑wjCj con restricciones de
precedencia más generales que las cadenas paralelas consideradas anteriormente. Sin embargo,
con las restricciones de precedencia arbitrarias, el problema es fuertemente NP-duro.

Hasta ahora, se suponía que todos los trabajos estaban disponibles en el momento cero. Considere
el problema donde los trabajos se liberan en diferentes puntos en el tiempo y el programador puede
anticiparse, es decir, 1 | rj, prmp | ∑ wjCj. La primera pregunta que se me ocurre es si una versión
preventiva de la regla del WSPT es óptima. Una versión preventiva de la regla WSPT se puede
formular de la siguiente manera: En cualquier momento, el trabajo disponible con la relación más
alta de peso con respecto al tiempo de procesamiento restante se selecciona para el procesamiento.
Por lo tanto, el nivel de prioridad de un trabajo aumenta mientras se procesa y, por lo tanto, otro
trabajo que ya estaba disponible al inicio de su procesamiento no puede ser reemplazado. Sin
embargo, un trabajo recién liberado puede anular un trabajo con un factor de prioridad más alto.
Si bien esta regla puede aparecer como una extensión lógica de la regla WSPT no preventiva, no
necesariamente conduce a un programa óptimo ya que el problema es fuertemente NP-duro
(consulte el Apéndice E).
Si todos los pesos son iguales, entonces el 1 | rj, prmp | el problema de Cj es fácil (vea el Ejercicio
3.15). Por otro lado, la versión no preventiva de este problema, es decir, 1 | rj | ∑ Cj, es fuertemente
NP-duro.

PÁGINA 41
3.1 El tiempo de finalización ponderado total 41 En el Capítulo 2, el tiempo de finalización
descontado ponderado total, siendo r el factor de descuento, se describe como un
objetivo que es, de alguna manera, una generalización del tiempo de finalización ponderado total
(sin descontar). El problema 1 || da lugar a una regla de prioridad diferente, a
saber, la regla que programa los trabajos en orden decreciente.

En lo que sigue, esta regla se conoce como la regla del Tiempo de procesamiento más corto con
descuento ponderado (WDSPT). Teorema 3.1.6. Para 1 || La WDSPT reglas
óptima.
Prueba. Por contradicción. Nuevamente, suponga que un horario diferente, por ejemplo, el horario
S, es óptimo. Bajo este programa, tiene que haber dos trabajos j y k, trabajo j seguido de trabajo k,
de modo que el
Supongamos trabajo j comienza su procesamiento en el tiempo t. Un intercambio de pares
adyacente entre estos dos trabajos da como resultado un horario S. Está claro que la única
diferencia en el objetivo se debe a los trabajos j y k. Bajo S, la contribución de los trabajos j y k a
la función objetivo es igual.

La contribución de los trabajos j y k al objetivo bajo S se obtiene intercambiando las j y k en esta


expresión. El álgebra elemental luego muestra que el valor de la función objetivo bajo S es menor
que bajo S. Esto lleva a la contradicción que completa la prueba.
Como se discutió en el Capítulo 2, el tiempo de finalización ponderado total no descontado es
básicamente un caso límite del tiempo de finalización ponderado descontado total.
La regla WDSPT da como resultado la misma secuencia que la regla del WSPT
si r es lo suficientemente cerca de cero (tenga en cuenta que el WDSPT la regla no está definida
correctamente para r = 0).
Ambos son casos especiales de la función objetivo más general
. Se ha demostrado que solo las funciones conducen a
reglas de prioridad simples que ordenan los trabajos en orden decreciente de alguna función g (wj,
pj). No existe tal función de prioridad g, que garantiza la optimalidad, para ninguna otra función
de costo h. Sin embargo, el objetivo se puede tratar a través de la Programación
Dinámica (ver Apéndice B).
De manera similar a como Lemma 3.1.2 generaliza el argumento de intercambio de pares
adyacentes para el WSPT, existe un resultado de intercambio de secuencias adyacentes que
generaliza el argumento de intercambio de pares adyacentes usado en la prueba de optimalidad
para la regla WDSPT.

PÁGINA 42
3.2 LA LATITUD MÁXIMA

Los objetivos considerados en las siguientes cuatro secciones están relacionados con la fecha de
vencimiento. El primer modelo relacionado con la fecha de vencimiento es de una naturaleza
bastante general, es decir, el problema

con hj, j = 1, ..., n, al no ser funciones de costo en aumento. Este objetivo está claramente
relacionado con la fecha de vencimiento, ya que las funciones hj pueden tomar cualquiera de las
formas representadas en la Figura 2.1. Este problema permite un eficiente algoritmo de
programación dinámica hacia atrás, incluso cuando los trabajos están sujetos a restricciones de
precedencia arbitrarias.

Está claro que la finalización del último trabajo se realiza en la fase de división. ,
que es independiente del horario. Deje que J indique el conjunto de trabajos ya programados, que
se procesan durante el intervalo de tiempo.

El complemento del conjunto J, conjunto Jc, indica el conjunto de trabajos que aún no se han
programado y el subconjunto J de Jc denota el conjunto de trabajos que se pueden programar
inmediatamente antes del conjunto J, es decir, el conjunto de trabajos cuyos sucesores se
encuentran en J. El conjunto J se conoce como el conjunto de trabajos programables. El siguiente
algoritmo hacia atrás produce un horario óptimo.

ALGORITMO 3.2.1 (MINIMIZAR EL COSTO MÁXIMO)

Paso 1. CM

y J: el conjunto de todos los trabajos sin sucesores.

Paso 2. Deje que j ∗ sea tal que

Agregar j* para J
Eliminar j ∗ de J ^ c
Modifique J para representar el nuevo conjunto de trabajos programables.

Paso 3.
Si J ^ c = ∅ DETENGA, de lo contrario, vaya al Paso 2.
PÁGINA 43
3.2 LA LATITUD MÁXIMA

Fig. 3.3 Prueba de optimalidad del teorema 3.2.2

TEOREMA 3.2.2.

El algoritmo 3.2.1 produce un horario óptimo para 1 | prec | h_max.


Por contradicción. Supongamos que en una iteración dada el trabajo j, seleccionado de J´, no tiene
el costo mínimo de finalización

entre los trabajos en J¨. El costo mínimo del trabajo j ∗ debe programarse en una iteración
posterior, lo que implica que el trabajo j ∗ debe aparecer en la secuencia antes del trabajo j ∗∗.
Incluso pueden aparecer varios trabajos entre los trabajos j ∗ y j ∗∗ (consulte la Figura 3.3). Para
mostrar que esta secuencia no puede ser óptima, tome el trabajo j ∗ e insértelo en el programa
inmediatamente después del trabajo j ∗∗. Todos los trabajos en la programación original entre los
trabajos j ∗ y j ∗∗, incluido el trabajo j ∗∗ en sí, ahora se completan antes. El único trabajo cuyo
aumento de costo de finalización es el trabajo j ∗. Sin embargo, su costo de finalización ahora es,
por definición, más pequeño que el costo de finalización del trabajo j ∗∗ según el programa
original, por lo que el costo máximo de finalización disminuye después de la inserción del trabajo
j ∗. Esto completa la prueba.

PÁGINA 44

El tiempo de cálculo de caso más desfavorable requerido por este algoritmo se puede establecer
de la siguiente manera. Hay n pasos necesarios para programar los n trabajos. En cada paso a lo
sumo n los trabajos deben ser considerados. El tiempo de ejecución total del algoritmo, por lo
tanto, está limitado por O (n ^ 2). El siguiente ejemplo ilustra la aplicación de este algoritmo.
Ejemplo 3.2.3 (Minimizar el costo máximo) Considere los siguientes tres trabajos.

El madepan Cmax = 10 y h3 (10) <h1 (10) <h2 (10) (como 10 <11 <12). Por lo tanto, el trabajo 3
se programa en último lugar y debe comenzar su procesamiento en el momento 5. Para determinar
qué trabajo debe procesarse antes del trabajo 3, h2 (5) debe compararse con h1 (5). El trabajo 1 o
el trabajo 2 pueden procesarse antes del trabajo 3 en un horario óptimo como h1 (5) = h2 (5) = 6.
Por lo tanto, dos horarios son óptimos: 1, 2, 3 y 2, 1, 3.

El problema 1 || Lmax es el caso especial más conocido de 1 | prec | hmax La función hj luego se
define como Cj - dj y el algoritmo produce el programa que ordena el trabajo en orden creciente
de sus fechas de vencimiento, es decir, la Fecha de vencimiento más temprana (EDD) primero.
Una generalización de 1 || Lmax es el problema 1 | rj | Lmax con los trabajos liberados en diferentes
puntos en el tiempo. Esta generalización, que no permite preferencia, es significativamente más
difícil que el problema con todos los trabajos disponibles en el momento 0. El programa óptimo
no es necesariamente un programa sin demora. Puede ser ventajoso mantener la máquina inactiva
justo antes del lanzamiento de un nuevo trabajo.

Teorema 3.2.4. El problema 1 | rj | Lmax es fuertemente NP-duro. Prueba. La prueba se basa en el


hecho de que 3-PARTITION se reduce a 1 | rj | Lmax. Dados los enteros a1, ..., a3t, b, tales que b
/ 4 <aj <b / 2 y 3t j = 1 aj = tb, la siguiente instancia de 1 | rj | Lmax puede ser construido. El
número de trabajos, n, es igual a 4t - 1 y
Sea z = 0. Existe un programa con Lmax ≤ 0 si y solo si cada trabajo j, j = 1, ..., t - 1, se puede
procesar entre rj y dj = rj + pj. Esto se puede hacer solo si los trabajos restantes se pueden dividir
en los intervalos t

PÁGINA 45
3.2 La latitud máxima

de la longitud b, que se puede hacer si y solo si 3-PARTICIÓN tiene una solución (consulte la
Figura 3.4). El 1 | rj | El problema de Lmax es importante porque aparece a menudo como un
subproblema en los procedimientos heurísticos para problemas de taller de flujo y de taller. Ha
recibido una cantidad considerable de atención que ha dado lugar a una serie de procedimientos
de bifurcación y atadura enumerativos razonablemente eficaces. Los procedimientos de derivación
y unión son básicamente esquemas de enumeración en los que ciertos programas o clases de
programas se descartan al mostrar que los valores del objetivo obtenidos con los programas de esta
clase son mayores que un límite inferior comprobable; este límite inferior es mayor o igual que el
valor del objetivo de un programa obtenido anteriormente. Un procedimiento de bifurcación y
unión para 1 | rj | Lmax se puede construir de la siguiente manera. El proceso de bifurcación puede
basarse en el hecho de que los horarios se desarrollan a partir del comienzo del horario. Hay un
solo nodo en el nivel 0, que es la parte superior del árbol. En este nodo no se ha puesto ningún
trabajo en ninguna posición en la secuencia. Hay n ramas que bajan a n nodos en el nivel 1. Cada
nodo en este nivel tiene un trabajo específico puesto en la primera posición en el cronograma. Por
lo tanto, en cada uno de estos nodos todavía hay n − 1 trabajos cuya posición en la programación
aún no se ha determinado. Hay n - 1 arcos que emanan de cada nodo desde el nivel 1 hasta el nivel
2. Por lo tanto, hay (n - 1) nodos × (n - 2) en el nivel 2. En cada nodo en el nivel 2, los trabajos en
las primeras dos posiciones se especifican En el nivel k, se especifican los trabajos en las primeras
k posiciones. En realidad, no es necesario considerar cada trabajo restante como candidato para el
próximo puesto. Si en un nodo en el nivel k - 1, los trabajos j1, ..., jk − 1 están programados como
los primeros trabajos k - 1, entonces el trabajo jk solo debe considerarse si en

donde J denota el conjunto de trabajos no programados y t denota el tiempo en que se supone que
debe iniciarse jk. El motivo de esta condición es claro: si el trabajo jk no satisface esta desigualdad,
la selección del trabajo que minimiza el lado derecho en lugar de jk no aumenta el valor de Lmax.
La regla de ramificación es, pues, bastante fácil. Hay varias formas de obtener límites para los
nodos. Se puede establecer un límite inferior fácil para un nodo en el nivel k-1 programando los
trabajos restantes J de acuerdo con la regla EDD preferente. Se sabe que la regla EDD preventiva
es óptima para 1 | rj, prmp | Lmax (consulte el Ejercicio 3.24) y la

PÁGINA 46
3 Modelos de una sola máquina (Determinístico)

Fig. 3.5 El procedimiento de derivación y enlace del Ejemplo 3.2.5

proporciona un límite inferior para el problema en cuestión. Si una regla EDD preferente da como
resultado una programación no preventiva, entonces todos los nodos con un límite inferior más
alto pueden ignorarse.

Ejemplo 3.2.5 (Branch-and-Bound para minimizar la latitud máxima) Considere los siguientes 4
trabajos.
En el nivel 1 del árbol de búsqueda hay cuatro nodos: (1, ∗, ∗, ∗), (2, ∗, ∗, ∗), (3, ∗, ∗, ∗) y (4, ∗, ∗,
∗ ). Es fácil ver que los nodos (3, ∗, ∗, ∗) y (4, ∗, ∗, ∗) pueden ignorarse inmediatamente. El trabajo
3 se libera en el tiempo 3; si la tarea 2 comenzaría su procesamiento en el momento 1, la tarea 3
aún puede comenzar en el momento 3. La tarea 4 se libera en el momento 5; si la tarea 1 comenzaría
a procesarse en el momento 0, la tarea 4 aún puede comenzar en el momento 5 (consulte la Figura
3.5).

PÁGINA 47
Cálculo de un límite inferior para el nodo (1, ∗, ∗, ∗) de acuerdo con los resultados de la regla EDD
preferente en una programación donde el trabajo 3 se procesa durante el intervalo de tiempo [4,5],
trabajo 4 durante el intervalo de tiempo [5,10], trabajo 3 (nuevamente) durante el intervalo [10,15]
y trabajo 2 durante el intervalo [15,17]. El Lmax de este programa, que proporciona un límite
inferior para el nodo (1, ∗, ∗, ∗), es 5. De manera similar, se puede obtener un límite inferior para
el nodo (2, ∗, ∗, ∗). El valor de este límite inferior es 7.

Considere el nodo (1, 2, ∗, ∗) en el nivel 2. El límite inferior para este nodo es 6 y está determinado
por el programa (no preventivo) 1, 2, 4, 3. Continúe con el nodo (1, 3, ∗, ∗) en el nivel 2. El límite
inferior es 5 y está determinado por el programa (no preventivo) 1,3,4,2. A partir del hecho de que
el límite inferior para el nodo (1, ∗, ∗, ∗) es 5 y el límite inferior para el nodo (2, ∗, ∗, ∗) es mayor
que 5, se sigue que el programa 1, 3, 4, 2 tiene que ser optimo ||
El problema 1 | rj, prec | Lmax se puede manejar de una manera similar. Este problema, desde el
punto de vista de la enumeración, es más fácil que el problema sin restricciones de precedencia,
ya que las restricciones de precedencia permiten descartar ciertos programas de inmediato.

3.3 EL NÚMERO DE TRABAJOS CON RETRASO

Otro objetivo relacionado con la fecha de vencimiento es ∑ Uj. Este objetivo puede parecer a
primera vista algo artificial y sin interés práctico. Sin embargo, en el mundo real, es una medida
de rendimiento que a menudo se monitorea y de acuerdo con los administradores que se miden. Es
equivalente al porcentaje de envíos a tiempo. Un horario óptimo para 1 || ∑ Uj toma la forma de
un conjunto de trabajos que cumplirán con sus fechas de vencimiento y que se programan primero,
seguidos del conjunto de trabajos restantes que no cumplirán con sus fechas de vencimiento y que
están programados en último lugar. De los resultados de la sección anterior se desprende que el
primer conjunto de trabajos debe programarse de acuerdo con EDD para asegurarse de que Lmax
es negativo; el orden en el que está programado el segundo conjunto de trabajos es irrelevante.

El problema 1 || ∑ Uj se puede resolver fácilmente usando un algoritmo de avance. Reorganice los


trabajos de tal manera que d1 ≤ d2 ≤ ··· ≤ dn. El algoritmo pasa por n iteraciones. En la iteración
k de los trabajos de algoritmo 1, 2, ..., k se tienen en cuenta. De estos k trabajos, el subconjunto J
se refiere a trabajos que, en un horario óptimo, pueden completarse antes de sus fechas de
vencimiento y el subconjunto Jd se refiere a trabajos que ya se han descartado y no cumplirán con
sus fechas de vencimiento en el calendario óptimo. En la iteración k, el conjunto Jc se refiere a los
trabajos k + 1, k + 2, ..., n.
Algoritmo 3.3.1 (Minimizar el número de trabajos tardíos) Paso 1.

PÁGINA 48
Paso 2.
Agregar trabajo k a J.
Eliminar trabajo k de J ^ c.
Vaya al Paso 3.

Paso 3.
Si

va al Paso 4.
De lo contrario, denote el trabajo que satisface

Eliminar trabajo, de J. Agregar trabajo, a J ^ d.


Paso 4.
Establezca Jk = J.
Si k = n DETENER, de lo,
Contrario configure k = k + 1 y vaya al Paso 2}

En palabras, el algoritmo se puede describir de la siguiente manera. Los trabajos se agregan al


conjunto de trabajos a tiempo en orden creciente de sus fechas de vencimiento. Si incluir el trabajo
k en el conjunto de trabajos programados implica que el trabajo k se completaría tarde, entonces
el trabajo programado con el tiempo de procesamiento más largo, por ejemplo, trabajo, se marcará
tarde y se descartará. Dado que el algoritmo básicamente ordena los trabajos según sus fechas de
vencimiento, el tiempo de cálculo del peor caso es el de una ordenación simple, es decir, O (n lo
g (n)). Tenga en cuenta que el algoritmo crea en su último paso n conjuntos de trabajos J1, ..., Jn.
Set Jk es un subconjunto de trabajos {1, ..., k}, que consiste en aquellos trabajos que son candidatos
para cumplir con sus fechas de vencimiento en el programa óptimo final. Set Jn consta de todos
los trabajos que cumplen con sus fechas de vencimiento en el programa óptimo generado.

TEOREMA 3.3.2. El algoritmo 3.3.1 produce un horario óptimo para 1 || ∑ Uj.

Prueba. La prueba utiliza la siguiente notación y terminología. Un conjunto de trabajos J se llama


factible si los trabajos, programados de acuerdo con el EDD, todos cumplen con sus fechas de
vencimiento. Un conjunto de trabajos J se llama l − óptimo si es un subconjunto factible de trabajos
1, ..., l y si tiene, entre todos los subconjuntos factibles de trabajos 1, ..., l, el número máximo de
trabajos. La prueba consta de tres pasos. El primer paso de la prueba muestra que los conjuntos de
trabajos J1, ..., Jn creados en el Paso 4 del algoritmo son todos factibles. Esto se puede mostrar por
inducción (ver Ejercicio 3.27). El segundo paso de la prueba muestra que para l> k, existe un
conjunto l-óptimo que consiste en un subconjunto de trabajos Jk y un subconjunto de trabajos k +
1, ..., l. Para mostrar esto, supongamos que es cierto para k - 1, es decir, existe un conjunto J óptimo
que consiste en un subconjunto de trabajos del conjunto Jk-1 y un subconjunto de trabajos k, k +
1, . . ., l.

PÁGINA 49
3.3 El número de trabajos que llegan tarde 49 Se puede mostrar que se puede crear un conjunto J
óptimo desde Jk y trabajos k + 1, ..., l considerando tres casos: Caso 1: El conjunto Jk consiste en
un conjunto JK − 1 más trabajo k. Para crear el conjunto J ", simplemente tome el conjunto J"

Caso 2: el conjunto Jk consiste en el conjunto Jk − 1 más el trabajo k menos algún trabajo q que
no es un elemento del conjunto J ". De nuevo, para crear el conjunto J, simplemente tome el
conjunto J”. Caso 3: El conjunto Jk es igual al conjunto Jk − 1 más el trabajo k menos algún trabajo
q que es un elemento del conjunto J ”. El argumento ahora es un poco más complicado. Dado que
Jk − 1 más k no es un conjunto viable, debe existir en el conjunto que comprende Jk − 1 y ka
trabajo r que no es un elemento de J”. Tomar cualquier r Ahora, para crear el conjunto J, tome el
conjunto J”, incluya el trabajo r y elimine el trabajo q. Claramente, el conjunto J es un subconjunto
de conjunto Jk y trabajos k + 1, ..., n. Dado que el número de trabajos en J "es el mismo que el
número de trabajos en J", solo queda por demostrar que J es factible. Dado que J "difiere de J" solo
en su intersección con los trabajos {1, ..., k}, basta con verificar dos propiedades, a saber, que el
conjunto de trabajos que es la intersección del conjunto J "y el conjunto {1, .. ., k} es factible y el
tiempo total de procesamiento de los trabajos en la intersección de J "y {1, ..., k} es menor o igual
al tiempo total de procesamiento de los trabajos en la intersección de J" y {1, ..., k}. La viabilidad
de la intersección de J” y el conjunto {1, ..., k} se desprende del hecho de que es un subconjunto
de Jk, que es factible debido al primer paso de la prueba. La segunda propiedad se deduce del
hecho de que pr ≤ pq.
El tercer y último paso de la prueba muestra que el conjunto Jk es k − óptimo para k = 1, ..., n.
Claramente es cierto para k = 0 y k = 1. Supongamos que es cierto para k - 1. De los pasos anteriores
se deduce que el conjunto que comprende Jk − 1 yk debe contener un conjunto óptimo de k. Si el
conjunto Jk contiene el conjunto completo Jk − 1 más el trabajo k, entonces debe ser claramente k
− óptimo ya que Jk − 1 es (k - 1) -optimo. Si el conjunto Jk − 1 combinado con el trabajo k no es
factible, entonces el conjunto k-óptimo debe ser un conjunto más pequeño dentro del conjunto que
contiene Jk − 1 y k; sin embargo, debe contener al menos tantos trabajos como el conjunto Jk-1.
Set Jk satisface claramente esta condición.

Los trabajos 1 y 2 se pueden colocar primero y segundo en la secuencia con los dos trabajos
completados a tiempo. Poner el trabajo 3 en la tercera posición causa problemas. Su tiempo de
finalización sería 19, mientras que la fecha de vencimiento es 18. El algoritmo 3.3.1 prescribe la
eliminación del trabajo con el tiempo de procesamiento más largo entre los tres primeros trabajos.
Por lo tanto, el trabajo 2 se elimina y los trabajos 1 y 3 permanecen en las dos primeras posiciones.
Si ahora el trabajo 4 sigue al trabajo 3, se completa a tiempo en la

PÁGINA 50
17; sin embargo, si el trabajo 5 sigue al trabajo 4, se completa tarde. El algoritmo luego prescribe
eliminar el trabajo con el tiempo de procesamiento más largo entre los que ya están programados,
que es el trabajo 1. Por lo tanto, el programa óptimo es 3, 4, 5, 1, 2 con ∑ Uj = 2. || Tenga en cuenta
que el algoritmo 3.3.1 es un algoritmo que avanza en el tiempo. Para este problema no hay ningún
algoritmo que retroceda en el tiempo.

Tenga en cuenta también que puede haber muchos horarios óptimos; caracterizar la clase de todos
los horarios óptimos parece ser un problema muy difícil. La generalización de este problema con
pesos, es decir, 1 ∑ || Se sabe que wjUj es NP- duro (ver Apéndice D). El caso especial con todas
las fechas de vencimiento iguales es equivalente al llamado problema de mochila. La fecha de
vencimiento es equivalente al tamaño de la mochila, los tiempos de procesamiento de los trabajos
son equivalentes a los tamaños de los artículos y los pesos son equivalentes a los beneficios
obtenidos al colocar los artículos en la mochila. Una heurística popular para este problema es la
regla del WSPT que secuencia los trabajos en orden decreciente de wj / pj. Un análisis del peor de
los casos muestra que esta heurística puede tener un desempeño arbitrariamente malo, es decir,
que la proporción

puede ser arbitrariamente grande.


Ejemplo 3.3.4 (La regla del WSPT y una mochila)
Considere los siguientes tres trabajos.

Programar los trabajos de acuerdo con los resultados del WSPT en el cronograma 1, 2, 3. El tercer
trabajo se completa con retraso y ∑ wjUj (WSPT) es 89. Programar los trabajos de acuerdo con 2,
3, 1 resultados en ∑ wjUj (OP T) igual a 12.

3.4 LA TARDANZA TOTAL - PROGRAMACIÓN DINÁMICA

El objetivo ∑ Tj también es importante en la práctica. Minimizar la cantidad de trabajos tardíos,


∑ Uj, en la práctica no puede ser el único objetivo para medir cómo se cumplen las fechas de
vencimiento. Es posible que algunos trabajos tengan que esperar un tiempo inaceptablemente largo
si se minimiza el número de trabajos tardíos. Si, en cambio, se minimiza la suma de los retrasos,
es menos probable que la espera de un trabajo determinado sea inaceptablemente larga.

PÁGINA 51
El modelo 1 || ∑ Tj ha recibido una enorme cantidad de atención en la literatura. Durante muchos
años, su complejidad computacional permaneció abierta, hasta que se estableció su dureza NP en
1990. Como 1 || ∑ Tj es NP-duro en el sentido ordinario, permite un algoritmo de tiempo pseudo-
polinomial basado en la programación dinámica (ver Apéndice D). El algoritmo se basa en dos
resultados preliminares. Lema 3.4.1. Si pj ≤ pk y dj ≤ dk, entonces existe una secuencia óptima en
la que el trabajo j está programado antes del trabajo k. Prueba. La prueba de este resultado se deja
como ejercicio. Este tipo de resultado es útil cuando se debe desarrollar un algoritmo para
un problema que es NP-duro. Tal resultado, a menudo denominado Resultado de Dominancia o
Criterio de Eliminación, a menudo permite ignorar un número bastante grande de secuencias. Este
resultado de dominancia también puede considerarse como un conjunto de restricciones de
precedencia en los trabajos. Cuantas más restricciones de precedencia se crean a través de tales
resultados de dominancia, más fácil se vuelve el problema. En el siguiente lema se considera la
sensibilidad de una secuencia óptima a las fechas de vencimiento. Se consideran dos instancias de
problemas, las cuales tienen n trabajos con tiempos de procesamiento p1, ..., pn. La primera
instancia tiene fechas de vencimiento d1, ..., dn. Sea C ”” _ k el último tiempo de finalización
posible del trabajo k en cualquier secuencia óptima, digamos S ”, para esta instancia.

La segunda instancia tiene fechas de vencimiento d1, ..., d_k − 1, max (dk, C ”” _ k), d_k + 1, ...,
dn. Sea S ”” denota la secuencia óptima con respecto a este segundo conjunto de fechas de
vencimiento y C ”” _ j la finalización del trabajo j en esta segunda secuencia.

Lema 3.4.2. Cualquier secuencia que sea óptima para la segunda instancia también es óptima para
la primera instancia.
Prueba. Deje que V ”(S) indique la tardanza total bajo una secuencia arbitraria S con respecto al
primer conjunto de fechas de vencimiento y que V” ”(S) indique la tardanza total bajo la secuencia
S con respecto al segundo conjunto de fechas de vencimiento. Ahora

, donde, si Ck ≤ dk, los dos conjuntos de fechas de vencimiento son iguales y la secuencia que es
óptima para el segundo conjunto también es óptima para el primer conjunto. Si C k ≥ dk, entonces

está claro que Ak ≥ Bk. Como S ” es óptimo para la segunda instancia V” ”(S”) ≥ V ”” (S ””). Por
lo tanto, V ”(S”) ≥ V ”(S” ”) que completa la prueba.

PÁGINA 52
En el resto de esta sección, se supone para los propósitos de la exposición que (sin pérdida de
generalidad) todos los tiempos de procesamiento son diferentes, si es necesario después de una
perturbación infinitesimal. Supongamos que d1 ≤ ··· ≤ dn y pk = m ax (p1, ..., pn). Es decir, el
trabajo con la fecha de vencimiento más pequeña kth tiene el tiempo de procesamiento más largo.
Del Lema 3.4.1 se deduce que existe una secuencia óptima en la que los trabajos {1, ..., k - 1}
aparecen, en algún orden, antes del trabajo k. De los trabajos n - k restantes, es decir, trabajos {k
+ 1, ..., n}, algunos pueden aparecer antes del trabajo k y otros pueden aparecer después del trabajo
k. El lema posterior se centra en estos trabajos n - k.

Lema 3.4.3. Existe un entero δ, 0 ≤ δ ≤ n - k, de manera que hay una secuencia óptima S en la que
el trabajo k está precedido por todos los trabajos j con j ≤ k + δ y seguido por todos los trabajos j
con j> k + δ.
Prueba. Deje que C ”” _ k denote el último tiempo de finalización posible del trabajo k en cualquier
secuencia que sea óptima con respecto a las fechas de vencimiento d1, ..., dn. Sea S ”” una
secuencia que sea óptima con respecto a las fechas de vencimiento d1, ..., dk − 1, max (C ”_k,
d_k), d_k + 1, ..., dn y que cumpla con la condición establecida en Lemma 3.4.1. Deje que C ”” _
k denote el tiempo de finalización del trabajo k en esta secuencia. La secuencia S ”” de Lemma
3.4.2 también es óptima con respecto a las fechas de vencimiento originales. Esto implica que
C ”” _ k ≤ max (C ”_k, dk). Se puede suponer que el trabajo k no está precedido en S "" por un
trabajo con una fecha de vencimiento posterior a la máxima (C "_k, dk) (si este hubiera sido el
caso, este trabajo estaría a tiempo y se reubicaría este trabajo insertando inmediatamente después
del trabajo k no aumentaría la función objetivo). Además, el trabajo k debe ir precedido por todos
los trabajos con una fecha de vencimiento anterior a max (C ”_k, dk) (de lo contrario, se violaría
el Lema 3.4.1). Por lo tanto, se puede elegir que sea el número entero más grande, de manera que
dk + δ ≤ max (C ”_k, d_k). Esto completa la prueba.

En el algoritmo de programación dinámica, se requiere una subrutina que genere una programación
óptima para el conjunto de trabajos 1, ..., comenzando con el procesamiento de este conjunto en el
tiempo t. Sea k el trabajo con el tiempo de procesamiento más largo entre estos l trabajos. Del
Lema 3.4.3 se deduce que para algunos δ (0 ≤ δ ≤ l - k) existe una secuencia óptima a partir de t
que puede considerarse como una concatenación de tres subconjuntos de trabajos, a saber:

(i) trabajos 1, 2, ..., k - 1, k + 1, ..., k + δ en algún orden, seguido de


(ii) trabajo k, seguido de
(iii) trabajos k + δ + 1, k + δ + 2,. ..., l en algún orden.
El tiempo de finalización del trabajo k, Ck (δ), está dado por

Está claro que para que toda la secuencia sea óptima, el primer y tercer subconjuntos deben estar
secuenciados de manera óptima dentro de ellos mismos. Esto sugiere un procedimiento de
programación dinámica que determina una secuencia óptima para un conjunto mayor de

PAGE 53

Trabajos después de haber determinado las secuencias óptimas para los subconjuntos adecuados
del conjunto mayor. Los subconjuntos J utilizados en este procedimiento recursivo son de un tipo
muy especial. Un subconjunto consta de todos los trabajos en un conjunto {j, j + 1, ..., l - 1, l} con
tiempos de procesamiento más pequeños que el tiempo de procesamiento pk del trabajo k. Tal
subconjunto se denota por J (j, l, k). Sea V (J (j, l, k), t) la tardanza total de este subconjunto bajo
una secuencia óptima, asumiendo que este subconjunto comienza en el momento t. El
procedimiento de programación dinámica ahora se puede establecer de la siguiente manera.

ALGORITMO 3.4.4 (MINIMIZACIÓN DE LA TARDANZA TOTAL)

Condiciones iniciales
Relación recursiva

Valor Función de valor

óptimo El valor óptimo de j Tj viene dado por V ({1, ..., n}, 0). El tiempo de cálculo de caso más
desfavorable requerido por este algoritmo se puede establecer de la siguiente manera. Hay, como
máximo, O (n ^ 3) subconjuntos J (j, l, k) y ∑ puntos pj en el tiempo t. Por lo tanto, hay como
máximo ecuaciones recursivas O (n ^ 3 ∑ pj) que deben resolverse en el algoritmo de
programación dinámica. Como cada ecuación recursiva toma O (n) tiempo, el tiempo total de
ejecución del algoritmo está limitado por O (n ^ 4 ∑ pj), que es claramente polinomial en n. Sin
embargo, debido al término ∑ pj, se califica solo como un algoritmo de tiempo seudopolinomio.

Ejemplo 3.4.5 (Minimización de la tardanza total)


Considere los siguientes 5 trabajos

PÁGINA 54
trabajos después de haber determinado las secuencias óptimas para los subconjuntos adecuados
del conjunto más grande. Los subconjuntos J utilizados en este procedimiento recursivo son de un
tipo muy especial. Un subconjunto consta de todos los trabajos en un conjunto j, j + 1, ..., l 1, l con
tiempos de procesamiento más pequeños que el tiempo de procesamiento pk del trabajo k. Tal
subconjunto se denota por J (j, l, k). Sea V (J (j, l, k), t) la tardanza total de este subconjunto bajo
una secuencia óptima, asumiendo que este subconjunto comienza en el momento t. El
procedimiento de programación dinámica ahora se puede establecer de la siguiente manera.
ALGORITMO 3.4.4 (MINIMIZACIÓN DE LA TARDANZA TOTAL)
Condiciones iniciales

V (∅, t) = 0,
V ({j}, t) = max (0, t + pj - dj).

Relación recursiva
V (∅, t) = 0,
V ({j}, t) = max (0, t + pj - dj).
V (J (j, l, k), t) = min. V (J (j, kj + δ, kj), t) + max (0, Ckr(δ) -
dkr) + V (J (kj + δ + 1, l, kj), Ckr(δ))
donde kj es tal que
pkr = max .pjr | jj ∈ J (j, l, k)
Value Función de valor óptimo
V ({1,..., n}, 0). ||

El valor Tj óptimo viene dado por V ({1, ..., n}, 0). El tiempo de cálculo de caso más desfavorable
requerido por este algoritmo se puede establecer de la siguiente manera. Hay como máximo los
subconjuntos O (n3) J (j, l, k) y los puntos pj en el tiempo t. Por lo tanto, hay como máximo
ecuaciones recursivas O (n3 pj) que deben resolverse en el algoritmo de programación dinámica.
Como cada ecuación recursiva lleva tiempo O (n), el tiempo total de ejecución del algoritmo está
limitado por O (n4 pj), que es claramente polinomial en n. Sin embargo, debido al término pj, se
califica solo como un algoritmo de tiempo seudopolinomio.
Ejemplo 3.4.5 (Minimizar la tardanza total)
Considere los siguientes 5 trabajos.
PÁGINA 55

El trabajo con el mayor tiempo de procesamiento es el trabajo 3.


Entonces, 0 ≤ δ ≤ 2. La ecuación recursiva produce:

Las secuencias óptimas de los conjuntos más pequeños se pueden


determinar fácilmente. Claramente, V (J (1, 3, 3), 0) es cero y
hay dos secuencias que producen cero: 1,2 y 2, 1. El valor de
V (J (4, 5, 3), 347) = 94 + 223 = 317
y esto se logra con la secuencia 4, 5. También
V (J (1, 4, 3), 0) = 0.
Este valor se logra con las secuencias 1, 2,4 y 2, 1, 4. El valor de
V (J (5, 5, 3), 430) es igual a 560 menos 337, que es 223. Finalmente,
V (J (1, 5, 3), 0) = 76.
Este valor se alcanza con las secuencias 1, 2, 4,5 y 2, 1, 4, 5.

Dos secuencias óptimas son 1, 2, 4, 5,3 y 2, 1, 4, 5, 3. ||


El 1 || 𝛴Los problemas de TJ también se pueden resolver con un procedimiento de derivación y
vinculación. Como este procedimiento de bifurcación y unión también se puede aplicar al
problema más general con ponderaciones arbitrarias, se presenta en la Sección 3.6.

3.5 LAS TARDANZAS TOTALES: UN ESQUEMA DE APROXIMACIÓN

desde 1 ||𝛴Tj es NP-duro, ni la programación dinámica ni ramificada puede ofrecer una solución
óptima en tiempo polinomial. Por lo tanto, puede ser interesante tener un algoritmo que produzca,
en tiempo polinomial, una solución que esté cerca de ser óptima. Un esquema de aproximación A
se llama totalmente polinomial si el valor del objetivo que alcanza, digamos 𝛴Tj (A), satisface
𝛴Tj (A) ≤ (1 + 𝜖)𝛴Tj (OPT),

donde 𝛴Tj (OPT) es el valor del objetivo en un programa óptimo. Además, para que el esquema
de aproximación sea totalmente polinomial, el tiempo de ejecución en el peor de los casos debe
estar delimitado por un Polinomio de grado fijo en n y en 1/4. El resto de esta sección explica
cómo se puede usar el algoritmo de programación dinámica descrito en la sección anterior para
construir un Esquema de aproximación de tiempo totalmente polinómico (FPTAS). Se puede
mostrar que un conjunto dado de n trabajos solo se puede programar con cero tardanzas totales si
y solo si el programa de EDD da como resultado una tardanza total de cero. Deje que 𝛴Tj (EDD)
denote la tardanza total bajo la secuencia de EDD y Tmax (EDD) la tardanza máxima, es decir,
max (T1, ..., Tn), bajo la secuencia EDD. Claramente,

Tmax (EDD) ≤𝛴Tj (OPT) ≤𝛴Tj (EDD) ≤ nTmax (EDD).


Sea V (J, t) la tardanza total mínima del subconjunto de tareas J, que comienza el procesamiento
en el tiempo t. Para cualquier subconjunto J, se puede calcular un tiempo t ∗ tal que V (J, t) = 0
para t ≤ t ∗, y V (J, t)> 0 para t> t ∗. Además, se puede demostrar fácilmente que

V (J, t ∗ + δ) ≥ δ,
para δ ≥ 0. Por lo tanto, al ejecutar el pseudo polinomial algoritmo de programación dinámica
descrito anteriormente, solo hay que calcular V (J, t) para
t ∗ ≤ t ≤ n Tmax (EDD).
Sustituyendo 𝛴pj en el tiempo de ejecución general del algoritmo de programación dinámico
por nTmax (EDD) se obtiene un nuevo tiempo de ejecución vinculado a O (n5Tmax (EDD)).
Ahora reemplace los tiempos de procesamiento dados pj por los tiempos de procesamiento
rescaldados.

pj = pj / K,
donde K es un factor de escala elegido adecuado. (Esto implica que pj es el entero más grande
que es menor o igual que pj / K). Reemplace las fechas de vencimiento dj por las nuevas fechas
de vencimiento dj por las nuevas fechas de vencimiento
𝑑 "j = dj / K

(pero sin redondeo). Considere una secuencia óptima con respecto a los tiempos de
procesamiento reescalados y las fechas de vencimiento reescaladas y llame a esta secuencia S.
Esta secuencia se puede obtener dentro del límite de tiempo O (n5Tmax (EDD) /K). sea ∑T;(S)
denota la tardanza total bajo la secuencia S con respecto a los tiempos de procesamiento Kp j y
las fechas de vencimiento originales y deja que Tj (S) denote la tardanza total con respecto a
los tiempos de procesamiento originales pj (que puede ser un poco más grande que Kpj) y las
fechas de vencimiento originales. Desde El hecho de que
Kpj≤ pj <K (pj + 1), Prevenciones
PÁGINA 56
resulta que

De esta cadena de desigualdades se deduce que

Recordemos que el objetivo es que S cumpla.

Si K es elegido de tal manera que

entonces el resultado más fuerte

es obtenido. Además, para esta elección de K, el límite temporal O (n5Tmax (EDD) / K) se


convierte en O (n7 / 4), lo que hace que el esquema de aproximación sea completamente
polinomial. Este esquema de aproximación de tiempo totalmente polinomial se puede resumir
de la siguiente manera:
Algoritmo 3.5.1 (FPTAS para minimizar la tardanza total)
Paso 1.
Aplicar EDD y determinar Tmax. Si Tmax = 0, entonces. Tj = 0 y EDD es óptimo;
DETENER. De lo contrario establecer

Paso 2.
Reventa los tiempos de procesamiento y las fechas de vencimiento de la siguiente manera:

Paso 3.
Aplicar el algoritmo 3.4.4 a los datos reescalados. || La secuencia generada por este algoritmo,

digamos secuencia S, satisface


PÁGINA 57
El siguiente ejemplo ilustra el esquema de aproximación.
Ejemplo 3.5.2. (FPTAS Minimización de las tardanzas totales)
Considere una sola máquina y 5 trabajos.

Se puede verificar (a través de la programación dinámica) que la secuencia óptima es 1, 2, 4, 5,


3, y que la tardanza total bajo esta secuencia óptima es 3700. La aplicación de EDD produce
Tmax (EDD) = 2230. Si se elige 4 a 0.02, entonces K = 2.973. Los datos reescalados son:

Resolver este caso utilizando el procedimiento de programación dinámica descrito en la Sección


3.4 produce dos secuencias óptimas: 1,2,4,5,3 y 2,1,4,5,3. Si la secuencia 2,1,4,5,3 se aplica al
conjunto de datos original, entonces la tardanza total es 3704. Claramente

3.6 La tardanza total ponderada


El problema 1 |
wjTj es una generalización importante de la 1 || Tj problema discutido en las secciones anteriores.
Docenas de investigadores han trabajado en este problema y han experimentado con muchos
enfoques diferentes. Los enfoques abarcan desde sofisticadas técnicas de uso intensivo de
computadoras hasta bastante heurística cruda diseñada principalmente para la implementación en
la práctica. El algoritmo de programación dinámica para 1 || Tj descrito en el anterior. La sección
también puede tratar con pesos agradables, es decir, pj â ‰ ¥ pk = â ‡ ’wj â ‰ ¤ wk. El lema
3.4.1 se puede generalizar a este caso de la siguiente manera: Lema 3.6.1. Si hay dos trabajos j y
k con dj â ‰ ¤ dk, pj â ‰ ¤ pk y wj â ‰ ¥ wk, entonces hay una secuencia óptima en la que el
trabajo j aparece antes del trabajo k.
PÁGINA 58

Prueba. La prueba se basa en un argumento de intercambio por pares (no necesariamente


adyacentes).
Desafortunadamente, no se puede obtener ningún algoritmo eficiente para 1 wjTj con pesos
arbitrarios.
Teorema 3.6.2. El problema 1 || wjTj es fuertemente NP-duro.
Prueba. La prueba se realiza de nuevo reduciendo 3-PARTICIÓN a 1 || wjTj. La reducción se
basa en la siguiente transformación. Nuevamente, el número de trabajos, n, se elige para que
sea igual a 4t - 1 y

Se puede mostrar que existe una planificación con un valor objetivo z si y sólo si existe una
solución para el problema de 3-PARTICIÓN. Los primeros 3t trabajos tienen una relación wj /
pj igual a 1 y vencen en el momento 0. Hay t - 1 trabajos con una relación wj / pj igual a 2 y sus
fechas de vencimiento son b + 1, 2b + 2, y así en. Se puede obtener una solución con valor z si
estos trabajos t − 1 pueden procesarse exactamente durante los intervalos.

(Ver Figura 3.6). Para ajustar estos trabajos t − 1 en estos intervalos t − 1, los primeros trabajos
3t debe particionarse en t subconjuntos de tres trabajos, cada uno con la suma de los tres tiempos
de procesamiento en cada subconjunto igual a b. Se puede verificar que, en este caso, la suma
de las tardanzas ponderadas es igual a z. Si tal partición no es posible, entonces hay al menos
un subconjunto del cual el resumen de los tres tiempos de procesamiento es mayor que by un
otro subconjunto del cual la suma de los tres tiempos de procesamiento es menor que b. Se
puede verificar que en este caso la suma de las tardanzas ponderadas es mayor que z.
Por lo general, se utiliza un enfoque de bifurcación y unión para 1 || wjTj. La mayoría de las
veces, los horarios se construyen desde el final, es decir, hacia atrás en el tiempo. En el jth nivel
del árbol de búsqueda, los trabajos se colocan en la posición (n − j +1) th. Entonces, desde cada
nodo en el nivel j −1 hay n − j +1 ramificaciones que van al nivel j. Puede que no.
PÁGINA 59
descrito en el Lema 3.6.1 puede eliminar varios nodos. ¡El límite superior del número de nodos
en el nivel j es n! / (N − j)! El argumento para construir la secuencia hacia atrás es que es
probable que los términos más grandes en la función objetivo se correspondan con los trabajos
que están más posicionados hacia el final del cronograma. Parece ser ventajoso programar estos
primero.
Hay muchas técnicas de delimitación diferentes. Una de las técnicas de delimitación más
elementales se basa en una relajación del problema de un problema de transporte. En este
procedimiento, cada tarea j con el tiempo de procesamiento (entero) pj se divide en tareas pj,
cada una con tiempo de procesamiento unitario. Las variables de decisión xjk son 1 si una
unidad de trabajo j se procesa durante el intervalo de tiempo [k − 1, k] y 0 en caso contrario.
Estas variables de decisión xjk deben satisfacer dos conjuntos de restricciones:

Claramente, una solución que satisfaga estas restricciones no garantiza un calendario viable sin
privilegios. Definir los coeficientes de costo cjk que satisfacen.

Cmax. Entonces la solución de costo mínimo proporciona una


Límite inferior, ya que para cualquier solución del problema de transporte con
Cj lo siguiente se mantiene

Es bastante fácil encontrar funciones de costo que satisfagan esta relación. Por ejemplo,
conjunto

La solución del problema de transporte proporciona un límite inferior para 1 || wjTj. Esta técnica
de delimitación se aplica al conjunto de trabajos no programados en cada nodo del árbol. Si el
límite inferior es más grande que la solución de cualquier programa conocido, entonces el nodo
puede ser eliminado.
PÁGINA 60
Ejemplo 3.6.3 (Minimización de las tardanzas totales ponderadas) Considere los siguientes
4 trabajos.

Del Lema 3.6.1 se deduce inmediatamente que, en una secuencia óptima, el trabajo 4 sigue al
trabajo 2 y el trabajo 3 sigue al trabajo 1. El árbol de ramificación y unión se construye al revés en
el tiempo. Solo dos trabajos deben considerarse candidatos para la última posición, a saber, los
trabajos 3 y 4. Los nodos del árbol de derivación y rama que deben investigarse se muestran en la
Figura 3.7. Para seleccionar una rama para buscar primero, los límites se determinan para ambos
nodos en el nivel 1.
Se puede obtener un límite inferior para una secuencia óptima entre la descendencia del nodo (∗,
∗, ∗, 4) considerando el problema de transporte descrito anteriormente aplicado a los trabajos 1, 2
y 3. Las funciones de costo se seleccionan de la siguiente manera
PÁGINA 61

La asignación óptima de segmentos de trabajo a intervalos de tiempo coloca el trabajo 1 en los


primeros 12 espacios, el trabajo 2 en los espacios 19 a 26 y el trabajo 3 en los espacios 13 a 18 y
27 a 35 (esta solución óptima puede encontrarse resolviendo un problema de transporte, pero Por
supuesto, también se puede encontrar por prueba y error). El costo de esta asignación de los tres
trabajos es 3 × 9 (el costo de asignar el trabajo 3 a los espacios 27 a 35). Para obtener un límite
inferior para el nodo, se debe agregar la tardanza del trabajo 4; esto resulta en el límite inferior 27
+ 80 que es igual a 107.
De manera similar, se puede obtener un límite inferior para el nodo (∗, ∗, ∗, 3). Un límite inferior
para un horario óptimo para los trabajos 1, 2 y 4 arroja 8, mientras que la tardanza del trabajo 3 es
54, lo que da como resultado un límite de 62.
Como el nodo (∗, ∗, ∗, 3) parece ser el nodo más prometedor, la descendencia de este nodo se
considera primero. Resulta que el mejor horario accesible desde este nodo es 1, 2, 4, 3 con un valor
objetivo de 64. A partir del hecho de que el límite inferior para (∗, ∗, ∗, 4) es 107 se deduce que 1,
2, 4, 3 es el mejor programa general. ||Hay muchos procedimientos heurísticos para este problema.
El capítulo 14 describe una regla de despacho compuesta, la llamada regla de costo de tardanza
aparente (ATC), en detalle.
3.7 discusión
Todos los modelos considerados en este capítulo tienen funciones objetivas regulares. Esta es una
de las razones por las que la mayoría de los modelos son relativamente fáciles. Algunos pueden
resolverse mediante reglas de prioridad (despacho) simples, por ejemplo, WSPT, EDD. La
mayoría de los modelos que no se pueden resolver a través de reglas de prioridad simples, aún se
pueden resolver en tiempo polinomial o en tiempo pseudo-polinomial. Los modelos que se pueden
resolver en tiempo polinomial se tratan generalmente a través de la programación dinámica, por
ejemplo, 1 | prec | hmax, 1 || Tj. Uno de los problemas fuertemente NP-duro considerados en este
capítulo es 1 || wjTj. Este problema ha recibido una enorme atención en la literatura. Hay dos
enfoques para obtener soluciones óptimas, a saber, programación dinámica y ramificada. Sección
3.6 presenta un enfoque de ruedas, mientras que el Apéndice B describe un enfoque de
programación dinámica que puede aplicarse al problema más general 1 || hj (cj). Este capítulo
también ha mostrado una aplicación de una aproximación de tiempo totalmente polinomial.
Esquema (FPTAS) para un problema de programación de una sola máquina. Terminado
Los esquemas de aproximación de tiempo polinomial (PTAS) de la última década y los esquemas
de aproximación de tiempo polinomial total (FPTAS) han recibido una enorme cantidad de
atención. La mayor parte de esta atención se ha centrado en problemas NP-difíciles.
PÁGINA 62
Que están cerca de los límites que separan los problemas NP-difíciles de los problemas de tiempo
de polinomio, por ejemplo, 1 | rj | Cj.
La mayoría de los problemas descritos en este capítulo se pueden formular como programas de
enteros mixtos (MIP). Las formulaciones de programación de enteros mixtos de varios problemas
de programación de una sola máquina se presentan en el Apéndice A. Este apéndice también ofrece
una descripción general de las técnicas que se pueden aplicar a los MIP.
Este capítulo no presenta todos los procedimientos y técnicas posibles que se pueden aplicar a los
problemas de programación de una sola máquina. Una clase importante de procedimientos de
solución suele denominarse programación de restricciones. El Apéndice C proporciona una
descripción detallada de esta clase de procedimientos y el Capítulo 15 proporciona un ejemplo de
un procedimiento de programación de restricciones que se puede aplicar a 1 | rj | wjUj.
Se han desarrollado muchos procedimientos heurísticos que se pueden aplicar a problemas de
programación de una sola máquina. Estos procedimientos incluyen las llamadas reglas de
despacho compuestas, así como las técnicas de búsqueda local. El Capítulo 14 proporciona una
descripción detallada de estas técnicas y sus aplicaciones para problemas de una sola máquina.
El siguiente capítulo considera problemas más generales y más complicados de una sola máquina.
Se enfoca en problemas de funciones objetivas no regulares y en problemas con múltiples
funciones objetivas.
Ejercicios (computacional)
3.1. Considere 1 || wjCj con los siguientes pesos y tiempos de procesamiento.

(a) Encuentre todas las secuencias óptimas.


(b) Determine el efecto de un cambio en p2 de 6 a 7 en óptima secuencia (s).
(c) Determine el efecto del cambio en (b) sobre el valor del objetivo.
3.2. Considere 1 | cadenas | wjCj con el mismo conjunto de trabajos que en Ejercicio
3.1. (A). Los trabajos ahora están sujetos a restricciones de precedencia que toman la forma
de cadenas:

Encuentra todas las secuencias óptimas.


PÁGINA 63
Considere 1 || wj (1 − e − rCj) con el mismo conjunto de tareas que en el Ejercicio 3.1.
(a) Suponga que la tasa de descuento r es 0.05. Encuentra la secuencia óptima. Lo es
¿único?
(b) Suponga que la tasa de descuento r es 0.5. ¿Cambia la secuencia óptima?
3.4. Encuentra todas las secuencias óptimas para la instancia de 1 || hmax con los siguientes
trabajos.

3.5. Considere 1 | prec | hmax con el mismo conjunto de tareas que en el Ejercicio 3.4 y las
siguientes restricciones de precedencia.

Encuentra la secuencia óptima.


3.6. Resuelva por ramificación y acote la siguiente instancia de 1 | rj | Problema de LMAX.

3.7. Considere el mismo problema que en el ejercicio anterior. Sin embargo, ahora los trabajos
están sujetos a las siguientes restricciones de prioridad.

Encuentra la secuencia óptima.


3.8. Encuentra la secuencia óptima para la siguiente instancia del 1 || Tj problema.
PÁGINA 64
Sugerencia: antes de aplicar el algoritmo de programación dinámica, considere primero el criterio
de eliminación en el Lema 3.4.1.
3.9. Considere una sola máquina y 6 trabajos.

Aplique el FPTAS descrito en la Sección 3.5 a esta instancia con 4 = 0.02. ¿Todas las secuencias
que son óptimas para el conjunto de datos reescalado también son óptimas para el conjunto de
datos original?
3.10. Encuentra la secuencia óptima para la siguiente instancia del 1 || wjTj problema.

Ejercicios (Teoría)
3.11. Considere 1 || ?
wj (1 − e − rCj). Supongamos que wj / pj? = Wk / pk para todos j y
k. Demuestre que para r lo suficientemente cerca de cero la secuencia óptima es WSPT.
3.12. Demuestre que, si todos los trabajos tienen pesos iguales, es decir, wj = 1 para todos j, la
regla WDSPT es equivalente a la regla de Tiempo de procesamiento más corto (SPT) para
cualquier r, 0 <r <1.
3.13. ¿Considera el problema 1 | prmp |∑ hj (cj)? Muestre que, si las funciones hj no disminuyen,
existe un programa óptimo que no es preventivo.
¿El resultado sigue siendo válido para las funciones arbitrarias hj?
3.14. ¿Considera el problema 1 | rj |∑Cj?
(A) Demostrar a través de un contraejemplo que la regla no preventiva que selecciona, cada vez
que una máquina se libera, el trabajo más corto entre las disponibles para el procesamiento no
siempre es óptima. En las partes (b) y (c) esta regla se conoce como SPT ∗.
(b) Realice un análisis del peor caso de la regla SPT ∗, es decir, determine el Valor máximo posible
de la relación.
PÁGINA 65
(c) Diseñar una heurística para 1 | rj | Cj que se desempeña mejor que SPT ∗.
3.15. Considera el problema 1 | rj, prmp | Cj. Mostrar que el preventivo. La regla de Tiempo de
procesamiento restante más corto (SRPT) es óptima.
3.16. Considera el problema 1 | prmp | Cj con la restricción adicional. Ese trabajo j debe
completarse con una fecha límite dura ¯ dj. Suponiendo que haya programas factibles, proporcione
un algoritmo que minimice el tiempo total de finalización y demuestre que conduce a la
optimalidad.
3.17. Considere la siguiente versión preventiva de la regla de WSPT: si pj (t) denota el tiempo de
procesamiento restante del trabajo j en el momento t, entonces es un preventivo. La versión de la
regla WSPT coloca en cada punto el trabajo con la mayor relación wj / pj (t) en la máquina.
Muestre, a través de un contraejemplo, que esta regla no es necesariamente óptima para 1 | rj, prmp
| wjCj.
3.18. Dar un algoritmo para 1 | entre | WjCj y demostrar que conduce a un horario óptimo (recuerde
que en un intree cada trabajo tiene a lo más un sucesor).
3.19. Dar un algoritmo para (1) Diseñar una heurística para 1 | rj | Cj que se desempeña mejor que
SPT ∗ 1 | outtree wjCj y demuestre que conduce a un horario óptimo (recuerde que en un outree
cada trabajo tiene a lo sumo un predecesor).
3.20. Considera el problema 1 || Lmax. La regla de Mínimo Slackfirst (MS) selecciona en el
momento t, cuando se libera una máquina, entre los trabajos restantes el trabajo con el mínimo de
holgura máximo (dj - pj - t, 0). Muestre a través de un contraejemplo que esta regla no es
necesariamente óptima.
3,21. Realice un intercambio de secuencia adyacente para la función de costo de tiempo de flujo
descontado ponderado. Es decir, declarar y probar un resultado similar al Lemma 3.1.2.
3,22. Considera el problema 1 | cadenas | wj (1 - e − rCj). Describa el algoritmo que resuelve este
problema y pruebe que resulta en una secuencia óptima.
3,23. Considera el problema 1 | prec | max (h1 (S1), ..., hn (Sn)), donde S denota la hora de inicio
del trabajo j. La función de costo hj, j = 1,. . . , n está disminuyendo. No se permite la inactividad
no forzada de la máquina. Describa un algoritmo de tipo de programación dinámica para este
problema similar al de la Sección 3.2. ¿Por qué hay que usar aquí la programación dinámica hacia
delante en lugar de la programación dinámica hacia atrás?
3,24. Considera el problema 1 | rj, prmp | Lmax. Determine el horario óptimo y demuestre su
optimalidad.
3,25. Muestra esa
(a) SPT es óptimo para 1 | brkdwn | Cj,
(b) Algoritmo 3. 3.1 es óptimo para 1 | brkdwn | Uj
(c) El WSPT no es necesariamente óptimo para 1 | brkdwn | wjCj.
PÁGINA 66
3.26. Considere 1 || wjTj.
Probar o refutar la siguiente declaración: Siwj / pj> wk / pk, pj <pk, y dj <dk, entonces existe una
secuencia óptima en la que el trabajo j aparece antes del trabajo k.3,27. Completa el primer paso
de la prueba del teorema 3.3.2.

Comentarios y referencias
La optimalidad de la regla del WSPT para 1 || wj Cj aparece en el papel seminal y W.E. Smith
(1956). Lawler (1978), Monma y Sidney (1979, 1987), M¨ohring y Radermacher (1985a) y Sidney
y Steiner (1986) presentan todos muy elegantes resultados para 1 | prec | wjCj; Las clases de
restricciones de precedencia consideradas en estos documentos son bastante generales e incluyen
cadenas, así como entre intereses y out trees. El 1 | rj, prmp | Cj problema según lo analizado por
Schrage (1968). La prueba de complejidad para 1 | rj, prmp | wjCj se debe a Labetoulle, Lawler,
Lenstra y Rinnooy Kan (1984). Rothkopf (1966a, 1966b) y Rothkopf y Smith (1984) analizan 1 ||
wj (1 - e − rCj).
La regla EDD se debe a Jackson (1955) y el algoritmo o 1 | prec | hmax se debe a Lawler (1973).
La prueba de complejidad para 1 | rj | Lmax aparece en Lenstra, Rinnooy Kan y Brucker (1977).
Muchos investigadores han trabajado en métodos de bifurcación para 1 | rj | Lmax; véase, por
ejemplo, McMahon y Florian (1975), Carlier (1982) y Nowicki y Zderzaka (1986). Potts (1980)
analiza una heurística para 1 | rj | Lmax.
El algoritmo 3.3.1, que minimiza el número de trabajos tardíos, es de Moore (1968). Kise, Ibaraki
y Mine (1978) consideran el 1 | rj | Uj problema. La dureza NP de 1 || wjUj (es decir, el problema
de la mochila) se establece en el documento clásico de Karp (1972) sobre la complejidad
computacional. Sahni (1976) presenta un algoritmo de tiempo pseudo polinomial para este
problema y Gens y Levner (1981) e Ibarra y Kim (1978) proporcionan algoritmos de aproximación
rápida. Potts y Van Wassenhove (1988) proporcionan un algoritmo muy eficiente para la relajación
de la Programación Lineal del problema de la mochila. Van den Akker y Hoogeveen (2004)
ofrecen una descripción detallada de Problemas de programación con el objetivo wjUj. (Un
problema relacionado con el problema de la mochila es el llamado problema de asignación de la
fecha de vencimiento. Este problema también ha recibido mucha atención; ver Panwalkar, Smith
y Seidmann (1982) y Cheng y Gupta (1989).) La condición de dominancia en El lema 3.4.1 se
debe a Emmons (1969) y el Algoritmo de tiempo pseudo-polinomial 3.4.4 es de Lawler (1977). El
NPhardness de 1 || Tj es mostrado por Du y Leung (1990). Para trabajo adicional.
CAPÍTULO 10
MODELOS DE UNA SOLA MÁQUINA (ESTOCÁSTICO)

10.1 Distribuciones arbitrarias sin prejuicios. . . . . ……………………………………………. 263


10.2 Distribuciones arbitrarias con derechos: el Índice de Gittins ……………………………270
10.3 Distribuciones ordenadas de cociente de probabilidad…………………………………….275
10.4 Distribuciones exponenciales…………………………………………………………….. 278
10.5 Discusión......................................................................................................................... ... 285

Los modelos estocásticos, especialmente con tiempos de procesamiento exponenciales, a menudo


pueden contener más estructura que sus homólogos deterministas y pueden llevar a resultados que,
a primera vista, parecen sorprendentes. Los modelos que son duros en NP en un entorno
determinista a menudo permiten que una política de prioridad simple sea óptima en un entorno
estocástico. En este capítulo, se analizan primero los modelos de una sola máquina con tiempos de
procesamiento arbitrarios en una configuración no preventiva. Luego se consideran los casos
preventivos, seguidos de los modelos en los que los tiempos de procesamiento se ordenan según
la proporción de probabilidad. Finalmente, se analizan los modelos con tiempos de procesamiento
distribuidos exponencialmente.

PÁGINA 263

10.1 DISTRIBUCIONES ARBITRARIAS SIN PREFERENCIAS

Para una serie de problemas estocásticos, encontrar la política óptima es equivalente a resolver un
problema de programación determinista. Generalmente, cuando existe una relación de
equivalencia, la contraparte determinista se puede obtener reemplazando todas las variables
aleatorias con sus medios. El programa óptimo para el problema determinista minimiza el objetivo
de la versión estocástica en expectativa. Uno de estos casos es cuando el objetivo en la contraparte
determinista es lineal en p (j) yw (j), donde p (j) yw (j) denotan el tiempo de procesamiento y el
peso del trabajo en la posición j en th la secuencia.
PÁGINA 264

Esta observación implica que es fácil encontrar el programa de permutación óptimo para la
contraparte estocástica de 1 || ΣwjCj, cuando el tiempo de procesamiento del trabajo j es Xj, de
una distribución arbitraria Fj, y el objetivo es E ( Σ wjCj). Este problema lleva a la versión
estocástica de la regla del WSPT, que secuencia los trabajos en orden decreciente de la relación
wj / E (Xj) o λjwj. A continuación, se hace referencia a esta regla como la regla del Tiempo de
procesamiento más corto esperado ponderado (WSEPT) o como la regla λw.

Teorema 10.1.1. La regla SPT minimiza la suma esperada de los tiempos de finalización
ponderados en la clase de políticas de listas estáticas no preventivas, así como en la clase de
políticas dinámicas no preventivas.

Prueba. La prueba para las políticas de listas estáticas no preventivas es similar a la prueba para la
contraparte determinista de este problema. La prueba se basa en un argumento de intercambio de
pares adyacentes idéntico al que se usó en la prueba del teorema 3.1.1. La única diferencia es que
los pj en esa prueba tienen que ser reemplazados por los de E (Xj).
La prueba de las políticas dinámicas no preventivas necesita un argumento adicional. Es fácil
demostrar que es cierto para n = 2 (de nuevo, un argumento de intercambio de pares adyacentes).
Ahora considera tres trabajos. Está claro que los dos últimos trabajos deben secuenciarse de
acuerdo con la regla λw. Estos dos últimos trabajos se secuenciarán en este orden,
independientemente de lo que ocurra durante el procesamiento del primer trabajo y del tiempo de
finalización del primer trabajo. Entonces, pueden ocurrir tres secuencias: cada uno de los tres
trabajos que comienzan primero y los dos trabajos restantes secuenciados de acuerdo con la regla
λw. Un argumento de intercambio simple entre el primer trabajo y el segundo muestra que los tres
trabajos deben secuenciarse de acuerdo con la regla λw. Se puede demostrar por inducción que
todos los n trabajos deben secuenciarse de acuerdo con la regla λw en la clase de políticas
dinámicas no preventivas: suponga que es cierto para n - 1 trabajos. Si hay n trabajos, de la
hipótesis de inducción se desprende que los últimos n − 1 trabajos deben secuenciarse de acuerdo
con la regla λw. Supongamos que el primer trabajo no es el trabajo con el λjwj más alto.
Intercambiar este trabajo con el segundo trabajo en la secuencia, es decir, el trabajo con el λjwj
más alto, produce una disminución en el valor esperado de la función objetivo. Esto completa la
demostración del teorema.
Se puede mostrar que la regla SWEPT no preventiva también es óptima en la clase de políticas
dinámicas preferentes cuando todas las n distribuciones de tiempo de procesamiento son ICR. Esto
se deriva del hecho de que en cualquier momento cuando se contempla una preferencia, la
proporción de λw del trabajo que se encuentra actualmente en la máquina es realmente mayor que
cuando se colocó en la máquina (el tiempo de procesamiento restante esperado de un trabajo de
ICR disminuye a medida que avanza el procesamiento). en). Si la relación del trabajo fue la más
alta entre los trabajos restantes cuando se colocó en la máquina, sigue siendo la más alta mientras
se procesa.
No se puede decir lo mismo sobre los trabajos con distribuciones DCR. El tiempo de
procesamiento restante esperado luego aumenta mientras se procesa un trabajo. Por lo tanto, el
peso dividido por el tiempo de procesamiento restante esperado de un trabajo, mientras se

PÁGINA 265

procesa la, disminuye con el tiempo. Por lo tanto, las preferencias pueden ser ventajosas cuando
los tiempos de procesamiento son DCR.

Ejemplo 10.1.2 (Política óptima con variables aleatorias que son DCR)

Considere n trabajos con el tiempo de procesamiento Xj distribuido de la siguiente manera. El


tiempo de procesamiento Xj es 0 con probabilidad pj y se distribuye de acuerdo con un exponencial
con tasa λj con probabilidad 1 − pj. Claramente, esta distribución es DCR ya que es una mezcla de
dos exponenciales con tasas ∞ y λj. El objetivo a minimizar es la suma esperada de los tiempos de
finalización ponderados. La política dinámica preventiva óptima es clara. Todos los n trabajos
deben probarse por una fracción de segundo en el tiempo cero, para determinar qué trabajos tienen
cero tiempos de procesamiento. Si un trabajo no tiene cero tiempos de procesamiento, se retira
inmediatamente de la máquina. Después de haber determinado de esta manera qué trabajos tienen
tiempos de procesamiento distintos de cero, estos trabajos restantes se secuencian en orden
decreciente de λjwj.
Considere la siguiente generalización de la contraparte estocástica de 1 || ΣwjCj descrito
anteriormente. La máquina está sujeta a averías. Los tiempos de "actualización", es decir, los
tiempos en que la máquina está en funcionamiento, se distribuyen exponencialmente con la tasa ν.
Los tiempos de "inactividad" son independientes e idénticamente distribuidos (iid) de acuerdo con
la distribución G con media 1 / µ. Se puede mostrar que incluso en este caso la regla λw es óptima.
En realidad, se puede demostrar que este problema estocástico con fallas es equivalente a un
problema determinista similar sin fallas. El tiempo de procesamiento del trabajo j en el problema
determinista equivalente se determina de la siguiente manera. Deje que Xj denote el tiempo de
procesamiento aleatorio original del trabajo j cuando no haya averías y que Yj indique el tiempo
que el trabajo j ocupa la máquina, incluido el tiempo que la máquina no está en funcionamiento.
La siguiente relación se puede determinar fácilmente (consulte el Ejercicio 10.11).

Esta relación se mantiene debido a los tiempos de actividad exponenciales de las máquinas y al
hecho de que todas las averías tienen la misma media. Por lo tanto, incluso con el proceso de
descomposición descrito anteriormente, el problema sigue siendo equivalente al problema
determinista 1 || ΣwjCj sin averías.
Las equivalencias entre los modelos estocásticos de una sola máquina y sus homólogos
deterministas van incluso más allá. Considere la contraparte estocástica de 1 | cadenas | ΣwjCj. Si
en la contraparte estocástica los trabajos están sujetos a restricciones de precedencia que toman la
forma de cadenas, entonces se puede usar el algoritmo 3.1.4 para minimizar la suma esperada de
los tiempos de finalización ponderados (en la definición del factor ρ, el pj es nuevamente
reemplazado por la E (Xj)).
Consideremos ahora la versión estocástica de 1 || wj (1 - e ^ −rCj) con tiempos de procesamiento
distribuidos arbitrariamente. Este problema lleva a la versión estocástica de la

PÁGINA 266,

la regla WDSPT que secuencia las tareas en orden decreciente de la proporción.

Esta regla se conoce como la regla del Tiempo de procesamiento esperado más corto descontado
ponderado (WDSEPT). Esta regla es, en cierto sentido, una generalización de una serie de reglas
consideradas anteriormente (ver Figura 10.1).
Teorema 10.1.3. La regla WDSEPT minimiza la suma ponderada esperada de los tiempos de
finalización con descuento en la clase de políticas de listas estáticas no preventivas, así como en
la clase de políticas dinámicas no preventivas.
Prueba. La optimalidad de esta regla se puede mostrar de nuevo a través de un argumento de
intercambio directo por pares similar al que se usó en la prueba del Teorema 3.1.6. Wj e − r (t +
pj) se reemplaza por wjE (e − r (t + Xj)). La optimalidad en la clase de políticas dinámicas no
preventivas se deriva de un argumento de inducción similar al presentado en el teorema 10.1.1.
Ejemplo 10.1.4 (Aplicación de la regla WDSEPT)
Considere dos trabajos con ponderaciones iguales, por ejemplo 1. La distribución del tiempo de
procesamiento del primer trabajo es una distribución uniforme de tiempo continuo en el intervalo
[0, 2], es decir, f1 (t) = .5 para 0 ≤ t ≤ 2. La distribución del tiempo de procesamiento del segundo
trabajo es una distribución uniforme de tiempo discreto con 0, 1 y 2 como posibles resultados, es
decir,

PÁGINA 267

Claramente, E (X1) = E (X2) = 1. El factor de descuento r es 1/10. Para determinar los índices de
prioridad de los dos trabajos, se deben calcular E (e − rX1) y E (e − rX2):

el índice de prioridad del trabajo 1 es, por lo tanto, 9.678 y el índice de prioridad del trabajo 2 es
9.852. Esto implica que el trabajo 2 debe procesarse primero y el trabajo 1 segundo. Si el factor de
descuento hubiera sido cero, cualquiera de las dos secuencias hubiera sido óptima. Observe que
Var (X1) = 1/3 y Var (X2) = 2/3. Entonces, en este caso, es óptimo procesar el trabajo con la mayor
variación primero.

En el teorema anterior, la optimalidad de la regla WDSEPT se muestra para la clase de políticas


de listas estáticas no preventivas, así como para la clase de políticas dinámicas no preventivas. Las
restricciones de precedencia pueden manejarse de la misma manera que se manejan en la
contraparte determinista (ver Ejercicio 3.22). El modelo considerado en el Teorema 10.1.3, sin
restricciones de precedencia, se considerará nuevamente en la siguiente sección en un entorno que
permita la preferencia.
La parte restante de esta sección se centra en los problemas relacionados con la fecha de
vencimiento. Considere la contraparte estocástica de 1 || Lmax con tiempos de procesamiento que
tienen distribuciones arbitrarias y fechas de vencimiento deterministas. El objetivo es minimizar
la tardanza máxima esperada.

Teorema 10.1.5. La regla EDD minimiza la demora máxima esperada para tiempos de
procesamiento distribuidos arbitrariamente y fechas de vencimiento deterministas en la clase de
políticas de listas estáticas no preventivas, la clase de políticas dinámicas no preventivas y la clase
de políticas dinámicas preferentes.

Prueba. Está claro que la regla EDD minimiza el retraso máximo para cualquier realización de
tiempos de procesamiento (después de condicionar los tiempos de procesamiento, el problema es
básicamente un problema determinista y se aplica el algoritmo 3.2.1). Si la regla de EDD minimiza
la demora máxima para cualquier realización de los tiempos de procesamiento, minimiza la
tardanza máxima también en expectativa (en realidad minimiza la tardanza máxima casi
seguramente).

Ejemplo 10.1.6 (Aplicación de la regla EDD)


Considere dos trabajos con fechas de vencimiento deterministas. Las distribuciones de tiempo de
procesamiento de los trabajos son discretas:

PÁGINA 268

La fecha de vencimiento del primer trabajo es D1 = 1 y la fecha de vencimiento del segundo trabajo
es D2 = 4. Ahora
se puede verificar fácilmente que la programación del trabajo 2 primero y el trabajo 1 segundo
resultado en una mayor E (max (L1, L2)). Sin embargo, tenga en cuenta que en cualquier secuencia
dada, E (Lmax) = E (max (L1, L2)) no tiene que ser necesariamente igual a max (E (L1), E (L2)).
En secuencia

So max (E (L1), E (L2)) = 3/2, que es más pequeño que E (max (L1, L2)). || Se puede mostrar que
la regla EDD no solo minimiza,

sino también max (E (L1), ..., E (Ln)).


Incluso es posible desarrollar un algoritmo para una contrapartida estocástica de la más general 1
| prec | el problema de hmax considerado en el Capítulo 3. En este problema, el objetivo es
minimizar el máximo de los n costos esperados incurridos por los n trabajos, es decir, el objetivo
es minimizar la

PÁGINA 269

donde hj (Cj) es el costo incurrido por el trabajo j que se completa en Cj. La función de costo hj
no disminuye en el tiempo de finalización Cj. El algoritmo es una versión modificada del algoritmo
3.2.1. La versión aquí es también un procedimiento hacia atrás. Cada vez que uno tiene que
seleccionar un trabajo programable para su procesamiento, está claro que la distribución de su
tiempo de finalización es la convolución de los tiempos de procesamiento de los trabajos que aún
no se han programado. Sea fJc la función de densidad de la convolución de los tiempos de
procesamiento del conjunto de trabajos no programados Jc. La tarea j ∗ se selecciona para ser
procesada en último lugar entre el conjunto de tareas Jc si

LHS denota el valor esperado de la penalización para la tarea j ∗ si es la última tarea programada
entre las tareas en Jc. Esta regla reemplaza la primera parte del Paso 2 en el Algoritmo 3.2.1. La
prueba de optimalidad es similar a la prueba de optimalidad para el caso determinista. Sin embargo,
la implementación del algoritmo puede ser significativamente más complicada debido a la
evaluación de las integrales.

Ejemplo 10.1.7 (Minimizar el costo máximo esperado)


Considere tres trabajos con tiempos de procesamiento aleatorios X1, X2 y X3 de las distribuciones
F1, F2 y F3. Los detalles de los tiempos de procesamiento y las funciones de costo se muestran en
la tabla a continuación.

Tenga en cuenta que las tres funciones de costo son lineales. Esto hace que las evaluaciones de
todas las integrales necesarias sean muy fáciles, ya que las integrales son una función lineal de los
medios de los tiempos de procesamiento. Si el trabajo 1 es el último en completarse, la penalización
esperada con respecto al trabajo 1 es 1 + 2 (6 + 18 + 12) = 73; la penalización esperada con respecto
al trabajo 2 es 38 y con respecto al trabajo 3 es 4 (6 + 18 + 12) = 144. El procedimiento selecciona
el trabajo 2 para la última posición. Si el trabajo 1 quedara en segundo lugar, la penalización
esperada sería 1 + 2 (6 + 12) = 37 y si el trabajo 3 quedara en segundo lugar, la penalización
esperada sería 4 (6 + 12) = 72. Por lo tanto, el trabajo 1 se selecciona para pasar a segundo. y el
trabajo 3 va primero. Si el trabajo 3 va primero, la penalización esperada es 48. El máximo de las
tres penalizaciones esperadas en la secuencia 3, 1, 2 es m ax (48, 37, 38) = 48.
Tenga en cuenta que el análisis en el Ejemplo 10.1.7 es particularmente fácil ya que las tres
funciones de costo son lineales. La única información necesaria con respecto al tiempo de
procesamiento de un trabajo es su media. Si cualquiera de las funciones de costo no es lineal, la
penalización esperada del trabajo correspondiente es más difícil de calcular; Hay que tener en
cuenta toda su distribución. Las integrales pueden ser evaluadas a través de métodos de
aproximación.
PÁGINA 270

10.2 DISTRIBUCIONES ARBITRARIAS CON PRIVILEGIOS: EL ÍNDICE DE GITTINS

Considere el problema de programar n trabajos con tiempos de procesamiento aleatorios X1, ...,
Xn de distribuciones de tiempo discreto. El programador puede anticiparse a la máquina en
tiempos discretos 0, 1, 2, ... Si el trabajo j se completa en el tiempo de finalización del entero Cj,
se recibe una recompensa wjβCj, donde β es un factor de descuento entre 0 y 1. El valor de β es
generalmente cercano a 1. Es de interés determinar la política que maximiza la recompensa total
esperada.
Antes de continuar con el análisis, puede ser útil relacionar este problema con otro descrito
anteriormente. Se puede argumentar que este problema es una versión de tiempo discreto del
problema de tiempo continuo con el objetivo.

El argumento es el siguiente. Maximizar wjβCj es equivalente a minimizar wj (1 - βCj). Considere


el caso límite en el que el tamaño de la unidad de tiempo disminuye y el número de unidades de
tiempo aumenta en consecuencia. Si la unidad de tiempo se cambia de 1 a 1 / k con (k> 1), el factor
de descuento β también debe ajustarse. El factor de descuento apropiado, que corresponde a la
nueva unidad de tiempo 1 / k, es entonces √k β. Si β es relativamente cercano a uno, entonces

Esto implica que cuando β es relativamente cercano a uno, es similar al 1-r usado en modelos
anteriores. El modelo actual es entonces una versión estocástica de tiempo discreto del problema
determinista 1 | prmp | Σwj (1 - exp (−rCj)) discutido en el Capítulo 3. La versión estocástica se
puede usar para modelar el problema descrito en el Ejemplo 1.1.4 (el problema descrito en el
Ejemplo 1.1.4 es en realidad un poco más general, ya que asume que puestos de trabajo tienen
diferentes fechas de lanzamiento).

Para caracterizar la política óptima para este problema de programación de tiempo discreto con
privilegios, en realidad es más fácil considerar un proceso de recompensa más general. Sea xj (t)
el estado del trabajo j en el tiempo t. Este estado se determina básicamente por la cantidad de
trabajo de procesamiento que j ha recibido antes del tiempo t. Si se toma la decisión de procesar
la tarea j durante el intervalo [t, t + 1], se recibe una recompensa aleatoria Wj (xj (t)). Esta
recompensa aleatoria es una función del estado xj (t) del trabajo j. Claramente, este proceso de
recompensa es más general que el descrito en la

PÁGINA 271

al principio de esta sección, en el que se recibe una recompensa (fija) wj solo si la tarea j se
completa durante el intervalo [t, t + 1]. En lo que sigue se determina la política óptima para el
proceso de recompensa más general.
La decisión a tomar en cualquier momento en el tiempo tiene dos elementos. Primero, se debe
tomar una decisión con respecto a la selección de trabajo. En segundo lugar, si se selecciona un
trabajo en particular, se debe tomar una decisión con respecto a la cantidad de tiempo que el trabajo
debe permanecer en la máquina. El primer punto en el tiempo en el que otro trabajo se considera
para procesamiento se conoce como el tiempo de detención y se denota con τ.
A continuación, se muestra que la solución de este problema puede caracterizarse por las funciones
Gj, j = 1, ..., n, con la propiedad de que el trabajo de procesamiento j ∗ en el momento t es óptimo
si y solo si

donde xj es la cantidad de trabajo de procesamiento j ya ha sido recibida por el tiempo t, es decir,


xj (t) = xj. La función Gj se llama índice de Gittins y se define como

con el tiempo de detención τ determinado por la política π. Sin embargo, el valor τ no es


necesariamente el momento en que se detiene el procesamiento del trabajo j. El trabajo j puede
completarse antes del tiempo de parada.
Esta es una de las formas más populares en las que el índice de Gittins se presenta en la literatura.
El índice de Gittins se puede describir en palabras como el valor más grande que se puede obtener
al dividir la recompensa esperada descontada total en un período de tiempo determinado
(determinado por el tiempo de parada) por el tiempo descontado.
El siguiente teorema se centra en la política óptima en el proceso de recompensa más general
descrito anteriormente.
Teorema 10.2.1. La política que maximiza la recompensa esperada total descontada en la clase de
políticas dinámicas preventivas prescribe, en cada momento, el procesamiento del trabajo con el
índice más grande de Gittins.
Prueba. Suponga que el programador tiene que pagar un cargo fijo a la máquina si decide procesar
el trabajo j. Llame a este cargo el cargo vigente. Supongamos que el trabajo j es el único en el
sistema y el programador tiene que decidir si procesarlo o no. El programador debe decidir
procesar el trabajo durante un número de unidades de tiempo, observar el estado a medida que
evoluciona y luego detener el procesamiento en el momento en que el cargo vigente no justifique
ningún procesamiento adicional. Si la carga prevaleciente es muy pequeña, es ventajoso continuar
el procesamiento, mientras que, si la carga prevaleciente es demasiado alta, cualquier
procesamiento posterior conlleva pérdidas.
PÁGINA 272

En función del estado del trabajo j, digamos xj, la llamada carga justa se define como γj (xj), el
nivel de carga prevaleciente para el cual la acción óptima no será rentable ni causará pérdidas. Es
decir, el cargo justo es el nivel del cargo prevaleciente en el que los costos para el programador
están exactamente en equilibrio con las recompensas externas esperadas que se obtendrán al
procesar los trabajos de acuerdo con la política óptima. Entonces,

donde la política π determina el tiempo de detención τ. Por lo tanto, la carga justa está determinada
por la acción óptima que prescribe el procesamiento del trabajo para exactamente τ unidades de
tiempo o hasta su finalización, lo que ocurra primero. El procesamiento del trabajo por menos
tiempo causa pérdidas y el procesamiento del trabajo por más de τ unidades de tiempo también
causan pérdidas. Supongamos que el cargo vigente se reduce al cargo justo cuando el programador
hubiera decidido dejar de procesar el trabajo debido a que el cargo vigente es demasiado alto.
Luego, el programador mantendría el trabajo en la máquina hasta que se complete, ya que el
proceso se convierte en un juego justo. En este caso, la secuencia de cargos prevalecientes para el
trabajo no aumenta en el número de unidades de tiempo que el trabajo ya ha sido procesado.
Supongamos ahora que hay n trabajos diferentes y, en cada momento, el programador debe decidir
cuál procesar durante el siguiente período de tiempo. Suponga que inicialmente el cargo
prevaleciente para cada trabajo se establece igual a su cargo justo y los cargos prevalecientes se
reducen periódicamente después, como se describió anteriormente, cada vez que se alcanza un
tiempo de detención. Por lo tanto, el programador nunca paga más que el precio justo y puede
asegurarse de que su beneficio descontado total esperado no sea negativo. Sin embargo, también
está claro que su beneficio total no puede ser positivo, ya que tendría que ser positivo para al menos
un trabajo y esto no puede suceder, ya que los cargos prevalecientes son consistentemente iguales
a los cargos justos. El planificador solo puede interrumpirse incluso si, cuando selecciona un
trabajo, lo procesa de acuerdo con la política óptima. Es decir, tiene que continuar procesando este
trabajo hasta el momento óptimo de detención, que determina el nivel de la carga justa. Si no actúa
en consecuencia, actúa de manera subóptima e incurre en una pérdida descontada esperada. Por lo
tanto, el programador actúa de manera óptima si, cada vez que comienza a procesar un trabajo,
continúa haciéndolo siempre y cuando el cargo justo del trabajo siga siendo mayor que el cargo
que prevalece.
La secuencia de cargos prevalecientes para cada trabajo es una función no creciente del número
de unidades de tiempo que el trabajo ha sido procesado. Por definición, es una secuencia que es
independiente de la política adoptada. Si para cada trabajo la secuencia de cargos prevalecientes
no aumenta, y si el programador adopta la política de procesar siempre el trabajo con el cargo
prevaleciente más grande, incurre en cargos en una secuencia no incremental. Este entrelazamiento
de secuencias de cargos prevalecientes en una única secuencia no creciente es único (en términos
de cargos, no necesariamente en términos de trabajos). Por lo tanto, la política de procesar el
trabajo con el cargo predominante más grande maximiza el cargo descontado total

PÁGINA 273

pagado por el programador. Esta cantidad máxima es un límite superior para la recompensa con
descuento total esperada obtenida por el programador. Este límite superior se logra mediante la
política propuesta, ya que la política obliga al programador a procesar un trabajo, sin interrupción,
en el momento en que su cargo justo exceda su cargo predominante (esto conduce a un juego justo
en el que el beneficio total descontado del programador es cero). Esto completa la demostración
del teorema.
De la expresión para la carga justa γj (xj) la expresión para el índice de Gittins sigue
inmediatamente. Para el caso especial en el que se recibe una recompensa fija wj solo al finalizar
el trabajo j, el índice de Gittins se convierte en

El índice de Gittins está determinado por el máximo de la relación de RHS en todos los tiempos
de parada posibles. Como las expectativas de las sumas en el numerador y el denominador deben
tener en cuenta que el programador no mantiene el trabajo en la máquina durante τ unidades de
tiempo en caso de que el trabajo se complete antes, cada elemento en una de las sumas debe ser
multiplicado por la probabilidad apropiada.
Como el cálculo de los índices de Gittins a primera vista puede parecer algo complicado, un
ejemplo está en orden. El siguiente ejemplo considera el proceso de recompensa en el que se
obtiene una recompensa fija wj al finalizar el trabajo j.
Ejemplo 10.2.2 (Aplicación del índice de Gittins)
Considere tres trabajos con w1 = 60, w2 = 30 y w3 = 40. Sea pjk la probabilidad de que el tiempo
de procesamiento del trabajo j tome k unidades de tiempo, es decir,

los tiempos de procesamiento de los tres trabajos toman solo valores en los enteros 1, 2 y 3.

Suponga que la tasa de descuento β es 0.5. Si el trabajo 1 se pone en la máquina en el momento 0,


la recompensa esperada descontada en el tiempo 1 es w1p11β, que es 5. La recompensa esperada
descontada obtenida en el tiempo 2 es w1p12β2 que es 7.5. La recompensa esperada descontada
obtenida en el tiempo 3 es w1p13β3 que es 2.5. El

PÁGINA 274

índice de Gittins de lapara el trabajo 1 en el momento 0 ahora se puede calcular fácilmente.

Por lo tanto, si se selecciona el trabajo 1 como el que se va en la máquina en el tiempo 0, se


procesará hasta que se complete. De la misma manera, se pueden calcular los índices de Gittins
para los trabajos 2 y 3 en el tiempo cero.

El cálculo del índice de Gittins del trabajo 2 indica que el trabajo 2, si se selecciona para ir a la
máquina en el momento 0, puede adelantarse antes de completarse; El procesamiento solo está
garantizado para una unidad de tiempo.

Si el trabajo 3 se seleccionara para su procesamiento en el momento 0, se procesaría hasta su


finalización.
Después de comparar los tres índices de Gittins para los tres trabajos en el momento cero, se puede
tomar una decisión con respecto al trabajo que se seleccionará para su procesamiento. El máximo
de los tres índices de Gittins es de 20.96. Por lo tanto, el trabajo 3 se coloca en la máquina en el
momento 0 y se mantiene en la máquina hasta que se completa. Al finalizar el trabajo 3, se puede
seleccionar el trabajo 1 o el trabajo 2. Los valores de sus índices de Gittins son los mismos. Si se
selecciona el trabajo 1 para procesarlo, permanece en la máquina hasta que se completa. Si se
selecciona el trabajo 2, se garantiza el procesamiento para una sola unidad de tiempo; si no se
completa después de una unidad de tiempo, se anulará y el trabajo 1 se seleccionará para su
procesamiento.
¿Qué pasaría si los tiempos de procesamiento tienen distribuciones de ICR? Se puede mostrar que,
en este caso, el programador nunca se adelantará. El índice de Gittins del trabajo que se está
procesando aumenta continuamente, mientras que los índices de los trabajos en espera para ser
procesados siguen siendo los mismos. Considere el caso límite en el que la longitud de la unidad
de tiempo va a 0 a medida que el número de pasos de tiempo aumenta en consecuencia. El
problema se convierte en un problema de tiempo continuo. Cuando los tiempos de procesamiento
son ICR, el resultado en el teorema 10.2.1 es equivalente al resultado en el teorema 10.1.3. Por lo
tanto, en cierto sentido, el teorema 10.1.3 es más general, ya que cubre la configuración no
preventiva con distribuciones de tiempo de procesamiento arbitrarias (no solo las distribuciones
de ICR), mientras que el teorema 0.2.1 no proporciona ninguna indicación de la forma de la política
óptima de manera no preventiva. Ajuste cuando los tiempos de procesamiento no son ICR. En otro
sentido, el teorema 10.2.1 es más general, ya que el teorema 10.1.3 no da ninguna indicación de la
forma de la política óptima en una configuración preventiva cuando los tiempos de procesamiento
no son ICR.
El resultado en el teorema 10.2.1 se puede generalizar para incluir trabajos que llegan según un
proceso de Poisson. En un marco de tiempo discreto, esto implica que en la

página 275

los tiempos interarrival se distribuyen geométricamente con un parámetro fijo. El trabajo


seleccionado en cualquier momento es el trabajo con el mayor índice de Gittins entre los trabajos
presentes. La prueba de este resultado se encuentra más allá del alcance de este libro. El resultado
también se puede generalizar para incluir desgloses con los tiempos de disponibilidad que se
distribuyen geométricamente y los tiempos de inactividad que se distribuyen de forma arbitraria.
Para la prueba de este resultado, se remite al lector a la literatura.

10.3 DISTRIBUCIONES ORDENADAS DE COCIENTE DE PROBABILIDAD

Sección 10.1 discutió ejemplos de modelos estocásticos no preventivos que son básicamente
equivalentes a sus contrapartes deterministas. En algunos casos, las distribuciones de las variables
aleatorias no importaban en absoluto; solo sus expectativas jugaron un papel. En esta subsección,
se da un ejemplo de un modelo estocástico no preventivo que es, en menor medida, equivalente a
su contraparte determinista. Su relación con su contraparte determinista no es tan fuerte como en
los casos anteriores, ya que se requieren algunas condiciones en las funciones de distribución de
los tiempos de procesamiento.
Considere n puestos de trabajo. El tiempo de procesamiento del trabajo j es igual a la variable
aleatoria Xj con distribución Fj, siempre que el trabajo se inicie inmediatamente en el momento
cero. Sin embargo, con el tiempo, la máquina se "deteriora", es decir, cuanto más tarde un trabajo
comienza su procesamiento, mayor es su tiempo de procesamiento. Si la tarea j comienza con su
procesamiento en el tiempo t, su tiempo de procesamiento es Xja (t), donde a (t) es una función
cóncava creciente. Por lo tanto, para cualquier tiempo de inicio t, el tiempo de procesamiento es
proporcional al tiempo de procesamiento del trabajo si hubiera comenzado su procesamiento en el
momento 0. Además, la concavidad de a (t) implica que el proceso de deterioro en las primeras
etapas del proceso es más severo que en las últimas etapas del proceso. Se supone que los tiempos
de procesamiento originales son una relación de probabilidad ordenada de tal manera que X1 ≤lr
··· ≤lr Xn. El objetivo es minimizar la fabricación esperado. El siguiente lema es necesario en el
análisis posterior.
Prueba. Sea U = max (X1, X2) y V = m en (X1, X2). Condición en U = u y V = v con u ≥ v. La
distribución condicional de g (X1, X2) se concentra en los dos puntos g (u, v) y g (v, u). La
probabilidad asignada al valor más pequeño g (u, v) es entonces

PAGE 276

De la misma manera que g (X2, X1) también se concentra en dos puntos g (u, v) y g (v, u). La
probabilidad asignada al valor menor g (u, v) en este caso es

A primera vista, este lema puede parecer proporcionar un resultado muy fundamental y útil.
Cualquier intercambio por pares en una configuración determinista puede traducirse en un
intercambio por parejas en una configuración estocástica con la relación de probabilidad de
variables aleatorias ordenada. Sin embargo, la utilidad de este lema parece estar limitada a
problemas de una sola máquina y talleres de flujo proporcionales.
Los siguientes dos lemas contienen algunas propiedades elementales de la función a (t).
De Lemmas 10.3.1 y 10.3.2 se deduce inmediatamente que, si solo hay dos trabajos, la
programación del trabajo con el mayor tiempo de procesamiento esperado minimiza primero la
duración esperada.
Lema 10.3.3. La función hx1 (t) = t + x1a (t) está aumentando en t, para todos x1> 0.

Prueba. La prueba es fácil y por lo tanto se omite.

Teorema 10.3.4. La regla de Tiempo de procesamiento esperado más largo primero (LEPT)
minimiza el intervalo de espera esperado en la clase de políticas de listas estáticas no preventivas,
así como en la clase de políticas dinámicas no preventivas.

PÁGINA 277

Prueba. Considere primero la clase de políticas de listas estáticas no preventivas. La prueba es por
inducción. Ya se ha demostrado que se mantiene para dos trabajos. Supongamos que el teorema
se mantiene para n - 1 trabajos. Considere cualquier política de lista estática no preventiva y deje
que el trabajo k sea el trabajo que se programó al final. Del Lema 10.3.3 se deduce que, entre todos
los programas que procesan el trabajo k en último lugar, el que produce el intervalo de tiempo
mínimo es el que minimiza estocásticamente el tiempo de finalización de los primeros trabajos n
− 1. Por lo tanto, según la hipótesis de la inducción, de todos los programas que programan el
trabajo k último, el que tiene el margen de referencia estocásticamente más pequeño es el que
programa los primeros trabajos n - 1 según LEPT. Si k no es el trabajo más pequeño, entonces la
mejor programación es la que selecciona el trabajo más pequeño inmediatamente antes de este
último trabajo k. Sea t el tiempo que este trabajo más pequeño comienza su procesamiento y
suponga que solo quedan dos trabajos por procesar. El problema en este punto es un problema con
dos trabajos y una función dada por at (t) = a (t + t). Debido a que esta función aún es cóncava, se
desprende del resultado de dos trabajos, que el intercambio de estos dos últimos trabajos reduce
estocásticamente el margen total. Pero entre todos los programas que programan el último trabajo
más pequeño, el que se establece en el teorema, según la hipótesis de la inducción, minimiza el
efecto estocástico. Esto completa la prueba para las políticas de listas estáticas no preventivas.

Queda por demostrar que la regla de LEPT también minimiza estocásticamente la composición en
la clase de políticas dinámicas no preventivas. Supongamos que se permite que la decisión dependa
de lo que haya ocurrido anteriormente, como máximo l veces durante el proceso (por supuesto,
estos tiempos solo ocurren cuando se libera la máquina). Cuando l = 1 se deduce de la prueba de
optimalidad para las políticas de listas estáticas que es óptimo no desviarse de la programación
LEPT. Si esto sigue siendo cierto cuando se permiten tales oportunidades, se sigue el mismo
argumento de que sigue siendo válido cuando se permiten tales oportunidades (debido a la
hipótesis de inducción, tal oportunidad se usaría solo una vez). Como el resultado es verdadero
para todo l, la prueba de las políticas dinámicas no preventivas está completa.
Ejemplo 10.3.5 (Función de deterioro lineal)
Considere dos trabajos con tiempos de procesamiento exponenciales. Las tasas son λ1 y λ2. La
función de deterioro a (t) = 1+ t, t ≥ 0, es lineal. Si los trabajos se programan de acuerdo con la
secuencia 1, 2, entonces el intervalo de espera esperado se puede calcular de la siguiente manera.
Si el trabajo 1 se completa en el tiempo t, el tiempo esperado que ocupará el equipo es a (t) / λ2.
El trabajo de probabilidad 1 se completa durante el intervalo [t, t + dt] es λ1e − λ1t dt. Entonces, a

partir de esta expresión, queda claro que la expectativa de fabricación en este caso no depende de
la secuencia.

PÁGINA 278

Ejemplo 10.3.6 (Aumento de la función de deterioro cóncavo y LEPT)

Considere dos trabajos con distribuciones discretas de tiempo de procesamiento.

Está claro que X1 ≥lr X2. E (X1) = 2.5 mientras que E (X2) = 2.25. La función de deterioro a (t)
= 1+ t para 0 ≤ t ≤ 2, y a (t) = 3 para t ≥ 2. Claramente, a (t) está aumentando de forma cóncava.
Considere la secuencia LEPT, es decir, la secuencia 1, 2. El intervalo de fabricación esperado se
puede calcular al condicionar el tiempo de procesamiento del primer trabajo.

De manera intuitiva, tiene sentido que, si la función de deterioro aumenta de forma cóncava, el
trabajo más largo debe ir primero. También se puede mostrar que, si la función de deterioro
aumenta convexamente, la regla de Tiempo de procesamiento más corto esperado (SEPT) es
óptima y si la función de deterioro es lineal, entonces cualquier secuencia es óptima.
Sin embargo, si la función a (t) está disminuyendo, es decir, tiene lugar una forma de aprendizaje
que hace posible procesar los trabajos más rápido, entonces no parece que se puedan obtener
resultados similares.

10.4 DISTRIBUCIONES EXPONENCIALES

Esta sección se enfoca en modelos con tiempos de procesamiento distribuidos exponencialmente.


Consideremos la versión estocástica de 1 | dj = d | wjUj con trabajo j que tiene un tiempo de
procesamiento distribuido exponencialmente con tasa λj y una fecha de vencimiento determinista
d. Recuerde que la contraparte determinista es equivalente al problema de la mochila. El objetivo
es el número ponderado esperado de trabajos tardíos.

PÁGINA 279

Teorema 10.4.1. La WSEPT regla minimiza el número ponderado esperado de trabajos tardíos en
las clases de políticas de listas estáticas no preventivas, políticas dinámicas no preventivas y
políticas dinámicas preferentes.

Prueba. Primero se muestra la optimalidad de la regla WSEPT en la clase de políticas de listas


estáticas no preventivas. Supongamos que la máquina está libre en algún momento t y dos trabajos,
con pesos w1 y w2 y tiempos de procesamiento X1 y X2, quedan por procesar. Considere primero
la secuencia 1, 2. La probabilidad de que ambos trabajos lleguen tarde es igual a la probabilidad
de que X1 sea mayor que d - t, que es igual a exp (−λ (d - t)). La penalización por llegar tarde es
igual a w1 + w2. La probabilidad de que solo el segundo trabajo llegue tarde corresponde al evento
donde el tiempo de procesamiento del primer trabajo es x1 <d − t y la suma de los tiempos de
procesamiento x1 + x2> d - t. La evaluación de la probabilidad de este evento, al condicionar en
X1 (que es X1 = x), arroja que
se deduce inmediatamente que la diferencia en los valores esperados es positiva si y solo si λ2w2>
λ1w1. Como este resultado se mantiene para todos los valores de d y t, cualquier programa de
permutación que no secuencia los trabajos en orden decreciente de λjwj puede mejorarse
intercambiando dos trabajos adyacentes, donde el primero tiene un valor de λw más bajo que el
segundo. Esto completa la prueba de optimalidad para la clase de políticas de listas estáticas no
preventivas.
La inducción se puede utilizar para mostrar optimalidad en la clase de políticas dinámicas no
preventivas. Es inmediato que esto es cierto para 2 trabajos (se sigue del mismo argumento de
intercambio de pares para la optimalidad en la clase de políticas de listas estáticas no preventivas).
Supongamos que es cierto para n - 1 trabajos. En el caso de n trabajos, esto implica que el
programador después de la finalización del primer trabajo, debido a la hipótesis de inducción,
volverá a la regla WSEPT entre los trabajos n - 1 restantes. Queda por demostrar que el
programador debe seleccionar el trabajo con el λjwj más alto como el primero que se procesará.
Supongamos que la persona que toma las decisiones

PÁGINA 280

selecciona un trabajo que no tiene el λjwj más alto. Luego, el trabajo con el valor más alto de λjwj
se procesa en segundo lugar. Cambiar la secuencia de los dos primeros trabajos reduce el valor
esperado de la función objetivo de acuerdo con el argumento de intercambio por pares utilizado
para las políticas de listas estáticas no preventivas.
Para mostrar que WSEPT es óptimo en la clase de políticas dinámicas preferentes, suponga que se
contempla una preferencia en algún momento en el tiempo. El tiempo restante de procesamiento
del trabajo se distribuye exponencialmente con la misma velocidad que tenía al comienzo de su
procesamiento (debido a la propiedad sin memoria del exponencial). Dado que la decisión de poner
este trabajo en la máquina no dependía del valor de t en ese momento o del valor de d, la misma
decisión sigue siendo óptima en el momento en que se contempla una preferencia. Por lo tanto,
una política no preventiva es óptima en la clase de políticas dinámicas preferentes.

Este resultado está en un marcado contraste con el resultado en el Capítulo 3 que establece que su
contraparte determinista, es decir, el problema de la mochila, es NP-dura. Considere ahora la
versión de tiempo discreto del teorema 10.4.1. Es decir, el tiempo de procesamiento del trabajo j
se distribuye geométricamente con el parámetro qj y el trabajo j tiene peso wj. Todos los trabajos
tienen la misma fecha de vencimiento d. Si un trabajo se completa exactamente en la fecha de
vencimiento, se considera a tiempo. El objetivo es de nuevo E (wjUj).

Teorema 10.4.2. La WSEPT regla minimiza el número ponderado esperado de trabajos tardíos en
las clases de políticas de listas estáticas no preventivas, políticas dinámicas no preventivas y
políticas dinámicas preferentes.
Prueba. Considere dos trabajos, digamos los trabajos 1 y 2, y la secuencia 1, 2. La probabilidad de
que ambos trabajos lleguen tarde es qd + 1 1 y la penalización es w1 + w2. La probabilidad de que
el primer trabajo llegue a tiempo y el segundo trabajo tarde es

La penalización es w2. Por lo tanto, la penalización total bajo la secuencia 1, 2 es.

La penalización total esperada bajo la secuencia 2, 1 puede obtenerse intercambiando los


subíndices 1 y 2. La secuencia 1, 2 es mejor que la secuencia 2, 1 si

Después de algunas manipulaciones resulta que la secuencia 1, 2 es mejor que 2, 1 si la

PÁGINA 281

es equivalente a

Que WSEPT también es óptimo en la clase de políticas dinámicas no preventivas y en la clase de


políticas dinámicas preferentes puede mostrarse a través de los mismos argumentos que los
utilizados en la prueba del Teorema 10.4.1.
La regla WSEPT no necesariamente produce un programa óptimo cuando los procesamientos
distribuciones de tiempo no son todas exponenciales (o todas geométricas).

Ejemplo 10.4.3 (Política óptima cuando las variables aleatorias son ICR)

Considere el caso donde cada uno de los tiempos de procesamiento se distribuye de acuerdo con
una distribución una Erlang (k, λ). La tasa de una fase exponencial del trabajo j es λj. Esto implica
E (Xj) = k / λj. La regla WSEPT en general no producirá horarios óptimos. El trabajo j que tiene
un tiempo de procesamiento determinista pj es un paso especial (el número de fases de Erlang para
cada uno de los n trabajos se acerca a ∞, mientras que la media de cada fase se acerca a cero). Está
claro cómo de esta manera se puede construir un contraejemplo para los tiempos de procesamiento
de ICR.
Ejemplo 10.4.4 (Política óptima cuando las variables aleatorias son DCR)

Considere el caso en el que cada uno de los tiempos de procesamiento se distribuye de acuerdo
con una mezcla de exponenciales. Supongamos que el tiempo de procesamiento del trabajo j es 0
con probabilidad pj y distribuido exponencialmente con la tasa λj con probabilidad 1 - pj.
Claramente,

La política preventiva óptima se puede determinar fácilmente. Pruebe cada trabajo en el tiempo
cero durante un período infinitesimal de tiempo. Los trabajos con cero procesamientos tiempos
dese completan inmediatamente. Inmediatamente después del tiempo cero, se sabe qué trabajos
tienen tiempos de procesamiento distintos de cero. Los tiempos de procesamiento restantes de
estos trabajos se distribuyen exponencialmente con probabilidad uno. La política preventiva
óptima a partir de ese momento en el tiempo es la preventiva política no descrita en el teorema
10.4.1. Los teoremas || 10.4.1 y 10.4.2 se pueden generalizar para incluir averías y reparaciones.
Supongamos que la máquina pasa por "tiempos de actividad", cuando está funcionando y "tiempos
de parada" cuando se está reparando. Esta avería y reparación pueden formar un proceso
estocástico arbitrario. El teorema 10.4.1 también se sostiene bajo estas condiciones más generales,
ya que ninguna parte de la prueba depende del restante tiempo hasta la fecha de vencimiento. El
teorema 10. 4.1 también se puede generalizar para incluir diferentes fechas de publicación con
distribuciones arbitrarias. Supongamos un número finito de lanzamientos después del tiempo 0,
digamos n ∗.
De los resultados presentados anteriormente se desprende claramente que, en el momento de la
última versión,

PAGE 282

La política de WSEPT es óptima. Esto puede en realidad implicar que la última versión causa una
preferencia (si, en ese momento, el trabajo liberado es el trabajo con la proporción más alta de λjwj
en el sistema). Consideremos ahora la época del segundo último lanzamiento. Después de este
lanzamiento, una versión preferente de la regla WSEPT es óptima. Para ver esto, ignora por un
momento el último lanzamiento. Todos los trabajos en el sistema en el momento de la segunda
hasta la última versión (sin incluir la última versión) deben secuenciarse según WSEPT; la última
versión puede, en cierto sentido, considerarse un "tiempo de inactividad" aleatorio. De los
resultados anteriores se deduce que todos los trabajos en el sistema en el momento del segundo
último lanzamiento deben programarse según WSEPT preventivo, independientemente del
período de tiempo durante el cual se procesa el último lanzamiento. Continuando inductivamente
hacia el tiempo cero, se puede demostrar que una versión preventiva de WSEPT es óptima con
lanzamientos distribuidos arbitrariamente en las clases de políticas de listas estáticas preventivas
y políticas dinámicas preferentes

La regla WSEPT también es óptima para otros objetivos. Considere la contraparte estocástica de
1 | dj = d |𝛴wjTj con el trabajo j nuevamente exponencialmente distribuido con la tasa λj. Todos
los n trabajos se liberan en el momento 0. El objetivo es minimizar la suma de las tardanzas
ponderadas esperadas.
Teorema 10.4.5. La WSEPT regla minimiza la suma esperada de las tardanzas ponderadas en las
clases de políticas de listas estáticas no preventivas, políticas dinámicas no preventivas y políticas
dinámicas preventivas. Prueba. El objetivo wjTj puede aproximarse por la suma de una secuencia
infinita de funciones de penalización de la unidad wjUj, es decir,

La primera penalización de unidad Uj0 corresponde a una fecha de vencimiento d, la segunda


penalización de unidad Uj1 corresponde a una fecha de vencimiento d + 1 / K, la tercera
corresponde a una fecha de vencimiento d + 2 / K y así sucesivamente (consulte la Figura 10.2).
Del Teorema 10.4.1 se deduce que la regla λw minimiza cada una de estas funciones de
penalización unitaria. Si la regla minimiza cada una de estas funciones de penalización por unidad,
también minimiza su suma.
Este teorema se puede generalizar siguiendo las líneas del Teorema 10.4.1 para incluir procesos
de reparación y descomposición arbitrarios y procesos de liberación arbitrarios, siempre que todos
los trabajos tengan la fecha de vencimiento d (incluidos los liberados después de d). En realidad,
también es posible una generalización en una dirección ligeramente diferente. Considere la
contraparte estocástica del problema 1 ||𝛴wjh (Cj). En este modelo, los trabajos no tienen fechas
de vencimiento específicas, pero todos están sujetos al mismo costo función de h. El objetivo es
minimizar E (𝛴wjh (Cj)). Claramente,𝛴 wjh (Cj) es una simple generalización de wjTj cuando
todos los trabajos tienen la misma fecha de vencimiento d. La función h de nuevo se puede
aproximar por una suma de una secuencia infinita de unidad, sanciones la única diferencia de que
las fechas de vencimiento de las sanciones unidad son no necesariamente equidistante como en la
demostración de Theorem1 0.4.5.
PÁGINA 283

Fig. 10.2 Superposición de funciones de penalización unitaria

Considere ahora una contraparte estocástica del problema 1 ||𝛴wjhj (Cj), con cada trabajo que tiene
una función de costo diferente. Una vez más, todos los trabajos se liberan en el momento 0. El
objetivo es minimizar el costo total esperado. Siguiente ordenamiento es interesante entre
funciones de costo: una función de costo hj se dice que es más inclinada que una función de costo
hk si

Para cada t, siempre que existan los derivados. Este orden se denota por hj ≥s hk. Si las funciones
no son diferenciables para cada t, el orden de inclinación requiere

para cada t y. Tenga en cuenta que una función de costo que otra que es más altano implica
necesariamente que sea más alta (consulte la Figura 10.3).

Teorema 10.4.6. Si λjwj ≥ λkwk ⇐⇒ HJ ≥S HK, entonces la WSEPT minimiza el costo total
esperado en las clases de políticas de listas estáticas no preventivas, políticas dinámicas no
preventivas y políticas dinámicas preferentes.
PÁGINA 284

Prueba. La prueba se desprende del hecho de que cualquier función de costo creciente puede ser
aproximada por una suma apropiada de un número (posiblemente infinito) de penalizaciones por
unidad en diferentes fechas de vencimiento. Si dos funciones de costo, que pueden estar en niveles
diferentes, aumentan de la misma manera en un intervalo [t1, t2], entonces una serie de
penalizaciones unitarias idénticas entrarán en vigencia dentro de ese intervalo para ambos trabajos.
ello se deduce del teorema 10.4.1 que los trabajos tienen que ser secuenciado con el fin de
disminuir λw con el fin de reducir al mínimo las sanciones totales esperados debido a estas
sanciones unidad. Si una función de costo es más alta que otra en un intervalo particular, entonces
la función de costo más alto tiene una o más penalizaciones por unidad que entran en vigencia
dentro de este intervalo, lo que no tiene la otra función de costo. Para minimizar el costo total
esperado debido a estas penalizaciones por unidad, los trabajos deben ser secuenciados
nuevamente en orden decreciente de λw.

Ejemplo 10.4.7 (Aplicación de WSEPT cuando las fechas de vencimiento son aceptables)
Considere n trabajos con tiempos de procesamiento distribuidos exponencialmente con tasas λ1, .
. ., λn. Los trabajos tienen fechas de vencimiento deterministas d1 ≤ d2 ≤ · · · ≤ dn. Primero,
considere E (𝛴wjTj) como el objetivo a minimizar. Si λ1w1 ≥ λ2w2 ≥ · · · ≥ λnwn, entonces
secuencia 1, 2, . . . , n minimiza el objetivo, ya que T1 ≥s T2 ≥s · · · ≥s Tn. En segundo lugar,
considere E (𝛴wjUj) con las mismas fechas de vencimiento d1 ≤ d2 ≤ · · · ≤ dn, como el objetivo
a minimizar. Se puede verificar fácilmente que la cadena de desigualdades U1 ≥s U2 ≥s · · · ≥s
Un no se cumple. Entonces la secuencia 1, 2, . . ., n no necesariamente minimiza el objetivo (vea
el Ejercicio 10.10). ||

El resultado del Teorema 10. 4.6 se puede generalizar fácilmente para incluir un arbitrario proceso
de descomposición de la máquina. También se puede extender, en el caso de las preferentes
políticas de listas estáticas en el caso de las políticas dinámicas preferentes, para incluir trabajos
con diferentes fechas de publicación, siempre que las funciones de costo de los recién llegados
cumplan con las condiciones de "aceptación" indicadas. Los resultados en este apartado indican
que los problemas de programación con exponencialmente tiempos de procesamiento distribuidos
permiten resultados estructurales más elegantes.
PÁGINA 285

que sus contrapartes deterministas. Las contrapartes deterministas de la mayoría de los modelos
discutidos en esta sección son NP- duro. Es intuitivamente aceptable que un problema determinista
pueda ser NP-duro, mientras que su contraparte con exponencialmente tiempos de procesamiento
distribuidos permite que una política muy simple sea óptima. La razón es la siguiente: todos los
datos son deterministas (es decir, perfectos datos) hacen que sea muy difícil para el programador
optimizar. Para aprovechar toda la información disponible, el programador debe dedicar una
excesiva a cantidad de tiempo la optimización. Por otro lado, cuando los procesamientos tiempos
de son estocásticos, los datos son más difusos. El programador, con menos datos a la mano,
dedicará menos tiempo a realizar la optimización. Cuanto más difusos sean los datos, más probable
es que una regla de prioridad simple minimice el objetivo esperado. La expectativa es similar a la
optimización para el caso promedio.

10.5 DISCUSIÓN

Este capítulo ha proporcionado solo una pequeña muestra de los resultados que han aparecido en
la literatura con respecto a la programación estocástica de una sola máquina con todos los trabajos
liberados en el momento cero. Claramente, hay muchos más resultados en la literatura. Por
ejemplo, algunas investigaciones se han centrado en la programación estocástica de una sola
máquina con el procesamiento por lotes, es decir, las contrapartes estocásticas de los problemas
descritos en el Capítulo 4. En estos modelos estocásticos, se supone que el tamaño del lote es fijo
(b) y el tiempo de espera esperado o el total El tiempo de finalización previsto debe minimizarse.
Se ha demostrado que si los n trabajos se ordenan de acuerdo con la ordenación de la variabilidad
simétrica (es decir, los n trabajos tienen la misma media pero diferentes varianzas), entonces la
regla de menor variación primero minimiza el esperado tiempo de, así como el tiempo total de
finalización previsto en bastante generales Condiciones.

Ejercicios (computacional)

10.1. Considere una sola máquina y tres trabajos con tiempos de procesamiento iid con distribución
F y media 1.
(a) Demuestre que cuando F es determinista E (𝛴Cj) = 6 en una preventiva programación noy E
(𝛴Cj) = 9 en la programación de uso compartido del procesador.
(b) Demuestre que cuando F es exponencial E (𝛴Cj) = 6 en una preventiva planificación noy E
(𝛴Cj) = 6 en la programación de uso compartido del procesador. (Recuerde que en una
programación de uso compartido del procesador todos los trabajos disponibles comparten el
mismo procesador, es decir, si hay n trabajos disponibles, cada trabajo recibe 1 / n de la capacidad
de procesamiento de la máquina (consulte la Sección 5.2)).
10.2. Considere el mismo escenario que en el ejercicio anterior. Suponga que F es una distribución
de EME (como se define en la Sección 9.2) con el parámetro p muy pequeño.

PÁGINA 286

(a) Muestre que E (𝛴Cj) = 6 en el cronograma no preventivo.


(b) Muestre que E (𝛴Cj) = 3 en el programa de compartición del procesador.

10.3. Considere una sola máquina y tres trabajos. La distribución del trabajo j, j = 1, 2, 3 es
uniforme para el conjunto {10 − j, 10− j +1,. . . , 10+ j}. Encuentre los programas que minimicen
E (𝛴Cj) y calcule el valor del objetivo función en el programa óptimo.

10.4. Considere la misma configuración que en el ejercicio anterior. Encuentre ahora la


programación que minimiza E (𝛴hj (Cj)), donde la función h (Cj) se define de la siguiente manera

¿Es regla de Mayor varianza primero (LV) o la regla de Mayor variación de varianza (SV) óptima
la?
10.5. Considere la misma configuración que en el ejercicio anterior. Encuentre ahora la
programación que minimiza E (𝛴hj (Cj)), donde la función h (Cj) se define de la siguiente manera.

¿Es regla de Mayor varianza primero (LV) o la regla de Mayor variación de varianza (SV) óptima
la?
10.6. Considere dos trabajos con distribuciones discretas de tiempo de procesamiento:

Los dos trabajos tienen fechas de vencimiento deterministas. La fecha de vencimiento del primer
trabajo es
D1 = 2 y la fecha de vencimiento del segundo trabajo es D2 = 4. Calcule E (max (L1, L2))
y max (E (L1), E (L2)) bajo EDD.
10.7. Considere el marco de la Sección 10.2. Hay 3 trabajos, todos con una distribución uniforme
discreta. El tiempo de procesamiento del trabajo j se distribuye uniformemente sobre el conjunto
{5 − j, 5 − j + 1, . . . , 5 + j − 1,5 + j}. El factor de descuento β es igual a 0.5. El peso del trabajo 1
es 30, el peso del trabajo 2 es 10 y el peso del trabajo 3 es 30. Encuentre la política preventiva
óptima. Determine si es necesario anticiparse a cualquier trabajo en cualquier momento.
10.8. Rehaga la instancia en el Ejercicio 10.7 con el factor de descuento β = 1. Determine todas
las políticas óptimas. Dé una explicación de los resultados obtenidos y compare los resultados con
los resultados obtenidos en el Ejercicio 10.7.

PAGINA 287

10.9. Considere el Ejemplo 10.3.5 con la función de deterioro lineal a (t) = 1 + t. En lugar de los
dos trabajos con tiempos de procesamiento distribuidos exponencialmente, considere dos trabajos
con tiempos de procesamiento distribuidos geométricamente con los parámetros q1 y q2. Calcule
la fabricación esperado bajo las dos secuencias.
10.10. Construya un contraejemplo para el problema estocástico con exponenciales tiempos de
procesamiento y fechas de vencimiento deterministas que muestren que si λjwj ≥ λkwk ⇔ dj ≤ dk
la regla λw no necesariamente minimiza E (𝛴wjUj).

Ejercicios (teoría)
10.11. Considere el modelo en el teorema 10.1.1 con desgloses. Los tiempos de actividad se
distribuyen exponencialmente con la tasa ν y los tiempos de inactividad son iid (distribuidos
arbitrariamente) con una media de 1 / μ. Muestre que el tiempo esperado que el trabajo j pasa en
la máquina es igual a

donde E (Xj) es el tiempo de procesamiento esperado del trabajo j. Dé una explicación de por qué
este problema es, por lo tanto, equivalente al problema sin fallas (Sugerencia: solo el eje de tiempo
cambia debido a las fallas).

10.12. Considere el mismo modelo que en el Ejercicio 10.11, pero suponga ahora que el tiempo
de procesamiento del trabajo j se distribuye exponencialmente con la tasa λj. Supongamos que el
tiempo de reparación se distribuye exponencialmente con una tasa μ.
(a) Muestre que la cantidad de veces que la máquina se descompone durante el procesamiento del
trabajo j se distribuye geométricamente con la velocidad

(b) Muestre que la cantidad total de tiempo empleado en la reparación de la máquina durante el
procesamiento del trabajo j se distribuye exponencialmente con una tasa de λjμ / ν, siempre que
haya al menos un desglose.
(c) Muestre que el tiempo total que permanece el trabajo j en la máquina es una mezcla de una
exponencial con una tasa λj y una convolución de dos exponenciales con velocidades λj y λjμ / ν.
Encuentra las probabilidades de mezclar.
10.13. Considere el modelo en el ejercicio 10.11. Supongamos que los trabajos están sujetos a
restricciones de precedencia que toman la forma de cadenas. Muestre que el algoritmo 3.1.4
minimiza el tiempo total de finalización ponderado esperado.

10.14. Considere el modelo estocástico de tiempo discreto descrito en la Sección 10.2. La versión
de tiempo continuo es una contrapartida estocástica del problema 1 |

288

prmp |𝛴wj (1 - exp (−rCj)). Demuestre que el índice de Gittins para este problema es

10.15. Considere la contraparte estocástica de 1 | dj = d |𝛴wjUj con el tiempo de procesamiento


del trabajo j distribuido arbitrariamente de acuerdo con Fj. Todos los trabajos tienen una fecha de
vencimiento aleatoria común que se distribuye exponencialmente con la tasa r. Demuestre que este
problema es equivalente a la contraparte estocástica del problema 1 ||𝛴wj (1 - exp (−rCj)) (es decir,
un problema sin fecha de vencimiento, pero con una función de costo descontado) con todos los
trabajos que tienen distribuciones arbitrarias. (Sugerencia: si, en la contrapartida estocástica de 1 |
dj = d |𝛴wjUj, el trabajo j se completa en el momento Cj, la probabilidad de que sea tarde es igual
a la probabilidad de que la fecha de vencimiento aleatoria ocurra antes de Cj. La probabilidad de
que esto ocurra es 1 − e − rCj, que es igual a E (Uj)).

10.16. Demuestre que si en el modelo de la Sección 10.3 la función de deterioro es lineal, es decir,
a (t) = c1 + c2t con c1 y c2 constantes, la distribución de makespan es independiente de la
secuencia.
10.17. Muestre, a través de un contraejemplo, que LEPT no necesariamente minimiza el intervalo
de tiempo en el modelo de la Sección 10.3 cuando las distribuciones se ordenan simplemente en
expectativa y no en el sentido de la relación de probabilidad. Encuentre un contraejemplo con
distribuciones que estén ordenadas estocásticamente pero no ordenadas en el sentido de la
proporción de probabilidad.

10.18. Considere las dos distribuciones de tiempo de procesamiento de los trabajos en el Ejemplo
10.3.6. Suponga que la función de deterioro a (t) = 1 para 0 ≤ t ≤ 1 y a (t) = t para t ≥ 1 (es decir,
la función de deterioro aumenta convexa). Demuestre que SEPT minimiza el makepan.

10.19. Considere las contrapartes de tiempo discreto de los teoremas 10.4.3 y 10.4.4 con
distribuciones de tiempo de procesamiento geométrico. Indique los resultados y demuestre la
optimalidad de la regla WSEPT.
10.20. Generalice el resultado presentado en el teorema 0.4.6 para el caso donde la máquina está
sujeta a un proceso de descomposición arbitrario.
10.21. Generalice Theorema1 0.4.6 para incluir trabajos que se liberan en diferentes puntos en el
tiempo.

10.22. Considere la siguiente contrapartida estocástica de tiempo discreto del determinista


modelo1 | dj = d, prmp |𝛴wjUj. Los n trabajos tienen una aleatoria común fecha de vencimiento.
Cuando un trabajo se completa antes de la fecha de vencimiento, una recompensa con descuento
se obtiene. Cuando la fecha de vencimiento ocurre antes de su finalización, sin ninguna
recompensa se obtiene y no se paga para continuar procesando el trabajo. Formular la política
óptima en la clase de políticas dinámicas preferentes.

PAGINA 289

10.23. Demuestre que, si todos los pesos son iguales, es decir, wj = 1 para todos j, y X1 ≤st X2 ≤st
· · · ≤st Xn, entonces la regla WDSEPT es equivalente a la regla SEPT para cualquier r, 0 ≤ r ≤ 1

Comentarios y referencias

Un número de investigadores han considerado sola máquina de programación no primitivo los


problemas con distribuciones del tiempo de procesamiento arbitrarias, ver Rothkopf (1966a,
1966b), Crabill y Maxwell (1969), Hodgson (1977) y Forst (1984). Para los resultados con respecto
a la regla WSEPT, o equivalentemente a la regla cμ, ver Cox y Smith (1961), Harrison (1975a,
1975b), Buykoc, Varaiya y Walrand (1985), y Nain, Tsoucas y Walrand (1989). Para modelos que
también incluyen estocásticos desgloses, ver Glazebrook (1984, 1987), Pinedo y Rammouz (1988),
Birge, Frenk, Mittenthal y Rinnooy Kan (1990) y Frenk (1991).
El índice de Gittins se debe a Gittins y se explica en su famoso artículo Gittins (1979). Muchos
investigadores han estudiado posteriormente el uso de los índices de Gittins en problemas de
programación estocástica de una sola máquina y otras aplicaciones; véase, por ejemplo, Whittle
(1980, 1981), Glazebrook (1981a, 1981b, 1982), Chen y Katehakis (1986) y Katehakis y Veinott
(1987). La prueba de optimalidad de los de índices Gittins presentada aquí se debe a Weber (1992).
La sección sobre el procesamiento de las distribuciones de tiempo cuya relación de probabilidad
está ordenada y sujeta a deterioro se basa completamente en el documento de Brown y Solomon
(1973). Para obtener más resultados sobre la programación de una sola máquina sujeta a deterioro,
consulte Browne y Yechiali (1990). Para un tratamiento extenso de la programación de una sola
máquina con exponenciales distribuciones de tiempo de procesamiento, vea Derman, Lieberman
y Ross (1978), Pinedo (1983) y Pinedo y Rammouz (1988). Para objetivos relacionados con la
fecha de vencimiento con distribuciones de tiempo de procesamiento que no son exponenciales,
consulte Sarin, Steiner y Erel (1990).
Para la programación estocástica de una sola máquina con procesamiento por lotes, consulte
KooleRighter y (2001) y Pinedo (2007). sobre programación dinámica y otros enfoques para este
problema, ver Potts y van Wassenhove (1982, 1987).
Se ha realizado una enorme cantidad de trabajo en los Esquemas de aproximación de tiempo
polinomial (PTAS) y en los Esquemas de aproximación de tiempo totalmente polinomial (FPTAS).
El algorithmdescr ibed en la Sección 3.5 es uno de los primeros esquemas desarrollados para
problemas de planificación. Esta sección está basada enteramente en el artículo de Lawler (1982).
Se ha realizado una cantidad significativa de trabajo en algoritmos de aproximación para 1 | rj | Cj;
ver, por ejemplo, Chekuri, Motwani, Natarajan y Stein (1997). Hay muchas otras aplicaciones
interesantes de PTAS para problemas de programación; ver, por ejemplo, Hochbaum y Shmoys
(1987), Sevastianov y Woeginger (1998), y Alon, Azar, Woeginger y Yadid (1998). Schuurman y
Woeginger (1999) presentan en su documento diez problemas abiertos relacionados con PTAS; su
papel también contiene una extensa lista de referencia de papeles PTAS. Para una descripción
general de las técnicas de aproximación (que cubren más que solo PTAS y FPTAS), vea Chen,
Potts y Woeginger (1998).
La complejidad de 1 || wjTj se establece en el documento de Lawler (1977), así como en el
documento de Lenstra, Rinnooy Kan y Brucker (1977). En Gelders y Kleindorfer (1974, 1975) se
analizan los métodos de derivación y de derivación que utilizan técnicas de delimitación basadas
en la relajación de los problemas de transporte. Se han sugerido muchos otros enfoques para 1 ||
wjTj, véase, por ejemplo, Fisher (1976, 1981), Potts y van Wassenhove (1985) y Rachamadugu
(1987).

Vous aimerez peut-être aussi