You are on page 1of 31

Programacin Dinmica

Conceptos y formulacin

IO2 Rosa Delgadillo

Programacin Dinmica

Conceptos
Motivacin
Formalizacin del Modelo de
Programacin Dinmica
Estrategia de solucin
Ejemplos
IO2- Rosa
Delgadillo

Programacin Dinmica

Gran cantidad de situaciones que se


desea modelar presentan naturaleza
dinmica
Esto es, las decisiones de un periodo
de tiempo se ven afectadas por las
decisiones de los periodos anteriores
y las decisiones del periodo actual
afectarn el comportamiento futuro.
IO2- Rosa
Delgadillo

Programacin Dinmica

Dos enfoques que dependen de los


requerimientos y abstraccin que
se realice en el modelamiento
pueden ser contemplados:

Asumir que el efecto dinmico es


poco relevante y solo considerar
modelos de un periodo
Considerar el efecto dinmico dentro
del modelo
IO2- Rosa
Delgadillo

Programacin Dinmica

La programacin dinmica tambin


se conoce como programacin en
mltiples etapas.
Se basa en el uso de funciones
recursivas y en un principio de
optimalidad desarrollado por R.
Bellman que es una aplicacin del
principio de induccin.
IO2- Rosa
Delgadillo

Programacin Dinmica

La programacin dinmica (donde el


tiempo da el carcter dinmico) es un
caso particular de la programacin
recursiva.
El modelo recursivo presenta una forma
alternativa equivalente de escribir la
mayora de los modelos de programacin
matemtica, proporcionando un
mecanismo de solucin.
IO2- Rosa
Delgadillo

Motivacin

Ejemplo:
Considere una familia que est planificando sus vacaciones y
desea viajar a travs del Per. Para ello ha elegido n ciudades
para visitar en un cierto orden. El nmero de das dedicados a
visitar cada ciudad debe ser determinado en la planificacin. La
familia dispone de m das para sus vacaciones. De acuerdo al
inters turstico y las preferencias familiares, a cada ciudad se
g i ( xle
i)
ha asignado una funcin de utilidad
que representa el
grado de satisfaccin de la familia
asociado a la visita de la
xi
ciudad i cuando se dedican
das asignados a esa ciudad, el
cual debe ser entero.
Se asume que:

El tiempo de viaje entre ciudades es despreciable

Los das son dedicados completamente a una ciudad

El orden de las ciudades que se visitarn corresponde al


ndice asignado

IO2- Rosa
Delgadillo

Motivacin
Modelo de programacin matemtica
xi : es el nmero de das a dedicar a la visita de la
ciudad i
disponibles de vacaciones
g i (M
xi ):Mximo nmero dexdas
i
: Utilidad percibida si
das son dedicados a la visita
de la ciudad i
n : Nmero de ciudades a visitar
(P1)

Max g i ( xi )
i 1

s.a.
n

x
i 1

xi 0,
IO2- Rosa
Delgadillo

entero, i 1,..., n

Motivacin
Modelo de programacin Dinmica
Es necesario observar que el nmero de das dedicados a
visitar una ciudad afectar al nmero de das posibles que se
dedicarn a la visita de otras ciudades (caracterstica
dinmica)
Supongamos que la familia llega a la ltima ciudad que quera
y
visitar (ciudad n) y que dispone de i das de vacaciones
Cul es la mejor decisin que ellos pueden tomar en ese
momento? Esto es cuntos das le dedicarn a la ltima
ciudad?.
Si se asume que g n ( x n ) es una funcin creciente en x n entonces
yn
la decisin ser dedicar
das disponibles a la ltima ciudad.
Una funcin que representa la utilidad de la mejor alternativa
en la ciudad n es dado fpor:
n ( y n ) Max g n ( x n )
0 xn y n

IO2- Rosa
Delgadillo

Motivacin
Pero, que ocurre en la ciudad n-1?
y n 1
Supongamos que existen
das disponibles antes de
visitar la ciudad n-1 ( y la ciudad n). En este momento la
familia debe decidir cuantos das dedicar a la ciudad n-1
y a la ciudady nn.
1
xn 1 ambas ciudades,
yn 1 xn 1
Por tanto si hay
das disponible para
quedarn
si se decide dedicar
das a la
ciudad n-1
la funcin que representa la utilidad de la mejor
alternativa escogida para la ciudad n-1 ( y la ciudad n)
f n 1 ( y n 1 ) Max g n 1 ( xn 1 ) f n ( y n 1 xn 1 )
es:
0 x n1 y n 1

IO2- Rosa
Delgadillo

Motivacin
y, que ocurre en la ciudad i ?
yi
Nuevamente supongamos que existen
das disponibles
antes de visitar la ciudad i ( y las ciudades i +1, ,n) ,
estos das deben ser distribuidos entre esas ciudades de
forma a maximizar la utilidad asociada a esas ciudades.
La funcin que representa la utilidad de la mejor
alternativa escogida para la ciudad i ( y las ciudades i
+1, ,n) es:
f i ( yi )

IO2- Rosa
Delgadillo

Max g
0 xi yi

( xi ) f i 1 ( yi xi )

Motivacin
Finalmente, en todas las ciudades se supone que existen y
das disponibles antes de visitarla (a ella y las restantes).
Sin embargo en la primera ciudad (primera a ser visitada) la
familia conoce los das disponibles para sus vacaciones.
Esto es, y M
con lo cual la funcin que representa la
1
utilidad de la mejor alternativa en la ciudad 1, se define
como:
f1 ( y1 M )

Max g
0 x1 M

( x1 ) f 2 ( M x1 )

En conclusin: El problema (P1), ha sido formulado como una


serie de subproblemas paramtricos interrelacionados,
mediante la variable y , pues esta asegura un valor en la
ciudad 1 (ultima en ser planificada) y relaciona las variables
entre dos ciudades
(
)
yi yiconsecutivas
1 xi 1
IO2- Rosa
Delgadillo

Formalizacin del modelo de


Programacin Dinmica

En el ejemplo anterior se observ que el abordaje de la


formulacin de los subproblemas relacionados partieron desde
la ltima ciudad a la primera ciudad, este forma es conocida
como formulacin hacia atrs o backward . Sin embargo es
posible hacer una formulacin hacia delante o forward.
El concepto de programacin dinmica se basa en el uso de
ecuaciones funcionales y el principio de Optimalidad de
Bellman
Las ecuaciones funcionales corresponden a :

Funciones que dan cuenta de la funcin objetivo (desde la etapa k


hasta el fin del horizonte)
La funcin de interrelacin entre estados de dos etapas
consecutivas
Las condiciones de borde

IO2- Rosa
Delgadillo

Formalizacin del modelo de


Programacin Dinmica
Modelo general de la formulacin backward:

f k ( yk )

Max H

xk Ak ( y k )

( y k , x k , f k 1 ( y k 1 ))

y k 1 Tk ( y k , x k )

k n, n 1,....,1

y1 M
f

Donde

( yVariable
n 1 ) Fde decisin de la etapa k-esima

n 1:

: Variable de estado al comienzo de la etapa k-esima


k
:xFuncin
de transformacin
y: kFuncin de Optimizacin
T: kFuncin de recursin en etapa k-esima
: Espacio de soluciones factibles de la etapa k-esima
H
k
M f : Valor inicial de Y , o condicin de borde
k
F : Valor final de la funcin f

Ak ( y k )

IO2- Rosa
Delgadillo

Formalizacin del modelo de


Programacin Dinmica
La formulacin anterior presenta algunas
caractersticas importantes:
La formulacin tiene el concepto de
recursividad, que es la generalizacin del
concepto dinmico del modelo
Las condiciones de borde M y F ,
permiten obtener la solucin explicita del
modelo
Hk
La funcin
corresponde a la funcin
objetivo desde la etapa k hasta la etapa
final n
IO2- Rosa
Delgadillo

Formalizacin del modelo de


Programacin Dinmica

T (y , x )
La funcin de transformacin
establece la relacin entre las variables
yk
yk y
de estado
para dos periodos
1
consecutivos.
El conjuntoAk representa al conjunto de
restricciones asociadas a la variable de
decisin de la etapa k.
k

IO2- Rosa
Delgadillo

Formalizacin del modelo de


Programacin Dinmica

La solucin del subproblema de


optimizacin en la etapa k, es una
yk en la variable de
solucin paramtrica
estado , ya que f es funcin de ella.
Se denomina poltica ptima de la etapa
K a la solucin ptima de las etapas k,
k+1,,n para un determinado estado
inicial en la etapa k
IO2- Rosa
Delgadillo

Formalizacin del modelo


de Programacin Dinmica

Principio de optimalidad de Bellman:


Una solucin ptima tiene la propiedad que
cualquiera sea el estado inicial y la decisin
inicial, las decisiones para las etapas posteriores
deben constituir una poltica ptima con respecto
al estado resultante de la primera decisin.

Es decir: las decisiones involucradas desde una


etapa en adelante slo dependen del estado
inicial de la etapa y no de la decisiones previas.
IO2- Rosa
Delgadillo

Formalizacin del modelo


de Programacin Dinmica

En general es posible establecer


ciertas reglas para construir un
modelo de programacin dinmica
equivalente al modelo de
optimizacin P1; asociado a las
definiciones de etapas, estado,
funcin de transformacin y
funcin de recursin:
IO2- Rosa
Delgadillo

Formalizacin del modelo


de Programacin Dinmica

Cada variable de decisin (o conjunto de ellas)


define una etapa del modelo de PD.
Generalmente se establece una relacin uno a
uno entre las variables y las etapas.
La funcin objetivo corresponde a la funcin de
recursin. Por tanto, para cada etapa la funcin
de recursin debe corresponder a la funcin
objetivo desde esa etapa hasta la etapa final.
El nmero de variables de estado del modelo
corresponde al nmero de restricciones que
involucran a variables en ms de una etapa.
Las restricciones que solo afectan a una etapa
no generan variables de estado.
IO2- Rosa
Delgadillo

Formalizacin del modelo


de Programacin Dinmica

Las variables de estado tienen una


interpretacin asociada al valor disponibles
del lado derecho ce cada restriccin en una
etapa determinada (holgura residual).
El valor de la condicin de borde f es
n 1
asignado de acuerdo a la forma de la funcin
objetivo y a la decisin tomada al final de la
ltima etapa (
si la F.O. es aditiva y
f n 1 0
si es multiplicativa).
f n 1 1

IO2- Rosa
Delgadillo

Estrategia de solucin

Ejemplo:

Para el ejemplo anterior considere tres


ciudades y el nmero de das
disponibles para vacaciones1 / de
5. las
2
g(x ) x
g ( x3 ) 3 x3
g ( x ) 2 x de utilidad
funciones
son
,
,
Considere que el orden de vista de las
ciudades est predefinido (1, 2, y luego
3) .
1

IO2- Rosa
Delgadillo

1/ 2
1

1/ 2
2

Estrategia de solucin

Etapa3
Los das que se pueden dedicar a la
ciudad 3 son 0,1,2,3,4 y 5.
y3
Si la familia dispone de
das,
entonces puede dedicar desde y03 a
a esta ciudad.
El subproblema que debe ser
resuelto entonces es: 1/ 2

f 3 ( y3 )

Max 3x
0 x3 y3

IO2- Rosa
Delgadillo

f 4 ( y 3 x3 )

Estrategia de solucin

La funcinf 4 ( y 4 ) 0 , ya que independientemente del


nmero de das que queden despus de visitar la ultima
ciudad, esto no reporta ninguna utilidad.
La tabla muestra la solucin del subproblema
g 3 ( x3 ) f 4 ( y3 x3 ) 3 x13/ 2 0
y3

x3=0

x3=1

x3=2

x3=3

x3=4

x3=5

X3 *

f3(y3)

0,00

0,00

0,00

3,00

3,00

0,00

3,00

4,24

4,24

0,00

3,00

4,24

5,20

5,20

0,00

3,00

4,24

5,20

6,00

6,00

0,00

3,00

4,24

5,20

6,00

6,71

6,71

IO2- Rosa
Delgadillo

Estrategia de solucin

Etapa2
En esta etapa se resuelve el problema de cuantos
das dedicar a la ciudad 2 y a la ciudad 3, en
x2
forma conjunta. Dado que la decisin tomada
en
y3 ya
x2 etapa 3, ya que
esta etapa
afecta
2 la
Los das disponibles en esta etapa tambin son:
0,1,2,3,4,5; el subproblema a ser resuelto es:
f 2 ( y2 )

Max 1x
0 x2 y 2

IO2- Rosa
Delgadillo

1/ 2
2

f 3 ( y 2 x2 )

Estrategia de solucin

La funcin f 3 ( y 2 x2 ) f 3 ( x3 )

y dado que
f 3 ( y3 ) Max g 3 ( x3 ) f 4 ( y3 x3 )
se tiene:
f 2 ( x2 ) Max g 2 ( x2 ) g 3 ( x3 ) f 4 ( y 2 x2 x3 )
x2 x3 y 2
x2 , x3 0

La tabla muestra la solucin del subproblema


g 2 ( x2 ) f 3 ( y 2 x2 ) x12/ 2 f 3 ( y 2 x2 )

y2

x2=0

x2=1

x2=2

x2=3

x3=4

x2=5

X2 *

f2(y2)

0,00

0,00

3,00

1,00

3,00

4,24

4,00

1,41

4,24

5,20

5,24

4,41

1,73

5,24

6,00

6,20

5,65

4,73

2,00

6,20

6,71

7,00

6,61

5,97

5,00

2,23

7,00

IO2- Rosa
Delgadillo

Estrategia de solucin

Etapa1
( y1 )
En esta etapa el nmero de das disponibles
es
conocido, con lo que el subproblema a resolver es:
f1 ( y1 )

Max 2 x

1/ 2
1

f 2 ( y1 x1 )

0 x1 y1
y1 5

Y la tabla es:
g1 ( x1 ) f 2 ( y1 x1 ) 2 x11/ 2 f 2 ( y1 x1 )
y1

x1=0

x1=1

x1=2

x1=3

x1=4

x1=5

X1*

f1(y1)

7,00

8,20

8,06

7,70

7,00

4,47

8,20

IO2- Rosa
Delgadillo

Estrategia de solucin

solucin
La determinacin de la poltica ptima de
asignacin de das de visita* a todas las ciudades
x1 partiendo
1
es obtenido recursivamente,
de
y
*
y1 xptimo
observando en la etapa 2 ely 2valor
para
1 4
*
*
,el cual es y3 y 2 x2 3
x2 1
, por lo que ahora
, de la y3 4
*
3
observacin en lax3 etapa
3 (tabla 3) se tiene que
para
el valor optimo es
Por lo tanto la poltica ptima es dedicar un da a
la ciudad 1 yf1 (2;
y1 ) y83
,20das a la ciudad 3.
Obtenindose una utilidad de
IO2- Rosa
Delgadillo

Ejemplos:

Asignacin de recursos

El propietario de 3 tiendas ha comprado 5 cestas de cerezas,


para satisfacer la demanda en las diferentes tiendas. El
propietario desea determinar la forma de distribuir los
canastos, de manera de maximizar el beneficio total. Los
retornos (utilidades) en funcin del nmero de canastos
distribuidos (se asume vendidos) en las 3 tiendas estn dados
en la siguiente tabla.
Tiend
a

Cantidad de canastos
1
2
3
4

12

13

10

11

11

11

11

12

12

IO2- Rosa
Delgadillo

Ejemplos:

Modelo de Planificacin de la
Produccin e Inventario

Una empresa debe decidir su poltica de produccin e


inventario para los prximos tres meses. La empresa ha
adquirido algunos compromisos de entrega para estos
meses:3,2,y 4 unidades respectivamente. En el proceso
productivo se incurre en algunos costos que estn asociados
con la produccin y el almacenamiento. Estos se indican en la
siguiente tabla
Mes

Almacenamien
to
($/unidad-mes)

Produccin
($/unidad)

10

15

20

Asuma que el inventario inicial es 0


IO2- Rosa
Delgadillo

Ejemplos:

Modelo de Reemplazo de un

Equipo

Una empresa posee un equipo de 3 aos de uso, y desea


determinar la poltica de reemplazo para los prximos 3
aos. Segn los antecedentes recopilados, el valor de un
equipo nuevo es de M$100, los costos de operacin y el
valor de rescate del equipo son entregados en la tabla
Edad

Operacin
(M$/aos)

Rescate
(M$)

10,0

70,0

40,0

50,0

60,0

30,0

70,0

20,0

80,0

10,0

85,0

0,0

Nota. Considere que el equipo no puede operar ms all del ao 6.

IO2- Rosa
Delgadillo

You might also like