Professional Documents
Culture Documents
INTRODUCCION
La Programacin Dinmica (PD) intenta
mejorar la eficiencia del clculo de problemas descomponindolos en subproblemas de menor tamao, ms fciles de resolver. La PD est basada en el principio de optimalidad de Bellman: Cualquier subsecuencia de decisiones de una secuencia ptima de decisiones que resuelve un problema tambin debe ser ptima respecto al suproblema resuelto. SIS - NPJ NPJ 2
INTRODUCCION La PD resuelve el problema en etapas (problemas multietpicos). En cada etapa interviene una variable de optimizacin. Los clculos de las diferentes etapas se enlazan de forma recursiva para generar la solucin ptima. Proporciona un procedimiento sistemtico para determinar la combinacin ptima de decisiones. SIS - NPJ NPJ 3
EJEMPLO
Segunda etapa Cuarta etapa
1 2 0 3
Primera etapa
4 2 3 4 1
Tercera etapa
2 6 1
4
c(4,6)
0
c(0,2) c(2,3)
3
c(3,5) c(5,6)
0 = inicio, n-1 = meta, 0 < x < n-1 nodos intermedios Si camino entonces c(i,j) = valor i < j Si camino entonces c(i,j) = 0 o i < j f(x) denota el camino ms corto desde 0 al nodo x f(n-1) SIS - NPJ es la solucin del problema NPJ 5
4
c(4,6)
0
c(0,2) c(2,3)
3
c(3,5) c(5,6)
f(0) = 0 f(1) = min { f(0) + c(0,1) } f(2) = min { f(1) + c(1,2) , f(0) + c(0,2) } f(3) = min { f(2) + c(2,3) , f(1) + c(1,3) , f(0) + c(0,3) } f(n-1) = min { f(n-2) + c(n-2,n-1, ... , f(0) + c(0,3) } 6 SIS - NPJ NPJ
4
c(4,6)
0
c(0,2) c(2,3)
3
c(3,5) c(5,6)
x=0 1 x n 1
7
f(x) =
min { f(j) + c(j,x) }
0 j x
denomina ecuacin de optimizacin. Si hay un nico trmino recursivo en la ecuacin de optimizacin ( f(j) ) se denomina formulacin de un problema de programacin dinmica mondica (monadic). En caso contrario se denomina formulacin SIS - NPJ NPJ 8 de PD polidica (polyadic).
r1=g(f(x1),f(x3)
minimizacin composicin
r2=g(f(x4),f(x5)
r3=g(f(x2),f(x6),f(x7)
f(x8)=min{r1,r2,r3}
La condicin del proceso en una Es la secuencia de decisiones, una para cada etapa del proceso. etapa dada es el estado en esa etapa. Cada decisin afecta la transicin del estado actual al estado asociado en la siguiente etapa.
Los procesos de decisin multietapa tienen retorno (costo o beneficio) asociado a cada decisin.
Los retornos pueden variar con los estados y etapas del proceso.
SIS - NPJ
Una poltica ptima tiene la propiedad de que cualquiera que sean las decisiones para entrar a un estado particular en una etapa particular, las decisiones subsecuentes deben constituir una poltica ptima para abandonar el estado.
10
NPJ
Describe la forma en que un sistema evoluciona a causa de las decisiones tomadas Etapas Estados Variable de decisin
ESTRUCTURA DE COSTO
PROGRAMACIN DINMICA
Los clculos 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 se obtiene la solucin ptima de todo el problema. 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:
SIS - NPJ
Sn Sn+1
Etapa n+1
NPJ
12
Valor:
fn (Sn , xn)
f*n+1 (s n+1)
1. El problema puede dividirse en etapas que requieren una poltica de decisin en cada una de ellas.
4. El procedimiento de solucin est diseado para encontrar una poltica ptima para el problema completo.
3. El efecto de la poltica de decisin en cada etapa es transformar el estado actual en un estado asociado con el inicio de la siguiente etapa.
SIS - NPJ
NPJ
13
7. Se dispone de una relacin recursiva que identifica la poltica ptima para la etapa n, dada la poltica ptima para la etapa n+1.
SIS - NPJ
NPJ
14
NOTACION
N = nmero de etapas n = etiqueta para la etapa actual (n = 1,2, ......., N) Sn = estado actual para la etapa n Xn = variable de decisin para la etapa n X*n = valor ptimo de xn (dado Sn)
SIS - NPJ
NPJ
15
8. Cuando se usa la relacin recursiva, el procedimiento de solucin comienza al final y se mueve hacia atrs etapa por etapa encontrando la poltica ptima para esa etapa- hasta que encuentra la poltica ptima desde la etapa inicial.
Para todos los problemas de Programacin dinmica se obtiene una tabla para cada etapa (n = N, N1, ....., 1)
xn Sn
SIS - NPJ
NPJ
16
NOTACION
N = nmero de etapas n = etiqueta para la etapa actual (n = 1,2, ......., N) Sn = estado actual para la etapa n
fn (Sn, xn) = fn(Sn) + f*n+1 (Sn+1)] fn (Sn, xn) = fn(Sn) + f*n+1 (Sn-xn)]
SIS - NPJ
NPJ
17