mn
j n
con
c j x j
j 1
aij x j bi
i 1..m
j 1
x j 0 j
N -1
Programacin Dinmica es
S
S
S
S
S
S
una tcnica de optimizacin que se
aplica exclusivamente a sistemas
cuyos diagramas de flujo de
d
d
d
d
informacin
son
seriados
Fig. 5.1.1
multietapas, entendiendo por
seriados aquellos diagramas donde en toda etapa las variables que ingresan a ella son de
decisin o provienen solo de la etapa que la precede de acuerdo al flujo de informacin, tal
como el que se muestra en la figura 5.1.1.
N +1
N -1
-1
N -1
All se ha buscado representar con flecha entera gruesa conjuntos de variables, por ejemplo
dN debe entenderse como un vector de componentes dn1, dn2,...
Las variables individuales, como todas las r i, por ejemplo, se indican con una media flecha
fina. Estas variables ri representan el aporte que realiza en forma individual cada etapa a la
funcin objetivo del sistema. En definitiva, el problema puede ser formulado como sigue
FO N
o p
t
c
o n
f
g
r
i
( S i
( S i
r
i
r
i
S i
S i
( S i
*
r
i
d i
d i
S i
d i
donde fi y gi deben tomarse como vectores de funciones de componentes fi1, fi2,...,gi1, gi2,...
Resulta importante aclarar que en todo el captulo, al hacerse referencia a las variables de
estado de una etapa, esto es, que abandonan esa etapa, solo se han de considerar, salvo
expresa mencin en contrario, las que se conectan con otra etapa, lo que de modo alguno
quiere decir que sean las nicas que existan. Son las que interesan desde el punto de vista de
Programacin Dinmica, que es algo muy distinto, pero al momento de calcular los aportes a
la funcin objetivo deben tenerse en cuenta, como es obvio, todas las variables, sean o no de
interconexin.
Volviendo al diagrama de flujo de la figura 5.1.1, la particular estructura que presenta
permite inferir rpidamente que las consecuencias de cualquier decisin que se tome en
cualquier etapa se pueden proyectar solo hacia adelante en el flujo de informacin, en rigor, en
forma directa, a la etapa siguiente y, a travs de sta, a las restantes.
Esto es tpico, por ejemplo, en todo proceso que se desarrolla a lo largo del tiempo 1, donde
las acciones que se toman en el presente solo han de tener consecuencias en el futuro. La situacin presente, en tanto, es la resultante de las decisiones del pasado, inmodificable, por cierto,
ante la cual, en consecuencia, solo cabe aceptar la realidad y determinar el curso a seguir, en
aras de alcanzar el mejor futuro posible.
Esta dinmica se repite en sistemas seriados multietapas, donde un "presente" en particular
es el valor que toman las variables de interconexin que ingresan a una etapa k cualquiera
("estado" del sistema a la entrada de la misma2), en tanto que el "futuro" lo constituye el
subdiagrama que comienza en la etapa k y concluye con la final.
Para un determinado estado Sk+1, v.g. Sk+1j, existe un conjunto de decisiones (podra decirse
"en el futuro") dkj,...,dlj que logran un valor ptimo para el conjunto de aportes parciales
r1,...,r k.
Dado que al fijarse dkj queda perfectamente determinado Skj y que, con esto, se tiene una
1
-2
1.. N
situacin, para las ltimas k-1 etapas, equivalente por completo a lo anterior, se puede poner
que
donde ahora Sk+1 tiene un valor genrico y las dk,...,d1 que logran el ptimo de FOk (y ste
mismo) resultan ser funciones de ese valor.
Cuando lo anterior es cierto para cualquier valor de k entre 1 y N se tiene el ptimo para el
sistema, segn lo expresa el llamado principio de optimalidad de Bellman3 por el que se
establece que la poltica ptima dN*,...,d1* para un sistema de N etapas debe ser tal que el
subconjunto de decisiones para las k ltimas etapas dk*,...,d1* resulta ptimo para el estado
Sk+1, para todo k entre 1 y N.
La expresin 5.1.1, asimismo, establece la estructura fundamental de la estrategia de
optimizacin por Programacin Dinmica, como podr verse en seguida.
2.Estrategia bsica. Ejemplos demostrativos
En la exposicin de la estrategia o algoritmo bsico de Programacin Dinmica, para una
mayor claridad en la exposicin, se admitir que en el diagrama de flujo general de la figura
5.1.1 hay solo una variable de interconexin y una de decisin por etapa.
Esto permite que, en la determinacin del estado a la entrada de cada etapa, se logre la
mayor simplicidad de tratamiento pues basta con fijar el valor de una sola variable. Otro tanto
ocurre con la bsqueda de los ptimos parciales (esbozada en 5-1-1), la que se ha de efectuar,
tambin, sobre una variable.
De modo alguno esto resta generalidad al tratamiento. Si se incrementase en uno o ms
puntos del diagrama el nmero de variables de interconexin habra de crecer la complejidad
en la determinacin del estado a la entrada de la etapa, o etapas, correspondientes, pero el
concepto de estado ha de seguir siendo singular, con independencia de cuantas variables lo
determinan. En forma anloga, si las modificaciones ocurriesen sobre las variables de decisin,
sera cuestin de elegir, en cada caso, la metodologa de optimizacin que mejor se ajuste al
nmero de variables y tipo de problema particular.
Hecha esta aclaracin es posible, ahora, entrar de lleno en el proceso de anlisis que se
desprende del principio de Bellman.
De acuerdo a 5.1.1 se deber comenzar por la ltima etapa, la nmero 1 en el diagrama (la
numeracin elegida obedece a que el proceso de anlisis "transcurre" en sentido inverso al
flujo de informacin), donde deber encontrarse
FO1 ( S 2 ) opt r1 ( S 2 , S1 , d1 ) opt r1 ( S 2 , S1 S 2 , d1 , d1 )
d1
dk
Richard Bellman fue quien, en la dcada del 50, plantea los fundamentos de Programacin
Dinmica.
-3
Si se admite que el paso de optimizacin indicado solo puede ser llevado a cabo en forma
numrica (de hecho, la nica va de ataque siempre posible) habr que determinar el ptimo de
r1 para varios valores de S2, de modo
r 1
de disponer, en forma tabulada, las
a
funciones F1(S2) y d1*(S2).
2
S'
d *1
r*1
opt r2 ( S 3 , S 2 ( S 3 , d 2 ), d 2 ) FO1 ( S 2 ( S 3 , d 2 ))
Figura 5.2.1
d2
etapas y encontrar
La cuestin es, en esencia, la misma que antes: debe buscarse el ptimo de r 1+ r2 para
distintos valores de S3, obteniendo, asimismo, los respectivos d2*.
La nica diferencia radica en que, dado
un valor de S3, para obtener el
correspondiente a cada d2 en la funcin a
optimizar, al resultado del clculo de r2
debe agregarse el valor de FO1 que
corresponda al S3 elegido. (Esto se
muestra en la figura 5.2.2.a donde la
ordenada est constituida por dos partes,
r2 y r1*).
El valor de FO1 surge interpolando en
la tabla obtenida en la etapa anterior, para
lo que debe tenerse en cuenta el estado a
la salida (S2) que resulta de la
Figura 5.2.2
combinacin de la entrada (S3) y la
decisin (d2).Todo esto se ha de repetir en el anlisis de las etapas 3,4,..,N-1.
-4
se reduce a
opt rN ( S N (d N ), d N ) FON 1 ( S N ( d N )
dN
Figura 5.2.3
A partir del valor encontrado de dN* es posible el clculo de S N* y con sta, a travs de la
tabla respectiva, determinar dN-1* y as, siguiendo ahora el sentido del flujo de informacin,
hasta lograr d1*.
Resumiendo: la estrategia que plantea Programacin Dinmica consta de dos fases, una,
primera, por la cual se han de obtener los ptimos parciales de las k ltimas etapas y las
decisiones ptimas de las mismas en funcin del estado a la entrada al subsistema; la otra
fase, siguiendo el flujo de la informacin, permite obtener los valores de los estados y
decisiones ptimas para todas y cada una de las etapas que componen el sistema.
Tal vez resulte conveniente fijar estos conceptos a travs del anlisis de algunos ejemplos
sencillos.
En el primero de ellos -la extraccin en tres etapas de un soluto con agregados parciales de
solvente de extraccin presentado en captulos anteriores- es posible encontrar expresiones
funcionales tanto para FOi*(Si+1) como para di*(Si+1); en cambio, en el segundo - una red de
intercambio trmico con divisin de corrientes, similar a la vista en el captulo de
ordenamiemto de clculo - debe acudirse a la solucin numrica planteada como estrategia
general.
W
q
x
Fig. 5.2.4
-5
qx i 1 qx i W i y i
Fig. 5.2.5
mx r1 q( x 4 x 1 ) CW 1
x1
x'2 x 1
W1 q
kx 1
con lo cual
x'
C
r1 q x4 x1 p 2 1 , p
x1
k
r1
1 px2' x1 2 0 x1* px2'
x1
5 2 1
Como se puede apreciar, las relaciones 5-2-1 concluyen por determinar sendas expresiones
analticas para el ptimo parcial y la decisin de la etapa, FO1 y x1*, en funcin del estado a la
entrada de la misma x2. Estas expresiones corresponden a las curvas estimadas en la figura
5.2.1 b y c.
Debe hacerse notar que debe verificarse la naturaleza del punto estacionario determinado,
-6
x' x
mx r2 FO1 FO1 CW2 FO1 Cq 3 2
kx2
'
x
q x 4 p 2 3 2 px 2
x 2
Esto lleva a
( r 2 FO1 )
x 2
FO 2 ( x'3 ) ( r1 r2 )* q x 4 2 p 3 3 p 2 x'3
(Se deja a cargo del lector el verificar que la derivada segunda es igual a -3/2x3 < 0).
Antes de pasar al tercer, y ltimo, paso de optimizacin conviene hacer notar que, hasta
ahora, las funciones objetivos parciales dependan tanto de la decisin en la etapa inicial del
respectivo subdiagrama como del estado a la entrada de la misma.
Al tratar el conjunto de las tres etapas la entrada al sistema est fija (x 4 es un dato), por lo
que x3* no ser ya funcin de la misma sino simplemente un valor nico (Advirtase el
abandono de la utilizacin de la derivada parcial en la determinacin del punto estacionario).
Conviene recordar esto dado que, en la formulacin del problema, se ha omitido el darle
valores numricos a los datos y podra aparecer como que se reiteran las situaciones
anteriores. Se trata, entonces, de encontrar
x
mx r3 FO 2 FO 2 CW 3 q x 4 3 p 3 3 p 2 x 3 p 4
x3
x3
( r 3 FO 2 )
x 3
px 4 x 3 2 3 ( p / x 3 ) 2 0 x*3 4 px 43
FO 3 ( r3 r2 r1 )* q x 4 3 p 4 4 p 3 x 4
*
*
*
y ahora conocido x3 surgen de inmediato x2 y x1 , en la segunda fase de la estrategia de
Programacin Dinmica, siguiendo el flujo de la informacin:
x3'* x3* 4 px 43
x *2
px 4 x 2'*
x1* 4 p 3 x4
Problema 5.2 El otro ejemplo al que se hizo referencia es un esquema con una nica divisin
de corrientes para resolver el problema de sntesis de redes de intercambio trmico similar al
-7
Ac
A1
500
Ae
180
100
240
W3
W2
280
T4
W4
200
320
T21
T1 de optimizacin, esquema
140
320 4 del tema mtodos
visto al considerar el acpite
que se muestra en
W1
la figura 5.2.6.
A3
A2
Calentador
657,5 qv =
15 4
10 ( 500 - T 3 )
13
540 - T 3
15 4
= 200 Ac
10 ln
13
40
Intercambiador 1
15 4
10 ( T 3 - 240 ) T 3 240
13
480 - T 3
1 13
ln
= 150 A1
- 10 - 4
T 4 480 ; T 3 480
240
2
15
T4
2 10 4 ( 480 - T 4 ) =
Intercambiador 2
2 10 4 ( T 4 - 280 ) =
13 4
10 ( 320 - T1 )
9
1 9
T - 320
-4
ln 4
= 150 A2 10
280 - T 1
2
13
T 4 320 ; T 1 280
Intercambiador 3
f
15 4
13 4
10 ( 320 - T 21 ) =
10 ( T 1 - 140 )
9
9
ln
9
320 - T 1
9
-4
= 150 A 3
10
T 21 - 140
15 f 13
T 1 140
T 21 140
Enfriador
15 4
10 ( 320 - T 22 )
T 22 320
9
140
9 10 - 4
1
ln
= 150 A e
T 22 - 100
15 ( 1 - f ) q a
80 q a = ( 1 - f )
Mezclador
f T 21 + ( 1 - f) T 22 = 200
0 f 1
y la funcin objetivo
FO = 39 A 0,65 + 3,6 q v + 0,24 q a
A
A
-8
f
Fig. 5.2.7
22
T '1
T
El
21
diagrama
de
flujo
resultante se indica en la figura 5.2.7 (Otra vez se ha recurrido al artificio de introducir una
variable de conexin, T1 = T1)
Por las caractersticas del diagrama queda claro que es aplicable Programacin Dinmica,
aunque la naturaleza matemtica de las ecuaciones hace imposible una solucin analtica como
en el problema anterior.
Habr que buscar
dar lugar a una tabla donde han de figurar los respectivos FO1, necesarios para el siguiente
paso de optimizacin, y de f*, requeridos para la segunda fase de la tcnica.
Una vez realizado esto habr que proceder a resolver un nico problema:
Puede advertirse que ahora se est ,en principio, frente a dos problemas de una variable en
lugar de uno de dos, que fuera la forma como se resolvi anteriormente.
Esta reduccin de la dimensionalidad de los problemas parciales, un aspecto fundamental de
Programacin Dinmica, se logra a costa de resolver reiteradamente cada uno de estos
subproblemas (Recurdense las figuras 5.1.1a y 5.1.2a). De aqu la nota de prevencin en
principio expresada ms arriba, ya que estas reiteraciones pueden llegar a anular los efectos
derivados del menor nmero de variables de decisin por problema y, an, a resultar
perjudiciales, cuestin sobre la cual se ha de volver ms adelante.
Retomando el problema planteado; la generacin de la tabla requiere la adopcin de una
serie de valores de T1. Para ello debe considerarse que existe un lmite superior implcito sobre
T1, que surge del umbral de necesidad de refrigeracin en el enfriador, equipo complementario
del intercambiador 3 .
Estos umbrales se pueden calcular mediante la Tabla del Problema, utilizando una
aproximacin mnima nula. Los consumos de servicios auxiliares que as se determinen
constituirn un mnimo de ndole termodinmica, ya que los intercambios que se propongan
sobre el Pinch deberan realizarse en equipos con rea infinita.
Para el problema, el umbral de refrigeracin es del orden de 63 10 4, lo que arroja un valor
mximo de 2351, aproximadamente, para T1.
En la construccin de la tabla, se ha tomado como lmite superior 234,5 y 174,5 como el
mnimo, con un total de 7 valores igualmente espaciados. Se estima, a priori, que el valor
ptimo de T1 se ha de ubicar ms cerca del lmite superior que a la inversa, como un modo de
ahorrar en el consumo de servicios auxiliares, ms significativos en costo que la amortizacin
de los equipos.
-9
f*
0,300
0,373
0,445
0,514
0,582
0,649
0,715
FO1
5578,46
5183,54
4786,64
4389,10
3992,01
3596,33
3202,98
14
7
10
11
2
3
10
10
13
9
2
- 10
avanzando siempre en direccin oeste y de modo tal que el viaje resulte lo ms corto posible.
En adelante se adoptar un sistema de ejes coordenados para ubicar los nodos,
correspondiendo la fila 1, columna 1 al extremo superior izquierdo y la fila 3, columna 4 al
inferior derecho, nodos n1,1 y n3,4 respectivamente5.
Puede verse que en cada columna hay un nmero finito de nodos, tres en este caso, as
como que, ubicado en un nodo, para avanzar a la columna siguiente, es posible elegir alguno
de los, como mximo tres, arcos que salen del mismo.
En la parte inferior de la figura 5.3.1 se muestra un diagrama de flujo de informacin que
podra asociarse al "mapa" simplificado de arriba. Para ello, bastara admitir que todos los
estados (inicial, intermedios y final) pueden tomar solo tres valores, los que corresponden a las
filas 1,2 y 3 respectivamente, y que las decisiones en las etapas han de incrementar en uno la
columna, manteniendo, incrementando o disminuyendo en uno el valor de la fila, siempre que
el estado al que se arribe sea uno permitido.
Esta equivalencia entre un diagrama de rutas y otro de flujo de informacin posee, como se
ha de ver ms adelante, un real inters prctico, que supera a la actual circunstancia de servir
como justificacin terica para el uso de una determinada tcnica.
La aplicacin de la estrategia de Programacin Dinmica -el diagrama lo permite- debe
comenzar analizando el aporte en la ltima etapa, esto en las transiciones que vinculan las
"ciudades" de la columna 3 con las de la 4. El ptimo de este aporte, menor trayecto,
depender, como ya se ha visto, del estado a la entrada de la etapa.
Puesto en los trminos del mapa carretero simplificado, si uno se encontrase en el nodo 1,3
podra trasladarse al 1,4, recorriendo una distancia 9, o al nodo 2,4, ubicado a una distancia 2.
La decisin ptima, en consecuencia, ser esta ltima lo que genera un aporte de 2 a la
distancia total a recorrer.
Si la posicin fuese, en cambio, el nodo 2,3 lo mejor sera trasladarse al 1,4 con un aporte
de 2. Para el 3,3 debe el viaje debe concluirse en el nodo 3,4, con un recorrido parcial de 3.
En la figura se han indicado las decisiones ptimas, as como los aportes a la distancia total
que corresponda, esto dentro de los crculos que marcan los nodos.
Al pasar a considerar las dos ltimas etapas el recorrido hasta el final resulta de la suma del
aporte de la transicin de que se trate y la distancia ptima a recorrer desde la "ciudad" a que
se llega hasta el final.
As, por ejemplo, si se estuviese en el nodo 1,2 y se tomara la decisin de mantenerse en la
fila, habra que cubrir una distancia de 10 para llegar a 1,3 y de all, se sabe, 2 hasta el final, lo
5
- 11
que hace un total de 12. En cambio si uno se trasladara al nodo 2,3 el recorrido sera de 5 + 2
= 7, obviamente, mejor que lo anterior.
De esta forma se alcanzan los estados iniciales, columna 1, encontrndose que el menor
recorrido total corresponde al nodo 2,1 con un valor de 11 y que las decisiones ptimas
-segunda fase de la tcnica- marcan el camino n2,1 - n2,2 - n1,3 - n2,4.
Hay un caso de optimizacin de diagramas de rutas de gran importancia prctica, pues en l
se basan todas las tcnicas de planificacin de tareas, cronogramas de ejecucin de obras, etc.
que se explicitan en mtodos como PERT o CPM6.
En este tipo de problemas se encuentran fijos tanto el estado inicial, la entrada al sistema,
como el final, a la salida de la ltima etapa.
Un caso como ste se muestra en la figura 5.3.2, donde se ha colocado, junto al diagrama
de rutas, el de flujo de informacin del que podra provenir.
El que exista un nico nodo inicial y slo otro final (la entrada y la salida estn fijas) es
perfectamente entendible si ese diagrama de rutas est representando un conjunto de tareas en
las que se ha subdividido un determinado trabajo
10
14
2
(limpiar el terreno, poner los cimientos,... para
5
2
construir una casa), donde, necesariamente, ha
de existir un momento en el que pone en marcha
9
2
7
3
9
el programa de trabajo y otro donde todo ha
28
16
9
0
concluido.
7
10
Cada arco en el diagrama debe entenderse
como una tarea, siendo su duracin el valor que
18
9
se encuentra sobre el mismo. Cada nodo indica
el momento en que concluye una tarea o est en
condiciones de comenzar otra. De aqu que en el
diagrama se est indicando, tambin, la relacin
Fig. 5.3.2
que existe entre las distintas tareas del
programa: cuales son las que deben estar
concluidas antes de poder comenzar con cada una.
9
Para este caso la funcin objetivo que se plantea es el menor tiempo en el que el programa
puede estar concluido, respetando, claro est, las relaciones entre las tareas que lo componen.
Esto ltimo significa que deber buscarse el camino ms largo, el de mayor duracin, ya
que permitir que las restantes tareas, las que no se encuentran sobre el camino crtico,
pueden concluirse sin inconvenientes.
6
PERT: Program Evaluation and Review Technique - CPM: Critical Path Method
- 12
De la misma forma que antes es posible ir determinando los mximos parciales que
corresponden a cada estado, esto es, cuanto tiempo ha de transcurrir, an, desde ese punto
hasta que el programa se encuentre concluido.
Por ejemplo, resulta inmediato que las tareas que concluyen en el nodo 1,3 debern estar
terminadas 2 unidades de tiempo antes que el programa global, as como que las que lo hacen
en el 2,3 lo debern estar 9 unidades antes. Para determinar el valor correspondiente al nodo
1,2 (es decir, para las tareas que all terminan) ha de tenerse en cuenta que por una va, la que
pasa por n1,3, el lapso sera 12 (10 + 2), mientras que por otro circuito, el que se conecta con
n2,3, el valor es 14 (5 + 9) y ser esto ltimo lo que deba considerarse como fecha de
terminacin del nodo para permitir que ambas ramas terminen en tiempo.
Al llegar al estado inicial, se tendr el tiempo total y, pasando a la segunda fase de la
tcnica, la posibilidad de determinar el conjunto de tareas que determinan este tiempo,
integrando el camino crtico.
Este concepto de criticidad aparece en virtud de que una demora en la ejecucin de
cualquiera de estas tareas determinar la correspondiente prolongacin del tiempo total de
completamiento del programa.
En la figura 5.3.2 se han indicado, como siempre, en el interior de los nodos, el valor del
mximo parcial, encontrndose que el tiempo mnimo de ejecucin es 28 y el camino crtico
est determinado por la secuencia n2,1 - n3,2 - n2,3 - n2,4.
Adicionalmente a lo anterior pueden determinarse un conjunto de parmetros de suma
importancia en la planificacin de un trabajo.
En la figura 5.3.3 se muestra la resolucin
del mismo problema pero ejecutando las
operaciones en sentido inverso al anterior (Se
estara siguiendo el sentido del flujo de la
informacin).
Con esto es posible determinar la fecha
ms temprana fp en la que puede comenzar
una tarea cualquiera, siendo sta el valor que
se encuentra en el nodo donde la tarea
comienza.
10
19
19
28
10
9
10
14
Fig. 5.3.3
As, cualquiera de las que lo hacen en el 1,3 no podrn empezar antes de la fecha 19
(max[ 9 + 10;7 + 2] = 19 O tiempo en que se encuentra concluida la tarea que determinan los
nodos 2,2 y 1,3).
A partir de haber "fechado" los nodos, calculando el lapso hasta la terminacin, lf (fig.
- 13
5.3.2), as como la fecha temprana o prxima, fp (fig. 5.3.3) se pueden determinar, para cada
tarea, lo que se conoce con el nombre de fecha tarda ft, plazo ltimo para concluirla sin que
se retrase el conjunto y, en relacin con sta, el margen de flotacin m, que representa el
mayor lapso de demora admisible.
fpt fpi , j
ftt DT lf k , l
mt ftt ( fpt d t )
Duracin
9
7
10
10
5
2
3
7
9
2
2
9
9
Fecha
prxima
0
0
0
9
9
7
7
7
10
10
19
19
14
Fecha
tarda
14
12
10
26
19
26
19
19
19
19
28
28
28
Margen
5
5
0
7
5
17
9
5
0
7
7
0
5
No se puede terminar este acpite sin advertir que, primero, los casos reales que son
abordados mediante PERT o CPM presentan diagramas (grafos en la terminologa tcnica)
totalmente irregulares lo que, sin embargo, no invalida la aplicacin de todo lo visto 7 y,
segundo, que, si bien la tcnica bsica es la expuesta, se abordan otras cuestiones tales como
costos, asignacin de recursos, duraciones indeterminadas, etc., cuyo tratamiento escapa a la
intencin de esta obra.
4.Tratamiento aproximado: diagrama de rutas equivalente
Del mismo modo en que antes se vinculaba un diagrama de flujo de informacin a uno de
7
De hecho, se podran transformar esos grafos en otros regulares, aunque el hacerlo carece de
sentido prctico.
- 14
b) Si = di
- 15
c) Si > di
ri
S
i+1
ri
S
i+1
ri
S
i+1
S i-d
S
d i -S
Fig. 5.4.2
Debe aclararse que en los esquemas se ha tomado di como el nmero de variables que definen
la decisin di y Si la cantidad de las que determinan el estado Si.
Puede verse que slo en los casos a y b es posible fijar completamente la salida, mientras
que en el caso c algunas de las variables que la determinan surgen por clculo.A su vez, en el
caso a, quedan an variables de decisin por determinar, ya que la modificacin del sentido del
flujo de informacin no alcanza a invertirlas a todas.
En este ltimo caso, para lograr establecer el aporte sobre una transicin cualquiera -desde
un determinado Si+1 a un dado Si -, se requiere conocer los valores de las variables de decisin
que han quedado libres, lo que significa un problema de optimizacin para definir tal
aporte.Este problema, obviamente, tiene una dimensionalidad menor que la que le corresponde
a la etapa (Se ha reducido en Si variables).
El otro caso interesante es el c, donde se puede fijar slo parte del estado a la salida y el
resto debe ser calculado. En este clculo participa el estado a la entrada de la etapa y, en
consecuencia, aunque permanezcan invariables los valores fijados para la salida, al cambiar el
estado Si+1, habrn de generarse diferentes estados S i, por la modificacin de las componentes
que surgen por clculo8.
En la circunstancia descripta el diagrama de rutas aparecer con ramificaciones divergentes,
originadas en cada uno de los valores elegidos para el estado Si+1.
En la figura 5.4.3 puede apreciarse la
transformacin de un diagrama de flujo de
informacin en otro de rutas equivalente.
21
31
11
22
40
Podra decirse que se est en condiciones de fijar, por ejemplo, la latitud del punto
de destino, pero
21
la longitud depende de aquella y del cual sea el punto de origen.
32
12
22
- 16
Fig.5.4.3
cada una de las variables que participan en la definicin de los estados interetapas, variables
que aparecen "tachadas" en el diagrama de flujo de informacin. Los valores se indican
mediante dos dgitos en el interior de los nodos que representan los estados. Adems se han
marcado con un punto las transiciones sobre las cuales el clculo del aporte a la funcin
objetivo requiere de un proceso de optimizacin.
Puede advertirse que en los tramos que corresponden a la etapa 2 aparecen repetidos los
valores fijados de la variable de salida, un par para cada valor del estado S3.
Como quedase dicho, esta ramificacin aparece toda vez que resulta imposible fijar la
totalidad de las variables que determinan el estado S2.
Merece un comentario final lo que sucede al aplicar esta metodologa en la ltima etapa.
All las variables de salida no se interconectan con nada y, por consiguiente, no existe un
estado, tal como se ha expuesto para los restantes casos. No se requiere, necesariamente,
invertir el flujo de informacin ni tiene importancia cuntas variables definen el estado y
cuntas la decisin.
No obstante, por conveniencia en el clculo, se ha de mantener en la ltima etapa el
concepto de estado a la salida, fijando valores (discretizando) para las variables que se hayan
elegido, en el nmero corresponda, estn stas integradas al estado de salida o a la decisin.
Por todo lo dicho resulta claro que las transiciones en este punto nunca podrn presentarse en
un esquema ramificado.
La precisin que se puede alcanzar por esta va depende, como es obvio, de la cantidad de
estados intermedios que se generan. Si bien cuando el problema est formulado en trminos de
variables continuas el nmero posible para los mismos es infinito, no resulta conveniente, en
aras de una mayor exactitud, aplicar la estrategia expuesta sobre un nmero grande de estados
intermedios.
En su lugar, es ms efectivo proceder a una primera bsqueda que permita acotar un mbito
donde reiterar el procedimiento y, as, todas las veces que resulte necesario.
T '1
datos
21
5.88
169.5
160
5.79
8.96
5.86
inic
200
3.49
6.55
234.5
3.21
260
Fig. 5.4.4
- 17
- 18
T21
T1
r2>
160
180
200
220
240
260
r2+r1*
169.5
8960
5879
(0,160)
5816
(0,183)
5786
(0,213)
5775*
(0,256)
182.5
8058
5397
(0,230)
5313
(0,263)
5274
(0,307)
5263*
(0,368)
195.5
7193
4912
(0,301)
4805
(0,344)
4757
(0,401)
4750*
(0,481)
208.5
6398
4429
(0,371)
4298
(0,424)
4239*
(0,424)
4242
(0,594)
221.5
5761
3954
(0,441)
3793
(0,505)
3722*
(0,589)
3755
(0,706)
234.5
6553
3489
(0,512)
3294
(0,585)
3209*
(0,682)
3445
(0,819)
5785
(0,320)
5856
(0,426)
14735
5297
(0,460)
5877
(0,614)
13321
4857
(0,601)
NF
NF
NF
NF
NF
NF
NF
11943
10637
9483*
9762
En la primera fila y columna de la tabla figuran los valores de los distintos estados. En la
segunda fila los aportes sobre las transiciones entre el nodo inicial y los correspondientes a T1.
De las filas tercera a octava se encuentran los aportes de la ltima etapa y, entre parntesis,
el valor de f*. Con la sigla NF se marca el hecho que la transicin correspondiente no resulta
posible (T22 o f exceden los lmites establecidos).
La lectura de una columna, considerando desde la tercera a la octava fila, permite decidir,
para el respectivo valor de T1, cual es la mejor eleccin en la ltima etapa; por ejemplo: para
T1=182,5 resulta lo ms adecuado T21 = 220 o, lo que es equivalente, f = 0,368. Puede notarse
que las transiciones ptimas para cada estado se indican con un asterisco.
En la ltima fila se muestra el resultado, r 2 + r1*, para las distintas decisiones posibles en la
primera etapa. El menor de todos ellos representa el ptimo global, 9483 $/ao,
aproximadamente un 5% superior al valor encontrado anteriormente.
Las decisiones ptimas seran T1 = 221,5 y f = 0,589.
Pero an sera posible ajustar este resultado. De la inspeccin de la tabla surge una zona, a
la que se ha recuadrado, donde, evidentemente, se encuentra el ptimo del problema. Si se
ampla la bsqueda en dicha zona, agregando dos nuevos valores de T', 215 y 228, y otros dos
de T21, 190 y 2109, se encuentra el ptimo para T1= 228, f=0,693 y un costo de 9076 $/ao,
apenas un 0,66% superior al valor exacto.
5.Programacin Dinmica en sistemas ramificados
9
- 19
Si se omite por un momento la particular estructura del diagrama, considerando cada una
de las ramas por separado, puede plantearse
FO A ( S kA ) opt subsist A
FOB ( S kB ) opt subsist B
Luego, evidentemente, es posible plantear
FOk ( S k 1 ) opt rk FO A ( S kA ) FOB ( S kB )
dk
- 20
d
M
S
N+1
N+1
Me
N
S
k+1
S
Ne
N+1
1
S
k+1
k+1
depende de estados sobre los que no se puede actuar en forma simultnea, ya que la decisin
dk+1 puede modificar a Sk+1 pero no a SN+1 y, a la inversa, dN+1.
La solucin a esto es instrumentar un tratamiento secuencial, resolviendo, por ejemplo, las
etapas N, N-1,...k...1 como si fuesen la ltima etapa de la rama M...N+1.
Ello significa que habr que resolver, para distintos valores del estado SN+1
es decir que para lograr transformar el subdiagrama constituido por las etapas N...k...1 en la
ltima de la secuencia M...N+1 habr que optimizar al primero, considerando al estado S N+1
como un dato, tantas veces como valores se establezcan para el mismo.
Una vez que lo anterior ha sido completado -sin duda, el paso computacionalmente ms
engorroso- el procedimiento contina con la obtencin de
FO N 1 ( S N 2 ) opt rN 1 FO N ( S N 1 )
d N 1
, de acuerdo a lo visto.
Si se cumple que Si+1 + di > Si y Si+1 < Si ; i = M...N+1 es posible aplicar otra va de
solucin: invertir por completo el sentido del flujo de informacin en la rama superior, con lo
que el sistema, ahora, ser divergente a partir de la etapa k.
En el caso de querer aplicar esta estrategia para un diagrama donde existen ms de dos
- 21
ramas que convergen en un punto, la condicin anterior deber verificarse, al menos, para
todas ellas menos una.
Otro de los casos donde es posible aplicar Programacin Dinmica es sobre sistemas que
presentan una derivacin paralela (bypass), como el que se muestra en la figura 5.5.3.
La respuesta general a esta situacin es modificar el diagrama, mediante la creacin de
variables interetapas, de forma que se elimine la rama lateral, como se muestra a la derecha de
la figura. Esto significa el crecimiento de la dimensionalidad en los estados, cuestin que,
como se ver, aumenta la dificultad en la aplicacin de la tcnica.
k
S
jk
l1
j
S
jl
ln
kp
j
p
S
S
jk
jl
S
e
kp
lp
lp
Fig. 5.5.3
- 22
La nica posibilidad que existe de aplicar la tcnica es a travs de la eliminacin del reciclo,
lo que implica una modificacin sustancial del diagrama de flujo.
En la parte derecha de la figura 5.5.5 se esquematiza el procedimiento. El estado S kj se
transforma en decisin simultneamente en las etapas j1 y kr, lo que obliga a invertir el flujo en
la rama superior.
k
S
kj
j1
jk
jp
kj
j+1
j1
jk
jp
j+1
Fig. 5.5.5
La eleccin de Skj no es arbitraria, ya que se busca que el sistema ramificado resultante sea
divergente (Lo es en la etapa jp), por su mayor simplicidad en el tratamiento posterior. De aqu
que la inversin a la que se hiciese referencia deber privilegiar, otra vez y por la misma razn
que antes, las decisiones por sobre los estados.
El procedimiento a seguir en la optimizacin del esquema modificado presenta la
particularidad de que, por actuar Skj en dos puntos diferentes del mismo, el tratamiento de la
rama k1...kr deber hacerse manteniendo a Skj como un dato; ms an, esta caracterizacin se
ha de prolongar hasta el momento de considerar la etapa j1, punto en el cual, recin, se podr
tratar a Skj como una decisin.
El estudio de las tcnicas de optimizacin es importante no slo por la posibilidad de
resolver problemas que presentan determinadas caractersticas sino -lo que tal vez sea ms
importante- porque su conocimiento permite estructurar los problemas de forma tal que
puedan ser utilizadas determinadas tcnicas.
En la figura 5.5.6 se muestra la estructura de la red de intercambio analizada en el captulo
de ordenamiento de clculo.
- 23
Como se vio, en
aquella oportunidad, el
nmero de grados de
libertad para esta red
es 3 y una de las
alternativas
era
considerar,
como
variables de decisin, a
la temperatura T1 y a
los
factores
de
fraccionamiento f1 y f2.
Fig. 5.5.6
Este problema de tres variables puede ser resuelto mediante Programacin Dinmica, con
una importante reduccin en la complejidad de los clculos (Debe advertirse que se ha
omitido, en razn de tratarse del mismo problema ya visto, el detalle de las ecuaciones que
definen el modelo matemtico del sistema).
En la parte superior de la
figura 5.5.7 se muestra el
diagrama de flujo de informacin
del problema. Los bloques E, C,
1, 2 y 3 se corresponden con los
equipos de intercambio trmico,
mientras que m1 y m2
representan los puntos de mezcla
de las corrientes 4 y 2 (La parte
superior de la figura 5.5.7 es
equivalente a la 3.2.10).
A
q
f1
f2
41
42
m1
21
m2
22
C-1-2-m1
T'
T''
f1
3-E-m2
f2
Fig. 5.5.7
Puede
verse,
en
este
diagrama, que existen dos grandes segmentos, cada cual con uno de los factores f como
variable de decisin exclusiva y compartiendo ambos a T1.
- 24
T1= T1
f1*
FOc..m1
f2*
FO3..m2
174,5
184,5
194,5
204,5
214,5
224,5
234,5
0,545
0,575
0,605
0,635
0,665
0,696
0,734
8689,6
8009,5
7356,7
6748,6
6224,3
5907,3
7611,6
0,300
0,373
0,445
0,514
0,582
0,649
0,715
5578,5
5183,5
4786,6
4389,1
3992,0
3596,3
3203,0
El ptimo para el sistema se encuentra para T1=228,7, f1=0,710, f2=0,676, con un costo de
9384 $/ao.
6. Problemas de clculo en Programacin Dinmica
Hasta ahora se han podido apreciar las ventajas de Programacin Dinmica, al reducir la
dimensionalidad de los problemas y, consecuentemente, la complejidad numrica de su
tratamiento.
Pero esto no es gratuito: tal reduccin exige resolver, repetidamente, cada uno de los
subproblemas que genera la estrategia de optimizacin.
Si el nmero de veces que hay que repetir la solucin de los problemas es muy grande, an
cuando el nmero de grados de libertad de cada uno, esto es, su dimensionalidad, sea pequeo,
bien podra suceder que resultase ms sencillo "olvidar" la estructura del diagrama de flujo de
informacin, no aplicar Programacin Dinmica y resolver el caso por bsqueda simultnea,
entendiendo por esto el uso de cualquier tcnica que aborde el tratamiento conjunto de las
variables de decisin.
Para lograr enfocar la cuestin desde un punto de vista analtico se requiere contar con
algn tipo de funcionalidad que vincule la dimensionalidad de un problema con la dificultad de
optimizarlo. Tales expresiones son, en rigor, de dudosa generalidad para los mtodos ms
difundidos.
Resulta posible, en cambio, establecer una cota superior a esta dificultad: basta con tomar
un mtodo ineficiente de optimizacin, para el que sea posible encontrar una funcionalidad del
tipo buscado.
Un mtodo que rene estas caractersticas es el nmero de oro extendido a multivariables,
donde el nmero de clculos a realizar para obtener el ptimo de una funcin de t variables
puede expresarse bajo la forma bt, siendo b una constante que depende de la exactitud deseada.
r
N +1
N -1
N -1
- 25
d
N -1
todas las etapas tienen decisiones y estados de interconexin definidos por D y S variables,
respectivamente, estando fijo el estado a la entrada al sistema.
Supngase, tambin, que en la bsqueda de FOi(Si+1) se consideran a valores para cada una
de las variables que integran el estado Si+1.Esto dar aS problemas con D variables de decisin
para cada una de las etapas, salvo para el ltimo paso de optimizacin, donde ha de existir uno
solo, en virtud de estar fijo el estado a la entrada del sistema.
Con esto, la cota superior para las dificultades de clculo inherentes a la estrategia de
optimizacin por Programacin Dinmica PD y bsqueda simultnea BS han de ser
PD b D ( N 1)a S 1
BS b ND
PD
b D ( N 1) ( N 1)a S 1
BS
.. j i.. 8
Si d j
. j i . 8
S i 1 d i d j
8 S i 1 d i
rel 8 S i S i 1 d i 8
d j
y queda claro que esta dificultad relativa es mayor que 1 (conviene el agrupamiento) toda
vez que Si - Si+1 di.
Debe tenerse en cuenta que en la expresin anterior se consideran la totalidad de las
variables que componen el estado a la entrada a la etapa pero solo las variables que integran
el estado que la interconecta con quien se analiza el agrupamiento. Lo anterior es
particularmente importante cuando se consideran los puntos de divergencia en un sistema
ramificado.
En la parte b de la figura 5.6.2 se presenta el caso de una etapa sin decisin. Aqu es posible
ensayar cuatro estrategias: el tratamiento del diagrama tal como est, la bsqueda simultnea
en todo el segmento o agrupar la etapa j con la k o la i. Los grados de dificultad para cada
alternativa sern10
..k j i.. 8
k j i 8
S j di
8S i1 d i
S i1 d i d j
k . j i 8
S j dk
8S i1 d i
k j i 8S i d k 8S i1 d i
con lo que, como puede verse, siempre resulta conveniente el agrupamiento de j con una etapa
contigua, por lo menos para eliminar el estado de interconexin definido por el mayor nmero
de variables, Si o Sj, con independencia de que convenga el tratamiento unificado de las tres
etapas, lo que puede analizarse, luego, con el criterio expuesto anteriormente.
El ltimo caso de agrupamiento a considerar es el de pequeos reciclos.
Ya se ha visto que es posible aplicar Programacin Dinmica a este tipo de diagramas,
aunque resulte bastante engorroso hacerlo.
De aqu que se pudiera pensar en un tratamiento conjunto de las etapas que se encuentran
involucradas en un reciclo de informacin.
10
En el caso de tratamiento individual de cada etapa se considera una dificultad de clculo para
lograr expresar FOk(Sj) como FOj(Si)
- 28
Fig. 5.6.3
La dificultad relativa del tratamiento por separado de las, ahora, N-1 etapas con respecto al
enfoque simultneo ser
81 ( N 2)811 81
rel
donde se ha tenido en cuenta la bsqueda para un solo valor del estado a la entrada de la
etapa N, en razn de ser algo comn para ambas estrategias.
La expresin anterior resulta ser menor que la unidad para N mayor o igual que 4, por lo
que, extendiendo el criterio a otros diagramas de flujo de informacin, se puede plantear que
reciclos con menos de cuatro variables involucradas en las decisiones deben ser resueltos
por bsqueda simultnea.
Estos criterios de agrupamiento de etapas deben constituir un paso previo a la optimizacin
efectiva del sistema, el que, en definitiva, debera realizarse de acuerdo al siguiente esquema:
1.- Formulacin matemtica del problema
2.- Determinacin de una estrategia de clculo
3.- Construccin del diagrama de flujo de informacin
4.- Anlisis de agrupamiento de etapas en el diagrama.
5.- Optimizacin efectiva del sistema.
En el desarrollo de la estrategia mixta, que presupone el quinto y ltimo paso, est implcita
la seleccin del o de los mtodos que resulten ms adecuados para llevar a cabo el proceso de
optimizacin.
- 29
Bibliografa
- "Discrete Dynamic Programming" Aris, Blaisdell, 1963.
- "Foundations of Optimization" Wilde & Beightler, Prentice Hall, 1967.
- "Optimization of multistage cyclic and branching systems by serial procedures" Aris,
Nemhauser, Wilde, AIChEJ 10 p.913, 1964
- 30