Programación Con Restricciones 1
-
Upload
jeison-diaz -
Category
Documents
-
view
225 -
download
1
description
Transcript of Programación Con Restricciones 1
-
UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS Planificacin y Control de la Produccin II Jairo Humberto Torres Acosta Ph.D. P.E.
1
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.
2
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 y (
) 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 , por
ejemplo , puede ser puede ser considerado como una fecha de lanzamiento local de la
operacin y puede ser denotado por , mientras que el posible tiempo tardo de
terminacin , 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 e 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
-
UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS Planificacin y Control de la Produccin II Jairo Humberto Torres Acosta Ph.D. P.E.
3
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.
4
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
-
UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS Planificacin y Control de la Produccin II Jairo Humberto Torres Acosta Ph.D. P.E.
5
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.
-
UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS Planificacin y Control de la Produccin II Jairo Humberto Torres Acosta Ph.D. P.E.
6
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 , entonces la operacin debe seguir a la
operacin .
En caso contrario, entonces la operacin debe seguir a la operacin .
Vaya al paso 3.
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.
7
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.
8
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 y due date .
A manera de ilustracin se tomar el trabajo cuya secuencia de operaciones est
determinada por el conjunto de mquinas , para lo cual se tiene (observar
el grafo disyunto de la figura 1): El clculo de los es:
Mientras que el clculo de los 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.
9
Este resultado implica que el orden no es factible. De esta forma, el
arco disyunto tiene que ser insertado en el grafo disyunto. De la
misma manera, se puede demostrar que los arcos disyuntos y
debern ser insertados tambin.
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 y .
Evidentemente, el nuevo o tiempo de liberacin para debe el
tiempo mayor entre .
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 y . Estas actualizaciones de los tiempos locales de liberacin y de
vencimiento no implican ninguna restriccin de precedencia adicional.
8
8
10
-
UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS Planificacin y Control de la Produccin II Jairo Humberto Torres Acosta Ph.D. P.E.
10
Tabla 3. Actualizacin de los tiempos locales de liberacin y tiempos de
vencimiento .
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.
Tabla actualizada
-
UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS Planificacin y Control de la Produccin II Jairo Humberto Torres Acosta Ph.D. P.E.
11
Figura 3. Grafo disyunto con arco disyunto insertado
Al insertar se puede observar entonces que el comportamiento de
permanece igual, pero el
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.
Datos actualizados de
la tabla 3
Nuevos datos
8
8
10
6
-
UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS Planificacin y Control de la Produccin II Jairo Humberto Torres Acosta Ph.D. P.E.
12
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
-
UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS Planificacin y Control de la Produccin II Jairo Humberto Torres Acosta Ph.D. P.E.
13
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 ; (b)
Actualizacin al introducir ; (c) Clculo de ( ).
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.
-
UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS Planificacin y Control de la Produccin II Jairo Humberto Torres Acosta Ph.D. P.E.
14
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:
Tabla 8 Actualizacin de la informacin sobre los
Con base en todos estos resultados, se presenta el diagrama Gantt para el conjunto de
mquinas
Figura 6. Diagrama de Gantt que representa la solucin ptima con makespan 28
44
6
5
8
3
7
5
4
8 3
88
10
3
4
100
2,2 1,2U 4,2 3,2 V
1,1
1,3
2,1
2,3
3,1
4,3
0
operations r ij d ij
(1,1) 0 10
(2,1) 10 18
(3,1) 18 22
(2,2) 0 8
(1,2) 14 17
(4,2) 17 22
(3,2) 22 28
(1,3) 10 18
(2,3) 18 25
(4,3) 25 28
M1
M2
M3
M4
22 28
2,3
3,1 3,2
4,2 4,3
32t
10 20 30
1,1 1,3 1,2
2,2 2,1
-
UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS Planificacin y Control de la Produccin II Jairo Humberto Torres Acosta Ph.D. P.E.
15
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.