PROGRAMACIÓN DINÁMICA

December 17, 2017 | Author: Eliseo Fustamante Blanco | Category: Dynamic Programming, Mathematical Optimization, Applied Mathematics, Systems Analysis, Areas Of Computer Science
Share Embed Donate


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

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF