You are on page 1of 126

Programacin

Dinmica
Introduccin
Existe una serie de problemas cuyas soluciones
pueden ser expresadas recursivamente en
trminos matemticos, y posiblemente la manera
ms natural de resolverlos es mediante un
algoritmo recursivo.
En estos casos es cuando la Programacin
Dinmica nos puede ofrecer una solucin
aceptable. La eficiencia de esta tcnica consiste
en resolver los subproblemas una sola vez,
guardando sus soluciones en una tabla para su
futura utilizacin.


PROGRAMACION DINAMICA
DETERMINISTICA
El estado en la siguiente etapa esta
completamente determinado por el estado
o poltica de decisin de la etapa actual

PROGRAMACION DINAMICA
PROBABILISTICA
El estado en la siguiente etapa no esta
completamente determinado por el estado
o poltica de decisin de la etapa actual
Concepto
Es una tcnica matemtica que se puede aplicar
para resolver muchos problemas de optimizacin,
lo que se desea es encontrar la solucin de valor
ptimo (mximo o mnimo).
En la mayor parte de las veces, la programacin
dinmica obtiene soluciones con un avance en
reversa, desde el final de un problema hacia el
principio con lo que un problema grande y
engorroso se convierte en una serie de problemas
mas pequeos y mas tratables.
La programacin dinmica resuelve un problema
relativamente complejo descomponindolo en
una serie de problemas mas sencillos.

Primero se resuelve un problema de una etapa,
despus uno de dos etapas, y por ultimo uno de
T etapas, T es el numero de etapas en el
problema original.

PRINCIPIO DE OPTIMALIDAD
Las futuras decisiones para las etapas restantes
constituyen una poltica ptima, sin importar cul
haya sido la poltica adoptada en las etapas previas
El principio de optimalidad
establece el marco de referencia
unificador para los n
subproblemas o n etapas de
los problemas de programacin
dinmica
NATURALEZA RECURSIVA EN
LOS CALCULOS DE LA PD
Los clculos de la programacin dinmica se hacen
recursivamente, en el sentido de que la solucin ptima de un
subproblema se utiliza como una entrada para el siguiente
subproblema. Al momento de resolver el ltimo subproblema, se
tendr la solucin ptima para todo el problema

La forma de los clculos recursivos depende de la
descomposicin del problema original. En general, los
subproblemas se unen a travs de algunas restricciones
comunes. A medida que se avanza de un subproblema a otro,
hay que dar la razn de la viabilidad de estas restricciones
Los problemas de la programacin
dinmica ocupan recursiones tanto
hacia adelante como hacia atrs, las
que deben producir la misma
solucin

An cuando el procedimiento hacia
delante parece ms lgico, la
programacin dinmica utiliza
generalmente la recursin hacia
atrs, puesto que es ms eficiente en
los clculos
METODOLOGIA PARA PLANTEAR
PROBLEMAS DE PROGR. DINAMICA
A medida que se estudie cada aplicacin de la
programacin dinmica, hay que definir correctamente
los 3 elementos bsicos de un modelo de programacin
dinmica:
1. Definicin de las etapas
2. Definicin de las alternativas en cada etapa
3. Definicin de los estados para cada etapa
Estado- Es cualquier etapa de la informacin
necesaria para tomar la decisin correcta en la
etapa actual
Variable de decisin- Son aquellas sobre las
cuales debemos definir su valor de modo de
optimizar el beneficio acumulado y modificar el
estado de la prxima etapa.
Etapa de decisin- Es el mecanismo con el que
construimos el problema.

A medida que se investiga cada tipo de aplicacin es til
considerar las siguientes preguntas:
Qu relaciones unen a las etapas ?

Qu informacin se necesita para tomar decisiones
factibles en la etapa actual, sin re-examinar las decisiones
tomadas en las etapas anteriores ?
Funcin objetivo Es la funcin que deseamos
optimizar, es decir, maximizar o minimizar.
La funcin objetivo puede ser:



Donde:
f = coeficientes conocidos

Solucin ptima Es el punto o conjunto de puntos
de la regin factible donde la funcin objetivo alcanza
el valor mximo o el valor mnimo. La solucin ptima
siempre se alcanza en uno de los vrtices o en el
segmento que une dos vrtices de la regin factible.
Caractersticas de la
Programacin Dinmica
El problema se puede dividir en etapas; cada etapa
requiere una decisin.
Cada etapa tiene un numero de estados asociados
con ella.
La decisin tomada en cualquier etapa indica como
se transforma el estado en la siguiente etapa.
Dado el estado actual, la decisin ptima para cada
una de las etapas restantes no debe depender de
estados (o decisiones) previamente tomadas.

Se dispone de una relacin recursiva de la forma:



Cuando se usa esta recursiva , el procedimiento
de solucin se mueve hacia atrs por la etapa
encontrando cada vez la poltica optima para esa
etapa hasta que se encuentra la poltica optima
desde la etapa inicial
En sntesis, la poltica optima desde un estado s de la
etapa k a la etapa final esta constituida por una
decisin que transforma s en un estado s de la etapa
k +1 y por la poltica optima desde el estado s hasta
la etapa final.



APLICACIONES DE LA
PROGRAMACION DINAMICA
Problema de la ruta crtica
Problema de la distribucin de esfuerzos
Problema del nmero de empleados
Problema de volumen carga
Problema del reemplazo de equipo
Problema de inversin
Problema de dimensionalidad
PROBLEMA DE LA RUTA CRITICA
Se desea seleccionar la ruta de carretera ms corta entre dos
ciudades. Existen diferentes conexiones mediante ciudades
intermedias como se muestra en el siguiente diagrama:
1
2 5
3 6
4 7
8
12
8
9
6
9
Se puede resolver el problema enumerando en forma
exhaustiva todas las rutas entre los nodos 1 y 8 (hay 7 rutas).
Sin embargo, en una red ms grande, la enumeracin
exhaustiva no es eficiente desde el punto de vista de los
clculos
Nomenclatura:
X : el estado actual
i : nmero de orden en la etapa
f
i
(Xn) : funcin recursiva
Estados : son las ciudades
El problema tiene tres etapas:
1
2 5
3 6
4 7
8
12
8
9
6
9
5
6
7
2
3
4
1 Etapa i = 1 2 Etapa i = 2 3 Etapa i = 3
Alternativas = 3 Alternativas = 7 Alternativas = 3
Problema de la diligencia (ejemplo prototipo)

N=numero de etapas
n=etiqueta para la etapa actual (n=1,2,3N)
=estado actual para la etapa n
=variable de decisin para la etapa n
=valor optimo
= contribucin a la funcin objetivo de las
etapas n, n+1,.N, la forma recursiva tendr la
forma



NOTACION
Formulacin del problema
, las variables de decisin que representan
el destino inmediato en la etapa n
el costo total de la mejor poltica global
para las etapas restantes, dado que el agente de
ventas se encuadra en el estado listo para hincar
la etapa n y elige como destino .Dado s y n,
Entonces

Donde = costo inmediato (etapa n) +
mnimo costo futuro (etapa n +1 en adelante) =
C F J
B
D
E
G
H
I
2
4
3
7
4
6
3
2
4
4
1
3
3
3
6
3
1
3
4
A
ETAPA 4 ETAPA3
ETAPA 2 ETAPA 1
En el problema se dividi en cuatro etapas que corresponden
a las cuatro jornadas del viaje.
Donde cada nodo corresponde un estado y la red
constituira en columnas de nodos, en cada columna
corresponde a una etapa
En este punto se pude identificar la solucin
ptima. Siendo los resultados del problema :

A ->C ->E -> H ->J

A ->D ->E -> H ->J

A ->D ->F -> I ->J
Problema de Red
Joe Cougar vive en la ciudad de Nueva York, pero
esta pensando en conducir hasta Los ngeles para
buscar fama y fortuna.
Su dinero es escaso y, por lo tanto, ha decidido
pasar cada noche de su viaje en la casa de un
amigo. Tiene amigos en Columbus, Nashville,
Louisville, Kansas City, Omaha, Dallas, San
Antonio Denver. Por ultimo, despus de 4 das de
conducir, puede llegar a Los ngeles.
Para reducir al mnimo el nmero de millas
recorridas, Dnde debe pasar cada noche del
viaje?
Nueva York
1
Nashville
3
Omaha
6
Los ngeles
10
Louisville
4
Columbus
2
Kansas City
5
Dallas
7
Denver
8
San Antonio
9
550
770
900 760
680
830
790
510
580
700
1050
660
1030
1390
790
790
270
940
540
610
Da 0
Etapa 1
Da 1
Etapa 2
Da 2
Etapa 3
Da 3
Etapa 4
Da 4
Solucin
La idea de avanzar en reversa quiere decir que
debemos comenzar por resolver un problema fcil que al
final nos ayude a resolver un problema complejo.
Por lo tanto, empezando por encontrar la ruta mas corta
a Los ngeles desde cada ciudad de donde solo hay 1 da
de marcha, que son las ciudades de la etapa 4.
A continuacin usaremos esta informacin para
determinar la ruta mas corta a Los ngeles desde cada
ciudad desde la cual haya solo 2 das de marcha, o sea,
las ciudades de la etapa 3

Solucin
Con esta informacin, podremos determinar la distancia
mas corta que hay hasta Los ngeles desde cada una de
las ciudades que estn a una distancia de tres jornadas de
manejo (ciudades de la etapa 2).
Por ltimo, determinamos la distancia mas corta hasta
Los ngeles a partir de cada una de las ciudades (slo
hay una: Nueva York), que est alejada 4 jornadas de
manejo.
Solucin
12=550 46=700
13=900 47=830
14=770 58=610
25=680 59=790
26=790 68=540
27=1050 69=940
35=580 78=790
36=760 79=270
37=660 810=1030
45=510 910=1390
Solucin
Los ngeles
10
Ciudad
Denver
8
1030 10
San Antonio
9
1390 10
Para n=4
Solucin
Para n=3
8 9 Menor Ciudad
5 610+1030=1640 790+1390=2180

1640 8
6 540+1030=1570 940+1390=2330

1570 8
7 750+1030=1820

270+1390=1660

1660 9
Solucin
Para n=2
5 6 7 Menor Ciudad
2 680+1640=2320

790+1570=2360

1050+1660=2710 2320

5
3 580+1640=2220 760+1570=2330

660+1660=2330 2220

5
4 510+1640=2150

700+1570=2270 830+1660=2490

2150

5
Solucin
2 3 4 Menor Ciudad
1 550+2320=2870 900+2220=3120 770+2150=2920

2870

2
Para n=1
Entonces la ruta mas corta seria:
1 2 5 8 10
Problema
Determinar la trayectoria mas
corta desde el nodo 1 hasta el
nodo 10 en la red de la siguiente
figura.
1 3 6 10
2
4
5
7
8
9
2
4
3
7
4
6
3
2
4
4
1
5
3
3
3
6
3
1
3
4
Solucin
12=2 46=1
13=4 47=5
14=3 58=1
25=7 59=3
26=4 68=6
27=6 69=3
35=3 78=3
36=2 79=3
37=4 810=3
45=4 910=4
Solucin
10 Ciudad
8 3 10
9 4 10
Para n=4
Solucin
Para n=3
8 9 Menor Ciudad
5 1+3=4 3+4=7

4 8
6 6+3=9 3+4=7

7 9
7 3+3=6

3+4=7

6 8
Solucin
Para n=2
5 6 7 Menor Ciudad
2 7+4=11

4+7=11

6+6=12 11

5 o 6
3 3+4=7 2+7=9

4+6=10 7

5
4 4+4=8

1+7=8 5+6=11

8

5 o 6
Solucin
2 3 4 Menor Ciudad
1 2+11=13 4+7=11 3+8=11

11

3 o 4
Para n=1
Entonces la ruta mas corta seria:
1 3 5 8 10
1 4 5 8 10

Problema General de Asignacin de
Recursos
Suponga que tenemos w unidades de un
recurso disponible, y T actividades a las
que se puede asignar ese recurso.
Si la actividad t se realiza en un nivel xt,
entonces la actividad t usa gt(xt) unidades
del recurso, y se obtiene un el beneficio
rt(xt).

El problema de determinar la asignacin de recursos
que maximiza el beneficio total, sujeto a la disponibilidad
de recursos se puede formular como sigue:
T
rt(xt)
t=1
condiciones :

T
gt(xt) <= w
t=1



Para resolver la Ec.(6) con la programacin
dinmica, definimos a ft(d) como el beneficio
mximo que se puede obtener de las
actividades t,t+1,,T.

ft+1(d) = 0 para toda d
ft(d) = max{rt(xt) + ft+1(d-gt(xt))}
xt
Condiciones : xt >= 0;
gt(xt) <= d


rt(xt) gt(xt) w
Beneficio de colocar xt
artculos tipo t en una
mochila.

Calificaciones
obtenidas en el curso
t si solo estudiamos xt
horas por semana.

Ventas de un producto
en la regin t si
asignan xt vendedores
a la regin t.

Peso de xt artculos
del tipo t.


Nm de h/semana xt
que pasamos
estudiando el curso t.


Costo por asignar xt
vendedores a la
regin t.
Peso mximo que
puede resistir una
mochila.

Nm total de horas
disponibles cada
semana.


Presupuesto total del
personal de ventas.
PROBLEMA DE N DE EMPLEADOS
En algunos proyectos, las contrataciones y los despidos se
ejercen para mantener un nmero de empleados que
satisfaga las necesidades del proyecto
Debido a que tanto las contrataciones
como los despidos incurren en costos
adicionales, se busca establecer el
nmero de empleados a requerir a lo
largo del proyecto
Supngase que el proyecto se ejecutar durante el
lapso de n semanas y que el nmero mnimo de
empleados requeridos en la semana i es b
i

trabajadores. Bajo condiciones ideales, es deseable
que el nmero de empleados en la semana i fuera
exactamente b
i
; sin embargo, dependiendo de los
costos, puede ser ms econmico permitir que el
nmero de empleados vare ms arriba de los
requerimientos mnimos
Sea X
i
: nmero real de trabajadores empleados en la semana i
Se puede incurrir en
dos tipos de costos en
la semana i
C
1
(X
i
b
i
)
Costo de mantener un nmero de
trabajadores excesivo
C
2
(X
i
X
i-1
)
Costo de contratar X
i
X
i-1
trabajadores
adicionales
Etapas : i, son las semanas i = 1, 2, , n

Alternativas X
i
, el nmero de trabajadores empleados en la
semana i

Estados X
i-1
, el nmero de trabajadores empleados en la
semana inmediatamente anterior
Funcin Recursiva
f
i

(Xi

-

1)
= Mn { C
1
(X
i
b
i
) + C
2
(X
i
X
i-1
) + f
i+1
(X
i
) }
X
i
> b
i
i = 1, 2, , n
con f
n+1
(X
n
) = 0
Ejemplo: Un contratista de la construccin calcula que el
nmero de trabajadores necesarios durante las
prximas 5 semanas es de: 5, 7, 8, 4 y 6
trabajadores, respectivamente
El exceso de trabajadores que se mantienen en la fuerza
laboral costar $300 por trabajador y por semana. Las nuevas
contrataciones en cualquier semana incurrirn en un costo fijo
de $400 ms $200 por trabajador y por semana

Se desea tener el menor costo total en la planilla de la fuerza
laboral
como se debe mantener el nmero de empleados a
todo lo largo de la vida de un proyecto?
bi : Nro min de empleados requeridos.
xi : Nro real de trabajadores empleados.
c1(xi - bi) : Costo de mantener un Nro excesivo de
trabajadores.
c2(xi xi-1) : Costo de contratar trabajadores adicionales.
1.-Etapas : semanas de trabajo i = 1/n.
2.-Estado : Nro de trabajadores en la semana (etapa).
fi(xi-1) = min{c1(xi-bi) + c2(xi-xi-1) + fi+1(xi)}
xi>=bi
fn+1(xn)=0 (los calculos empiezan en la etapa n con xn=bn)
Solucin:
C
1
= $300
C
2

$400 fijo
$200 variable
b
1
= 5
b
2
= 7
b
3
= 8
b
4
= 4
b
5
= 6
C
1
(X
i
b
i
) = 300(X
i
b
i
) para X
i
> b
i
C
2
(X
i
X
i-1
) = 400 + 200(X
i
X
i-1
) para X
i
> X
i+1
con i = 1, 2, 3, 4, 5
n=5 b5=x5=6
f5(x4)= min{3(x5-6)+4+2(x5-x4)}=
x5>=b5
= min{4+2(6-x4)}=

x4
f5(x4) f5* x5*
4 4+2*2=8 8 6
5 4+1*2=6 6 6
6 0 0 6*
n=4 b4=4;

f4(x3)=3(x4-4)+4+2(x4-x3)+f5(x4)




x3 f 4(x3) f4* x4*
X4=4 X4=5 X5=6
8
3(0)+0+8=8 3(1)+0+6=9 3(2)+0+0=6
6 6*
n=3 b3=8;

f3(x2)=C1(x3-8)+C2(x3-x2)+f4(x3)


x2 x3=8 f3* x3*
7 3(0)+4+2(1)+6=12 12 8
8 3(0)+0+6=6 6 8*
n=2 b2=7;
f2(x1)=c1(x2-7)+c2(x2-x1)+f3(x2)


x1 x2=7 x2=8 f2*(x1) x2*
5 20 19* 19 8
6 18 17* 17 8
7 12* 15 12 7
8 12 9* 9 8*
n=1 b1=5;
f1(x0)=C1(x1-5)+C2(x1-x0)+f2(x1)


X0 x1=5* x1=6* x1=7* x1=8* f1(x0) X1*
0 33* 36 36 38 33 5
Como:

x0 = 0 Contratar 5 trabajadores.
x1 = 5 Contratar 3 trabajadores.
x2 = 8 Sin cambio.
x3 = 8 Despedir 2 trabajadores.
x4 = 6 Sin cambios.
PROBLEMA DEL REEMPLAZO EQUIPO
Cuando una mquina llega a cierta edad, se elevan sus costos
operacionales y de mantencin, por lo que puede ser ms
econmico reemplazarla. Luego, hay que determinar la edad de
vida til econmica de la mquina
Se supone el problema de reemplazo de
equipo a lo largo de n aos. Al principio
de cada ao se decide prolongar el
servicio del equipo un ao ms, o
reemplazarlo por uno nuevo
Se definen:
r(t) : beneficio anual del equipo de edad t aos
c(t) : costo de operacin del equipo de edad t aos
s(t) : valor de rescate del equipo que ha estado en servicio durante t aos
I : costo de adquisicin de un equipo nuevo en cualquier ao
Se pueden tomar 2
decisiones cada ao
Conservar
la mquina
Reemplazar
la mquina
Beneficios
r(t) c(t)
s(t) I
Etapas : i, son los aos i = 1, 2, , n

Alternativas conservar la mquina (K) o reemplazarla (R)

Estados t
i
, edad de la mquina al principio del ao i

Funcin Recursiva f
i
(t) Ingreso neto mximo para los aos i, i+1, , n
Funcin Recursiva
f
i
(t) = Mx
r(t) c(t) + f
i+1
(t+1) Si se conserva
s(t) I + r(0) - c(0) + f
i+1
(1) Si se reemplaza
con f
n+1
(t) = s(t) Se vende la mquina a valor residual
Ejemplo:
Se necesita determinar la poltica de
reemplazo ptima para una mquina que
en la actualidad tiene 3 aos, durante los
prximos 4 aos (n = 4), es decir, hasta
principios del ao 5

La compaa requiere que una mquina
de 6 aos se reemplace. El costo de una
mquina nueva es de $100.000
Ejemplo: La siguiente tabla proporciona los datos del
problema
Edad, t (ao) Utilidad, r(t) Costo c(t) Rescate, s(t)
0 20.000 ($) 200 ($)
1 19.000 ($) 600 ($) 80.000 ($)
2 18.500 ($) 1.200 ($) 60.000 ($)
3 17.200 ($) 1.500 ($) 50.000 ($)
4 15.500 ($) 1.700 ($) 30.000 ($)
5 14.000 ($) 1.800 ($) 10.000 ($)
6 12.200 ($) 2.200 ($) 5.000 ($)
La determinacin de los estados es un tanto difcil, se
recomienda hacer una red edad de la mquina v/s ao de la
decisin, para distinguir los estados posibles y los valores
factibles para la edad de la mquina en cada etapa
Edad de la Mquina
1
2
4
5
6
Principio
Ao de la
Decisin
2
3 4 5
2 2
1 1
2
3
3
4
6
5
1
3
K
R
R
R
R R R
K
K
K
K
K K
K
R
R
R
4
1
R
Edad (t)
(aos)
Utilidad
r(t) $
Costo de Operacin
c(t)$
Valor de Rescate
s(t)$
0 20000 200
1 19000 600 80000
2 18500 1200 60000
3 17200 1500 50000
4 15500 1700 30000
5 14000 1800 10000
6 12200 2200 5000


Solucin
Al finalizar el Cuarto ao, las maquinas podrn tener 1,2,3
o 6 aos.
t=1
t=2


Solucin
t=3
t=6
t C R Decisin
1 78400 79800 79800 R
2 67300 59800 67300 C
3 45700 49800 49800 R
6 4800 4800 R
Etapa i=4


Solucin
Al finalizar el Tercer ao, las maquinas podrn tener 1,2 o
5 aos.
t=1
t=2
t C R Decisin
1 85700 79600 85700 C
2 67100 59600 67100 C
5 17000 19600 19600 R
Etapa i=3
t=5
t C R Decisin
1 85500 85500 85500 C o R
4 33400 35500 35500 R
Etapa i=2
Al finalizar el Segundo ao, las maquinas podrn tener 1 o
4 aos.
t C R Decisin
3 51200 55300 55300 R
Etapa i=1
Al finalizar el Primer ao, las maquinas podrn tener 3
aos.
t=3
Luego:
t=3
R
t=1
C
C
R
C
R
t=2
t=1
t=3
t=2
C
R C
R R
C R
C C
a)
b)
Costo total es de $ 55300
Problema de Reemplazo en
Equipo
Muchas empresas encaran el problema de determinar
hasta cuando usar una maquina antes de comprar una
nueva. A los problemas de este tipo se les llama
reemplazo en equipo y se resuelven con frecuencia
mediante programacin dinmica.
Mientras ms tiempo est en servicio una mquina, mas
costoso ser su mantenimiento y su produccin ser
menor.
Por eso despus de determinado tiempo mas econmico
ser reemplazarla que mantenerla.
El problema en si es determinar la edad mas econmica de
la maquina al iniciar el ao, tenemos que tomar una
decisin:
Dejar la maquina en servicio durante un ao mas (C)
Reemplazarla por una nueva (R)

r(t) Es la utilidad anual
c(t) Costo de operacin de una maquina de t aos
de edad
s(t) Valor de salvamiento (de la venta de la maquina
vieja)

Los aos son etapas i
I Costo de una mquina nueva
C o R Alternativas a tomar en la etapa i
Ingreso neto mximo por los aos i, i+1,n
Conservar
Reemplazar
PROBLEMA DE VOLUMEN CARGA
Aborda el problema de cargar artculos que poseen diferentes
niveles de utilidad, en medios de carga con capacidad limitada.
El objetivo es seleccionar las cargas ms valiosas a transportar
Aplicaciones del Problema Volumen Carga
Transporte Martimo: cargar artculos en un barco con
capacidad de peso limitada

Equipaje de Emergencia: un piloto de jet debe determinar
los artculos ms valiosos (de emergencia) a llevar a bordo
del jet

Problema de la Mochila: un soldado (o un excursionista)
debe decidir cules son los artculos ms valiosos para
llevar en su mochila
La ecuacin recursiva (hacia atrs) se desarrolla para el
problema general de un barco con capacidad para n artculos
y W toneladas
Se definen:
m
i
: Nmero de unidades del artculo i en la carga

r
i
: Nivel de utilidad unitaria del artculo i

w
i
: Peso de cada unidad de carga del artculo i

n : Nmero total de artculos a transportar

W : Capacidad de peso del medio de transporte
El problema general se representa por medio de la siguiente
programacin lineal entera

Mx: Z = r
1
m
1
+ r
2
m
2
+ . + r
n
m
n


s.a.: w
1
m
1
+ w
2
m
2
+ . + w
n
m
n
< W

m
1
, m
2
, , m
n
> 0

m
1
, m
2
, , m
n
IN

Etapas : i, son los artculos i = 1, 2, , n

Alternativas m
i
el nmero de unidades del artculo i incluidas en la carga

Estados X
i
, peso total acumulado asignado a las etapas (artculos) i, i+1, ..., n

Funcin Recursiva f
i
(X
i
) - Utilidad mxima para los etapas i, i+1, , n
Funcin Recursiva
f
i
(X
i
) = Mx { r
i
m
i
+ f
i+1
(X
i+1
) } i = 1, 2, ., n
con f
n+1
(X
n+1
) = 0
Al inicio, no se ha asignado carga
m
i
= { 0, 1, ., W/w
i
}
Ecuacin de balance del peso consumido en etapas:
X
i
X
i+1
= w
i
m
i
X
i
X
i+1
representa el peso
consumido en la etapa i
Reemplazando se llega a:
Funcin Recursiva
m
i
= { 0, 1, ., }
W
w
i
X
i
= { 0, 1, ., W }
f
i
(X
i
) = Mx { r
i
m
i
+ f
i+1
(X
i
- w
i
m
i
) } i = 1, 2, ., n
PROBLEMA
Suponga que se ha de llenar una mochila de 10 libras
con los artculos que aparecen en tabla de abajo. Para
maximizar el beneficio total, Cmo se debe llenar la
mochila?


PESO BENEFICIO
Artculo 1 4 lb 11
Artculo 2 3 lb 7
Artculo 3 5 lb 12
Debido a que los pesos por unidad, w
i
y el peso mximo W
asumen todos valores enteros, el estado X
i
slo puede
asumir valores enteros
SOLUCION

Tenemos que r1(x1)=11x1, r2(x2)=7x2,
r3(x3)=12x3, g1(x1)=4x1, g2(x2)=3x2,
g3(x3)=5x3. Definimos que ft(d) sea el
beneficio maximo que se puede ganar con
la mochila de d libras llena con articulos
del tipo t,t+1,3.
CLCULOS DE LA ETAPA 3.

f3(d) = max {12x3}
x3
donde 5x3<=d y x3 con un entero no negativo.Esto
produce
f3(10) = 24
f3(5) = f3(6) = f3(7) = f3(8) = f3(9) = 12
f3(0) = f3(1) = f3(2) = f3(3) = f3(4) = 0
x3(10) = 2
x3(9) = x3(8) = x3(7) = x3(6) = x3(5) = 1
x3(0) = x3(1) = x3(2) = x3(3) = x3(4) = 0













CLCULO DE LA ETAPA 2.

f2(d) = max {7x2 + f3(d-3x2) }
x2
donde x2 debe ser entero no negativo que cumpla con 3x2 <= d.
Obtenemos ahora
7(0) + f3(10) = 24* x2 = 0
7(1) + f3(7) = 19 x2 = 1
f2(10) = max 7(2) + f3(4) = 14 x2 = 2
7(3) + f3(1) = 21 x2 = 3



As, f2(10) = 24 y x2(10) = 0.
7(0) + f3(9) = 12 x2 = 0
7(1) + f3(6) = 19 x2 = 1
f2(9) = max 7(2) + f3(3) = 14 x2 = 2
7(3) + f3(0) = 21* x2 = 3

Entonces f2(9) = 21 y x2(9) = 3.

7(0) + f3(8) = 12 x2 = 0
f2(8) = max 7(1) + f3(5) = 19 x2 = 1
7(2) + f3(2) = 14* x2 = 2


Entonces f2(8) = 19 y x2(8) = 1.

7(0) + f3(8) = 12 x2 = 0
f2(7) = max 7(1) + f3(5) = 19 x2 = 1
7(2) + f3(2) = 14* x2 = 2

Entonces f2(7) = 14 y x2(7) = 2.

7(0) + f3(6) = 12 x2 = 0
f2(6) = max 7(1) + f3(3) = 7 x2 = 1
7(2) + f3(0) = 14* x2 = 2

Entonces f2(6) = 14 y x2(6) = 2.

7(0) + f3(5) = 12* x2 = 0
f2(5) = max 7(1) + f3(2) = 7 x2 = 1

Entonces f2(5) = 12 y x2(5) = 0.

7(0) + f3(4) = 0 x2 = 0
f2(4) = max 7(1) + f3(1) = 7* x2 = 1

Entonces f2(4) = 7 y x2(4) = 1.

7(0) + f3(3) = 0 x2 = 0
f2(3) = max 7(1) + f3(0) = 7* x2 = 1


Entonces f2(3) = 7 y x2(3) = 1.

f2(2) = 7(0) + f3(2) = 0 x2 = 0

Entonces f2(2) = 0 y x2(2) = 0.

f2(2) = 7(0) + f3(1) = 0 x2 = 0

Entonces f2(1) = 0 y x2(1) = 0.

f2(0) = 7(0) + f3(0) = 0 x2 = 0

Entonces f2(0) = 0 y x2(0) = 0.
CLCULO DE LA ETAPA 1.


11(0) + f2(8) = 24 x2 = 0
f1(10) = max 11(1) + f2(5) = 25* x2 = 1
11(2) + f2(2) = 22 x2 = 2

DETERMINACIN DE LA SOLUCIN OPTIMA

Tenemos que f1(10) = 25 y x1(10) = 1. Por lo tanto, debemos meter
un articulo del tipo 1 en la mochila. Luego tenemos lugar para
10 - 4 = 6 lb para artculos tipo 2 y tipo 3 y, por lo tanto, debemos
meter x2(6) = 2 artculos del tipo 2. Por ultimo, tenemos 6 - 2(3) = 0
lb lugar para artculos del tipo 3.
PROBLEMA DE INVENTARIO
Se establece el nivel ptimo del inventario para diferentes
perodos, asumiendo que no se permite faltante alguno. Es
decir, que la produccin de artculos permita, a lo menos,
cubrir la demanda en forma ntegra
El modelo asume dos tipos de costos: se incurre en un costo
de preparacin siempre que se inicia un nuevo lote de
produccin; adems de un costo de almacenamiento, cada
vez que hay acumulacin de inventario
El modelo trata de minimizar la suma de los costos de
produccin, de preparacin y de almacenamiento para todos
los n perodos
Sean:
Z
i
: Cantidad ordenada en el perodo i
D
i
: Demanda para el perodo i
X
i
:Inventario al inicio del perodo i
X
1
Z
1
D
1
Z
2
Z
i
Z
i+1
Z
n
X
2
X
i
X
i+1
X
n
X
n
+
1

=

0

D
i
D
n
El tamao del inventario es:
X
i+1
= X
i
+ Z
i
- D
i
Los costos son:
K
i
: Costo de preparacin para el perodo i

h
i
: Costo por unidad del almacenamiento del inventario, del perodo i+1

C
i
(Z
i
) : Costo de produccin para el perodo i
Costo de produccin para el perodo i es:
Ci(Zi)
0 si Z
i
= 0
K
i
+ p
i
(Z
i
) si Z
i
> 0
donde:
p
i
(Z
i
) : Funcin del costo de
produccin marginal dado Z
i
Este problema formula la programacin
dinmica con funcin recursiva hacia
adelante
Etapas : i, son los perodos de tiempo i = 1, , n

Alternativas Z
i
la cantidad de la orden de produccin

Estados X
i+1
, tamao inventario al final del perodo

donde 0 < X
i+1
< D
i+1
+ + D
i+n

Funcin Recursiva f
i
(X
i+1
) Minimizar costos
para los etapas i, i+1, , n
Funcin Recursiva
f
i
(X
i+1
) = Mn {C
i
(Z
i
) + h
i
X
i+1
+ f
i-1
(X
i+1
+ D
i
- Z
i
) }
i = 1, 2, ., n
0 < Z
i
< D
i
+ X
i+1

Como es una funcin recursiva hacia delante, el primer
perodo, la primera etapa queda:
f
1
(X
2
) = Mn { C
1
(Z
1
) + h
1
X
2
}
0 < Z
1
< D
1
+ X
2

Con f
0
(X
2
+ D
1
Z
1
) = 0
El modelo supone X
n+1
= 0
Ejemplo:
Encuentre la solucin ptima para la situacin del inventario de
tres perodos que a continuacin se proporciona. La demanda
ocurre en unidades discretas y el inventario inicial es de X
1
= 1
unidad
Perodo
i
Demanda Di
(unidades)
Costo de
Preparacin Ki
Costo de
Almacenamiento hi
1 3 3 1
2 2 7 3
3 4 6 2
Ejemplo:
El costo de produccin por unidad es de $10 para las
tres primeras unidades y de $20 por cada unidad
adicional
p
i
(Z
i
)
10 Z
i
0 < Z
i
< 3
30 + 20(Z
i
- 3) Z
i
> 4
PROBLEMA DE INVERSION
Se desean invertir las cantidades P
1
, P
2
, ., P
n
al inicio de
cada uno de los siguientes n aos

Se puede invertir en dos bancos: el primer banco paga una tasa
de inters r
1
y el segundo banco paga una tasa de inters r
2
y
ambas son tasas de inters compuesto anual. Adems, los
bancos pagan bonificaciones sobre las nuevas inversiones, en
forma de un porcentaje sobre la cantidad invertida
Los porcentajes de las bonificaciones varan de un ao a otro y
se dan en el ao i como q
i1
para el primer banco y q
i2
para el
segundo banco. Son pagaderos al final del ao en el cual se
hace la inversin y se pueden reinvertir en cualquiera de los
bancos al ao siguiente inmediato

Slo las bonificaciones y el dinero nuevo se pueden invertir en
cada banco. Sin embargo, una vez que se deposita una
inversin en cualquiera de los bancos, debe permanecer all
hasta el final del horizonte del ao - n
Etapas : i, son los aos i = 1, 2, , n

Alternativas en las etapas i son I
i
e I
i
, las cantidades invertidas en
el primer y el segundo banco respectivamente

Estados X
i
, es la cantidad de capital disponible para invertir al
principio del ao i
Se observa que:
I
i
= X
i
I
i
X
i
= P
i
+ q
i-1,1
I
i-1
+ q
i-1,2
I
i-1

X
i
= P
i
+ q
i-1,1
I
i-1
+ q
i-1,2
(X
i-1
I
i-1
)
X
i
= P
i
+ (q
i-1,1
q
i-1,2
)I
i-1
+ q
i-1,2
X
i-1

con X
1
= P
1
X
i
es la cantidad de reinversin, solo incluye el dinero
nuevo mas cualesquiera de las bonificaciones
obtenidas en el ao anterior
El objetivo es maximizar la
suma acumulada (Si) que
reportan las inversiones en
ambos bancos al final del
ao n
Funcin Objetivo
Mx Z = S
1
+ S
2
+ . + S
n
Funcin Objetivo Mx Z = S
1
+ S
2
+ . + S
n
Dado
j
= ( 1 + r
j
)

j = 1, 2
se tiene S
i
= I
i

1
(n+1-i)
+ (X
i
I
i
)
2
(n+1-i)


S
i
= (
1
(n+1-i)

2
(n+1-i)
)I
i
+ X
i

2
(n+1-i)

Con i = 1, 2, 3, .., (n-1)
S
n
= (
1
+ q
n1

2
q
n2
)I
n
+ X
n
(
n
+ q
n2
)


S
n
= (
1
+ q
n1

2
q
n2
)I
n
+ X
n
(
n
+ q
n2
)


En el ltimo ao, los trminos q
n1
y q
n2
se aaden,
debido a que las bonificaciones obtenidas al final del
ao n son parte de la suma de dinero final acumulada
de la inversin
Funcin Recursiva
f
i
(X
i
) = Mx {S
i
+ f
i+1
(X
i+1
) }
con f
n+1
(X
n+1
) = 0
i = 1, 2, 3, .., (n-1)
0 < I
i
< X
i
Ejemplo:
Se desea invertir $4.000 ahora y $2.000 al principio de
los aos 2 al 4. La tasa de inters anual compuesta que
ofrece el primer banco es del 8% y los porcentajes de
las bonificaciones durante los prximos 4 aos son 1,8;
1,7; 2,1 y 2,5 respectivamente. La tasa de inters
compuesta anual que ofrece el segundo banco es 0,2%
menor que la del primer banco, pero su bonificacin es
un 0,5% ms alta cada ao

El objetivo es maximizar el capital acumulado al final de
4 aos
BANCO 1 BANCO 2
Tasa L
1
=(1+0.08) L
2
=(1+0.078)
Bonificacin
1
2
3
4
0.018
0.017
0.021
0.025
0.018+0.005=0.023
0.022
0.026
0.030

n=4
p
1
= $4000
p
2
= p
3
= p
4
= $2000

S
4
= (L
1
+ q
41
- L
2
- q
42
)I
41
+ (L
2
+ q
42
)x
4
S
4
= (1.08 + 0.025 - 1.078 - 0.030)I
41
+ (1.078 + 0.030)x
4
S
4
= -0.03I
4
+ 1.108x
4

como -0.03I
4
< 0, para max funcin I
4
= 0



Estado F
4
(x
4
) I
4
X
4
1.108x
4
0
f
3
(x
3
) = max { S
3
+ f
4
(x
4
) }
0 I
3
x
3
n=3

S
3
= (1.08
2
- 1.078
2
) I
3
+ 1.078
2
x
3

S
3
= 0.00432I
3
+ 1.1621x
3


x
4
= 2000 + (q
31
- q
32
) I
3
+ q
32
x
3

x
4
= 2000 + (0.021 - 0.026) I
3
+ 0.026x
3
x
4
= 2000 - 0.005I
3
+ 0.026x
3

f
3
(x
3
) = max {0.00432I
3
+ 1.1621x
3
+ 1.108(2000 - 0.005I
3
+
0.026x
3
)}
f
3
(x
3
) = max {2216 - 0.00122I
3
+ 1.1909x
3
}

=> I
3
= 0

n=2

S
2
= (1.08
3
- 1.078
3
) I
2
+ 1.078
3
x
2

S
2
= 0.006985I
2
+ 1.25273x
2


x
3
= 2000 + (q
21
- q
22
) I
2
+ q
22
x
2

x
3
= 2000 - 0.005I
2
+ 0.022x
2

f
2
(x
2
) = max{0.006985I
2
+ 1.25273x
2
+ 2216 + 1.1909(2000 -
0.005I
3
+ 0.022x
2
)}
f
2
(x
2
) = 4597.8 + 1.27893x
2
+ 0.0010305I
2

como 0 I
2
x
2

=> f
2
(x
2
) = 4597.8 + 1.27996x
2


n=1

S
1
= (1.08
4
- 1.078
4
) I
1
+ 1.078
4
x
1

S
1
= 0.01005I
1
+ 1.3504x
1


x
2
= 2000 + (q
11
q
12
) I
1
+ q
12
x
1

x
2
= 2000 - 0.005I
1
+ 0.023x
1

f
1
(x
1
) = max{0.01005I
4
+ 1.3504x
1
+ 4597.8 + 1.27996(2000
- 0.005I
1
+ 0.023x
1
)}
f
1
(x
1
) = 7157.7 + 1.37984x
1
+ 0.00365I
1

como I
1
= $4000 , x
1
= $4000


=> f
1
(x
1
) = 7157.7 + 1.38349x
1

f
1
(x
1
) = 12691.66 ;

x
2
= 2000 0.005I
1
+ 0.023x
1
x
2
= 2000 - 0.005(4000) + 0.023(4000)
x
2
= 2072;



x
3
= 2000 0.005I
2
+ 0.022x
2

x
3
= 2035.224

x
4
= 2000 - 0.005I
3
+ 0.026x
3
x
4
= 2052.92

I
1
= x
1
= $4000 banco 1
I
2
= x
2
= $2072 banco 1
I
3
= 0 x
3
= $2035.22 banco 2
I
4
= 0 x
4
= $2052.92 banco 2
PROGRAMACION DINAMICA
PROBABILISTICA
La programacin dinmica probabilstica difiere de la
programacin dinmica determinstica en que las condiciones y
resultados en cada etapa son probabilsticas
El estado que se alcance
despus de una decisin es
incierto, puesto que existen
probabilidades de llegar a ms
de un estado
Problema de Inversin:
Una persona desea invertir $C en el mercado de
valores durante los siguientes n aos. El plan de
inversin requiere comprar las acciones al inicio
del ao y venderlas al final del mismo ao.
Posteriormente, el dinero acumulado se puede
reinvertir (todo o parte) al inicio del siguiente
ao
Problema de Inversin:
El grado de riesgo en la inversin se representa
expresando el rendimiento de forma probabilstica:
Un estudio del mercado indica que el rendimiento
sobre la inversin est afectado por m condiciones
del mercado (favorables o desfavorables) y que la
condicin i da un rendimiento r
i
con probabilidad p
i
Cmo debe invertirse la cantidad C para alcanzar
la acumulacin ms alta al final de n aos ?
Problema de Inversin:
X
i
: Cantidad de fondos disponibles al inicio del ao i

Y
i
: Cantidad realmente invertida al inicio del ao i
con X
1
= C
( Y
i
< X
i
)
Etapas : i, son los aos i = 1, 2, , n

Alternativas en las etapas i son Y
i


Estados X
i
, cantidad de fondos disponibles
Para la condicin de mercado k-sima se observa que:
Problema de Inversin:
X
i+1
= ( 1 + r
k
)Y
i
+ ( X
i
Y
i
) K = 1, 2, , m
X
i+1
= r
k
Y
i
+ X
i
Dado que la condicin de mercado k ocurre
con probabilidad p
k
, la ecuacin recursiva de
programacin dinmica es:
f
i
(X
i
) = Mx { p
k
f
i+1
(X
i+1
) }

m
k = 1
para Y
i
< X
i

Problema de Inversin:
Funcin Recursiva
f
i
(X
i
) = Mx { p
k
f
i+1
(X
i
+ r
k
Y
i
) }

k = 1
m
El objetivo es maximizar los fondos
esperados para los aos i, i+1, .., n
0 < Y
i
< X
i
Adems f
n+1
(X
n+1
) = X
n+1
Ya que ninguna inversin
ocurre despus del ao n
Problema de Inversin:
f
n
(X
n
) = Mx { p
k
f
n+1
(X
n+1
) }

k = 1
m
f
n
(X
n
) = Mx { p
k
X
n+1
) }

k = 1
m
f
n
(X
n
) = Mx { p
k
(X
n
+ r
k
Y
n
) }

k = 1
m
La funcin es lineal en Y
n
y, por lo tanto, el
mximo valor de Y
n
ocurre cuando Y
n
= X
n
Problema de Inversin:
f
n
(X
n
) = p
k
(X
n
+ r
k
X
n
)

m
k = 1
f
n
(X
n
) = p
k
X
n
(1 + r
k
)
k = 1

m
f
n
(X
n
) = X
n
(p
k
+ p
k
r
k
)

m
k = 1
f
n
(X
n
) = X
n
( p
k
+ p
k
r
k
)

k = 1 k = 1
m m
f
n
(X
n
) = X
n
(1 + p
1
r
1
+ p
2
r
2
+ . + p
m
r
m
)
f
n
(X
n
) = X
n
p
k
(1 + r
k
)

k = 1
m
Ejemplo:
Se desean invertir $10.000 durante los
siguientes 4 aos. Existe un 40% de
probabilidad de obtener una ganancia 2
veces superior a la inversin, 20% de
probabilidad de no ganar ni perder y 40%
de probabilidad de perder toda la
inversin inicial

Disee una estrategia ptima de inversin

Ejemplo:
Se tiene $1 para invertir y puede hacerlo
en A, en B, o si lo desea puede no
invertir, al principio de los prximos 3
aos. Solo se puede invertir $1 cada vez
y, los retornos despus de la inversin
dependen de diferentes escenarios,
cuyas probabilidades se indican en la
siguiente tabla:

Ejemplo:
Retorno despus
de la Inversin
Inversin Probabilidad
- 1 0,4
1 0,6

0 0,9
1 0,1
A

B
Se pide hallar la poltica de inversin que
maximice la probabilidad de tener a lo
menos $2 al final despus del ltimo ao

You might also like