Download - Programacion dinamica
PROGRAMACIÓN DINÁMICA
Investigación Operativa II
ESCUELA PROFESIONAL:
. INGENIERÍA INDUSTRIAL
. INGENIERÍA DE COMPUTACIÓN Y SISTEMAS
Adolfo PradoMar. 2013
CASO 2 EL PROBLEMA DE LA RUTA MAS CORTA
A
B
C
D
E
F
G
EL PROBLEMA DE LA RUTA MAS CORTA
La distancia entre las ciudades nodo i al nodo j, que se denota por cij, es:
B C D
A 7 8 5
E F
B 12
C 8 9
D 7 13
G
E 9
F 6
EL PROBLEMA DE LA RUTA MAS CORTA
A
B
C
D
E
F
G
88
5
712
9
7
13
6
9
EL PROBLEMA DE LA RUTA MAS CORTA
A
B
C
D
E
F
G
88
5
712
9
7
13
6
9
EL PROBLEMA DE LA RUTA MAS CORTA
S3 f*3 X*3
E
F
f*2 (s2 , x3= Min (c2 + f*3)
x2
E F f*2(S) x*2
S2
B
C
D
EL PROBLEMA DE LA RUTA MAS CORTA
f*1 (s1 , x1)= Min (c1 + f*2)
x1
B C D f*1(S) x*1s1
A
EL PROBLEMA DE LA RUTA MAS CORTA
S3 f*3 X*3
E 9 G
F 6 G
f*2 (s2 , x3= Min (c2 + f*3)
x2
E F f*2(S) x*2
S2
B
C
D
X4= G
EL PROBLEMA DE LA RUTA MAS CORTA
S3 f*3 X*3
E 9 G
F 6 G
f*2 (s2 , x3= Min (c2 + f*3)
x2
E F f*2(S) x*2
S2
B12+9=21
- 21 E
C8+9=17
9+6=15
15 F
D7+9=16
13+6=19
16 E
EL PROBLEMA DE LA RUTA MAS CORTA
f*1 (s1 , x1)= Min (c1 + f*2)
x1
B C D f*1(S) x*1s1
A7+21=28
8+15=23
5+16=21
21 D
EL PROBLEMA DE LA RUTA MAS CORTA
f*1 (s1 , x1)= Min (c1 + f*2)
x1
B C D f*1(S) x*1s1
A7+21=28
8+15=23
5+16=21
21 D
Solución:A -> D -> E -> G
1. El problema puede dividirse en etapas
que requieren una política de decisión
en cada una de ellas.
2. Cada etapa tiene cierto número de
estados asociados con su
inicio.
3. El efecto de la política de decisión en cada etapa
es transformar el estado actual en
un estado asociado con el inicio de la siguiente etapa.
CARACTERÍSTICAS BÁSICAS DE LOS PROBLEMAS DE P.D.
5. Dado el estado actual, una
política óptima para las etapas restantes es independiente de la
política adoptada en etapas anteriores (la decisión inmediata óptima depende sólo del estado
actual y no de cómo se llegó ahí).
6. El procedimiento de solución se inicia al encontrar la política
óptima para la última etapa.
7. Se dispone de una relación recursiva que
identifica la política óptima para la etapa n, dada la política óptima para la
etapa n+1.
CARACTERÍSTICAS BÁSICAS DE LOS PROBLEMAS DE P.D.
N = número de etapas
n = etiqueta para la etapa actual (n = 1,2, ......., N)
Sn = estado actual para la etapa n
Xn = variable de decisión para la etapa n
X*n = valor óptimo de xn (dado Sn)
fn (Sn, xn) = contribución a la función objetivo de las etapas n, n+1, ....., N
f*n (Sn) = fn (Sn, x*n) f*n (Sn) = mínxn (fn (Sn, xn))
para el ejemplo f*n (Sn) = mínxn [Cs,xn + f*n+1 (xn)]
NOTACIÓN
8. Cuando se usa la relación recursiva, el procedimiento de solución comienza al final y se mueve hacia atrás etapa por
etapa -encontrando la política óptima para esa etapa- hasta
que encuentra la política óptima desde la etapa inicial.
Para todos los problemas de
Programación dinámica se obtiene una tabla
para cada etapa (n = N, N-1, ....., 1)
xn fn (Sn, xn)
Sn f*n (Sn) x*n
CARACTERÍSTICAS BÁSICAS DE LOS PROBLEMAS DE P.D.
N = número de etapas
n = etiqueta para la etapa actual (n = 1,2, ......., N)
Sn = estado actual para la etapa n
Xn = variable de decisión para la etapa n
X*n = valor óptimo de xn (dado Sn)
fn (Sn, xn) = contribución a la función objetivo de las etapas n, n+1, ....., N
fn (Sn, xn) = fn(Sn) + f*n+1 (Sn+1)]
fn (Sn, xn) = fn(Sn) + f*n+1 (Sn-xn)]
f*n (Sn) = mín o máxxn [fn(Sn) + f*n+1 (Sn-Xn)]
NOTACIÓN
Supongamos que un problema se resuelve tras tomar una secuencia d1, d2,….,dn de decisiones
Sea Eo el estado inicial del problema
Sea D1={v11,…,v1n} el conjunto de valores de decisión posibles para la decisión d1
Sea E1i, el estado del problema tras la elección del valor v1i , 1<=i<=n
Sea S1, una secuencia óptima de decisiones respecto al estado E1i
Principio de Optimalidad de Bellman:Una secuencia óptima de decisiones respecto a Eo es la mejor de las secuencias de decisión {v1,S1}, 1<=i<=n El mismo razonamiento puede aplicarse a cualquier subsecuencia de decisiones dk, …, dl , 1 <= k <= l <= n, partiendo como estado inicial de Ek-1
Una solución dinámica para este problema, simbolizado como (k,l), debe expresarse en términos de valores de decisión existentes para la decisión dk y el subproblema (k+1,l) resultante de aplicar cada valor de decisión.
Etapa i Etapa 1: Nodo A Etapa 2: Nodos B,C,DEtapa 3: Nodos E,F Etapa 4: Nodo G
Sea Yi un nodo en etapa i y fi(Yi) la distancia más corta del nodo Yi al destino G
Sea los Estados Yi (Nodos origen) y las Alternativas Yi+1 (Nodo destino)
f4 (y4) = 0 para y4 = G
fi(yi) = min { d(yi,yi+1) + fi+1(yi+1) } para i= 3,2,1
rutas viables (yi, yi+1)
PD – EN REVERSA (Backward)
CASO 2 : EL PROBLEMA DE LA RUTA MAS CORTA
Etapa i Etapa 1: Nodo A Etapa 2: Nodos B,C,DEtapa 3: Nodos E,F Etapa 4: Nodo G
Sea Xi un nodo en etapa i y fi(Xi) la distancia más corta del nodo Xi al origen A
Sea los Estados Xi (Nodos destino) y las Alternativas Xi+1 (Nodos origen)
f0 (x0) = 0 para X0 = A
fi(xi) = min { d(xi-1,xi) + fi-1(xi-1) } para i= 1,2,3
rutas viables (xi-1, xi)
PD – EN AVANCE (forward)
CASO 2 : EL PROBLEMA DE LA RUTA MAS CORTA
File -> New
Nodo Origen
Nodo Destino
DistanciaPersonalizar Nombre de NodosEdit.Edit Nodo Names
Titulo
Nro. Nodos
WinqsbDP.EXE
CASO 2 : EL PROBLEMA DE LA RUTA MAS CORTA
Solve and AnalyzeSolve the problem
Nodo Inicial
NodoFinal
Boton Solve
Boton Resolver
Problema
y Solución
CASO 2 : EL PROBLEMA DE LA RUTA MAS CORTA
Resumen Result.Show Solution Summary
Detallado Result.Show Solution Detail
Resultados
CASO 2 : EL PROBLEMA DE LA RUTA MAS CORTA