S1 – Programación Dinámica DeterminÃstica
-
Upload
linoquispe -
Category
Documents
-
view
107 -
download
0
Transcript of S1 – Programación Dinámica DeterminÃstica
![Page 1: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/1.jpg)
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
![Page 2: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/2.jpg)
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
![Page 3: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/3.jpg)
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
![Page 4: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/4.jpg)
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
![Page 5: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/5.jpg)
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
![Page 6: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/6.jpg)
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
![Page 7: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/7.jpg)
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
![Page 8: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/8.jpg)
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
![Page 9: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/9.jpg)
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
![Page 10: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/10.jpg)
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
![Page 11: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/11.jpg)
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
![Page 12: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/12.jpg)
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
![Page 13: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/13.jpg)
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
![Page 14: S1 – Programación Dinámica DeterminÃstica](https://reader035.fdocuments.ec/reader035/viewer/2022062613/544aff08b1af9f51498b4799/html5/thumbnails/14.jpg)
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