Академический Документы
Профессиональный Документы
Культура Документы
Objetivos
Discutir los principios Programacin Dinmica Entender y utilizar la utilizacin de la Programacin Dinmica para plantear problemas reales. la
Aplicar los conceptos de Programacin Dinmica para solucionar problemas reales en la industria.
PROGRAMACIN DINMICA
La programacin dinmica es una tcnica que se utiliza para resolver diversos problemas de optimizacin. Esta tcnica llega a la solucin trabajando hacia atrs partiendo del final del problema hacia el principio, por lo que un problema enorme e inmanejable se convierte en una serie de problemas ms pequeos y manejables.
Suponga que hay 30 cerillas sobre una mesa. Yo empiezo eligiendo 1, 2 3 cerillas. Luego mi contrincante debe tomar 1, 2 3 cerillas. As continuamos hasta que alguno de los jugadores toma la ltima cerilla. Este jugador es el que pierde. Cmo puedo yo (el primer jugador) estar seguro de ganar el juego?
Tengo una taza de 9 onzas y otra de 4 onzas. Mi madre me pidi traer a casa exactamente 6 onzas de leche. Cmo puedo cumplir lo pedido?
La Programacin Dinmica es una tcnica matemtica til en la toma de una serie de decisiones interrelacionadas.
la de un con descomponindolo en , siendo cada etapa un subproblema de una sola variable.
Naturaleza recursiva de la PD
Los clculos de programacin dinmica se hacen en forma recursiva, ya que la solucin ptima de un subproblema se usa como dato para el siguiente subproblema. Para cuando se resuelve el ltimo subproblema queda a la mano la solucin ptima de todo el problema. La forma en la que se hacen los clculos recursivos dependen de cmo se descomponga el problema original. En particular, los subproblemas se vinculan normalmente mediante restricciones comunes.
Describe la forma en que un sistema evoluciona a causa de las decisiones tomadas Etapas Estados Variable de decisin
ESTRUCTURA DE COSTO
PROGRAMACIN DINMICA
Enfoque de programacin dinmica para problemas determinsticos en donde el estado en la siguiente etapa est completamente determinado por el estado y la poltica de decisin de la etapa actual.
Etapa n xn Estado:
Sn Sn+1
Etapa n+1
Valor:
fn (Sn , xn)
f*n+1 (s n+1)
Aplicaciones de la PD
La Programacin Dinmica se puede aplicar para solucionar problemas de gran complejidad presentes en los siguientes tpicos: Problema de Redes Problemas de Asignacin Problemas de Inventario Problema de la Mochila
EL PROBLEMA DE LA DILIGENCIA
El costo de la pliza estndar para el viaje en diligencia, del estado i al estado j, que se denota por cij, es
H B A 2 C 4 D 3 E F G 1 6 3
I 4 3 3
EL PROBLEMA DE LA DILIGENCIA
H A
I D G
EL PROBLEMA DE LA DILIGENCIA
s3
E
EL PROBLEMA DE LA DILIGENCIA
f*2 (s2 , x2)= Min (c2 + f*3)
x2 s2 E F G f*2(S) x*2
EL PROBLEMA DE LA DILIGENCIA
Joe Cougar vive en Nueva York, pero quiere viajar en su automvil hasta Los ngeles en busca de fama y fortuna. Los fondos de Joe son limitados, as que decide pasar cada noche de su viaje en la casa de un amigo. Joe tiene amigos en cada ciudad. Joe sabe que puede viajar un da a la vez y avanzar por etapas. Luego de 4 das de manejar Joe puede llegar finalmente a Los ngeles. Para minimizar la cantidad de millas recorridas, dnde debe Joe pasar cada noche del viaje?
Columbus 2
Kansas City 5
Denver 8
Nueva York 1
Nashville 3
Omaha 6
Los ngeles 10
San Antonio 9
Lousville 4
Dallas 7
Solucin con PD
Se determinar yendo hacia atrs (Recursividad) Primero clasificamos todas las ciudades en la que Joe puede estar al principio del n-simo da de su viaje como ciudades de la etapa n. Etapa 1: Nueva York Etapa 2: Columbus, Nashville, Louisville Etapa 3: Kansas City, Omaha, Dallas Etapa 4: Denver, San Antonio Etapa 5: Los ngeles
Columbus 2
680
Kansas City 5
580 790 610
550
Denver 8
790 540 1030
Nueva York 1
Etapa 1
900
Nashville 3
760
Omaha 6
940
Los ngeles 10
1390 Etapa 5
660 770
790 1050
San Antonio 9
Etapa 4
270
510
700
Lousville 4
Etapa 2 830
Dallas 7
Etapa 3
La idea de trabajar hacia atrs implica que debemos empezar por resolver un problema fcil que con el tiempo nos servir para resolver uno ms complejo. Empezamos por determinar la trayectoria ms corta a Los ngeles desde cada ciudad de dnde hay slo un da de viaje en automvil (ciudades de la etapa 4). Luego usamos esta informacin para encontrar el camino ms corto hasta Los ngeles desde cada ciudad donde hay 2 das de manejo (ciudades de la etapa 3). Con esta informacin ya somos capaces de hallar el camino ms corto desde cada ciudad que est a 3 das de viaje (ciudades de la etapa 2). Encontramos, por ltimo, la trayectoria ms corta a Los ngeles desde cada ciudad que est a 4 das de viaje (hay slo una: Nueva York).
Criterios bsicos
Con el fin de simplificar la exposicin usamos los nmeros 1, 2, 3,, 10 dados en la figura para nombrar las 10 ciudades. Definimos tambin cij como las millas entre la ciudad i y la ciudad j. Por ejemplo, c35 = 580 son las millas entre Nashville y Kansas City. Hacemos ft(i) la distancia del camino ms corto desde la ciudad i hasta Los ngeles, dado que la ciudad i es una ciudad de la etapa t.
Columbus 2
680
Kansas City 5
580 790 610
550
Denver 8
790 540 1030
Nueva York 1
Etapa 1
900
Nashville 3
760
Omaha 6
940
Los ngeles 10
1390 Etapa 5
660 770
790 1050
San Antonio 9
Etapa 4
270
510
700
Lousville 4
Etapa 2 830
Dallas 7
Etapa 3
Clculos de la Etapa 4
Determinamos el camino ms corto desde cada ciudad de la etapa 4 hasta L. A. Como hay un solo camino desde cada ciudad, observamos que:
Denver 8
1030
Los ngeles 10
1390 Etapa 5
San Antonio 9
Etapa 4
Clculos de la Etapa 3
Determinamos el camino ms corto desde cada ciudad de la etapa 3 hasta L. A. Determinar f3(5)
Kansas City 5
610 790
C58 + f4(8) = 610 + 1030 = 1640 * (5-8-10) C59 + f4(9) = 790 + 1390 = 2180
Omaha 6
Denver 8
540 103 0
Determinar f3(6)
C68 + f4(8) = 540 + 1030 = 1570 * (6-8-10) C69 + f4(9) = 940 + 1390 = 2330 C78 + f4(8) = 790 + 1030 = 1820 C79 + f4(9) = 270 + 1390 = 1660 * (7-9-10)
Los ngeles
940 139 0
San Antonio 9
E 10 5
Determinar f3(7)
790
E4 270
Dallas 7
E3
Clculos de la Etapa 2
Determinamos el camino ms corto desde cada ciudad de la etapa 2 hasta L. A. Determinar f2(2)
C25 + f3(5) = 680 + 1640 = 2320* (2-5-810) C26 + f3(6) = 790 + 1570 = 2360 C27 + f3(7) = 1050 + 1660 = 2710 C35 + f3(5) = 580 + 1640 = 2220* (3-5-810) C36 + f3(6) = 750 + 1570 = 2330 C37 + f3(7) = 660 + 1660 = 2320 C45 + f4(5) = 510 + 1640 = 2150* (4-5-810) C46 + f4(6) = 700 + 1570 = 2270 C47 + f4(7) = 830 + 1660 = 2490
68 0 58 0
5
79 0 61 0
8
10 30
Determinar f2(3)
76 0 66 0 51 0 70 0 83 0
79 0
54 0
94 0
10
13 90 E5
Determinar f2(4)
10 50
79 0
9
27 0 E4
4
E2
7
E3
Clculos de la Etapa 1
Como ya conocemos f2(2), f2(3) y f2(4), podemos ir hacia atrs una etapa ms para determinar f1(1) y, por lo tanto, el camino ms corto de la ciudad 1 a la 10. Obsrvese que el camino ms corto desde la c1 a la c10 debe empezar por ir a la ciudad 2, 3 a la 4. Esto significa que el camino ms corto desde la c1 hasta la c10 tiene que ser uno de los siguientes:
Camino 1. Ir desde la 1 hasta la 2, luego seguir el camino ms corto desde la 2 hasta la 10. [C12 + f2(2) ] Camino 2. Ir desde la 1 hasta la 3, luego seguir el camino ms corto desde la 3 hasta la 10. [C13 + f2(3) ] Camino 3. Ir desde la 1 hasta la 4, luego seguir el camino ms corto desde la 4 hasta la 10. [C14 + f2(4) ]
Continuacin
Determinar f1(1):
C12 + f2(2) = 550 + 2320 = 2870 C13 + f2(3) = 900 + 2220 = 3120 C14 + f2(4) = 770 + 2150 = 2920
Camino ptimo: 1-2-5-8-10 Desde Nueva York hasta Los ngeles pasar por:
Nueva York, Columbus, Kansas City, Denver y Los ngeles. Este camino tiene una distancia de f1(1) = 2780 millas
5
1 3 3
4 4
10
4 3
3 6
1
3
4
5
"Si planificas para un ao, siembra trigo. Si planificas para una dcada, planta rboles. Si planificas para una vida, educa personas" Kwan Tzu