Sunteți pe pagina 1din 25

PROGRAMACIN

DINMICA
Optimizacin en Ingeniera II
Ing. Laura Bazn Daz

Introduccin

La programacin dinmica se utiliza para resolver


problemas
donde
se
debe
tomar
decisiones
interrelacionadas.
La formulacin matemtica de la programacin dinmica
no es estndar, ya que las ecuaciones se derivan de las
condiciones individuales de los problemas.

Ing. Laura Bazn Daz UNC

El problema de la diligencia
Un cazafortunas desea ir de la ciudad A a la ciudad J en
una diligencia, y quiere viajar de la forma ms segura
posible. Tiene mltiples opciones para viajar a travs del
territorio. Conoce la posibilidad de adquirir un seguro de
vida como pasajero de la diligencia. Los costos de la
pliza estndar Cij se muestran en las siguientes tablas:
E

B C D
A 2

Ing. Laura Bazn Daz UNC

F G

B 7

C 3

H 3

D 4

G 3

El problema de la diligencia
B

E
H

J
I

Ing. Laura Bazn Daz UNC

Cul es la ruta que minimiza el costo


total de la pliza de seguro?
Algunas alternativas de solucin:

1. Enumeracin exhaustiva: enumerar todas las rutas


posibles, calcular su costo y elegir la de menor valor. En
total son 18.
2. Elegir la ruta ms barata en cada etapa. Esta solucin no
conduce al ptimo global. Un pequeo sacrificio en una
etapa puede permitir mayores ahorros ms adelante.
3. PROGRAMACIN DINMICA: Un problema completo es
desagregado en problemas simples que se resuelven
etapa por etapa.
En el caso de la diligencia un problema simple sera
pensar qu pasara si al viajero solo le faltara una
jornada de viaje.
5

Ing. Laura Bazn Daz UNC

Problema de la diligencia

Por programacin dinmica, la solucin sera entonces ir


desde el estado actual (cualquiera que sea) y llegar a su
destino final (estado J) al costo Cij.

Se hace lo mismo para cada jornada (etapa),


ensanchando el problema. As encontramos la solucin
ptima del lugar al que debe dirigirse teniendo en
cuenta la informacin de la iteracin anterior.

Ing. Laura Bazn Daz UNC

Formulacin
Sea Xn (n=1, 2, 3 y 4) las variables que representan el
destino inmediato en la etapa n.
Luego la ruta seleccionada ser:

A X 1 X2 X3 X4

Donde X4=J.

Sea fn (S, Xn) el costo total de la mejor poltica global


para las etapas restantes, dado que el agente se
encuentra en el estado S, listo para iniciar la etapa N y
se dirige a Xn como destino inmediato.
Dados S y n, sea Xn* el valor de Xn (no necesariamente
nico), que minimiza fn (S, Xn), y sea fn*(S) el valor
mnimo correspondiente de fn (S, Xn) entonces:
7

Ing. Laura Bazn Daz UNC

Formulacin
fn*(S)= Mn

Xn

fn (S, Xn)= fn(S, Xn*)

Costo

fn(S, Xn)

Mnimo costo

inmediato

(etapa n)
=

CS, Xn

Ing. Laura Bazn Daz UNC

n+1 en adelante)
+

fn+1*(Xn)

Costos por ir

Costo ptimo

de la ciudad i

acumulado

al destino j

futuro (etapa

Procedimiento de solucin hacia atrs


Etapa n=4
Como el destino final (estado J) se alcanza al terminar la
etapa 4, entonces f5*(J)=0.
El objetivo es hallar f1*(A) y su ruta correspondiente.
Cuando el cazafortunas tiene solo una etapa por recorrer
(n=4), su ruta de ah en adelante, estar determinada por
el estado actual (H o I) y su detino final X4= J.
La ruta ser: S J donde S= H I

Luego f4*(S)= CS, J + f5*(J) = CS, J

f4(H) =

CH,J = 3

f4*(S)

X4*

f4(I) =

CI,J = 4

Ing. Laura Bazn Daz UNC

Procedimiento de solucin hacia atrs


Etapa n=3
El cazafortunas tiene dos etapas por recorrer (n=3),
Suponga que sale de E.

+ f4*(H)=f3(E)

=C

E,H

+ f4*(I)=f3(E)

=C

E,I

+ f4*(H)

=1+3=4

+ f4*(I)

=4+4=8

Luego f3*(E)= 4 y X3*=E . En general para la etapa 3 se


tiene:
S

10

Ing. Laura Bazn Daz UNC

X3 f3*(S, X3)=CS,X3+f4*(X3)

f3*(S)

X3*

Procedimiento de solucin hacia atrs


Etapa n=2
En la segunda etapa, el cazafortunas tiene 3 jornadas por
recorrer (n=2). Suponga que sale de C.

+ f3*(E)=f2(C)

=C

C,E

+ f3*(E)

=3+4=7

+ f3*(F)=f2(C)

=C

C,F

+ f3*(F)

=2+7=9

+ f3*(G)=f2(C)

=C

C,G

+ f3*(G) =4+6=10

Luego f2*(C)= 7 y X2*=E . En general para la etapa 2 se


tiene:
S
11
Ing. Laura Bazn Daz UNC

X2 f2*(S, X2)=CS,X2+f3*(X2)

f2*(S)

X2*

11

11

12

11

EF

10

11

EF

Procedimiento de solucin hacia atrs


Etapa n=1
En la primera etapa, el cazafortunas tiene todas las jornadas
por recorrer (n=1). Necesariamente debe salir de A.

+ f2*(B)=f1(A)

=C

A,B

+ f2*(B)

=2+11=13

+ f2*(C)=f1(A)

=C

A,C

+ f2*(C)

=4+7=11

+ f2*(D)=f1(A)

=C

A,D

+ f2*(D) =3+8=11

Luego f1*(A)= 11 y X1*=C D . Veamos:

X1 f2*(S, X2)=CS,X2+f3*(X2)
A

12

Ing. Laura Bazn Daz UNC

13

11

11

f2*(S)

X2*

11

CD

Solucin
E

H
F

4
1

3
J

4
I

D
Podemos apreciar que existen 3 rutas ptimas.
13

Ing. Laura Bazn Daz UNC

Caractersticas de la
programacin Dinmica
1. EL problema se puede dividir por etapas, que requieren
una poltica de decisin en cada una de ellas.
2. Cada etapa tiene un cierto nmero de estados asociados
a su inicio. (Estados son las diferentes 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 pretende hallar la poltica ptima para
el problema completo. Esto quiere decir, la poltica a
emplear desde cualquier posible estado del problema.
14

Ing. Laura Bazn Daz UNC

Caractersticas de la
programacin Dinmica
5. Dado el estado actual, la poltica ptima desde este
estado es independiente de las polticas adoptadas en
las etapas anteriores. (La solucin ptima depende
nicamente del estado actual y no de cmo se lleg all).

6. El procedimiento de la solucin termina cuando se


obtiene la poltica ptima de la ltima etapa.
7. Siempre se dispone de una relacin recursiva, esto es lo
que permite trabajar las decisiones interrelacionadas.
La relacin recursiva ser:
fn*(Sn)= Max

fn*(Sn)= Mn

15

Ing. Laura Bazn Daz UNC

Xn

Xn

{fn(S,Xn)} o tambin

{fn(S,Xn)}

Caractersticas de la
programacin Dinmica
N: nmero de etapas
n: etiqueta para la etapa actual (1,2, , N)

Sn: Estado actual para la etapa n.


Xn: Variable de decisin para la etapa n.

8. Cuando se tiene una relacin recursiva como la de la


funcin, el procedimiento de solucin hacia atrs inicia
en la ltima etapa y se mueve hacia la primera, etapa
por etapa.

Xn fn*(S, Xn)=CS,Xn+fn+1*(XN)

16 X *: Valor ptimo de X dado S .


n
n
n
Ing. Laura Bazn Daz UNC

fn*(S)

Xn*

EL PROBLEMA DE LA MOCHILA

Ejemplo
Un barco de 4 toneladas puede cargarse con uno o
ms de tres artculos. La siguiente tabla da el peso
unitario wi en toneladas y el ingreso unitario en miles
de dlares , ri para el artculo i. El objetivo es
determinar la cantidad de unidades de cada artculo
que maximizar el rendimiento total.

18

Ing. Laura Bazn Daz UNC

Articulo i

wi

ri

31

47

14

ETAPA 3
Como el peso unitario
wi y el peso mximo W
son enteros, el estado
xi asume solo valores
enteros.
ETAPA 3
El peso exacto a ser
asignado a la etapa 3
(artculo 3) no se
conoce con anticipacin
pero puedo suponer
uno de los valores 0, 1,
2, 3 y 4 (porque W=4
toneladas y w3=1.
19

Ing. Laura Bazn Daz UNC

Un valor de m3 es
factible solo si
w3*m3<=x3. Por lo
tanto se excluyen todos
los valores no factibles
(con w3*m3>x3). El
ingreso para el artculo
3 es 14m3. En
consecuencia, la
ecuacin recursiva para
la etapa 3 es:
f3(x3)= mx 14m3, para
m3=0,1,..4

Clculos para la ETAPA 3


14m3
x3
0
1
2
3
4

20

m3=0
0
0
0
0
0

m3=1
14
14
14
14

Ing. Laura Bazn Daz UNC

m3=2
28
28
28

m3=3
42
42

m3=4
56

Solucin
ptima
f3(x3)
m*3
0
0
14
1
28
2
42
3
56
4

Clculos para la ETAPA 2


Max{m2}=4/3=1 o m2=0 o 1
f2(x2)=max 47m2+f3(x2-3m2)

47m2+f3(x2-3m2) Solucin ptima


X2
m2=0
m2=1
f2(x2)
m*2
0
0+0=0
0
0
1 0+14=14
14
0
2 0+28=28
28
0
3 0+42=42 47+0=47
47
1
4 0+56=56 47+14=61
61
1
21

Ing. Laura Bazn Daz UNC

Clculos para la ETAPA 1


Max{m1}=4/2=2 o m1=0 o 1 o 2
f1(x1)=max 31m1+f2(x1-2m1)

31m1+f2(x1-2m1)

22

Solucin
ptima
x1
m1=0
m1=1
m1=2
f1(x1) m*1
0
0+0=0
0
0
1 0+14=14
14
0
2 0+28=28 31+0=31
31
1
3 0+47=47 31+14=45
47
0
4 0+61=61 31+28=59 62+0=62
62
2

Ing. Laura Bazn Daz UNC

SOLUCIN PTIMA
Dado que W=4 toneladas, del estado 1, x1=4, se
da la alternativa ptima m*1=2; es decir que en el
barco se cargarn dos unidades del artculo 1. Esta
asignacin deja, x2=x1-2m1=4-2*2=0 para las
etapas 2 y 3. De la etapa 2, x2=0 da por resultado
m2=0,
lo
cual
deja
x3=x2-3m2=0-3*0=0
unidades para la etapa 3. Luego a partir de la
etapa 3, x3=0 da m*3=0. Por lo tanto, la solucin
ptima completa es: m1*=2, m*2=0 y m*3=0. El
rendimiento asociado es f1(4)=$62000.

23

Ing. Laura Bazn Daz UNC

Qu sucede si la capacidad del barco es


de 3 toneladas en lugar de 4? La nueva
solucin ptima puede determinarse como
(x1=3)(m1*=0)
(x3=0)(m3*=0)

(x2=3)(m2*=1)

Por lo tanto la solucin ptima es (m*1,


m*2, m*3)=(0,1,0) y el ingreso ptimo es
f1(3)=$47000
24

Ing. Laura Bazn Daz UNC

EJERCICIO
Un excursionista debe empacar 3 artculos:
alimento, botiqun de primeros auxilios y ropa. La
mochila tiene una capacidad de 3 pies cbicos.
Cada unidad de alimento ocupa 1 pie cbico, el
botiqun ocupa de pie cbico y cada pieza de
ropa ocupa aproximadamente pie cbico. El
excursionista asigna pesos de prioridad de 3, 4 y 5
al alimento, el botiqun y la ropa, respectivamente,
lo que significa que la ropa es lo ms valioso de los
tres artculos. Por experiencia, el excursionista
debe llevar al menos una unidad de cada artculo y
no ms de dos botiquines. Cuntas unidades de
cada artculo debe llevar el excursionista?
25

Ing. Laura Bazn Daz UNC

S-ar putea să vă placă și