Professional Documents
Culture Documents
3. PROGRAMACIN DINMICA
Cuando la funcin (.) es separable a lo largo de las etapas del proceso de decisin es posible utilizar los
principios desarrollados por Richard Bellman (1957) para resolver el problema PD:, esto ocurre cuando
(.) se puede expresar como:
(x1 ,u1 ,x2 ,u2 , ... , xt ,ut , , xT ,uT ) = t=1,T rt(yt ,ut )
o como
(x1 ,u1 ,x2 ,u2 , ... , xt ,ut , , xT ,uT ) = t=1,T rt(yt ,ut )
El Principio de Optimalidad de Bellman dice que independientemente de las decisiones tomadas para
llegar a un estado especifico xt, en cualquier etapa t, una poltica ptima tiene la propiedad de que las
restantes decisiones hasta la etapa final T, representadas por (ut , ut+1 , ... , uT) deben constituir una poltica
ptima para la trayectoria desde t hasta T. En otras palabras, la trayectoria ptima desde el estado de
partida, x0, hasta estado final ptimo xT*, tiene la propiedad que para cualquier estado intermedio xt, la
trayectoria debe ser ptima desde el estado inicial x0 hasta el estado intermedio xt y desde dicho estado
hasta el estado final xT.
Dadas las pocas restricciones que se imponen para que se cumpla el Principio de Optimalidad, la
programacin dinmica ha sido una alternativa numrica vlida para resolver muchos tipos de problemas
no solubles por mtodos directos de programacin matemtica.
Cuando las etapas se asocian a un espacio continuo, como el tiempo, el enfoque de Programacin
Dinmica puede ser muy rico para estudiar el comportamiento de los sistemas a lo largo de dicho espacio.
En adelante se asociar las etapas a perodos del horizonte de planificacin. Para el caso lineal el problema
de Programacin Dinmica (PD:) puede formularse como
3-1
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
Programaci
Programacin Din
Dinmica - Conceptualizaci
Conceptualizacin Programaci
Programacin Din
Dinmica
Etapas (Periodos)
Variables de ut
Control
u1 ut uT
Para resolver el problema mediante PD ste se descompone en mltiples etapas, una por cada perodo,
encadenando las etapas por medio de la denominada funcin de costo futuro t(xt ,ut), que por la
condicin de separabilidad y el Principio de Optimalidad solamente es funcin explcita de las variables
de estado e independiente de las variables de control, por lo tanto el problema a resolver en cada etapa es:
donde t(xt) representa la funcin de los costos futuros asociados a la operacin ptima del sistema para
los perodos posteriores a t, dado que al final de dicho perodo el estado del sistema es xt.
La evaluacin de la funcin t(xt) es el problema central de la PD. Existen al menos dos alternativas:
3-2
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
por medio de algoritmos numricos basados en tablas que almacenan los valores de t(xt) para valores
discretos de xt, que es convencionalmente el mtodo con el cual se asocia la Programacin Dinmica
Clsica (PD);
por medio de mtodos analticos que utilizan la definicin de t(xt), que es el mtodo utilizado por
versiones modernas, como la Programacin Dinmica Dual.
Un algoritmo de PD basado en la evaluacin de la funcin t(xt) por medio tablas considera dos fases: i)
evaluacin de la tablas asociadas a las funciones t(xt); y ii) determinacin de la solucin ptima al
problema, x*t.
Las soluciones a obtener mediante este tipo de algoritmo dependen del nivel de discretizacin que se
utilice para las variables de estado xt, que se puede asociar al nmero de intervalos en los que se divide la
zona factible de xt en lo que se refiere a sus cotas de variacin. En adelante se asocia el superndice d a la
notacin para indicar el nivel de discretizacin, es decir que dt(xt) corresponde a la funcin de costos
futuros obtenida por un algoritmo de PD para un nivel de discretizacin d. La discretizacin implica que
se considera un nmero finito de d posibles estados para evaluar puntos de la funcin t(xt). El vector xdt
de posibles estados se puede expresar como
Consideremos la solucin del problema de la ltima etapa para un nivel de discretizacin d, para una
condicin inicial xeT-1, que pertenece a uno de los posible valores discretos considerados para xT-1
dT-1(xeT-1) representa exactamente a T-1(xeT-1) debido a que no hay ninguna aproximacin en el problema
que la define. Para estimar la funcin T-1(xT-1) para valores de xT-1 que no pertenecen a xdT-1 se requiere
de un proceso de interpolacin, lineal o no lineal, que debido a la convexidad (Davis y Provonost 1972) de
T-1(xT-1) implica siempre la sobrestimacin del verdadero valor. Por lo tanto se puede afirmar que
independiente del nivel de discretizacin d se cumple
3-3
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
PROGRAMACI
PROGRAMACIN DIN
DINMICA CL
CLSICA
APROXIMACION DE LA FUNCION DE COSTO FUTURO T(xT)
t(xt)
T(xe T)
EVALUACIONES DISCRETAS
+
xt
Comenzando por la etapa T-2 de manera recursiva es posible demostrar que siempre se cumple que
El error de aproximacin va aumentando en la medida que disminuye el valor de t, es decir que para la
primera etapa se tiene el mayor nivel de error. Lo anterior se puede visualizar en la siguiente grfica
+ PROGRAMACI
PROGRAMACIN DIN
DINMICA CL
CLSICA
APROXIMACION DE t(xt)
t(xt) +
+
+
+ + 1(x1)
+ + t(xt)
+ T(xT)
xt
Con respecto al nivel de discretizacin es fcil verificar que debido a la convexidad de t(xt) a menor
nivel de discretizacin mayor sobrestimacin de t(xt); es decir que si xdd2t esta incluido en xdd1t se
cumple
3-4
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
lo que es coherente matemticamente ya que cuando el nmero de componentes de xddt tiende a infinito se
tiene el problema exacto.
El efecto de la sobreestimacin depende del sistema; por ejemplo, en el caso de aplicaciones de recursos
hdricos retarda el uso del agua con respecto a su uso ptimo, lo que se traduce en niveles de embalse
superiores al perfil de operacin ptimo que se obtendra con un mtodo continuo. Por lo tanto, se puede
afirmar que la prdida de precisin de los algoritmos de PD, entendida como menor nivel de
discretizacin, retarda el uso del recurso hdrico con respecto a su uso ptimo. Lo que implica que la PD
produce polticas ms conservadoras con respecto a la poltica ptima.
Cuando se obtiene d1(x1) se puede considerar que se ha explorado la zona de factibilidad dual del
problema original, ya que se tiene informacin "completa" con respecto al costo de oportunidad implcito
en el nivel de las variables de estado para todas las etapas y todos los estados. Esta informacin es
suficiente para determinar la trayectoria ptima x*d definida como
donde x*dt representa la solucin ptima para el perodo t dado el nivel de discretizacin d.
Simultneamente, se ha explorado la zona de factibilidad primal determinando funciones x*dt(xt-1) que
definen el valor ptimo de las variables de estado al final del perodo t, y de las de control al interior del
perodo t, como funcin del valor de las variables de estado al comienzo del perodo.
Para determinar la decisin ptima para cualquier perodo t se puede utilizar la informacin dual, es decir
dt(xt), o la informacin primal, es decir x*dt(xt-1).
Si el problema se resuelve exactamente, es decir que no hay errores en la estimacin de las funciones
t(xt), lo que ocurre cuando el nivel de discretizacin d tiende a infinito, cualquiera de las dos alternativas
se puede utilizar indistintamente, ya que darn el mismo resultado. La igualdad entre las solucin dual y la
primal se basa en la Teora de la Dualidad que dice que si existe solucin al problema dual
en el ptimo se cumple
donde *t es la solucin al problema dual DPD: y x*t la solucin al problema primal PD:.
Se debe tener en cuenta que las funciones aproximadas dt(xt) implican que la solucin x*dt(xt-1) para las
variables primales es subptima y que por lo tanto la solucin dual correspondiente es no factible (Ring y
Read 1994), esto es consecuencia directa del proceso de interpolacin. Bajo estas consideraciones se debe
ser cuidadoso al utilizar informacin econmica factible lo que puede distorsionar los resultados
obtenidos. En principio, sin mucha rigurosidad matemtica desde el punto de vista terico, se puede
3-5
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
afirmar que el uso de la informacin primal subptima debe ser ms apropiado que el uso de la
informacin dual no factible. Pero a pesar de lo anterior, las soluciones deben ser "similares".
En trminos generales, el enfoque utilizado para reducir de tamao el problema original consiste en
evaluar las funciones dt(xt) y x*dt(xt-1) para cada componente xt,i del vector de variables de estado xt con
base en un problema de dos variables de estado: xt,i y t,i, siendo t,i una variable de estado artificial que se
obtiene agregando las restantes componentes del vector de variables de estado {xt,ji} y fijando su valor
con base en una funcin de agregacin ({xt,ji}), matemticamente lo anterior es
t,i = ({xt,ji})
donde t,j,i corresponde a un factor de ponderacin de la variable de estado xt,j cuando se evala las
funciones dt(xt) y x*dt(xt-1) para las componentes xt,i. La variable de estado t,i se discretiza de manera
similar a las variables de estado originales xt,i. Por lo tanto, las funciones dt(xt) y x*dt(xt-1) no son
evaluadas en todos los puntos discretos del espacio del vector xt, sino en todos los puntos discretos del
espacio {xt,i ,t,i}.
La solucin del problema original implica la solucin coordinada de N problemas aproximados con base
en dos variables de estado. La agregacin de N-1 variables de estado conlleva simplificaciones del
problema original que deben analizarse para cada caso especfico. La coordinacin de la solucin debe
soportarse en desarrollos matemticos que describan los procedimientos que se deben seguir para obtener
la "mejor" solucin al problema segn sea el caso. En la literatura tcnica existen muchas variaciones
alrededor de los conceptos generales que aqu se han planteado, la bondad y calidad el enfoque debe
analizarse independientemente en cada caso.
3-6
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
Se debe tener en claro que la suboptimalidad ser una caracterstica presente en todos los casos de
agregacin de variables de estado, ya que el problema real ha sido simplificado para obtener una "buena"
solucin factible, mas no la solucin ptima.
Existen al menos dos orgenes para lo que se ha denominado Programacin Dinmica Dual (PDD). El
primero est relacionado con el trabajo desarrollado por Pereira y Pinto (Pereira y Pinto 1985, Pereira
1989, Pereira y Pinto 1991) el cual fue revisado por Velsquez et. al (Velsquez 1997, Velsquez,
Restrepo y Campo 1999). El segundo corresponde al trabajo desarrollado Read y sus colaboradores
(Casseboom y Read 1987, Read 1989, Read y George 1990).
En una serie de trabajos desarrollados a partir de 1985 por Pereira y Pinto (Pereira y Pinto 1985, Pereira
1989, Pereira y Pinto 1991) se presentan los conceptos fundamentales que hacen posible utilizar la
metodologa de la Programacin Dinmica, a problemas con mltiples variables de estado sin enfrentar el
problema de la maldicin de la dimensionalidad. Pereira y Pinto utilizan la Teora de Benders (TB) para
establecer la funcin de costo futuro del sistema con base en los hiperplanos que la definen, en vez de
calcularla a partir de la discretizacin de su valor en varios puntos del espacio primal de las variables de
estado; posteriormente Velsquez y sus colaboradores (Velsquez 1997, Velsquez, Restrepo y Campo
1999) revisan y ajustan las ecuaciones propuestas por Pereira y Pinto para garantizar la convergencia al
ptimo de dicha teora. Este ltimo trabajo se considera aporte original del autor a la teora matemtica de
la Programacin Dinmica Dual, y en conjunto en adelante se referir como PDD-P.
La PDD, tal como fue definida por Pereira y Pinto est orientada a resolver un problema con una
estructura apropiada para combinar el enfoque de programacin dinmica con los principios de la teora
propuesta por Benders. La formulacin propuesta para PDD-P es:
y t = { xt , ut }
Las formulaciones de la PD y de PDD-P son equivalentes; sin embargo, la formulacin que hace explcita
las variables de control es ms rica para describir un sistema tcnico-econmico. La diferencia
fundamental con respecto a la PD es la forma de resolver el problema, es decir la forma en como se evala
las funciones de costo futuro t(xt). Las dos soluciones son equivalentes. Dado que la funcin de costo
futuro es independiente del valor de las variables de control se tiene
Para desarrollar la teora que soporta PDD-P consideremos, como en el caso de PD, el problema de la
ltima etapa, T, asociado a la determinacin de T-1(xT-1) que se puede obtener resolviendo el problema
Con base en la Teora de la Dualidad se puede evaluar T-1(yT-1) a partir del problema dual
donde representa t las variables duales del problema asociado a la etapa t. Por lo tanto T-1(yT-1) cumple
con
La anterior condicin se debe cumplir para cualquier valor de T perteneciente a la zona de factibilidad
dual y corresponde al corte por optimalidad de Benders.
A partir del anterior razonamiento, Pereira (1989) propone la solucin del problema PD: con base en la
solucin coordinada de un conjunto de problemas del tipo:
donde IT(t) corresponde al nmero de cortes que se han generado a nivel del coordinador CPt(yt), y kt+1
al vector de variables duales de las restricciones At+1yt+1=bt+1-Etyt obtenido en la k-sima solucin del
problema CPt+1(yt):
En definitiva la funcin t(yt), que representa el costo futuro desde la etapa t+1 hasta el final del horizonte
T, se determina por medio del conjunto de cortes de Benders
3-8
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
La revisin realizada por Velsquez y sus colaboradores (Velsquez 1997, Velsquez, Restrepo y Campo
1999) implica la inclusin de un trmino faltante en los cortes de Benders considerados originalmente por
Pereira. Los nuevos cortes tienen la siguiente forma
donde IJ(t,j) representa el nmero de cortes incluidos en el problema coordinador CPt-1(yt-1) cuando se
resuelve el problema CPt(yjt-1) y tj es un valor constante calculado como
jtTbt t=T
tj = { jtTbt + k=1,IJ(t,j) k,jt t+1k t = 1 , T-1
donde k,jt representa la variable dual del k-simo corte de Benders en el problema CPt(yjt-1).
La siguiente grfica ilustra la aproximacin de la funcin de costo futuro bajo el enfoque PDD-P.
PROGRAMACI
PROGRAMACIN DIN
DINMICA DUAL
t(xt) PROXIMACION DE t(xt)
CORTES DE BENDERS
xt
Fuera del punto ptimo, la aproximacin que realiza PDD-P subestima el verdadero valor de t(xt), en la
medida que se generan cortes el error de subestimacin desaparece y al final la representacin del
problema es exacta en el vecindario de la solucin ptima, fuera de este vecindario no lo es. Este hecho es
de fundamental importancia cuando los cortes de Benders son utilizados como definicin de la funcin de
costo futuro para simular decisiones para casos no considerados en el modelo de optimizacin. Dicha
simulacin, por definicin es sub-ptima, ya que subestima el verdadero costo futuro.
Por lo anterior se puede afirmar que la PDD subestima las funciones de costo futuro, en tanto que la PD
las sobreestima. Por lo tanto se cumple:
3-9
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
Desde el punto de vista algortmico existe ms de una alternativa para enfrentar la solucin de un
problema dinmico utilizando los conceptos de la PDD-P, en general un algoritmo se mueve en dos
direcciones: i) forward: desde la etapa 1 hacia la T; y ii) backward: en sentido contrario. En la fase
forward, inicializando t en 1 y partiendo de un valor dado de y0, se resuelven sub-problemas CPt(yt-1): con
la finalidad de determinar el valor de yt que sirve como condicin de frontera para el siguiente sub-
problema CPt+1(yt): hasta llegar a la etapa T; en la fase backward se insertan cortes de optimalidad en
CPt(yt-1): con base en el valor de las variables duales obtenidas para CPt+1(yt):.
En la fase backward antes de pasar de CPt(yt-1): a CPt-1(yt-2): existen al menos dos alternativas extremas
para el proceso algortmico: i) pasar a la etapa anterior solo cuando se ha obtenido la solucin ptima para
CPt(yt-1):, lo que implica la generacin de mltiples cortes a partir de la solucin de CPt+1(yt):; y ii) pasar
a la etapa anterior cuando se ha obtenido el primer corte para CPt(yt-1):. Entre las dos anteriores
alternativas se puede generar gran cantidad de variaciones. La propuesta original de PDD-P corresponde a
la segunda alternativa, propuesta que tambin se conoce como fast-backward.
Por otro lado, E. G. Read y otros desarrollaron un trabajo que tambin llamaron Programacin Dinmica
Dual (Casseboom y Read 1987, Read 1989, Read y George 1990, Yang y Read 1999) que en adelante se
referir como PDD-R. La formulacin conceptual de PDD-R hace distincin entre variables de control y
variables de estado. En sistemas productivos dicho manejo implica diferenciar las variables de produccin
y de distribucin de las de los inventarios. La PDD-R puede considerarse como un planteamiento dual al
enfoque clsico de PD en el sentido que en la PD clsica para la solucin numrica se escoge una rejilla
de variables de estado primales (stocks) y para cada punto de la rejilla se encuentra la decisin ptima y
los precios sombra implcitos (costos marginales de las existencias); en tanto que PDD-R escoge una
rejilla de variables duales (costos marginales) y para cada uno encuentra el nivel de existencias ptimo en
el espacio primal. Para producir la curva de oferta (supply function) al final de cada perodo, PDD-R
resuelve paramtricamente un sub-problema por perodo, o por grupos de perodos cuando la funcin de
oferta es comn. Posteriormente, utilizando recursin hacia atrs, PDD-R combina estas funciones con el
fin determinar la estrategia ptima.
ut = { zt , wt }
3-10
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
El vector xt representa los stocks de cada producto (variables de estado) y el vector bt la demanda. La
anterior formulacin corresponde a un caso particular de la formulacin general de la PD:
A diferencia del enfoque de la PDD-P, PDD-R mantiene la diferencia entre variables de estado y
variables de control.
Para resolver el problema PDD-R considera para cada perodo del horizonte de planificacin la
construccin paramtrica de una funcin de oferta para un nivel pt, lo que se puede conseguir resolviendo
para cada perodo el siguiente problema:
En trminos de variacin de las variables de estado, xt -xt-1, el anterior problema puede formularse como
La PDD-R propone resolver paramtricamente SFt(p): para varios valores de p y construir la funcin de
costo de oferta t(zt) que determina el costo de producir zt en el perodo t y cuya derivada determina la
funcin de oferta t(zt), costo marginal de producir zt.
t(zt) = zt(zt)
Los valores de p se establecen de manera discreta para todo el rango de variacin de zt, resolvindose el
problema para puntos zet.
3-11
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
PROGRAMACI
PROGRAMACIN DIN
DINMICA DUAL DDP-
DDP-R
APROXIMACION DE LA FUNCION OFERTA t(zt)
t(zt)
t(zet)
EVALUACIONES +
DISCRETAS
+
zt
Con base en las funciones de costo de oferta t(zt) el problema original se puede formular como
La PDD-R propone resolver el problema utilizando los principios de Programacin Dinmica Clsica, lo
que implica una doble discretizacin: en las variables de produccin zt y en las de almacenamiento xt; por
lo anterior esta metodologa debe enfrentar los problemas asociados a la maldicin de la
dimensionalidad. El nombre de Programacin Dinmica Dual se asocia al hecho que la discretizacin de
la funcin t(zt) implica la discretizacin de su derivada t(zt), que corresponde a los costos marginales
de produccin, variables duales, para cada perodo.
Es interesante considerar el caso que se genera cuando la zona de factibilidad del problema SFt(p) es
independiente de t, y la funcin objetivo corresponde al descuento de costos reales que son constantes en
el tiempo, esto es:
donde es el factor neto de descuento. Bajo estas condiciones no es necesario resolver todos los
problemas para cada perodo, ya que la zona de falibilidad es comn a todos y la funcin objetivo es co-
lineal para cada xt. Por lo tanto se puede establecer una funcin de costo de oferta para el perodo inicial
(t=0), y a partir de ella establecer la funcin descontada para cualquier perodo t, esto es:
t(zt) = t 0(zt)
lo que presenta ventajas computacionales para problemas con gran cantidad de perodos.
3-12
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
Este caso puede ser bastante comn, si se tiene en cuenta que la matriz Gt es funcin de la topologa y de
la tecnologa y el vector gt de las capacidades disponibles, aspectos que frecuentemente no cambian en los
diferentes perodos.
La Programacin Dinmica Dual Generalizada (PDDG, Velsquez 2002), trabajo original desarrollado
por el autor, se basa en la aplicacin encadenada de TB a un problema de optimizacin multiperodo y
corresponde a una generalizacin de PDD-P y de la PDD-R. La PDDG considera la solucin del siguiente
problema dinmico lineal:
donde el vector xt representa las variables de estado y el vector ut las variables de control. At, Et, Bt, y Gt
son matrices de relaciones funcionales, bt y gt son vectores de recursos, ct y dt vectores de costos y T el
nmero de perodos del horizonte de planificacin.
PROGRAMACI
PROGRAMACIN DIN
DINMICA DUAL GENERALIZADA
Variables
de Control
ut
Atxt=bt-Et-1xt-1Btut
xt-1 Gtut = gt xt
Variables utR +
Variables
de Estado xtR+
de Estado
El enfoque conceptual de PDDG es similar al de PDD-R, en el sentido que mantiene la diferencia entre
variables de estado y variables de control; la diferencia fundamental radica en la forma de evaluar la
funcin de oferta en cada perodo. En PDDG las funciones de oferta se construyen con base en el conjunto
de hiperplanos que la definen, que son generados utilizando TB de la misma forma que PDD-P lo hace
para la funcin de costo futuro.
La diferencia entre PDD-P y PDDG radica la formulacin conceptual, ya que PDD-P solo considera
variables de estado, en tanto que PDDG hace diferencia entre variables de estado y variables de control.
3-13
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
PDDG considera una formulacin ms detallada en la que las variables que acoplan dos perodos
consecutivos, corresponden a las variables de estado, xt, en tanto que las variables no incluidas
directamente en la relacin dinmica son manejadas como variables de control, ut .
La formulacin conceptual del problema PDDG: permite desarrollar algoritmos eficaces basados en la
particin y la descomposicin del problema original utilizando TB ya que la solucin del problema se
obtiene con base en la solucin coordinada de mltiples problemas de dimensin ms pequea que en
PDD-P.
La equivalencia entre la formulacin de la PPD-P y PDDG puede visualizarse al considerar las dos
siguientes formulaciones
At 0
APt = | Bt Gt |
Et 0
EPt = | 0 0 |
3.3.1. TEORA BSICA
En la solucin de PDDG: se considera un proceso de dos fases: primero, se definen las variables de estado
xt como las variables de coordinacin y se desacopla el problema a nivel temporal, generando sub-
problemas para las variables de control ut. parametrizados en xt. Posteriormente, utilizando los principios
de PDD-P se resuelve el problema coordinador para las variables de estado xt, que incluyen los cortes de
Benders que se han generado.
donde t(xt-1,xt) representa el costo del funcionamiento ptimo en el perodo t teniendo como condicin
de frontera inicial xt-1 y como frontera final xt y corresponde a la funcin objetivo del problema esttico
de operaciones SUt(xt-1,xt): definido como
DSUt(xt-1,xt): = {t(xt-1,xt) = Max tT[bt - Et-1xt-1 - Atxt] + tTgt | tTBt + tTGt dtT }
Considerando los cortes desacoplados para cada sub-problema SUt(xt-1,xt): el coordinador CX: es
donde IU(t) representa el nmero de cortes generados para cada sub-problema SUt(xt-1,xt) y t(,) es una
funcin temporal, de dos argumentos, que define un valor constante
El problema coordinador CX: solo contiene cortes de Benders y variables de estado, estructura similar a la
considerada para la PDD-P, por lo tanto es posible utilizar esta teora para resolverlo. Los cortes que
integran el coordinador CX: son
La anterior condicin ser llamada corte de Benders tipo FO (funcin de oferta). Se debe notar que en la
publicacin original este tipo de corte se denomin corte de Benders tipo 1.
PROGRAMACI
PROGRAMACIN DIN
DINMICA DUAL GENERALIZADA
FASE I
CX: =
{
Min t=1,T ctTxt + t(xt-1,xt) |
t(xt-1,xt) + (tk)TEt-1xt-1+(tk)TAtxt t(tk,tk) t=1,T k=1,IU(t)
}
1k tk Tk
x1 k xtk xTk
t=1 t=T
Siguiendo el enfoque de recursin hacia atrs es posible aplicar TB al coordinador del ltimo perodo
CX:. El coordinador CGT-1: para el perodo {1,T-1} es
3-15
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
donde t+1(xt) respresenta la funcin de costo futuro definida en la PDD-P, k,jt la variable dual del k-
simo corte de Benders tipo FO para el perodo t obtenido al resolver el sub-problema SGt(xjt-1):, IJ(t) el
nmero de cortes generados para el sub-problema SGt(xjt-1): y I1(t,j) el nmero de cortes de Benders tipo
FO incluido en el sub-problema SGt(xjt-1).
Esta condicin ser llamada corte de Benders tipo CF (funcin de costo futuro). Se debe notar que en la
publicacin original este tipo de corte se denomin corte de Benders tipo 2.
donde m,jt representa la variable dual del m-simo corte de Benders tipo CF para el perodo t obtenido en
la solucin del sub-problema SGt(xjt-1): definido para el perodo T-1 como
Se puede demostrar que el problema coordinador para cada etapa intermedia t (menor que T) es
3-16
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
El problema original GDP: corresponde al problema coordinador de la primera etapa CG1:, que tiene la
misma estructura del que sera el sub-problema SG1(xj0).
Las funciones t(xt-1,xt) corresponden a las funciones de oferta (costs supply functions) que Read
considera en la PDD-R.
Como en el caso de la PDD-P, desde el punto de vista algortmico existe ms de una alternativa para
implementar la metodologa PDDG. En este caso se propone un algoritmo similar al de PDD-P con una
fase forward y una fase fast-backward. La diferencia fundamental radica en la fase forward en la que se
deben resolver dos problemas para cada etapa t; se propone que inicialmente se resuelva el sub-problema
SUT(xt-1,xt): y con base en su solucin se incluya un corte tipo FO en el sub-problema SGt(xt-1): y a partir
de su solucin se proceda a generar xt como condicin de frontera de la siguiente etapa; en la fase fast-
backward se insertan cortes tipo CF de en SGt(xt-1): con base en el valor de las variables duales obtenidas
para SGt+1(xt):.
3-17
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
PROGRAMACI
PROGRAMACIN DIN
DINMICA DUAL GENERALIZADA
FASE II
t=1 t=T
xk xk
SGt(xt-1):= 1 SGt(xt-1):= T-1 SGt(xt-1):=
{ T(xjt-1) Min = { T(xjt-1) Min = {T(xjt-1) Min =
c tTxt + t(xt-1,xt) + t+1(xt) c tTxt + t(xt-1,xt) + t+1(xt) c tTxt + t(xt-1,xt) + t+1(xt)
| | |
t(xt-1,xt) + ( tk )TAtxt t(xt-1,xt) + ( tk )TAtxt t(xt-1,xt) + ( tk)TAtxt
T( t , t ) - ( tk )TEt-1xjt-1 kIU(t,j)
k k T( t , t ) - ( tk)TEt-1xjt-1 kIU(t,j)
k k
kjt+1 T(tk, tk) - ( tk)TEt-1xjt-1 kIU(t,j)
kjt+1
xtR+ xtR+ xtR+
t+1(xt) + kI1(t+1,j) k,j t+1 (t+1k )Te txt t+1(xt) + kI1(t+1,j) k,j t+1 ( t+1k )Te txt t+1(xt) + kI1(t+1,j) k,j t+1 ( t+1k )Te txt
tj jIJ(t) } tj jIJ(t) } tj jIJ(t) }
t=1 t=T
3.3.2.1. Bt , Gt , dt CONSTANTES
Consideremos el caso especial cuando la zona de factibilidad dual de los problemas SUt(xt-1, xt): es
esttica, lo que implica que las matrices Bt y Gt y el vector dt son independientes del tiempo y el problema
dual se formula como
En este caso, un vector dual {t,t} factible para DSUt(xt-1, xt): es factible para todos los sub-problemas
DSUt(xt-1, xt): independientemente valor de t. Por tanto cuando se resuelve SUt(xt-1, xt): para valores
especficos de t es posible generar cortes tipo FO para todos los perodos y el coordinador CX: puede
expresarse como
donde el vector de variables duales {,} es independiente del tiempo. Para cada iteracin coordinador-
sub-problemas solo se requiere resolver un sub-problema SUt(xt-1, xt):. Esta situacin es frecuente para las
matrices Gt y Bt debido a que en muchos casos estn relacionadas con la tecnologa y la topologa del
sistema, las que en el corto plazo no varan. La situacin con el vector de costos dt es diferente ya que en
muchos casos es dependiente del tiempo. En casos en que la variacin temporal de dt se expresa como
dt = t d
3-18
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
donde es un factor de descuento y d es un vector de referencia de precios constantes. En este caso, los
sub-problemas SUt(xt-1, xt): se pueden formular como
Desde el punto de vista econmico, t(xt-1,xt) representa el costo de la operacin ptima en el perodo t
cuando las condiciones de frontera son xt-1 y xt, que ser constante e igual para todos los perodos,
independiente del tiempo en el corto y en el mediano plazo, si durante el perodo de planificacin la
topologa, la tecnologa y los ndices de precios son constantes.
Otros casos especiales pueden considerarse cuando el vector de precios de referencia, d, es dependiente
del tiempo presentando variaciones estacionales. En este caso es posible definir familias de funciones
e(xt-1,xt), donde el ndice e representa la variaciones estacional de d, definida como de. En este caso solo
se requiere resolver un problema para cada perodo que pertenece a una estacin e.
Desde el punto de vista algortmico se debe modificar el procedimiento propuesto para implementar la
metodologa PDDG y tomar ventaja de la estructura del problema. La modificacin se realiza en la fase
forward y radica en que posteriormente a resolver el sub-problema SUt(xt-1,xt): se incluyen un corte tipo
FO en todos los sub-problemas que pertenecen a la estacin e a la que pertenece SUt(xt-1,xt):.
3-19
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
PROGRAMACI
PROGRAMACIN DIN
DINMICA DUAL GENERALIZADA
Bt , Gt, dt - CONSTANTES
t=1 t=T
xk1 xk
SGt(xjt-1):= SGt(xjt-1):= T-1 SGt(xjt-1):=
{ T(xjt-1) min = { T(xjt-1) min = { T(xjt-1) min =
ctTxt + t(xt-1,xt) + t+1(xt) ctTxt + t(xt-1,xt) + t+1(xt) ctTxt + t(xt-1, xt) + t+1(xt)
| | |
t(xt-1,xt) + (tk )TAtxt t(xt-1, xt) + (tk )TAtxt t(xt-1, xt) + (tk )TAtxt
T(tk ,tk ) - (tk)TEt-1xjt-1 kIU(t,j) T(tk ,tk ) - (tk)TEt-1xjt-1 kIU(t,j) k,jt+1 T(tk ,tk ) - (tk)TEt-1xjt-1 kIU(t,j)
k,jt+1
xtR+ xtR+ xtR+
t+1(xt) + kI1(t+1,j) k,j t+1 (t+1k )Te txt t+1(xt) + kI1(t+1,j) k,j t+1 (t+1k )Te txt t+1(xt) + kI1(t+1,j) k,j t+1 (t+1k )Te txt
tj jIJ(t) } tj jIJ(t) } tj jIJ(t) }
k
k
k xkT
xk1 xkt
SUt(xt-1,xt): =
{t(xt-1,xt) =
Min dtTut |
But = bt - Tt-1xt-1 - Wtx t
Gut = gt
utR+
}
3.3.2.2. Wt = I y Tt = -I
Otro caso especial puede considerarse cuando Wt es igual a la matriz identidad y Tt es igual al negativo de
la matriz identidad, entonces xt se expresa como
xt = xt-1 + bt - Btut
o sea
xt = xt - xt-1 = bt - Btut
ste es un caso muy comn para las ecuaciones relacionadas con niveles de almacenamiento que
determinan la dinmica de las variables de estado xt. En este caso el nivel es igual al nivel en t-1 ms un
input externo y una combinacin lineal de las variables de produccin y de distribucin. Bajo esta
condicin, la funcin t(xt-1,xt) puede expresarse como t(xt) ya que el sub-problema se formula como
La ventaja de esta estructura es la funcin de costo t(xt) solamente depende de la variacin en el nivel
de las variables de estado xt, siendo independiente de su valor absoluto. El coordinador CX: puede
expresarse en trminos de xt como
Velsquez (2003) presenta consideraciones tericas relacionadas con la introduccin de los conceptos de
la Teora de Descomposicin Generalizada de Benders (GBD, Geoffrion 1972) para modelar bajo el
enfoque de programacin dinmica problemas con funcin objetivo lineal y restricciones no-lineales
continuas. De esta forma se utiliza en problemas lineales TB y en problemas no-lineales la extensin GBD
de Geoffrion, esta teora se denomina Programacin Dinmica Dual No-Lineal (PDD-NL), en ingls
3-20
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
De acuerdo con el principio de optimalidad de Bellman la solucin a NLDDP: puede obtenerse con base
en la cadena de problemas
donde t(xt) corresponde al costo de la etapa t+1 hasta la ltima etapa, T, dado que el estado del sistema
es xt al final de la etapa t, donde cada etapa se asocia a un perodo del horizonte de planificacin.
Para determinar t(xt) se debe considerar que en cada etapa t la formulacin anterior corresponde a un
tipo de problema que se puede descomponer utilizando los principios metodolgicos planteados por
Benders (TB) y ampliados por Geoffrion (GBD).
Tal como se hace en PDD-P, consideremos inicialmente la aplicacin de la GBD a un problema de dos
etapas. Tal como ocurre en PDD-P en el desarrollo de la NLDDP se ignoran los cortes que se refieren a la
factibilidad del problema, lo que implica que se asume que siempre hay solucin factible, lo que se logra
en la formulacin del problema, o con la relajacin de restricciones introduciendo factores de penalizacin
para el caso de su violacin.
Consideremos el problema
La aplicacin de la GBD implica dividir el problema en dos subproblemas, uno para cada perodo, o etapa.
para la etapa 2, y
para la etapa 1.
Con base en la GBD se puede definir un proceso iterativo para estimar 1(x1). Geoffrion demostr que
para problemas convexos, es decir con funcin objetivo convexa para minimizacin y conjunto de
restricciones convexas, es posible obtener 0(x0) con base en los hiperplanos que aproximan la funcin
3-21
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
Lagrangeana del problema en el vecindario de la solucin ptima que define a 1(x1) que puede ser
aproximada con base en la siguiente representacin:
Con base en la definicin de 1(x1) se modifica el problema PD-NL1(x1): para generar un problema
coordinador CX1(x1): con base en los cortes que definen 1(x1), de la siguiente manera:
x1R , a2R }
Para dos etapas, el procedimiento comienza asumiendo un valor inicial x11 factible a G1(x1 ,x0)=b1 para
dicho valor se resuelve PD-NL2(x11): generando 12 y x12, se incluye el primer corte en el problema
coordinador CX1(x1):, es decir a2 (12)T(b2-G(x12,x1)), y se soluciona para obtener x21. Posteriormente se
resuelve (PD-NL2(x21): generando 22 y x22, y se incluye un nuevo corte en CX1(x1): y se genera x31, y as
sucesivamente. El proceso continua hasta que se satisfaga el criterio de convergencia que se da cuando la
cota superior c1Tx1+c2Tx2 (primal) es igual a la cota inferior c1Tx1+a2 (dual).
Para generalizar la teora NLDDP a un problema con T etapas, consideremos el problema de la ltima
etapa T asociado a la determinacin de T-1(xT-1) que se puede obtener resolviendo el problema
Para evaluar T-2(xT-2), es decir el costo de las dos ltimas etapas, se debe resolver el siguiente problema
3-22
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
T-1(xT-1) se puede reemplazar por el conjunto de hiperplanos que acotan de la funcin Lagrangeana del
problema PD-NLT(xT-1):, lo que implica un problema coordinador
donde aT-1 representa el valor de la funcin T-1(xT-1). Agrupando los trminos constantes, el corte puede
escribirse como
donde el ndice j representa una iteracin en la que se ha resuelto el problema PD-NLT(xT-1):, J el nmero
total de iteraciones, xjT la solucin ptima obtenida en la j-sima iteracin y jT el vector de variables
duales obtenidas para las restricciones G(xT ,xT-1)=bT en la j-sima iteracin. El coordinador CXT-2(xT-2):
queda
Para la generalizacin del corte a incluir consideremos el problema CXT-2(xT-2): para evaluar T-3(xT-3)
donde jt representa la variable dual del j-simo corte incluido para la estimacin a1T-1 y la variable aT-2
representa el valor de la funcin T-2(xT-2). Agrupando apropiadamente los trminos constantes, el anterior
corte se puede generalizar para mltiples iteraciones como
donde el ndice k se refiere a la k-sima iteracin del problema CXT-2(xT-2): que define T-2(xT-2) y kT-1 es
un valor constante calculado como
kT-1 = cT-1T xkT-1 + akT-1 + (kT-1)TbT-1 + j=1,J(k) k,jT-1 [akT-1 - cTT xk,jT - (k,jT)T (bT - G(xk,jT ,xkT-1) ]
3-23
Capitulo 3. Programacin Dinmica Optimizacin Estocstica Multi-Etapa con Manejo de Riesgo
donde J(k) el nmero de cortes incluidos en CXT-2(xT-2): en la iteracin k. Para identificar las variables
primales y duales se requiere un doble super-ndice (k,j) que relacione las iteraciones de los problemas
PD-NLT(xT-1): y CXT-2(xT-2):.
Con base en un proceso de induccin se puede probar que el sub-problema para cualquier etapa t es
donde el ndice j representa una iteracin de problema que evala la funcin t(xjt) por medio de la
variable at, IT(t) el nmero de veces que se ha resuelto el problema asociado a la funcin t(xt), xjt la
solucin ptima obtenida en la j-sima iteracin y jt el vector de variables duales obtenidas para las
restricciones G(xt ,xt-1)=bt en la j-sima iteracin. jt+2 es un valor constante calculado como
donde IJ(t,j) representa el nmero de cortes incluidos en el problema evaluador de la funcin t-1(xt-1):
cuando se resuelve el problema t-1(xjt-1):
El problema que estima t(xt) cumple las funciones de un coordinador del tipo Benders de acuerdo a los
procedimientos de particin de problemas que A. M. Geoffrion especific. El problema correspondiente a
la primera etapa, es equivalente al problema original y obtiene la solucin a dicho problema en un nmero
finito de pasos, siempre y cuando todo el problema corresponda a uno de programacin convexa, esto
principalmente debido al encadenamiento de cortes que exige que el problema en cada etapa sea de
programacin convexa. La estructura de los cortes es similar a la determinada en la revisin realizada por
Velsquez et al. (2002) para la PDD-P.
Finalmente, en la extensin para el caso de funciones objetivo no-lineales el problema para estimar t(xt)
es:
3-25