Você está na página 1de 15

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS

Planificacin y Control de la Produccin II


Jairo Humberto Torres Acosta Ph.D. P.E.

PROGRAMACIN CON RESTRICCIONES DE TIEMPOS DE TERMINACIN

Programacin con restricciones es una tcnica que se origin en la comunidad de


Inteligencia Artificial

. En los ltimos aos, a menudo han sido aplicadas estas

tcnicas en combinacin con la investigacin de operaciones

para mejorar su

eficacia.

La Programacin con restricciones, de acuerdo con su diseo original, slo trata de


encontrar una buena solucin, tal que sea viable y que satisfaga todas las restricciones
dadas en el sistema, por lo cual, estas soluciones rara vez son ptimas. Las restricciones,
normalmente son las fechas de pedido y fechas de vencimiento. Es posible utilizar una
tcnica de programacin con restricciones, con el propsito de reducir al mnimo las
fechas de vencimiento relacionadas con la funcin objetivo.

La programacin con restricciones aplicada a problemas del tipo


funciona de la siguiente forma. Suponga que en un sistema Job Shop de m maquinas;
se ha encontrado un programa (secuenciacin) con makespan

que es

menor o igual a un plazo de entrega y con una fecha de lanzamiento o liberacin .


El algoritmo que satisface las restricciones para cada mquina debe arrojar como
resultado una secuencia de operaciones de tal manera que el programa o secuencia
general tenga un makespan

menor o igual a .

Antes de iniciar el procedimiento de secuenciacin y programacin de operaciones se


debe desarrollar un paso de inicializacin.

Para cada trabajo u operacin, en cada mquina se realiza el clculo para


determinar el posible tiempo temprano de iniciacin y el posible tiempo tardo
de terminacin.

Seguidamente, se desarrolla el clculo para todas las ventanas de tiempo de los trabajos
en cada mquina, las cuales se comparan entre s. Cuando las ventanas de tiempo de dos
operaciones en cualquier mquina no se superpongan o traslapen, se puede definir una

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

relacin de precedencia entre las dos operaciones, es decir que dicha relacin de
precedencia puede ser impuesta:

En cualquier secuencia o programa factible, la operacin con la ventana de


tiempo temprana debe preceder a la operacin con la ventana de tiempo tardo.
En realidad, una relacin de precedencia se puede inferir incluso cuando las
ventanas de tiempo se superponen.
(

Sea

) las variables que denotan en cada paso del procedimiento, el posible

tiempo de inicio temprano (tardo) del trabajo u operacin

) las

variables que denotan, el posible tiempo de terminacin temprana (tarda) del trabajo u
operacin

, en el marco del actual conjunto de restricciones de precedencia.

Tenga en cuenta que el posible tiempo temprano de iniciacin de la operacin


ejemplo

, por

, puede ser puede ser considerado como una fecha de lanzamiento local de la

operacin y puede ser denotado por


terminacin

, mientras que el posible tiempo tardo de

, puede ser considerado como una fecha de vencimiento local (due

date), denotado como

Con base en los criterios anteriores, se puede definir la holgura entre el procesamiento
de las operaciones

en la mquina como:

Si
Entonces, en el marco del actual conjunto de restricciones de precedencia todava no
existe, una secuencia factible en la que la operacin

preceda a la operacin

en la mquina ; por lo que la relacin de precedencia que se debe definir o imponer,


requiere que la operacin

aparezca antes de la operacin

En el paso de la inicializacin del procedimiento, todos los pares de ventanas de tiempo


se comparan entre s y todas las relaciones de precedencia implcita se insertan en un
grafo disyunto. Debido a estas restricciones de precedencia adicionales de las ventanas
2

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

de tiempo de cada una de las operaciones, se puede ajustar de nuevo (o reducidas), es


decir, se trata de un nuevo clculo de la fecha de lanzamiento y la fecha de vencimiento
de cada operacin.

Las tcnicas de satisfaccin de las restricciones se basan en general en la propagacin


de las restricciones. Una tcnica de satisfaccin de restricciones se basa tpicamente en
pruebas o intentos y en cada paso, se intenta insertar nuevas limitaciones de precedencia
mediante arcos disyuntos, las cuales estn implicadas por las otras restricciones de
precedencia insertadas anteriormente y por las restricciones originales del problema.

Con las nuevas restricciones de precedencia ubicadas en su lugar, la tcnica recalcula


las ventanas de tiempo de todas las operaciones. Para cada par de operaciones que
tienen que ser procesados en la misma mquina, se tiene que verificar que uno de los
siguientes cuatro casos se aplique.
Caso 1

Caso 2

Caso 3

Caso 4

En uno de los pasos del algoritmo que ms adelante se describe, un par de operaciones
se han seleccionado de forma tal que satisfagan el caso 4, es decir, que cualquiera que
sea el orden entre las operaciones, la secuencia sigue siendo factible. En este paso del
algoritmo, muchos pares de operaciones pueden satisfacer la condicin del caso 4. Si

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

hay ms de un par de operaciones que cumplen con el caso 4, entonces, el control de


bsqueda heurstica tiene que ser aplicado.

En este contexto, la seleccin de una pareja de operaciones se basa en la flexibilidad de


la secuencia que esta pareja este ofreciendo. La pareja o par de operaciones con la
menor flexibilidad es seleccionada. El razonamiento de este enfoque es sencillo. S una
pareja con poca flexibilidad no es secuenciada desde el principio en este proceso,
entonces puede suceder que ms adelante este par de operaciones no puedan ser
programadas. Por esta razn, tiene sentido dar prioridad a las parejas con una baja
flexibilidad y posponer la programacin o secuenciacin de los pares de operaciones
con una alta flexibilidad.

Es evidente que la flexibilidad de los pares de operaciones depende de la cantidad de


holgura que exista en los dos posibles ordenamientos. Un clculo simple de la
flexibilidad

) al secuenciar un par de operaciones, corresponde al mnimo

valor de las dos holguras calculadas. Es decir:


(

Sin embargo, basarse nicamente en este

clculo del lmite mnimo puede traer

problemas. Por ejemplo, al suponer que un par de operaciones tiene valores de holgura 3
y 100, mientras que otro par tiene los valores de holgura 4 y 4. En este caso, puede
haber posibilidades limitadas para la programacin de la segunda pareja del primer par
(la de 100) y posponer una decisin en relacin con el segundo par (4 y 4), lo cual bien
puede eliminarlas. Un ordenamiento factible en relacin con la primera pareja en
realidad no puede estar en peligro.

Sin embargo, en lugar de utilizar

), la siguiente medida heurstica de

flexibilidad de la secuenciacin, ha demostrado ser ms eficaz:


(

As que, s la relacin

tiene un valor grande, entonces la flexibilidad del par de

operaciones se incrementa y la urgencia por ordenarlas disminuye. Despus de que el


par de operaciones con la flexibilidad de secuenciacin ms baja

) ha sido
4

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

seleccionada, la restriccin de precedencia que conserva la mayor flexibilidad se


selecciona (es impuesta), es decir si:

La operacin

debe preceder a la operacin

En uno de los pasos del algoritmo tambin puede suceder que un par de operaciones
satisfaga el caso 3.

Cuando este es el caso, el programa parcial que est en

construccin, no se puede completar y el algoritmo tiene que dar marcha atrs.


Devolverse, suele implicar que una o ms de las decisiones tomadas en iteraciones
anteriores tengan que ser anuladas, (es decir, que las relaciones de precedencia que se
haban definido anteriormente con base en las restricciones tienen que ser eliminadas).
En otro caso, puede implicar que no existe una solucin factible para el problema en la
forma en que se ha presentado y formulado y algunas de las restricciones originales del
problema tienen que ser relajadas.

El procedimiento de bsqueda heurstica guiada con restricciones se presenta en el


siguiente numeral.

1. ALGORITMO 1: BSQUEDA HEURSTICA GUIADA CON RESTRICCIONES


El algoritmo se describe a continuacin:
Paso 1
Calcule para cada par no ordenado de operaciones los valores:

Paso 2
Comprobar las condiciones de dominancia y clasificar las decisiones de ordenamiento
restantes de acuerdo con:

Si alguna decisin de ordenamiento corresponde a los casos 1 o 2 vaya al paso


3.

Si alguna decisin de ordenamiento corresponde al caso 3 entonces dar marcha


atrs.

En caso contrario vaya al paso 4.


5

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

Paso 3
Inserte una nueva restriccin de precedencia y vaya al paso 1.

Paso 4

S no se da una decisin de ordenamiento cuando corresponde al caso 4,


entonces se ha encontrado la solucin. PARE.

En caso contrario vaya al paso 5.

Paso 5
Calcular

) para cada par de operaciones que no se hayan ordenado.

Si
operacin

, entonces la operacin

debe seguir a la

En caso contrario, entonces la operacin

Vaya al paso 3.

debe seguir a la operacin

Con el fin de aplicar el algoritmo de bsqueda heurstica guiada con restricciones a los
problemas

tiene que ser incorporado al siguiente marco de trabajo.

Primero, se debe encontrar un lmite superior

y un lmite inferior

al makespan.

2. ALGORITMO 2: MARCO DE TRABAJO DE LA BSQUEDA HEURSTICA


GUIADA CON RESTRICCIONES
Paso 1
Conjunto d

Aplique el algoritmo 1
Paso 2

Paso 3

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

El desarrollo del siguiente ejemplo ilustra la utilizacin de la tcnica de la heurstica


guiada con restricciones.

3. EJEMPLO DE APLICACIN DE PROGRAMACIN CON RESTRICCIONES


EN UN AMBIENTE JOB SHOP

Considere el siguiente ejemplo para resolver el problema de programacin con


restricciones en un ambiente Job Shop, tomado de Scheduling, Michael Pinedo, pg.
207.-11
.

Tabla 1. Informacin sobre trabajos, secuencia de operaciones en las mquinas y


tiempos de procesamiento.

Considere un Due Date d=32, tiempo para el cual todos los trabajos deben estar
terminados. Considrese de nuevo un grafo disyuntivo pero ignorando todos los arcos
disyuntos tal como se muestra en la figura 1.

Figura 1.

Grafo disyunto con arcos disyuntos que representa la ejecucin de los

trabajos en las diferentes mquinas de acuerdo con la secuencia establecida para cada
uno de ellos.

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

Seguidamente, se desarrollan todos los clculos con la trayectoria o camino ms largo,


determinando las fechas de liberacin

y los tiempos de terminacin (due date)

locales tal como se muestra en la tabla 2.

Tabla 2. Calculo de los tiempos locales de liberacin

A manera de ilustracin se tomar el trabajo

Mientras que el clculo de los

cuya secuencia de operaciones est

determinada por el conjunto de mquinas


el grafo disyunto de la figura 1): El clculo de los

y due date

, para lo cual se tiene (observar


es:

es:

Una vez desarrollada esta tabla de tiempos para todas las operaciones, se tienen que
desplegar una comprobacin

para verificar si estas condiciones implican unas

restricciones de precedencia adicionales. Consideremos por ejemplo los pares de


operaciones (2, 2) y (2, 3) como un par que tiene que ser procesadas por la mquina
. Los clculos de los resultados de rendimientos de las holguras son:

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

Este resultado implica que el orden


arco disyunto

no es factible. De esta forma, el

tiene que ser insertado en el grafo disyunto. De la

misma manera, se puede demostrar que los arcos disyuntos

debern ser insertados tambin.

10
8

Figura 2. Grafo disyunto con arcos disyuntos

insertados

La adicin de este arco (en color rojo) hace que la red sea distinta y que para llegar al
nodo 2,3 ahora halla dos rutas, es decir
Evidentemente, el nuevo

o tiempo de liberacin para

tiempo mayor entre

debe el

De la misma manera se tiene:

Estas restricciones de precedencia adicionales requieren la actualizacin de los tiempos


de liberacin

y las fechas de vencimiento

de todas las operaciones, los cuales se

presentan en la tabla 3.

En los recuadros rojos se marcan las operaciones que sufrieron cambios al actualizarse
los tiempos

. Estas actualizaciones de los tiempos locales de liberacin y de

vencimiento no implican ninguna restriccin de precedencia adicional.

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

Tabla actualizada

Tabla 3. Actualizacin de los tiempos locales de liberacin


vencimiento

y tiempos de

En el paso 5 del algoritmo 1, requiere los clculos del factor

) para todos

los pares de operaciones no ordenados en cada una de las mquinas, resultados que se
pueden observar en la tabla 4.

Tabla 4. Clculos para

De acuerdo con estos resultados, el par con menor flexibilidad es

. Dado que

las holguras son tales que:

Cualquiera de las dos restricciones puede ser insertada. Suponga que la restriccin de
precedencia (3, 2) (3, 1) es insertada tal como se muestra en la figura 3. Esta
restriccin de precedencia causa mayores cambios en la ventana de tiempo durante la
cual las operaciones tienen que ser procesadas. Esto se puede observar en la tabla 5 en
donde se comparan los datos actualizados de la tabla 3 con los nuevos datos calculados.

10

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

10
8

Figura 3. Grafo disyunto con arco disyunto

Al insertar

insertado

se puede observar entonces que el comportamiento de

permanece igual, pero el

Datos actualizados de
la tabla 3

Nuevos datos

Tabla 5. Comparacin de los datos actualizados de la tabla 3 con los nuevos datos
calculados.

Sin embargo, este nuevo conjunto de ventanas de tiempo impone una restriccin de
precedencia adicional (4, 2) (4, 3). Esta nueva restriccin de precedencia genera
cambios en los tiempos locales de liberacin y de vencimiento de las operaciones (tabla
6 b), actualizacin que no genera restricciones de precedencia adicionales. Ahora,
mediante el paso 5 del algoritmo 1, se calculan los nuevos valores

). Toda

esta informacin se observa en la siguiente tabla.

11

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

Tabla 6. (a) Actualizacin de la informacin al insertar (3, 2) (3, 1); (b)


Actualizacin al introducir (4, 2) (4, 3); (c) Clculo de

).

De acuerdo con los resultados 6(c), se observa que el par de operaciones con menor
flexibilidad es

, por lo cual la restriccin de precedencia

debe ser insertada. La insercin efectuada anteriormente, impone una restriccin


ms

. De esta manera falta insertar nicamente el par

. Estas

dos operaciones se pueden ordenar de cualquier manera, sin violar ninguna fecha de
vencimiento y un ordenamiento factible es

. El resultado del programa

con un makespan igual a 32 se muestra en la figura 2. Este programa cumple con la


fecha de vencimiento originalmente establecida, pero no es ptimo.

Figura 4. Programa final no ptimo

12

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

Cuando el par

fue ordenado la primera vez, podra haber sido ordenado en

cualquier direccin, puesto que los valores de holgura eran iguales. Supongamos que en
ese momento el orden opuesto fue seleccionado

en lugar de

. Al reiniciar el proceso en ese punto, los rendimientos sobre las fechas de


liberacin y vencimiento se muestran en la tabla 7(a).

Estas fechas de liberacin y vencimiento hacen cumplir una nueva restriccin de


precedencia que corresponde al par de las operaciones (2, 1) (2, 3) con la restriccin (2,
1) (2, 3). Esta restriccin adicional cambia las fechas de liberacin y vencimiento
que se pueden observar en la 7(b). Estos cambios afectan el par (4, 2) (4, 3) y su
arco (4, 2) (4, 3). Este arco adicional no genera cambios en las fechas. En este punto
dos pares de operaciones faltaran por ordenar; los pares (1, 1) (1, 3) y (1, 2) (1, 3),
lo cual se puede observar en 7(c).

Tabla 7. (a) Actualizacin de la informacin al insertar


Actualizacin al introducir

; (c) Clculo de

; (b)
).

De esta forma el par (1, 1) (1, 3) es ms crtico, por lo cual se ordena el arco (1, 1)
(1, 3). De esta manera resulta que la ltima pareja por ordenar ser (1, 2) (1, 3), la cual
se puede ordenar en cualquier forma.

El programa final resulta ser ptimo con un makespan igual a 28. Estos resultados se
muestran a continuacin.

13

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.
10

1,1
0

2,1

3,1

8
8

2,2
10

1,2

4,2

3,2

3
5
4

1,3

2,3

4,3
7

Figura 5. Grafo disjunto que representa la solucin ptima con makespan 28

El grafo disjunto de la figura 5 muestra las rutas crticas para la utilizacin de las
mquinas conectadas con arcos disjuntos de color rojo y con arcos de color azul que
evidentemente son los no crticos. Por ejemplo para la maquina 1, la ruta es:

La tabla que muestra los cambios que se presentaron tanto en los tiempos de liberacin
y los tiempos de due date locales

es la siguiente:

operations
(1,1)
(2,1)
(3,1)
(2,2)
(1,2)
(4,2)
(3,2)
(1,3)
(2,3)
(4,3)

r ij

d ij
0
10
18
0
14
17
22
10
18
25

10
18
22
8
17
22
28
18
25
28

Tabla 8 Actualizacin de la informacin sobre los

Con base en todos estos resultados, se presenta el diagrama Gantt para el conjunto de
mquinas

M1
M2

1,1

1,3

2,2

1,2
2,1

M3

2,3
3,1

M4

3,2

4,2
10

20

4,3
22

28

30

32

Figura 6. Diagrama de Gantt que representa la solucin ptima con makespan 28

14

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS


Planificacin y Control de la Produccin II
Jairo Humberto Torres Acosta Ph.D. P.E.

Como se dijo anteriormente, la satisfaccin de restricciones no slo es aplicado para


reducir el makespan al mnimo, sino que tambin se puede aplicar a problemas con
objetivos relacionados con fechas de vencimiento y cada trabajo relacionado con sus
propias fechas de liberacin.

15

Você também pode gostar