PROGRAMACIÓN DINÁMICA
Short Description
Descripción: Programacion Dinamica, problema de la deligencia y problema de la mochila...
Description
PROGRAMACIÓN DINÁMICA Optimización en Ingeniería II Ing. Laura Bazán Díaz
Introducción
La programación dinámica se utiliza para resolver problemas donde se debe tomar decisiones interrelacionadas. La formulación matemática de la programación dinámica no es estándar, ya que las ecuaciones se derivan de las condiciones individuales de los problemas.
2
Ing. Laura Bazán Díaz UNC
El problema de la diligencia Un cazafortunas desea ir de la ciudad A a la ciudad J en una diligencia, y quiere viajar de la forma más segura posible. Tiene múltiples opciones para viajar a través del territorio. Conoce la posibilidad de adquirir un seguro de vida como pasajero de la diligencia. Los costos de la póliza estándar Cij se muestran en las siguientes tablas: E
B C D A 2
3
4
Ing. Laura Bazán Díaz UNC
3
F G
H
I
B 7
4
6
E
1
4
J
C 3
2
4
F
6
3
H 3
D 4
1
5
G 3
3
I
4
El problema de la diligencia B
E H
A
C
F
J I
D
4
Ing. Laura Bazán Díaz UNC
G
¿Cuál es la ruta que minimiza el costo total de la póliza de seguro? Algunas alternativas de solución:
1. Enumeración exhaustiva: enumerar todas las rutas posibles, calcular su costo y elegir la de menor valor. En total son 18. 2. Elegir la ruta más barata en cada etapa. Esta solución no conduce al óptimo global. Un pequeño sacrificio en una etapa puede permitir mayores ahorros más adelante. 3. PROGRAMACIÓN DINÁMICA: Un problema completo es desagregado en problemas simples que se resuelven etapa por etapa. En el caso de la diligencia un problema simple sería pensar qué pasaría si al viajero solo le faltara una jornada de viaje. 5
Ing. Laura Bazán Díaz UNC
Problema de la diligencia
Por programación dinámica, la solución sería entonces ir desde el estado actual (cualquiera que sea) y llegar a su destino final (estado J) al costo Cij.
Se hace lo mismo para cada jornada (etapa), ensanchando el problema. Así encontramos la solución óptima del lugar al que debe dirigirse teniendo en cuenta la información de la iteración anterior.
6
Ing. Laura Bazán Díaz UNC
Formulación Sea Xn (n=1, 2, 3 y 4) las variables que representan el destino inmediato en la etapa n. Luego la ruta seleccionada será:
A X 1 X2 X3 X4
Donde X4=J.
Sea fn (S, Xn) el costo total de la mejor política global para las etapas restantes, dado que el agente se encuentra en el estado S, listo para iniciar la etapa N y se dirige a Xn como destino inmediato. Dados S y n, sea Xn* el valor de Xn (no necesariamente único), que minimiza fn (S, Xn), y sea fn*(S) el valor mínimo correspondiente de fn (S, Xn) entonces: 7
Ing. Laura Bazán Díaz UNC
Formulación fn*(S)= Mín
Xn
fn (S, Xn)= fn(S, Xn*)
Costo
fn(S, Xn)
=
Mínimo costo
inmediato
+
(etapa n) =
CS, Xn
Ing. Laura Bazán Díaz UNC
n+1 en adelante) +
fn+1*(Xn)
Costos por ir
Costo óptimo
de la ciudad i
acumulado
al destino j
8
futuro (etapa
Procedimiento de solución hacia atrás Etapa n=4 Como el destino final (estado J) se alcanza al terminar la etapa 4, entonces f5*(J)=0. El objetivo es hallar f1*(A) y su ruta correspondiente. Cuando el cazafortunas tiene solo una etapa por recorrer (n=4), su ruta de ahí en adelante, estará determinada por el estado actual (H o I) y su detino final X4= J. La ruta será: S J donde S= H ó I
Luego f4*(S)= CS, J + f5*(J) = CS, J
9
f4(H) =
CH,J = 3
S
f4*(S)
X4*
f4(I) =
CI,J = 4
H
3
J
I
4
J
Ing. Laura Bazán Díaz UNC
Procedimiento de solución hacia atrás Etapa n=3 El cazafortunas tiene dos etapas por recorrer (n=3), Suponga que sale de E.
H
+ f4*(H)=f3(E)
=C
E,H
I
+ f4*(I)=f3(E)
=C
E,I
+ f4*(H)
=1+3=4
+ f4*(I)
=4+4=8
E
Luego f3*(E)= 4 y X3*=E . En general para la etapa 3 se tiene: S
10
Ing. Laura Bazán Díaz UNC
X3 f3*(S, X3)=CS,X3+f4*(X3)
f3*(S)
X3*
H
I
E
4
8
4
H
F
9
7
7
I
G
6
7
6
H
Procedimiento de solución hacia atrás Etapa n=2 En la segunda etapa, el cazafortunas tiene 3 jornadas por recorrer (n=2). Suponga que sale de C.
C
E
+ f3*(E)=f2(C)
=C
C,E
+ f3*(E)
=3+4=7
F
+ f3*(F)=f2(C)
=C
C,F
+ f3*(F)
=2+7=9
G
+ f3*(G)=f2(C)
=C
C,G
+ f3*(G) =4+6=10
Luego f2*(C)= 7 y X2*=E . En general para la etapa 2 se tiene: S 11 Ing. Laura Bazán Díaz UNC
X2 f2*(S, X2)=CS,X2+f3*(X2)
f2*(S)
X2*
E
F
G
B
11
11
12
11
EóF
C
7
9
10
7
E
D
8
8
11
8
EóF
Procedimiento de solución hacia atrás Etapa n=1 En la primera etapa, el cazafortunas tiene todas las jornadas por recorrer (n=1). Necesariamente debe salir de A.
A
B
+ f2*(B)=f1(A)
=C
A,B
+ f2*(B)
=2+11=13
C
+ f2*(C)=f1(A)
=C
A,C
+ f2*(C)
=4+7=11
D
+ f2*(D)=f1(A)
=C
A,D
+ f2*(D) =3+8=11
Luego f1*(A)= 11 y X1*=C ó D . Veamos:
S
X1 f2*(S, X2)=CS,X2+f3*(X2) A
12
Ing. Laura Bazán Díaz UNC
B
C
D
13
11
11
f2*(S)
X2*
11
CóD
Solución E
1
3
A
4
C
H F
4 1
3
3 J
3
4 I
D Podemos apreciar que existen 3 rutas óptimas. 13
Ing. Laura Bazán Díaz UNC
Características de la programación Dinámica 1. EL problema se puede dividir por etapas, que requieren una política de decisión en cada una de ellas. 2. Cada etapa tiene un cierto número de estados asociados a su inicio. (Estados son las diferentes condiciones posibles en las que se puede encontrar el sistema en cada etapa del problema). 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. 4. El procedimiento pretende hallar la política óptima para el problema completo. Esto quiere decir, la política a emplear desde cualquier posible estado del problema. 14
Ing. Laura Bazán Díaz UNC
Características de la programación Dinámica 5. Dado el estado actual, la política óptima desde este estado es independiente de las políticas adoptadas en las etapas anteriores. (La solución óptima depende únicamente del estado actual y no de cómo se llegó allí).
6. El procedimiento de la solución termina cuando se obtiene la política óptima de la última etapa. 7. Siempre se dispone de una relación recursiva, esto es lo que permite trabajar las decisiones interrelacionadas. La relación recursiva será: fn*(Sn)= Max
fn*(Sn)= Mín
15
Ing. Laura Bazán Díaz UNC
Xn
Xn
{fn(S,Xn)} o también
{fn(S,Xn)}
Características de la programación Dinámica N: número de etapas n: etiqueta para la etapa actual (1,2, …, N)
Sn: Estado actual para la etapa n. Xn: Variable de decisión para la etapa n.
8. Cuando se tiene una relación recursiva como la de la función, el procedimiento de solución “hacia atrás” inicia en la última etapa y se mueve hacia la primera, etapa por etapa.
S
Xn fn*(S, Xn)=CS,Xn+fn+1*(XN)
16 X *: Valor Óptimo de X dado S . n n n Ing. Laura Bazán Díaz UNC
fn*(S)
Xn*
EL PROBLEMA DE LA MOCHILA
Ejemplo Un barco de 4 toneladas puede cargarse con uno o más de tres artículos. La siguiente tabla da el peso unitario wi en toneladas y el ingreso unitario en miles de dólares , ri para el artículo i. El objetivo es determinar la cantidad de unidades de cada artículo que maximizará el rendimiento total.
18
Ing. Laura Bazán Díaz UNC
Articulo i
wi
ri
1
2
31
2
3
47
3
1
14
ETAPA 3 Como el peso unitario wi y el peso máximo W son enteros, el estado xi asume solo valores enteros. ETAPA 3 El peso exacto a ser asignado a la etapa 3 (artículo 3) no se conoce con anticipación pero puedo suponer uno de los valores 0, 1, 2, 3 y 4 (porque W=4 toneladas y w3=1. 19
Ing. Laura Bazán Díaz UNC
Un valor de m3 es factible solo si w3*m3x3). El ingreso para el artículo 3 es 14m3. En consecuencia, la ecuación recursiva para la etapa 3 es: f3(x3)= máx 14m3, para m3=0,1,..4
Cálculos para la ETAPA 3 14m3 x3 0 1 2 3 4
20
m3=0 0 0 0 0 0
m3=1 14 14 14 14
Ing. Laura Bazán Díaz UNC
m3=2 28 28 28
m3=3 42 42
m3=4 56
Solución óptima f3(x3) m*3 0 0 14 1 28 2 42 3 56 4
Cálculos para la ETAPA 2 Max{m2}=4/3=1 o m2=0 o 1 f2(x2)=max 47m2+f3(x2-3m2)
47m2+f3(x2-3m2) Solución óptima X2 m2=0 m2=1 f2(x2) m*2 0 0+0=0 0 0 1 0+14=14 14 0 2 0+28=28 28 0 3 0+42=42 47+0=47 47 1 4 0+56=56 47+14=61 61 1 21
Ing. Laura Bazán Díaz UNC
Cálculos para la ETAPA 1 Max{m1}=4/2=2 o m1=0 o 1 o 2 f1(x1)=max 31m1+f2(x1-2m1)
31m1+f2(x1-2m1)
22
Solución óptima x1 m1=0 m1=1 m1=2 f1(x1) m*1 0 0+0=0 0 0 1 0+14=14 14 0 2 0+28=28 31+0=31 31 1 3 0+47=47 31+14=45 47 0 4 0+61=61 31+28=59 62+0=62 62 2
Ing. Laura Bazán Díaz UNC
SOLUCIÓN ÓPTIMA Dado que W=4 toneladas, del estado 1, x1=4, se da la alternativa óptima m*1=2; es decir que en el barco se cargarán dos unidades del artículo 1. Esta asignación deja, x2=x1-2m1=4-2*2=0 para las etapas 2 y 3. De la etapa 2, x2=0 da por resultado m2=0, lo cual deja x3=x2-3m2=0-3*0=0 unidades para la etapa 3. Luego a partir de la etapa 3, x3=0 da m*3=0. Por lo tanto, la solución óptima completa es: m1*=2, m*2=0 y m*3=0. El rendimiento asociado es f1(4)=$62000.
23
Ing. Laura Bazán Díaz UNC
¿Qué sucede si la capacidad del barco es de 3 toneladas en lugar de 4? La nueva solución óptima puede determinarse como (x1=3)(m1*=0) (x3=0)(m3*=0)
(x2=3)(m2*=1)
Por lo tanto la solución óptima es (m*1, m*2, m*3)=(0,1,0) y el ingreso óptimo es f1(3)=$47000 24
Ing. Laura Bazán Díaz UNC
EJERCICIO Un excursionista debe empacar 3 artículos: alimento, botiquín de primeros auxilios y ropa. La mochila tiene una capacidad de 3 pies cúbicos. Cada unidad de alimento ocupa 1 pie cúbico, el botiquín ocupa ¼ de pie cúbico y cada pieza de ropa ocupa aproximadamente ½ pie cúbico. El excursionista asigna pesos de prioridad de 3, 4 y 5 al alimento, el botiquín y la ropa, respectivamente, lo que significa que la ropa es lo más valioso de los tres artículos. Por experiencia, el excursionista debe llevar al menos una unidad de cada artículo y no más de dos botiquines. ¿Cuántas unidades de cada artículo debe llevar el excursionista? 25
Ing. Laura Bazán Díaz UNC
View more...
Comments