S1 – Programación Dinámica DeterminÃstica
-
Upload
linoquispe -
Category
Documents
-
view
103 -
download
0
Transcript of S1 – Programación Dinámica DeterminÃstica
Características comunes de los problemas de programación dinámica• El problema original de n variables de decisión se puede dividir en n
etapas con una decisión por tomar en cada etapa• Cada etapa tiene un número de estados asociado a ella• La decisión tomada en una etapa conduce a cierto estado en la
etapa siguiente (anterior)• Dado el estado actual, la decisión óptima para cada uno de los
estados restantes no depende de las decisiones o etapas previos• Existe una relación recursiva que identifica la decisión óptima para
la etapa i, dado que la etapa i-1 (recursión hacia delante) o i+1 (recursión hacia atrás) ha sido resuelta
• La etapa final (inicial) debe ser resoluble sin hacer referencia a las siguientes
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
1
Fórmulas recursivas hacia delante• Denotemos por al beneficio por la propuesta j en la etapa i y
al costo correspondiente por • Sea el beneficio obtenido en la etapa i, suponiendo que se
está en el estado , entonces y 23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
2
ijr
ijc
i if x
ix 1 1
1 1 1maxj
jc x
f x r
1max ; 2,3ij i
i i ij i i ijc x
f x r f x c i
Fórmulas recursivas hacia atrás
• Sean y como antes• Sea yi el beneficio óptimo obtenido en las etapas
1, 2,…, i• Sea el beneficio obtenido en la etapa i,
suponiendo que se está en el estado , entonces
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
3
ijr ijc
i if yiy
3 3
3 3 3maxj
jc y
f y r
1max ; 2,3ij i
i i ij i i ijc y
f y r f y c i
Ejemplo 2• Suponga que se desea
seleccionar la ruta más corta entre las ciudades O y T
• La red a continuación muestra las rutas posibles entre ambas ciudades, las cuales cruzan por las ciudades intermedias A-E
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
4
O B
C E
D
A
T
7
8
5
12
8
9
7
13
6
9
Ejemplo 2
• Utilizando programación dinámica podemos dividir el problema en tres etapas
• La red siguiente muestra las etapas 1, 2 y 3 en que se ha dividido el problema
• Definimos las fórmulas recursivas hacia delante:
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
5
0 0 0f x
1
1 1 1,min , ; 1,2,3
i ii i i i i irutas x xf x d x x f x i
Ejemplo 2• Fórmulas recursivas hacia atrás
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
6
4 4 0f x
1
1 1 1,min , ; 1,2,3
i ii i i i i irutas x xf x d x x f x i
Etapas
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
7
O B
C
A7
8
5
E
D
T
6
9
B
C E
D
A 12
8
9
7
13
f1 = 7 f3 = 21
17
f2 = 12
8
5
f1 = 7
8
5 17
f2 = 12f0 = 0
Etapa 1
• Nodo A• Distancia más corta al nodo A = 7 (desde el nodo O)
• Nodo B• Distancia más corta al nodo B = 8 (desde el nodo O)
• Nodo C• Distancia más corta al nodo C = 5 (desde el nodo O)
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
8
Etapa 2
• Nodo D• Ruta AD: 7+2 = 19; Ruta BD: 8+8 = 16; Ruta CD: 5+7 =
12• Distancia más corta al nodo D = min{7+12,8+8,5+7} =
12 (desde el nodo C)
• Nodo E• Ruta BE: 8+9 = 17; Ruta CE: 5+13 = 18• Distancia más corta al nodo E = min{8+9,5+13} = 17
(desde el nodo B)
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
9
Etapa 3• Nodo T
• Ruta DT: 12+9 = 21; Ruta ET: 17+6 = 23• Distancia más corta al nodo T = min{12+9,17+6} = 21 (desde el
nodo D) 23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
10
Ejercicio 2• Resuelva el problema anterior con recursión hacia atrás• Verifique que se obtiene el mismo resultado
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
11
Ejercicio 3• Encuentre la ruta más corta entre O y T usando programación
dinámica con recursión hacia adelante suponiendo que se tiene la siguiente red
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
12
O B
C E
DA
T
5
9
8
10
4
10
9
9
8
17
9
Tarea• Encuentre la ruta más corta entre O y T usando programación
dinámica con recursión hacia adelante suponiendo que se tiene la siguiente red
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
13
O B
C H
GA
T
2
4
2 4
3
E
F
D46
7
4
23
5
14
1
4
6
3
3
3
Referencias
• Hillier, Frederick S. y Lieberman Gerald J. Introducción a la investigación de operaciones. McGraw-Hill Interamericana. 8ª edición. México, 2006.
• Optimization Partner. Dictionary of optimization. http://www.optimizationpartner.se/index.php?cid=38 Consultado el 22 de enero de 2007
• Taha, Hamdy A. Investigación de operaciones. Una introducción. Pearson Educación. 6ª edición. México, 1997
• Trick, Michael A. A tutorial on dynamic programming. http://mat.gsia.cmu.edu/classes/dynamic/dynamic.html Consultado el 22 de enero de 2007
23
en
e2
00
7P
rog
ram
aci
ón
Din
ám
ica
D
ete
rmin
ista
14