Está en la página 1de 4

Programación Dinámica

características :
característica fundamental: Procesos multietapa de toma de decisiones

Elementos básicos:

1. El problema puede dividirse en etapas, con una decisión de la política requerida en cada etapa

2. Cada etapa tiene un cierto número de estados(nodos) asociados a ella. En general los estados son
de diversas condiciones posibles en el que el sistema podría estar en esa etapa del problema.

3. El valor asociado al estado puede depender de decisiones de la misma etapa no de futuras


decisiones.

4. El estado representa una foto del sistema. Una evaluación en un instante de tiempo.

5. La decisión debe corresponder a la política del estado vigente y no del futuro.

6. El efecto de la decisión de una política de cada etapa es:transformar el estado actual en un estado
asociado con la etapa siguiente.

7. Dado el estado actual, una política óptima para las etapas restantes es independiente de la política
adoptada en las etapas previas

8. El procedimiento de resolución empieza por hallar la política óptima para cada estado de la
última etapa.

PROPIEDADES:

- Se dispone de una “ relación recursiva “ que identifica la política óptima para cada estado en la
etapa n, dada la política óptima para cada estado en la etapa n+1.

- Usando esta relación recursiva, el procedimiento de resolución se mueve hacia atrás, etapa por
etapa, hallando en cada ocasión la política óptima para cada estado de esa etapa, hasta que se
encuentra la política óptima cuando se parte de la etapa inicial.

ƒ*n ( S) = mín ƒn ( S, x n)

N: número de etapas
S = estado posible de la etapa
n: etiqueta de la etapa actual
sn : estado actual para la etapa n
xn : variable de decisión para la etapa n
x*n :valor óptimo de xn de la etapa n
ƒn (sn ,xn):función objetivo si el sistema se encuentra en el estado sn de la etapa n, la decisión es xn
ƒ*n (sn ,xn): ƒn (sn ,x*n) ; es decir ƒ*n es la óptima de la ƒn ; ƒ*n = mín ƒn (sn ,xn)
la relación recursiva recibe este nombre pues recurre alas etapas posteriores pues de a una etapa a la
vez de atrás hacia adelante.
ƒ*n ( S) = mín C S x n + ƒ*n+1 ( x n)

Cuando se usa esta relación recursiva , el procedimiento de solución se mueve hacia atrás etapa por
etapa , encontrando cada vez la política óptima par esa etapa hasta que encuentra la política óptima
de la etapa inicial.

Etapa Etapa
n n+1

Estado sn sn+1
contribución de xn
ƒn (sn ,xn) ƒ*n+1 (sn+1)

Ƒn( S, xn ) = Ƒn * ( S ) Xn *
S x1 x2 x3 … …

Ejemplo:
Problema de la Diligencia:
Trata de un cazafortuna de Missouri que decide ir al oeste para unirse a la fiebre del oro en
California. Tiene que hacer el viaje en diligencia a través de territorios , aún cuando su punto de
partida y su destino eran fijos, tenía muchas opciones en cuanto a qué estados debía elegir como
puntos intermedios. La figura muestra las rutas posibles.

ETAPA 1 ETAPA 2 ETAPA 3 ETAPA 4

7
B E 1
4
2 4
6 H
A 4 3
3
3 C 2 6
4 F 3 J
4 4
1 I
3
D 3
5 G
Alternativas posibles : 1* 3 * 3 * 2 * 1 = 18 ( existen 18 posibilidades de ir de A a B )

Variables de decisión :
decisión decisión decisión decisión
A x1 x2 x3 x4 J

En nuestro ejemplo N =4, el nodo 1 es el inicial A el nodo final J

Comenzamos de la última etapa


Etapa 4
en esta etapa para llegar al nodo J , lo puedo hacer desde el nodo H o del nodo I.
El valor mínimo del nodo H al nodo J es trivial pues existe un único arco (camino) y su valor es 3.
de donde resulta la primer fila de la tabla, el óptimo es 3 ( mínimo de nodo H a nodo J) y la decisión
es ir de H a J.
De igual manera para la opción de I a J, resulta la segunda fila.

S Ƒ*4 ( S ) X4 *
H 3 J
I 4 J

Etapa 3
Al nodo H puedo llegar desde el nodo E; F; o G;
Si llego al nodo del nodo E el valor del arco es 1 y a ese valor le debo sumar el mínimo ya
calculado de H a J que es 3. Resulta 1+3 =4
De igual manera si llego al nodo E desde el nodo F el valor del arco es 6 y le debo sumar el mínimo
ya calculado de H a J que es 3. Resulta 6+3=9
De igual manera si llego al nodo E desde el nodo G el valor del arco es 3 y le debo sumar el mínimo
ya calculado de H a J que es 3. Resulta 3+3=6
Obtengo toda la columna de la tabla (*) que está debajo de la segunda columna indicada con H
Al nodo I puedo llegar desde el nodo E; F; o G;
Si llego al nodo I del nodo E el valor del arco es 4 y a ese valor le debo sumar el mínimo ya
calculado de I a J que es 4. Resulta 4+4 = 8
De igual manera si llego al nodo I desde el nodo F el valor del arco es 3 y le debo sumar el mínimo
ya calculado de I a J que es 4. Resulta 3+4=7
De igual manera si llego al nodo I desde el nodo G el valor del arco es 3 y le debo sumar el mínimo
ya calculado de I a J que es 4. Resulta 3+4=7

Queda entonces para completar el cuadro la columna f3* (S) , es decir el mínimo partiendo del nodo
E es entre los valores 4 y 8 , efectivamente es 4 y es por el nodo H , por eso la variable de decisión
es x*3 = H
Para las otras dos filas se procede igual
tabla (*)
Ƒ3( S, x3 ) = C(S,x3)+ Ƒ*4 ( S ) Ƒ3* ( S ) X3 *
S H I
E 1+3= 4 4+4=8 4 H
F 6+3=9 3+4=7 7 I
G 3+3=6 3+4=7 6 H
Etapa 2

Ƒ2( S, x2 ) = C(S,x2)+ Ƒ*3 ( S ) Ƒ2* ( S ) X2 *


S E F G
B 7+4=11 4+7=11 6+6=12 11 EóF
C 3+4=7 2+7=9 4+6=10 7 E
D 4+4=8 1+7=8 5+6=11 8 EóF

Etapa 1

Ƒ1( S, x1 ) = C(S,x1)+ Ƒ*2 ( S ) Ƒ1* ( S ) X1 *


S B C D
A 2+11=13 4+7=11 3+8=11 11 CóD

El óptimo es 11 = caminino mínimo

1 x1 x2 x3 x4

ƒ*1 ƒ*2 ƒ*3 ƒ*4

En el ejemplo resultan las siguientes decisiones óptimas con valor mínimo =11

A C E H J

A D E H J

1 D F I J

También podría gustarte