Documente Academic
Documente Profesional
Documente Cultură
Programacin Dinmica
INTRODUCCION
La programacin dinmica encuentra la solucin ptima de un problema con n variables, descomponindolo en n etapas, siendo cada etapa un subproblema de una sola variable.
A diferencia de la programacin lineal, el modelado de problemas de programacin dinmica no sigue una forma estndar. Principio de optimalidad: Dado el estado actual, la decisin ptima para cada una de las etapas restantes no tiene que depender de los estados ya alcanzados o de las decisiones tomadas previamente.
En este tipo de programacin dinmica, el estado de la siguiente etapa est determinado por completo por el estado y la poltica de decisin de la etapa actual. El caso probabilstico es en el cual existe una distribucin de probabilidad del valor posible del siguiente estado.
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 se obtiene la solucin ptima de todo el problema. Al pasar de un subproblema al siguiente se debe mantener la factibilidad de esas restricciones comunes. Se usa la recursin en avance, cuando los clculos se hacen de la primera etapa a la ltima etapa; y se usa la recursin en reversa, cuando los clculos se hacen de la ltima etapa a la primera etapa. Con las recursiones en avance y en reversa se obtiene la misma solucin. Se usa la recursin en reversa porque, en general, es ms eficiente desde el punto de vista computacional.
Programacin Dinmica
INTRODUCCION
Estado (sn)
n=1
n=2
n=3
n=4
Estado (sn)
n=1 s1
n=2 s2
n=3 s3
n=4 s4
Estado (sn)
n=1 s1
x1
n=2 s2
x2
n=3 s3
x3
n=4 s4
x4
Estado (sn)
n=1 s1
x1
n=2 s2
x2
n=3 s3
x3
n=4 s4
x4 f4(s4 ,, x4)) f4(s4 x4
Programacin Dinmica
INTRODUCCION
Tomando en cuenta el siguiente sistema de caminos, si se encuentra inicialmente en el nodo A, encontrar la trayectoria ms econmica para llegar al nodo J considerando que los valores que se encuentran en las ramas representan los costos de trasladarse de un nodo a otro.
B
4 6
E
1 4
H
3
F
3 4
J I
Como el destino final es J y se alcanza al terminar la etapa 4, entonces f5*(x4) = f5*(J) = 0 El objetivo es encontrar f1*(A) y la ruta correspondiente. La programacin dinmica la encuentra al determinar en forma sucesiva f4*(s4), f3*(s3), f2*(s2) y f1*(s1) Funcin recursiva: f4(s4 , x4)= cs4x4 + f5*(x4)
E
1
H
3
F
3 4
J I
s4 H I
E
1 4
6 2 3
H
3 6 2 4
F
3 4
J I
3 4 1 3 3 5
s3 E F G
f3(s3 ,x3)= cs3x3 + f4*(x3) x3 = H x3 = I 1+3=4 4+4=8 6+3=9 3+4=7 3+3=6 3+4=7
E
1 4
6 2 3
H
3 6 2 4
F
3 4
J I
3 4 1 3 3 5
s2 B C D
f2(s2 ,x2)= cs2x2 + f3*(x2) x2 =E x2 =F x2 =G 7+4=11 4+7=11 6+6=12 3+4=7 2+7=9 4+6=10 4+4=8 1+7=8 5+6=11
E
1 4
6 2 3
H
3 6 2 4
F
3 4
J I
3 4 1 3 3 5
s1 A
s4 H I s3 E F G s2 B C D s1 A
Programacin Dinmica
INTRODUCCION