Está en la página 1de 15

CARACTERISTICAS GENERALES DE LOS PROBLEMAS DE PROGRAMACION

DINAMICA.

El problema de la diligencia es un prototipo literal de los problemas de programacin


dinmica. Por tanto una manera de reconocer una situacin que se puede formular como un
problema de programacin dinmica es poder identificar una estructura anloga a la del
problema de la diligencia.
CARACTERISTICAS BASICAS:
1.- El problema se puede dividir en etapas que requieren una poltica de decisin en cada
una de ellas.
2.- Cada etapa tiene cierto nmero de estados asociados con su inicio. Los estados son las
distintas condiciones posibles en las que se puede encontrar el sistema en cada etapa del
problema.
3.- El efecto de la poltica de decisin en cada etapa es transformar el estado actual en un
estado asociado con el inicio de la siguiente etapa.
4.- El procedimiento de solucin est diseado para encontrar una poltica ptima para el
problema completo.
5.- Dado el estado actual, una poltica ptima para las etapas restantes es independiente de
la poltica adoptada en etapas anteriores. Este es el principio de optimalidad para
programacin dinmica.
6.- El procedimiento de solucin se inicia al encontrar la poltica ptima para la ltima
etapa.
7.- Se dispone de una relacin recursiva que identifica la poltica ptima para la etapa n,
dada la poltica ptima para la etapa n+1.
La forma precisa de relacin recursiva difiere de un problema a otro de programacin
dinmica, pero usaremos una notacin anloga a la siguiente:
N = nmero de etapas.
n = etiqueta para la etapa actual ( n = 1,2,,N)
sn = estado actual para la etapa n
xn = variable de decisin para la etapa n
xn* = valor ptimo de xn (dado sn)

fn(sn,xn) = contribucin a la funcin objetivo de las etapas n, n+1,,N, si el sistema se


encuentra en el estado sn en la etapa n, la decisin inmediata es xn y en adelante se toman
decisiones ptimas.
fn*(sn) = fn(sn,xn*)
La relacin recursiva siempre tendr la forma:
fn*(sn) = mn fn(sn,xn) fn*(sn) = max fn(sn,xn)
8.- Cuando se usa esta relacin recursiva, el procedimiento de solucin comienza al final y
se mueve hacia atrs etapa por etapa, hasta que encuentra la poltica ptima desde la etapa
inicial.
La programacin dinmica (PD) es un procedimiento matemtico diseado principalmente
para mejorar la eficiencia de clculo de problemas de programacin matemtica
seleccionados, descomponindolos en subproblemas de menor tamao y por consiguiente,
ms fciles de calcular. La programacin dinmica comnmente resuelve el problema en
etapas, en donde en cada etapa interviene exactamente una variable de optimizacin (u
optimizadora). Los clculos en las diferentes etapas se alcanzan a travs de clculos
recursivos de manera que se genere una solucin ptima factible a todo el problema.
Los sutiles conceptos que se utilizan en PD junto con las notaciones matemticas poco
conocidas son una fuente de confusin, en especial para un principiante. No obstante
nuestra experiencia demuestra que la exposicin frecuente a formulaciones y soluciones de
PD permitir a un principiante, con algo de esfuerzo, entender estos conceptos avanzados.
Cuando sucede esto, la programacin dinmica se vuelve sorprendentemente sencilla y
clara.
Elementos del modelo de PD (ejemplo del presupuesto de capital)
Una corporacin recibe propuestas de sus tres plantas respecto a la posible expansin de sus
instalaciones. La corporacin tiene un presupuesto de $5 millones para asignarlo a las tres
plantas. A cada planta se le solicita someta sus propuestas indicando el costo total (c) y el
ingreso total (R) para cada propuesta. En la tabla 1-1 se resumen los costos e ingresos (en
millones de unidades monetarias). Las propuestas de costos cero se introducen para dar
cabida a la posibilidad de no asignar fondos a plantas individuales. La meta de la
corporacin es la de maximizar el ingreso total resultante a la asignacin de los $5 millones
a las tres plantas.

Una manera directa, o quiz ingenua, de resolver el problema es a travs de una


enumeracin exhaustiva. El problema tiene 3 x 4 x 2 = 24 posibles soluciones y algunas de
ellas son infactibles por que requieren ms capital que el disponible ($5 millones). La idea
de la enumeracin exhaustiva es la de calcular el costo total de cada una de las 24
combinaciones. Si ste no excede el capital disponible, se obtiene su ingreso total. La
solucin ptima es la combinacin factible que produce el ms alto ingreso total. Por
ejemplo, las propuestas 2, 3, y 1 de las plantas 1,2 y 3 cuestan $4 millones (<5) y producen
un ingreso total de $14 millones. Por otra parte, la combinacin que comprenden las
propuestas 3, 4 y 2 es infactible porque causa $7 millones.
Examinaremos las desventajas de la enumeracin exhaustiva.
Cada combinacin define una poltica de decisin para todo el problema y por lo tanto,
quiz no sea factible en trminos de clculo la enumeracin de todas las combinaciones
posibles para problemas de tamao mediano y grande.
Las combinaciones infactibles no se pueden detectar con anticipacin, lo cual nos conduce
a que haya ineficiencia en trminos de clculo.
La informacin disponible referente a combinaciones investigadas con anterioridad no se
utilizan para eliminar combinaciones inferiores futuras.
El algoritmo de PD que presentamos aqu est diseado para facilitar las dificultades que
hemos notado.
Modelo de PD
En la programacin dinmica, los clculos se realizan en etapas dividiendo el problema en
subproblemas. Despus se considera por separado cada subproblema con el fin de reducir el
nmero de operaciones de clculo. Sin embargo, como los problemas son independientes,
debe idearse un procedimiento para alcanzar los clculos de manera que garantice que una
solucin factible para cada etapa sea asimismo factible para todo el problema.

Una etapa en PD se define como la parte del problema que posee un conjunto de
alternativas mutuamente excluyentes de las cuales se seleccionar la mejor alternativa. En
trminos del ejemplo del presupuesto de capital, cada planta define una etapa donde la
primera, segunda y tercera etapas tienen tres, cuatro y dos alternativas, respectivamente.
Estas etapas son interdependientes porque las tres plantas deben competir por un
presupuesto limitado. Por ejemplo, elegir la propuesta 1 dejar $5 millones para las plantas
2 y 3, en tanto que la eleccin de la propuesta 2 de la planta 1 slo dejar $4 millones para
las planta 2 y 3.
La idea bsica de la PD consiste prcticamente en eliminar el efecto de la interdependencia
entre etapas asociando una definicin de estado con cada etapa. Un estado se define
normalmente como aquel que refleja la condicin (o estado, valga la redundancia) de las
restricciones que alcanzan las etapas. En el ejemplo del presupuesto del capital, definimos
los dos estados para las etapas 1, 2, y 3 como sigue:
X1
=
monto
de
capital
asignado
X2
=
monto
de
capital
asignado
a
X3 = monto de capital asignado a las etapas 1, 2 y 3

a
las

la
etapa

etapa
1
y

1
2

ahora demostremos como se utilizan las definiciones de etapas y estados dadas para
descomponer el problema del presupuesto del capital en tres subproblemas independientes
desde el punto de vista del clculo.
Obsrvese primero que los valores de x1 y x2 no se conocen con exactitud, pero deben
estar en alguna parte entre 0 y 5. De hecho, como los costos de las diferentes propuestas
son discretos, x1 y x2 solo pueden tomar los valores 0, 1, 2, 3, 4 o 5. Por otra parte, x3, que
es el capital total asignado a todas las etapas, en las tres es igual a 5.
La forma en que resolvemos el problema consiste en comenzar con la etapa (planta) 1.
Obtenemos decisiones condicionales para esa etapa que responde la pregunta siguiente:
dado un valor especfico de x1 (= 0, 1, 2, 3, 4 o 5), cul ser la mejor alternativa
(propuesta) para la etapa 1? Los clculos para la etapa 1 son directos. Dado el valor de x1,
elegimos la mejor propuesta cuyo costo no exceda x1. En la tabla 1-2 se resumen las
decisiones condicionales de la etapa 1.

Tabla 1-2

Hasta ahora, no conocemos el valor exacto de x1. No obstante, para cuando lleguemos a la
etapa 3, tendremos a disposicin esta informacin y, por lo tanto, el problema se reducir a
la lectura de los registros indicados en la tabla.
Ejemplo 1
En la tabla anterior, es posible que x1 = > 2 pueda ser ptima en la solucin final?
[Resp .No. Porque x1 = > 2 presenta un rasgo excesivo para la etapa 1.]
Ahora consideremos los clculos de la etapa 2. Estos clculos buscan tambin una solucin
ptima condicional para la etapa 2 como funcin del estado x2. Pese a ello, difieren de los
clculos de la etapa 1 en que el estado x2 define ahora el capital que se asignar a la etapa 1
a la etapa 2. Esta definicin garantizar que una decisin tomada para la etapa 2 ser
automticamente factible para la etapa 1. La idea consiste ahora en escoger la alternativa en
la etapa 2 dado x2 que genere el mayor ingreso para las etapas 1 y 2. La frmula que sigue
resume la naturaleza de los clculos de la etapa 2.

Donde x1 = x2 (capital asignado a la alternativa dada de la etapa 2).


La idea bsica de la frmula es que la eleccin especfica de una alternativa para la etapa 2
afectar el capital restante para la etapa 1, es decir, x1. Por lo tanto, al considerar todas las
alternativas factibles de la etapa 2 consideramos automticamente todas las combinaciones
que son posibles para las etapas 1 y 2. Ntese que el segundo trmino del segundo miembro
de la ecuacin se obtiene directamente de la tabla resumen de la etapa 1.

Ahora sealaremos los detalles de los clculos de la etapa 2.

La nica alternativa factible para la etapa 2 dado x2 = 0 es la propuesta 1 cuyo


costo e ingresos son iguales a cero. Por lo tanto, la aplicacin de la frmula
produce

Que corresponde a la propuesta 1 .

Para x2 = 1, slo tenemos una alternativa factible para la etapa 2; esto es, la
propuesta 1, que cuesta (o tiene un costo de) cero y produce un ingreso de
cero. Las propuestas restantes son infactibles porque tiene un costo por lo
menos de 2. Por lo tanto tenemos:

Que corresponde a la propuesta 1


Ntese que x1 = x2 (costo de la propuesta 1) = 1 0 = 1. En la tabla 1-2 resumen de la
etapa 1, encontramos que el mayor ingreso dado x1 = 1 es 5. Obsrvese que todo lo que
necesitamos de los clculos de la etapa 1 es el mayor ingreso asociado con x1 dado. Dicho
de otra manera, en realidad no nos interesa la propuesta especfica seleccionada en la etapa
1.

Aqu tenemos dos alternativas factibles: la propuesta 1 y 2 que cuestan 0 y 2 y producen


ingresos de 0 y 8, respectivamente. Por consiguiente, los valores de x1 que corresponden a

las propuestas 1 y 2 son 2 0 = 2 y 2 2 = 0. Los mayores ingresos corresponden de la


etapa 1 dados x1 = 2 y x1 = 0 son 6 y 0, respectivamente. Por lo tanto, obtenemos:

Que corresponde a la propuesta 2.

Las alternativas factibles son las propuestas 1, 2 y 3. Los valores correspondientes de x1


son 3 0 = 3, 3 2 = 1 y 3 3 = 0, respectivamente. Por lo tanto:

Que corresponde a la propuesta 2.

Las alternativas factibles son las propuestas 1, 2, 3 y 4. Los valores correspondientes de x1


son 4 0 = 4, 4 2 =2, 4 3 = 1 y 4 4 =0, respectivamente, lo que nos lleva a obtener:

Que corresponde a las propuestas 2 y 3

Tenemos las mismas alternativas factibles que en x2 = 4. Los valores correspondientes de


x1 son 5, 3, 2 y 1, respectivamente. En consecuencia

Que
corresponde
a
la
Podemos resumir el clculo de la etapa 2 en la tabla 1-3:

propuesta

tabla 1-3

Ahora consideremos la etapa 3. La frmula para determinar el mayor ingreso


es similar a la de la etapa 2, salvo que x2 y x1 se sustituyen por x3 y x2. En
forma anloga las etapas 2 y 1 se reemplazan por las etapas 3 y 2. Sin
embargo, obsrvese que a diferencia de x1 o x2, x3 tiene ahora un solo valor
especfico; es decir, x3 = 5. como la etapa 3 tiene dos propuestas cuyo costo
no excede el lmite de 5, ambas propuestas son factibles. Los valores de x2 que
corresponden a la propuesta 1 y 2 son 5 0 = 5 y 5 1 = 4, respectivamente.
Mediante el uso de la tabla resumen 1-3 para la etapa 2 junto con x2,
obtenemos entonces:

Que corresponde a 1 o 2
Ahora que hemos terminado de efectuar todas las operaciones podemos leer la solucin
ptima en forma directa. Comenzando desde la etapa 3, podemos elegir la propuesta 1 o 2.
Si elegimos la propuesta 1, que tiene un costo de 0, entonces x2 de la etapa 2 ser 5 0 = 5
de la tabla 1-3 de la etapa 2, vemos que la alternativa ptima dado x2 = 5 es la propuesta 4.

Como la propuesta 4 de la etapa 2 cuesta 4, tenemos x1 = x2 4 = 5 4 = 1. Una vez ms,


de la tabla 1-2, obtenemos la propuesta 2 como la alternativa ptima para la etapa 1.
Al combinar todas las respuestas de las tres etapas, una solucin ptima requiere de la
seleccin de la propuesta 2 para la planta 1, la propuesta 4 para la planta 2 y la propuesta 1
para la planta 3. El costo total es 5 y el ingreso ptimo es 17. Se puede obtener otras dos
soluciones considerando la propuesta ptima alternativa de la etapa 3.
Ejemplo
[Identifique los dos ptimos
[Resp. (3, 2,2) Y (2, 3,2)]

alternativos

restantes

del

ejemplo

2
anterior]

Si el lector estudia detenidamente el procedimiento dado, advertir que los clculos son en
realidad recursivos. Por lo tanto, los clculos de la etapa 2 estn basados en los de la etapa
1. En forma semejante, los clculos de la etapa 3 utilizan slo los clculos de la etapa 2.
Dicho de otra manera, los clculos de una etapa actual utilizan informacin de resumen de
la etapa inmediata inferior. Este resumen proporciona los ingresos ptimos de todas las
etapas consideradas antes. Al utilizar este resumen nunca nos interesan las decisiones
especficas tomadas en todas las etapas anteriores. En realidad las decisiones futuras se
seleccionan en forma ptima sin recurrir a decisiones tomadas antes esta prioridad especial
constituye el principio de optimidad, que es la base de la validez de los clculos de PD.
Para expresar matemticamente la ecuacin recursiva, introducimos la notacin siguiente.
Sean:
Rj
(kj)
=
ingreso
de
la
alternativa
kj
en
fj (xj) = rendimiento ptimo de las etapas 1,2,...y j dado el estado xj

la

etapa

Por lo tanto, escribimos las ecuaciones recursivas del ejemplo del presupuesto de capital
como:

Existe un aspecto importante que necesitamos aclarar en relacin con la exactitud


matemtica de esta ecuacin recursiva. Primero ntese que fj (xj) es funcin del argumento
xj exclusivamente. Es necesario que el segundo miembro de la ecuacin recursiva se
exprese en trminos de xj y no en trminos de xj-1. Esto se logra recordando que:
Xj-1 = xj cj (kj)
Donde cj (kj) es el costo de la alternativa kj en la etapa j.

Otro aspecto tiene que ver con la expresin de la factibilidad de las propuestas en forma
matemtica. Especialmente, una propuesta kj es factible si su costo cj (kj) no excede el
estado del sistema xj en la etapa j.
Tomando en cuenta estos dos aspectos, podemos escribir la ecuacin recursiva de PD
como:

La implantacin de las ecuaciones recursivas suele efectuarse en forma tabular estndar


como lo indican los clculos que siguen. Sin embargo, debemos sealar que siembre resulta
tentador realizar los clculos tabulares en forma mecnica sin entender en realidad por qu
se efectan. Para evitar caer en esta trampa, sugerimos que siempre se intente relacionar los
registros de los clculos tabulares con los smbolos matemticos correspondientes de la
ecuacin recursiva.
Etapa 1.

Etapa 2.

Etapa 3.

La solucin ptima puede leerse ahora directamente de las tablas anteriores comenzando
con la etapa 3. Para x3 = 5, la propuesta optima es k3* = 2. Considrese k3*= 1en primer
trmino. Como c3 (1) = 0, esto deja x2 = x3 (1) = 5 para las etapas 2 y 1. Ahora bien, la
etapa 2 muestra que x2 = 5 produce k2 = 4. Como c2 (4) = 4, esto deja x1 =5 4 = 1. De la
etapa 1 x1 = 1 de k1* = 2 por lo tanto una combinacin optima de propuestas para las etapas
1, 2 y 3 es (2, 4,1). La figura 1 ilustra cmo se determinan los ptimos alternativos en
forma sistemtica.
figura 1.

Ecuacin Recursiva de Retroceso.


En la seccin 1.1.2 los clculos se efectan en el orden

Este mtodo de clculo de conoce como procedimiento de avance porque los clculos
avanzan de la primera a la ltima etapa. Sin embargo, cuando el lector estudie la mayora
de las obras dedicadas a la programacin dinmica advertir que la ecuacin recursiva se
construye de manera que los clculos comienzan en la ltima etapa y despus regresan
hacia la etapa 1. Este mtodo recibe el nombre de procedimiento de retroceso.
La diferencia principal entre los mtodos de avance y de retroceso ocurre en la forma en
que definimos el estado del sistema. Para ser especficos, volveremos a considerar el
ejemplo del presupuesto de capital. Para el procedimiento de retroceso, definimos los
estados yj como:
y1
=
monto
de
capital
asignado
a
las
etapas
1,
y2
=
monto
de
capital
asignado
a
las
etapas
y3 = monto de capital asignado a la etapa 3

2
2

y
y

3
3

Para apreciar la diferencia entre la definicin de los estados xj y yj en los mtodos de


avance y retroceso, las dos definiciones se resumen en forma grfica en la figura 2.
figura 2.

La ecuacin recursiva de retroceso se escribe, por tanto como:

El orden de los clculos de las etapas en


la manera siguiente:
Etapa 3:

Etapa 2.

. Ahora los clculos se realizan de

Etapa 1.

La solucin ptima se determina comenzando con y1 en la etapa 1 y continuando a y3 en la


etapa 3. Naturalmente, las soluciones son idnticas a las del mtodo anterior (verifquese
esto).
Quiz el lector se pregunte por qu se necesite la formulacin recursiva del todo, en
particular cuando la formulacin de avance parece ser ms lgica y ciertamente ms
directa. Esta conclusin es verdadera para el ejemplo anterior, ya que la asignacin
especfica de etapas a las plantas no es secuencial. A este respecto, las formulaciones de
avance y retroceso son en realidad equivalentes en trminos de clculo. Sin embargo, hay
situaciones donde habr alguna diferencia, en la eficiencia del clculo, segn la
formulacin que se utilice. Esto sucede en particular en problemas en que interviene la
toma de decisiones conforme transcurre el tiempo, como la planeacin del inventario y de
la produccin. En este caso las etapas se designan con base en el estricto orden cronolgico
de los periodos que ellas presentan y la eficiencia de los clculos depender de si se utiliza
la formulacin de avance o de retroceso.
Aparentemente, la experiencia con los clculos de PD ha demostrado que las formulaciones
de retroceso suelen ser ms eficientes. De hecho la mayora de las obras sobre
programacin dinmica se presentan en trminos de la formulacin de retroceso sin
importar si contribuye o no a la eficiencia de los clculos. Siguiendo esta tradicin, todo el
material que se presente en las secciones restantes de esta unidad estar basado en la
formulacin de retroceso. La formulacin de avance se emplear nicamente cuando se

garantice una comparacin o cuando la formulacin antes mencionada ofrezca ventajas


especiales.

También podría gustarte