Programación Dinámica - Grupo 9
Programación Dinámica - Grupo 9
Programación Dinámica - Grupo 9
TEMA:
“PROBLEMAS DE PROGRAMACIÓN DINÁMICA”
INTEGRANTES
:
CHIMBOTE – PERÚ
2022
Programación Dinámica
1) El propietario de 3 tiendas ha comprado 5 cestas de fresas, para satisfacer la
demanda en las diferentes tiendas. El propietario desea determinar la forma
de distribuir los canastos, de manera de maximizar el beneficio total. Los
retornos (utilidades) en función del número de canastos distribuidos (se
asume vendidos) en las 3 tiendas están dados en la siguiente tabla:
TIENDA 3
A3 f(E3) f(A3)
E3 0 1 2 3 4 5
0 0 - - - - - 0 0
1 0 4+0=4 - - - - 4 1
2 0 4+0=4 6+0 = 6 - - - 6 2
3 0 4+0=4 6+0 = 6 11+0 = 11 - - 11 3
4 0 4+0=4 6+0 = 6 11+0 = 11 12+0=12 - 12 4
5 0 4+0=4 6+0 = 6 11+0 = 11 12+0=12 12+0=12 12 4.5
TIENDA 2
A2 f(E3) f(A3)
E2 0 1 2 3 4 5
0 0 - - - - - 0 0
1 0+4=4 5+0 = 5 - - - - 5 1
2 0+6=6 5+4 = 9 10+0 = 10 - - - 10 2
3 0+11=11 5+6 = 11 10+4 = 14 11+0 = 11 - - 14 2
4 0+12=12 5+11 = 16 10+6 = 16 11+4 = 15 11+0=11 - 16 1.2
5 0+12=12 5+12 = 17 10+11 = 21 11+6 = 17 11+4=15 11+0=11 21 2
TIENDA 1
0 0 - - - - - 0 0
1 0+5 = 5 3+0 = 3 - - - - 5 0
2 0+10 = 10 3+5 = 8 7+0 = 7 - - - 10 0
3 0+14 = 14 3+10 = 13 7+5 = 12 9+0 = 9 - - 14 0
4 0+16 = 16 3+14 = 17 7+10 = 17 9+5 = 14 12+0=12 - 17 1.2
5 0+21 = 21 3+16 = 19 7+14 = 19 9+10 = 19 12+5=17 13+0=13 22 0
CANASTA
TIENDA CANTIDAD BENEFICIO
S
TIENDA 3 0 5 - 0 = 5 unidades 0 unidades = 0 $
TIENDA 2 2 5 - 2 = 3 unidades 2 unidades = 21 $
TIENDA 1 3 3 - 3 = 0 unidades 3 unidades = 11 $
FORMULACIÓN
Etapas: Países a los cuales se les debe asignar las brigadas (n=1 = País 1); (n=2 =
País 2); (n=3 = País 3).
Variable de decisión: Xn: Número de brigadas asignadas al país n.
Estado: ¿Qué es lo que cambia de una etapa a otra?
Sn: Número de brigadas médicas disponibles para asignarse a los países restantes.
1. S1 = 5, X1: 0, ….5
2. S2 = S1- X1: 0, ….5; dependiendo de X1
3. S3 = S2- X2: 0, ….5; dependiendo de X2
Sea Pi ( Xi) la medida del desempeño por asignar Xi brigadas médicas al país i:
X3
f3 (S3, X3) = P3 (X3 ) + f4 f3 *(S3, X3) (X3 )
S3
0 0 0 0
1 50 50 1
2 70 70 2
3 80 80 3
4 100 100 4
5 130 130 5
N=2
0 0 - - - - - 0 0
1 50 20 - - - - 50 0
2 70 70 45 - - - 70 0o 1
3 80 90 95 75 - - 95 2
4 100 100 115 125 110 - 125 3
5 130 120 125 145 160 150 160 4
N=1
CONCLUSIÓN
X1* = 1 S1 - X1 = 4 = S2
X2* = 3 S2 – X2 = 1 = S3
DIAGRAMA
3) Problema del Agente Viajero:
GRÁFICO:
4) Problema del agente viajero
C1 C2 C3 C4 C5 C6
C1 0 8 X 3 X 4
C2 8 0 1 5 9 X
C3 X 1 0 7 2 21
C4 3 5 7 0 X 3
C5 X 9 2 X 0 35
C6 4 X 21 3 35 0
GRÁFICO:
5) Un explorador desea ir de A a J en un safari, y quiere viajar de la forma más
segura posible. Tiene los puntos de salida y destino conocidos, pero tiene
múltiples opciones para viajar a través del territorio. Se entera de la
posibilidad de adquirir seguro de vida como pasajero del safari. El costo de la
póliza estándar (cij ) se muestra en la sgte. tabla.
El grafo tiene cuatro etapas. Donde la primera es de elegir entre los distintos costos de la póliza
de seguros, este comienza desde el punto A hacia B, C o D. Luego en la segunda etapa se elige
entre E, F o G. En la tercera etapa 3 se determina entre el camino H o I. Y culmina en la etapa 4
es decidir hacia J.
Por lo tanto, podemos decir que la etapa 1 tiene un solo estado denominado “A”, en la etapa 2
tiene 3 estados denominados “B, C, D”, la etapa 3 también tiene 3 estados “E, F, G”, y
finalmente la etapa 4 tiene 2 estados “H e I”.
n=4 S \ X4 J F4 X4*
H 3 3 J
I 4 4 J
n=3 S\X H I F3 X3
E 1+3= 4+4= 4 H
F 6+3= 3+4= 7 I
G 3+3= 3+4= 6 H
n=2
S\X E F G F2 X2
B 7+4=1 4+7=1 6+6=1 12 G
C 3+4=7 2+7=9 4+6=8 7 E
D 4+4=8 1+7=8 5+6=1 8 E,
S\X B C D F1 X1
n=1
A 2+12=1 4+7=1 3+8=1 11 D
MIN=11
MIN=11
La solución óptima en el traslado dentro de los puntos de A hacia J tiene un costo 11 en la póliza
de seguros.
Hallamos las siguientes dos posibles soluciones:
A → D → E → H → J = 11
A → D → F → I → J = 11
6) Suponga que se desea establecer una ruta aérea de costo mínimo desde un
aeropuerto de salida en un País 0 hasta 1 en otro país 4. Para esto, es necesario
hacer escalas en aeropuertos de otros tres países (1,2, 3) y comprar pasajes
para cada vuelo. La red de posibles vuelos (combinaciones aéreas ) se presenta
a continuación:
Se conocen los precios de los boletos de pasaje aéreo, que se registran a continuación
Del país 0 al 1
1 2 3
1 168 175 196
Del país 2 al 3
1 2 3
1 158 174 162
2 146 135 124
3 187 205 222
Del país 3 al 4
1
1 340
2 316
3 323
S \ X4 1 F4* X4*
n=4 1 340 340 1
2 316 316 1
3 323 323 1
n=3
S\X 1 2 3 F3* X3
1 158+340=498 174+316=490 162+323=485 485 3
2 146+340=486 135+316=451 124+323=447 447 3
3 187+340=527 205+316=521 222+323=545 521 2
n=2
n=1
S\X 1 2 3 F1* X1
1 168+800=968 175+783=958 196+780=976 958 2
La ruta área con el costo mínimo de recorrido desde el país 0 hasta el país 4 es de 958 y
es la siguiente:
298
162
TO
175
323
PAÍS PA PA PA
PA
7) Problema de la Diligencia
Este problema está referido a encontrar la ruta óptima (ruta mínima o ruta más
confiable), para viajar desde un punto llamado nodo inicial o fuente hacia otro
llamado nodo final o destino a través de una red de caminos que los conecta dados los
retornos (costos beneficios tiempo, etc.), asociados con los arcos o ramas de la red.
En este caso lo primero que hay que reconocer es, que al tomar una decisión
para decidir que ruta seguir en forma general para todo el problema, involucra
analizar toda la red esto hace que el problema sea complejo, por cuanto del nodo
1 al 14 existen múltiples alternativas en las que se encuentran varias ramas en la
ruta. En segundo lugar, ver si es posible dividir el problema en sub problemas o
etapas de manera que la decisión en cada sub problema sea más fácil; en este
sentido se ha dividió el problema en 5 etapas, de la 1 a la 5 conforme se aprecia
en la parte inferior de la red. Obsérvese que es más fácil tomar una decisión en
cada etapa pues la decisión será directa; por ejemplo, si estamos en la etapa 3
(sub problema 3) al inicio nos podemos encontrar en los nodos 5, 6 o 7 y
podemos ir a los nodos 8, 9, 10 u 11 la decisión es inmediata, pues solo existe
una rama en cada alternativa. Esta característica es importante reconocer para
tomar la decisión de aplicar la metodología de la programación dinámica.
Ahora es posible usar la función general de la programación dinámica y luego
representar esa función en términos del problema como sigue:
Función Recursiva General de PD:
𝑓∗(𝑆 ) = 𝑔[𝑅 (𝐷 , 𝑆 ) + 𝑓∗
𝑛 𝑛 𝑛 𝑛 𝑛+1 𝑛+1 (𝑆𝑛 +1)]
Función Recursiva para el Problema
𝑓𝑛∗(𝑆𝑛 ) = 𝑀𝑖𝑛𝐷𝑛.𝑆𝑛 [𝑅𝑛 (𝐷𝑛 , 𝑆𝑛+1 ) + 𝑓𝑛+1
∗ (𝑆
𝑛+1 )]
Donde:
𝑅𝑛(𝐷𝑛 , 𝑆𝑛+1)= Representa la distancia por tomar la decisión𝐷𝑛en la etapa 𝑛,
para pasardel estado 𝑆𝑛al estado𝑆𝑛+1
∗ (
𝑓𝑛+1 𝑆𝑛+1) =Representa el mejor valor en la etapa 𝑛 + 1, cuando el estado es
𝑆𝑛+1
𝑓𝑛∗(𝑆𝑛) =Representa el mejor valor en la etapa 𝑛, cuando el estado es 𝑆𝑛
Utilizando la forma tabular de la PD tenemos, para las diferentes etapas:
Para n = 5
𝑓5∗(𝑆5) = 𝑀𝑖𝑛𝐷 5.𝑆5+1 [𝑅5(𝐷5 , 𝑆5+1) + 𝑓5+1
∗ (𝑆
5+1)]
Decisió
Estad 𝐷5
𝑆5 14 𝑓5∗(𝑆5 𝐷∗ 1 (𝑆5+1
5+
12 4 4 14
13 3 3 14
Para n = 4
𝑓4∗(𝑆4 ) = 𝑀𝑖𝑛𝐷 4.𝑆5 [𝑅4 (𝐷4 , 𝑆5 ) + 𝑓5∗ (𝑆5 )]
𝐷∗ (𝑆4
Estad Decisión 𝐷4 𝑓4∗(𝑆4 4
𝑆4 12 13
8 9+4=1 13 12
9 3+4=7 6+3=9 7 12
10 7+4=1 8+3=1 11 12, 13
11 5+3=8 8 13
Para n = 3
𝑓3∗(𝑆3 ) = 𝑀𝑖𝑛𝐷 3.𝑆4 [𝑅3 (𝐷3 , 𝑆4 ) + 𝑓4∗ (𝑆4 )]
𝐷∗ (𝑆3)
Esta Decisión 𝐷3 𝑓3∗(𝑆3) 3
do 8 9 10 11
𝑆3
5 3+13= 2+7=9 9 9
16
6 8+13= 11+7= 5+11= 9+8= 16 10
24 18 16 17
7 4+8= 12 11
12
Para n=2
𝑓2∗(𝑆2 ) = 𝑀𝑖𝑛𝐷 2.𝑆3 [𝑅2 (𝐷2 , 𝑆3 ) + 𝑓3∗ (𝑆3 )]
𝐷∗ (𝑆2
Estad Decisión 𝐷2 𝑓2∗(𝑆2 2
𝑆2 5 6 7
2 11+9=2 20 5
3 8+9=17 4+16=2 9+12=2 17 5
4 6+16=2 6+12=1 18 7
Para n=1
𝑓1∗(𝑆1 ) = 𝑀𝑖𝑛𝐷 1.𝑆2 [𝑅1 (𝐷1 , 𝑆2 ) + 𝑓2∗ (𝑆2 )]
𝐷∗ (𝑆1
Estad Decisión 𝐷1 𝑓1∗(𝑆1 1
𝑆1 5 6 7
1 5+20=2 2+17=1 3+18=2 19 3
2 + 3 + 4 = 19.
8) Problema: Dada la red de carreteras que se encuentra a continuación,
encontrar la ruta más corta desde el nodo 1 hasta el nodo 9.
Para n = 4
𝑓4∗(𝑆4 ) = 𝑀𝑖𝑛𝐷 4.𝑆5 [𝑅4 (𝐷4 , 𝑆5 ) + 𝑓5∗(𝑆5 )]
Decisió
Estad 𝐷4
𝑆4 9 𝑓4∗(𝑆4 𝐷4∗ (𝑆4
8 5 5 9
9 7 7 9
Para n = 3
𝑓3∗(𝑆3 ) = 𝑀𝑖𝑛𝐷 3.𝑆4 [𝑅3 (𝐷3 , 𝑆4 ) + 𝑓4∗(𝑆4 )]
𝐷∗ (𝑆4
Estad Decisión 𝐷4 𝑓4∗ (𝑆4 4
𝑆4 7 8
4 6+5=1 11 7
5 6+5=1 9+7=1 11 7
6 6+7=1 13 8
Para n=2
𝑓2∗(𝑆2 ) = 𝑀𝑖𝑛𝐷 2.𝑆3 [𝑅2 (𝐷2 , 𝑆3 ) + 𝑓3∗ (𝑆3 )]
𝐷∗ (𝑆2
Estad Decisión 𝐷2 𝑓2∗(𝑆2 2
𝑆2 4 5 6
2 4+11=1 2+11=1 13 5
3 3+11=1 5+13=1 14 5
Para n=1
𝑓1∗(𝑆1 ) = 𝑀𝑖𝑛𝐷 1.𝑆2 [𝑅1 (𝐷1 , 𝑆2 ) + 𝑓2∗ (𝑆2 )]
𝐷∗ (𝑆1
Estad Decisión 𝐷1 𝑓1∗(𝑆1 1
𝑆1 2 3
1 5+13=1 3+14=1 17 3
3→5→7→9
La ruta más corta es de 17 km para viajar desde un punto llamado nodo inicial o
fuente hacia otro llamado nodo final o destino a través de una red de caminos
9) Estrategia para campaña electoral.
Datos.
1 0
2 1
3 1
4 3
resolveremos los problemas asociados a cada etapa partiendo desde la u´ltima , para
los posibles estados en que puede llegar el problema a la etapa en cuesti´on.
En u m e r a m o s los casos posibles para cada etapa y vamos a seleccionar el mejor caso.
Ciudad 3:
0
1 1 i i i i 1 1
0
2 1 3 i i i 3 2
i: la
0 familia no puede quedarse esa cantidad de días porque ya no le quedan tantos.
3 1 3 3 i i 3 2,3
Ciudad 2:
0
4 1 3 3 2
f 3`( y 2 − x 2 )
i 3 2,3
¸ g 2 ( x 2 ) +x ˛
y02 x2 = 0 x2 = 1 x2 = 2 x2 = 3 x2 = 4 x2 = 5
f 2 (y2 ) x2∗
05 0+0 1 i 3 i3 2i 1i 3 i 2,3 0 0
1 0+1 1+0 i i i i 1 0,1
0 4+0 i i i
2 0+3 1+1 4 2
3 0+3 1+3 4+1 6+0 i i 6 4
4 0+3 1+3 4+3 6+1 8+0 i 8 4
5 0+3 1+3 4+3 6+3 8+1 8+0 9 4,3
i: Al igual que en la ciudad 3 la familia no puede quedarse esa cantidad de días porque yano
le quedan tantos.
Ciudad 1:
En este caso veremos que la familia dispone de 5 días para sus vacaciones,
solo analizamos el caso y 1 = 5
¸ x` ˛
g 1 (x 1 )+ f2 (y 1−x 1 )
Tenemos 3 soluciones ´optimas, todas con un beneficio ´optimo =9, cuyas estad´ıas
en cada ciudad viene dadas por:
11) Una empresa dispone de 4 millones de dólares para invertir en tres campos
petroleros. Las utilidades que gana en el sitio i (i=1, 2,3) dependen de la
cantidad invertida en él, así:
FUNCIÓN OBJETIVO:
xi son
enteros no
negativos
X3
f *(S3) (X*3 )
S3
0 3 0
1 7 1
2 8 2
3 13 3
4 15 4
N=2
X2
f2 (S2, X2) = U2 (X2 ) + f3 * (S2- X2 )
f2 *(S2) (X2 )*
S2 0 1 2 3 4
0 6 - - - - 6 0
1 10 9 - - - 10 0
2 11 13 13 - - 13 1.2
3 16 14 17 15 - 17 2
4 18 19 18 19 17 19 1.3
N=1
4 23 24 21 19 17 24 1
CONCLUIMOS:
X*1 = 1 CAMPO 1
X*2 = 2 CAMPO 2
X*3 = 1 CAMPO 3
RESPUESTA
F1(4) = 24