Anda di halaman 1dari 22

INVESTIGACION DE OPERACIONES 2

Programacin Dinmica Determinstica


PROGRAMACION DINAMICA DETERMINISTICA

INTRODUCCION

ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA

Logro de sesin:
Al trmino de la sesin el estudiante entiende la naturaleza de la programacin dinmica y el
uso del clculo recursivo para minimizar el proceso de clculo al considerar solamente los
estados y las decisiones necesarias en cada etapa en las que se divide el problema,
alcanzando la solucin ptima.
PROGRAMACION DINAMICA DETERMINISTICA

INTRODUCCION

Temas
Una forma razonable y comnmente empleada de resolver un
problema es definir o caracterizar su solucin en trminos de las
Programacin Dinmica soluciones de subproblemas del mismo.

Programacin Dinmica La programacin dinmica encuentra la solucin ptima de un


Determinstica problema con n variables, descomponindolo en n etapas, siendo
cada etapa un subproblema de una sola variable.
Naturaleza Recursiva
de la PD A diferencia de la programacin lineal, el modelado de problemas de
programacin dinmica no sigue una forma estndar.

Principio de optimalidad: Dado el estado actual, la decisin ptima


para cada una de las etapas restantes no tiene que depender de los
estados ya alcanzados o de las decisiones tomadas previamente.

Ver Diagrama
PROGRAMACION DINAMICA DETERMINISTICA

INTRODUCCION

ETAPA 1 ETAPA 2 ETAPA 3 ETAPA 4


Tomando en cuenta el 7
siguiente sistema de caminos, B E
4 1
si se encuentra inicialmente 6 4

en el nodo A, encontrar la
2
H 3
3
trayectoria ms econmica 6
4 2
para llegar al nodo J A C F J
considerando que los valores 4
3
4
que se encuentran en las 3 I
ramas representan los costos 4 3

de trasladarse de un nodo a 1 3

otro. D 5 G
PROGRAMACION DINAMICA DETERMINISTICA

INTRODUCCION

Temas
Una forma razonable y comnmente empleada de resolver un
problema es definir o caracterizar su solucin en trminos de las
Programacin Dinmica soluciones de subproblemas del mismo.

Programacin Dinmica La programacin dinmica encuentra la solucin ptima de un


Determinstica problema con n variables, descomponindolo en n etapas, siendo
cada etapa un subproblema de una sola variable.
Naturaleza Recursiva
de la PD A diferencia de la programacin lineal, el modelado de problemas de
programacin dinmica no sigue una forma estndar.

Principio de optimalidad: Dado el estado actual, la decisin ptima


para cada una de las etapas restantes no tiene que depender de los
estados ya alcanzados o de las decisiones tomadas previamente.

Ver Diagrama
PROGRAMACION DINAMICA DETERMINISTICA

INTRODUCCION

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

INTRODUCCION

Temas
Los clculos de programacin dinmica se hacen en forma recursiva,
ya que la solucin ptima de un subproblema se usa como dato para
Programacin Dinmica el siguiente subproblema. Para cuando se resuelve el ltimo
subproblema se obtiene la solucin ptima de todo el problema.
Programacin Dinmica
Determinstica Al pasar de un subproblema al siguiente se debe mantener la
factibilidad de esas restricciones comunes.
Naturaleza Recursiva
de la PD 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.
PROGRAMACION DINAMICA DETERMINISTICA

INTRODUCCION

ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
PROGRAMACION DINAMICA DETERMINISTICA

ELEMENTOS DE UN PROBLEMA DE PROGRAMACION DINAMICA

Elemento

Etapa (n)

n=1 n=2 n=3 n=4


Estado (sn)

Variable de decisin (xn)

Evolucin del sistema


Funcin recurrente (fn)

Es el perodo de tiempo, lugar,


fase o situacin en donde se
produce un cambio debido a una
decisin (xn).
PROGRAMACION DINAMICA DETERMINISTICA

ELEMENTOS DE UN PROBLEMA DE PROGRAMACION DINAMICA

Elemento

Etapa (n)

n=1 n=2 n=3 n=4


Estado (sn)

s1 s2 s3 s4
Variable de decisin (xn)

Evolucin del sistema


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.
PROGRAMACION DINAMICA DETERMINISTICA

ELEMENTOS DE UN PROBLEMA DE PROGRAMACION DINAMICA

Elemento

Etapa (n)

n=1 n=2 n=3 n=4


Estado (sn)

s1 x1 s2 x2 s3 x3 s4 x4
Variable de decisin (xn)

Evolucin del sistema


Funcin recurrente (fn)

Hacen referencia a toma de


decisiones (o poltica de
decisin) que se producen en
una etapa y que produce un
cambio en el estado actual del
sistema.
PROGRAMACION DINAMICA DETERMINISTICA

ELEMENTOS DE UN PROBLEMA DE PROGRAMACION DINAMICA

Elemento

Etapa (n)

n=1 n=2 n=3 n=4


Estado (sn)

s1 x1 s2 x2 s3 x3 s4 x4
Variable de decisin (xn)
f4(s4 , x4)

Evolucin del sistema f3(s3 , x3)


Funcin recurrente (fn)
f2(s2 , x2)
f1(s1 , x1)
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.
PROGRAMACION DINAMICA DETERMINISTICA

PERSPECTIVA DE LA RECURSION EN REVERSA

En la etapa n, el proceso se encuentra en algn estado sn.

Al tomar la decisin xn se mueve a algn estado sn+1 en la etapa n+1, etapa en la que se
habra contribuido con fn*+1(sn+1), que incluye las contribuciones acumuladas de las
etapas siguientes; al considerar esta cantidad con la contribucin actual (llammosle
csn,xn) a la funcin objetivo se tiene a fn(sn , xn) como la contribucin de la etapa n en
adelante.

Dados n y sn para un problema de minimizacin, y sea xn* el mejor valor entre todos los
valores que pueda adoptar xn al calcular su propia fn(sn , xn), y sea fn*(sn) el valor
mnimo correspondiente a todos los fn(sn, xn). Entonces:

fn*(sn) = min fn(sn , xn) = fn(sn , xn*)


donde:
fn(sn , xn) = costo mn inmediato (etapa n) + costo mn futuro (etapas n+1 en adelante)
fn(sn , xn) = csnxn + fn*+1(sn+1)
PROGRAMACION DINAMICA DETERMINISTICA

INTRODUCCION

ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
PROGRAMACION DINAMICA DETERMINISTICA

EJEMPLO DE APLICACION

Problema
Tomando en cuenta el siguiente sistema de caminos, si se
encuentra inicialmente en el nodo A, encontrar la trayectoria ms
Enunciado 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.
Anlisis

Etapa 4 7
B E
4 1
6 4
2 H
Etapa 3 3
3
6
4 2
A C F J
Etapa 2 4
3
4
3 I
4 3
1 3
Etapa 1 D 5 G

Interpretacin
PROGRAMACION DINAMICA DETERMINISTICA

EJEMPLO DE APLICACION

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


Problema
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
Enunciado 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.
Anlisis
Variables de decisin: xn : destino inmediato de la etapa n,
Etapa 4
Estado: sn : lugar donde se encuentra en la etapa n

Etapa 3 Ruta a seleccionar: A x1 x2 x3 x4, donde x4 = J

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


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

Funcin recursiva: fn(sn , xn)= csnxn + fn+1*(xn)


Interpretacin
PROGRAMACION DINAMICA DETERMINISTICA

EJEMPLO DE APLICACION

Problema 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
Enunciado hacia J. Por lo tanto, f4*(s4) = f4(s4, J) = cs4J
7
B E
4 1
Anlisis 6 4
2 H
3
3
6
4 2
Etapa 4 A C F J
3
4
4
3 I
Etapa 3 4 3
1 3
D 5 G
Etapa 2
f4(s4 ,x4)= cs4x4 Solucin ptima
Etapa 1 s4 x4 = J f4*(s4) x4 *
H 3 3 J
Interpretacin I 4 4 J
PROGRAMACION DINAMICA DETERMINISTICA

EJEMPLO DE APLICACION

Problema 7
B E
4 1
Enunciado 6 4
2 H
3
3
6
4 2
Anlisis A C F J
3
4
4
3 I
Etapa 4 4 3
1 3
D 5 G
Etapa 3

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


Etapa 2
s3 x3 = H x3 = I f3*(s3) x3 *
Etapa 1
E 1+3=4 4+4=8 4 H
F 6+3=9 3+4=7 7 I
G 3+3=6 3+4=7 6 H
Interpretacin
PROGRAMACION DINAMICA DETERMINISTICA

EJEMPLO DE APLICACION

Problema 7
B E
4 1
Enunciado 6 4
2 H
3
3
6
4 2
Anlisis A C F J
3
4
4
3 I
Etapa 4 4 3
1 3
D 5 G
Etapa 3

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


Etapa 2
s2 x2 =E x2 =F x2 =G f2*(s2) x2 *
B 7+4=11 4+7=11 6+6=12 11 EoF
Etapa 1
C 3+4=7 2+7=9 4+6=10 7 E
D 4+4=8 1+7=8 5+6=11 8 EoF
Interpretacin
PROGRAMACION DINAMICA DETERMINISTICA

EJEMPLO DE APLICACION

Problema 7
B E
4 1
Enunciado 6 4
2 H
3
3
6
4 2
Anlisis A C F J
3
4
4
3 I
Etapa 4 4 3
1 3
D 5 G
Etapa 3

Etapa 2
f1(s1 ,x1)= cs1x1 + f2*(x1) Solucin ptima
Etapa 1
s1 x1 =B x1 =C x1 =D f1*(s1) x1 *
A 2+11=13 4+7=11 3+8=11 11 CoD
Interpretacin
PROGRAMACION DINAMICA DETERMINISTICA

EJEMPLO DE APLICACION

Problema Costo total =11


Ruta1: A-C-E-H-J s4 x4
Enunciado Ruta2: A-D-E-H-J H J
Ruta3: A-D-F-I-J
I J
Anlisis
s3 x3
E H
Etapa 4
F I
G H
Etapa 3
s2 x2
B EoF
Etapa 2
C E

Etapa 1 D EoF
s1 x1

Interpretacin A CoD
PROGRAMACION DINAMICA DETERMINISTICA

INTRODUCCION

ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA

EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA

Anda mungkin juga menyukai