Introducción Programación Dinámica Determinística
-
Upload
lucio-rodriguez -
Category
Documents
-
view
261 -
download
0
Transcript of Introducción Programación Dinámica Determinística
-
8/17/2019 Introducción Programación Dinámica Determinística
1/17
INVESTIGACION DE OPERACIONES 2Programación Dinámica Determinística
-
8/17/2019 Introducción Programación Dinámica Determinística
2/17
PROGR M CION DIN MIC
Una forma razonable y comúnmenteempleada de resolver un problema es definir o
caracterizar su solución en términos de las
soluciones de subproblemas del mismo.
La programación dinámica encuentra la
solución óptima de un problema con n
variables, descomponiéndolo en n etapas,
siendo cada etapa un subproblema de una
sola variable.
-
8/17/2019 Introducción Programación Dinámica Determinística
3/17
-
8/17/2019 Introducción Programación Dinámica Determinística
4/17
PROGRAMACION DINAMICA
DETERMINÍSTICA
En este tipo de programación dinámica, el estado
de la siguiente etapa está determinado por
completo por el estado y la política de decisión dela etapa actual. El caso probabilístico es en el cual
existe una distribución de probabilidad del valor
posible del siguiente estado.
-
8/17/2019 Introducción Programación Dinámica Determinística
5/17
Naturaleza Recursiva
Los cálculos de programación dinámica se hacen en formarecursiva, ya que la solución óptima de un subproblema se
usa como dato para el siguiente subproblema. Para
cuando se resuelve el último subproblema se obtiene la
solución óptima de todo el problema.
Se usa la recursión en avance, cuando los cálculos se hacen
de la primera etapa a la última etapa; y se usa la recursión
en reversa, cuando los cálculos se hacen de la última etapa
a la primera etapa. Con las recursiones en avance y en
reversa se obtiene la misma solución. Se usa la recursión
en reversa porque, en general, es más eficiente desde el
punto de vista computacional.
-
8/17/2019 Introducción Programación Dinámica Determinística
6/17
Etapa (n)
Estado (sn )
Elemento
ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA
Variable de decisión (x n )
Es el período de tiempo, lugar,
fase o situación en donde se
produce un cambio debido a una
decisión (x n ).
Evolución del sistema
n=1 n=2 n=3 n=4
Función recurrente (f n )
-
8/17/2019 Introducción Programación Dinámica Determinística
7/17
Etapa (n)
Estado (sn )
Elemento
Variable de decisión (x n )
Muestra la situación actual de
cada etapa. Información que
enlaza las etapas, de tal modo
que se puedan tomar las
decisiones. También se puede
decir que es la información que
se necesita en cualquier etapa
para tomar una decisión óptima.
Evolución del sistema
n=1
s1
n=2
s2
n=3
s3
n=4
s4
Función recurrente (f n )
ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA
-
8/17/2019 Introducción Programación Dinámica Determinística
8/17
Etapa (n)
Estado (sn )
Elemento
Variable de decisión (x n )
Hacen referencia a toma de
decisiones (o política de
decisión) que se producen en
una etapa y que produce un
cambio en el estado actual del
sistema.
Evolución del sistema
n=1
s1
n=2
s2
n=3
s3
n=4
s4 x 1 x 2 x 3 x 4
Función recurrente (f n )
ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA
-
8/17/2019 Introducción Programación Dinámica Determinística
9/17
Etapa (n)
Estado (sn )
Elemento
Variable de decisión (x n )
Refleja el comportamiento del
sistema en función de los
estados y de las variables de
decisión. Relaciona el costo o la
contribución ganada durante
alguna etapa con el costo o la
contribución ganada en la etapa
posterior de forma acumulativa.
f 4(s4 , x 4 )
f 3(s3 , x 3 )
f 2(s2 , x 2 )
n=1
s1
n=2
s2
n=3
s3
n=4
s4 x 1 x 2 x 3
f 1(s1 , x 1 )
x 4
Función recurrente (f n )Evolución del sistema
f 4(s4 , x 4 )
ELEMENTOS DE UN PROBLEMA DE
PROGRAMACION DINAMICA
-
8/17/2019 Introducción Programación Dinámica Determinística
10/17
Enunciado
Análisis
Problema
EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretación
Tomando en cuenta el siguiente sistema de caminos, si se
encuentra inicialmente en el nodo A, encontrar la trayectoria más
económica 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.
-
8/17/2019 Introducción Programación Dinámica Determinística
11/17
Problema Si se tomara la decisión de ir por la ruta más barata en cada etapa, éstasería: 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 sería menor. El evaluar todas las posibles rutas y sus costos
asociados sería una tarea tediosa. Mediante la programación dinámica
se puede hallar la solución con mucho menor esfuerzo.
Variables de decisión: x n : destino inmediato de la etapa n,
Estado: sn : lugar donde se encuentra en la etapa n
Ruta a seleccionar: A – x 1 – x 2 – x 3 – x 4, donde x 4 = J
Como el destino final es J se alcanza al terminar la etapa 4.El objetivo es encontrar f 1
*(A) y la ruta correspondiente. La
programación dinámica la encuentra al determinar en forma sucesiva
f 4*(s4 ), f 3
*(s3 ), f 2*(s2 ) y f 1
*(s1 )
Función recursiva: f n(sn , x n )= csnxn + f n+1*(x n )
Enunciado
Análisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretación
EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
-
8/17/2019 Introducción Programación Dinámica Determinística
12/17
Problema Cuando se está en la última etapa, el destino final es x 4 = J y su estadoactual s4 puede ser H o I , de manera que su último tramo es desde s4hacia J. Por lo tanto, f 4
*(s4 ) = f 4(s4 , J) = cs4J
s4
f 4(s4 ,x 4 )= c s4 x 4 Solución óptima
x 4 = J f 4* (s4 ) x 4
*
H 3 3 J
I 4 4 J
Enunciado
Análisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretación
EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
-
8/17/2019 Introducción Programación Dinámica Determinística
13/17
Problema
s3f 3(s3 ,x 3 )= c s3 x 3 + f 4*(x 3 ) Solución óptima x 3 = H x 3 = I f 3
* (s3 ) x 3*
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
Enunciado
Análisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretación
EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
-
8/17/2019 Introducción Programación Dinámica Determinística
14/17
Problema
s2
f 2
(s2
,x 2
)= c s
2
x 2 + f
3
*(x 2
) Solución óptima
x 2 =E x 2 =F x 2 =G f 2 * (s2 ) x 2
*
B 7+4=11 4+7=11 6+6=12 11 E o F
C 3+4=7 2+7=9 4+6=10 7 E
D 4+4=8 1+7=8 5+6=11 8 E o F
Enunciado
Análisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretación
EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
-
8/17/2019 Introducción Programación Dinámica Determinística
15/17
Problema
s1
f 1(s1 ,x 1 )= c s1 x 1 + f 2 *(x 1 ) Solución óptima
x 1 =B x 1 =C x 1 =D f 1* (s1 ) x 1
*
A 2+11=13 4+7=11 3+8=11 11 C o D
Enunciado
Análisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretación
EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
-
8/17/2019 Introducción Programación Dinámica Determinística
16/17
ProblemaCosto total =11Ruta1: A-C-E-H-J
Ruta2: A-D-E-H-J
Ruta3: A-D-F-I-J
s4
x 4
H J
I J
s3 x 3
E H
F I
G H
s2
x 2
B E o FC E
D E o F
s1
x 1
A C o D
Enunciado
Análisis
Etapa 4
Etapa 3
Etapa 2
Etapa 1
Interpretación
EJEMPLO PROTOTIPO DE
PROGRAMACION DINAMICA
-
8/17/2019 Introducción Programación Dinámica Determinística
17/17
Joe Cougar vive en Nueva York, pero proyecta viajar en su automóvilhasta Los Ángeles en busca de fama y fortuna. Los fondos de Joe sonlimitados, así que decide pasar cada noche de su viaje en la casa de unamigo. Joe tiene amigos en Columbus, Nashville, Louisville, Kansas City,
Omaha, Dallas, San Antonio y Denver. Joe sabe que después demanejar un día puede llegar a Columbus, Nashville o Louisville. Despuésde manejar dos días puede llegar a Kansas City, Omaha o Dallas.Después de tres días de viaje puede llegar a San Antonio o Denver.Luego de cuatro días de manejar puede llegar finalmente a Los Ángeles.Para minimizar la cantidad de millas recorridas, ¿dónde Joe pasar cada
noche del viaje?. Las millas reales por carretera entre las ciudades sedan en la figura 1.