Sunteți pe pagina 1din 17

INVESTIGACION DE OPERACIONES 2

Programacin Dinmica Determinstica

PROGRAMACION DINAMICA
Una forma razonable y comnmente
empleada de resolver un problema es definir o
caracterizar su solucin en trminos de las
soluciones de subproblemas del mismo.
La programacin dinmica encuentra la
solucin ptima de un problema con n
variables, descomponindolo en n etapas,
siendo cada etapa un subproblema de una
sola variable.

Principio de Optimalidad

PROGRAMACION DINAMICA
DETERMINSTICA
En este tipo de programacin dinmica, el estado
de la siguiente etapa est determinado por
completo por el estado y la poltica de decisin de
la etapa actual. El caso probabilstico es en el cual
existe una distribucin de probabilidad del valor
posible del siguiente estado.

Naturaleza Recursiva
Los clculos de programacin dinmica se hacen en forma
recursiva, ya que la solucin ptima de un subproblema se
usa como dato para el siguiente subproblema. Para
cuando se resuelve el ltimo subproblema se obtiene la
solucin ptima de todo el problema.
Se usa la recursin en avance, cuando los clculos se hacen
de la primera etapa a la ltima etapa; y se usa la recursin
en reversa, cuando los clculos se hacen de la ltima etapa
a la primera etapa. Con las recursiones en avance y en
reversa se obtiene la misma solucin. Se usa la recursin
en reversa porque, en general, es ms eficiente desde el
punto de vista computacional.

ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA
Elemento
Etapa (n)

Estado (sn)

n=1

n=2

n=3

Variable de decisin (xn)

Funcin recurrente (fn)


Es el perodo de tiempo, lugar,
fase o situacin en donde se
produce un cambio debido a una
decisin (xn).

Evolucin del sistema

n=4

ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA
Elemento
Etapa (n)

Estado (sn)

n=1

n=2

n=3

n=4

s1

s2

s3

s4

Variable de decisin (xn)

Funcin recurrente (fn)


Muestra la situacin actual de
cada etapa. Informacin que
enlaza las etapas, de tal modo
que se puedan tomar las
decisiones. Tambin se puede
decir que es la informacin que
se necesita en cualquier etapa
para tomar una decisin ptima.

Evolucin del sistema

ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA
Elemento
Etapa (n)

n=1

Estado (sn)

s1

n=2
x1

s2

n=3
x2

s3

Variable de decisin (xn)


Evolucin del sistema

Funcin recurrente (fn)


Hacen referencia a toma
decisiones (o poltica
decisin) que se producen
una etapa y que produce
cambio en el estado actual
sistema.

de
de
en
un
del

n=4
x3

s4

x4

ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA
Elemento
Etapa (n)

Estado (sn)

n=1
s1

n=2
x1

s2

n=3
s3

x2

n=4
x3

s4

x4

Variable de decisin (xn)


ff44(s
(s44 ,, x44)

Funcin recurrente (fn)


Refleja el comportamiento del
sistema en funcin de los
estados y de las variables de
decisin. Relaciona el costo o la
contribucin ganada durante
alguna etapa con el costo o la
contribucin ganada en la etapa
posterior de forma acumulativa.

Evolucin del sistema


f2(s2 , x2)
f1(s1 , x1)

f3(s3 , x3)

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
Problema
Enunciado

Anlisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretacin

Tomando en cuenta el siguiente sistema de caminos, si se


encuentra inicialmente en el nodo A, encontrar la trayectoria ms
econmica para llegar al nodo J considerando que los valores que
se encuentran en las ramas representan los costos de trasladarse
de un nodo a otro.

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
Problema
Enunciado

Anlisis

Si se tomara la decisin de ir por la ruta ms barata en cada etapa, sta


sera: A B F I J con un costo total asociado de 13. Pero note que
si desde el nodo A llegamos al nodo F mediante D, en lugar de ir por B
el costo sera menor. El evaluar todas las posibles rutas y sus costos
asociados sera una tarea tediosa. Mediante la programacin dinmica
se puede hallar la solucin con mucho menor esfuerzo.
Variables de decisin:

xn : destino inmediato de la etapa n,

Estado:

sn : lugar donde se encuentra en la etapa n

Ruta a seleccionar:

A x1 x2 x3 x4, donde x4 = J

Etapa 4
Etapa 3
Etapa 2
Etapa 1

Como el destino final es J se alcanza al terminar la etapa 4.


El objetivo es encontrar f1*(A) y la ruta correspondiente. La
programacin dinmica la encuentra al determinar en forma sucesiva
f4*(s4), f3*(s3), f2*(s2) y f1*(s1)
Funcin recursiva:

Interpretacin

fn(sn , xn)= csnxn + fn+1*(xn)

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
Problema
Enunciado

Cuando se est en la ltima etapa, el destino final es x4 = J y su estado


actual s4 puede ser H o I , de manera que su ltimo tramo es desde s4
hacia J. Por lo tanto, f4*(s4) = f4(s4, J) = cs4J

Anlisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretacin

s4
H
I

f4(s4 ,x4)= cs4x4


x4 = J
3
4

Solucin ptima
f4*(s4)
x4*
3
J
4
J

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
Problema
Enunciado

Anlisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretacin

s3
E
F
G

f3(s3 ,x3)= cs3x3 + f4*(x3)


x3 = H
x3 = I
1+3=4
4+4=8
6+3=9
3+4=7
3+3=6
3+4=7

Solucin ptima
f3*(s3)
x3*
4
H
7
I
6
H

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
Problema
Enunciado

Anlisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretacin

s2
B
C
D

f2(s2 ,x2)= cs2x2 + f3*(x2)


x2 =E
x2 =F
x2 =G
7+4=11 4+7=11 6+6=12
3+4=7
2+7=9 4+6=10
4+4=8
1+7=8 5+6=11

Solucin ptima
f2*(s2)
x2*
11
EoF
7
E
8
EoF

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
Problema
Enunciado

Anlisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretacin

s1
A

f1(s1 ,x1)= cs1x1 + f2*(x1)


x1 =B
x1 =C
x1 =D
2+11=13 4+7=11 3+8=11

Solucin ptima
f1*(s1)
x1*
11
CoD

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
Problema
Enunciado

Anlisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretacin

Costo total =11


Ruta1: A-C-E-H-J
Ruta2: A-D-E-H-J
Ruta3: A-D-F-I-J

s4

x4

s3

x3

s2

x2

EoF

EoF

s1

x1

CoD

Joe Cougar vive en Nueva York, pero proyecta viajar en su automvil


hasta Los ngeles en busca de fama y fortuna. Los fondos de Joe son
limitados, as que decide pasar cada noche de su viaje en la casa de un
amigo. Joe tiene amigos en Columbus, Nashville, Louisville, Kansas City,
Omaha, Dallas, San Antonio y Denver. Joe sabe que despus de
manejar un da puede llegar a Columbus, Nashville o Louisville. Despus
de manejar dos das puede llegar a Kansas City, Omaha o Dallas.
Despus de tres das de viaje puede llegar a San Antonio o Denver.
Luego de cuatro das de manejar puede llegar finalmente a Los ngeles.
Para minimizar la cantidad de millas recorridas, dnde Joe pasar cada
noche del viaje?. Las millas reales por carretera entre las ciudades se
dan en la figura 1.

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