P. 1
S1 – Programación Dinámica Determinística

S1 – Programación Dinámica Determinística

|Views: 11.662|Likes:
Publicado poradtello7
presentacion 1 de la programacion dinamica deterministica o determinista
presentacion 1 de la programacion dinamica deterministica o determinista

More info:

Categories:Types, School Work
Published by: adtello7 on Oct 20, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PPT, PDF, TXT or read online from Scribd
See more
See less

10/20/2015

pdf

text

original

S1 – Programación Dinámica Determinista

Ing. en Sistemas Computacionales Modelos Probabilísticos Paul Ramírez De la Cruz 23 ene 2007

Contenido
  

Introducción Ejemplo prototipo Referencias

23ene2007

Programación Dinámica Determinista

2

Introducción
 

La investigación de operaciones es un área de las matemáticas surgida durante la Segunda Guerra Mundial La investigación de operaciones se refiere al diseño y aplicación de modelos matemáticos con el fin de obtener la mejor solución posible a un problema, dadas ciertas limitaciones de recursos La programación dinámica es un método de investigación de operaciones que permite resolver un problema de n variables dividiéndolo en n problemas de una variable cada uno La solución particular de cada etapa depende del contexto, por lo que no hay un modelo general para programación dinámica La solución óptima de cada etapa se utiliza como variable de entrada de la etapa siguiente
Programación Dinámica Determinista 3

23ene2007

Ejemplo prototipo

Supongamos que una corporación tiene un presupuesto de $5 millones para hacer ampliaciones en tres de sus plantas Cada planta tiene varias propuestas de inversión, junto con su costo de expansión (c) y el retorno (beneficio) total esperado (r)

 

Planta 1

Planta 2

Planta 3

Propues-ta

c1 0 1 2 -

r1 0 5 6 -

c2 0 2 3 4

r2 0 8 9 12

c3 0 1 -

r3 0 4 4

1 2 3 4

23ene2007

Programación Dinámica Determinista

Ejemplo prototipo
  

Supongamos que a cada planta se le permitirá realizar una de sus propuestas El objetivo es maximizar el beneficio de la compañía al invertir los $5 millones por completo Una forma poco eficiente de realizar la selección de la propuesta adecuada para cada planta es realizar un análisis exhaustivo En esta situación, habrá 3(4)(2) = 24 combinaciones posibles
 

Algunas no son factibles, por ejemplo: (3,3,2) requiere de una inversión de $6 millones Otras son factibles, pero con un beneficio bajo, por ejemplo: (1,1,2) produce un retorno de sólo $4 millones
Programación Dinámica Determinista 5

23ene2007

Ejemplo prototipo

Otras dificultades que enfrentar:

Si se tiene un problema con muchas más opciones, el análisis exhaustivo se hace aún más ineficiente La información obtenida de combinaciones examinadas previamente no se utiliza para eliminar nuevas combinaciones que sean peores o infactibles El problema no se puede formular como programación lineal, porque el beneficio obtenido no es una función lineal de la inversión
Programación Dinámica Determinista 6

23ene2007

Planteamiento

Dividamos el problema en tres etapas, cada una de las cuales representa el dinero que se asigna a una sola planta
   

Etapa 1: Dinero asignado a la planta 1 Etapa 2: Dinero asignado a las plantas 1 y 2 Etapa 3: Dinero asignado a las plantas 1, 2 y 3 En este caso la numeración de las etapas es arbitraria {0,1,2,3,4,5}: La cantidad de dinero gastada en la planta 1, x1 {0,1,2,3,4,5}: La cantidad de dinero gastada en las plantas 1 y 2, x2 {5}: La cantidad de dinero gastada en las plantas 1, 2 y 3 (porque se debe gastar todo), x3

Observemos que cada etapa tiene un conjunto de estados que puede asumir:
 

23ene2007

Programación Dinámica Determinista

7

Planteamiento

 

Notemos que a diferencia de la programación lineal, aquí las xi, son una representación de los posibles estados de cada etapa Cada estado tiene asociado un beneficio Observemos también que a fin de tomar una decisión en la tercera etapa, sólo requerimos conocer cuánto se gastó en las dos etapas previas y no cómo se gastó
Programación Dinámica Determinista 8

23ene2007

Planteamiento
 

Determinemos el beneficio asociado con cada estado Comenzando con la primera planta:

Si el capital  Entonces la  Y el beneficio  disponible, x1,  propuesta  por la etapa  óptima es uno es es


23ene2007

Si el capital disponible, x1, es de cero, entonces la propuesta que maximiza el beneficio para dicho capital es la propuesta uno, y el beneficio en la etapa uno será de cero Si el capital disponible, x1, es de uno, entonces la propuesta que maximiza el beneficio para dicho capital es la propuesta dos, y el beneficio en la etapa uno será de cinco… Prosiguiendo así, tenemos:

0 1 2 3 4 5

1 2 3 3 3 3

0 5 6 6 6 6
9

Programación Dinámica Determinista

Planteamiento
  

   

Ahora realicemos los cálculos para la etapa 2 Supongamos que deseamos calcular la mejor asignación para cuando x2 = 4 La propuesta 1 de la etapa 2 da un beneficio de 0; como se requiere de una asignación de 0, quedan 4 para la etapa 1, la cual a su vez proporciona 6. Beneficio total: 6 La propuesta 2 da un beneficio de 8, quedan 2 para la etapa 1, la cual a su vez proporciona 6. Beneficio total: 14 La propuesta 3 da un beneficio de 9, queda 1 para la etapa 1, que a su vez da 5. Beneficio total: 14 La propuesta 4 da un beneficio de 12, lo cual deja 0 para la etapa 1, que da un beneficio de 0. Beneficio total: 12 Viendo las opciones anteriores, la mejor propuesta es (etapa 1,etapa 2) = (3,2) o (2,3), lo cual da un beneficio total de 14
Programación Dinámica Determinista 10

23ene2007

Planteamiento
Si el capital  disponible, x2, es 0 1 2 3 4 5
23ene2007

Entonces la  Y el beneficio por  propuesta óptima es las etapas 1 y 2 es 1 1 2 2 2o3 4
Programación Dinámica Determinista

0 5 8 13 14 17
11

Planteamiento
 

Ahora vayamos a la etapa 3. Como debemos asignar toda la inversión, debe ocurrir que x3 = 5 La propuesta  1 de la etapa 3 da un beneficio de 0; como tiene costo de 0, quedan 5 para las etapas 1 y 2, entonces la opción a tomar en la etapa 2 es la 4, que da un beneficio acumulado de 17 para las etapas 1 y 2. Beneficio total: 17 La propuesta 2 da un beneficio de 4, deja 4 para las etapas 1 y 2, por lo cual la mejor propuesta para estas dos es la 2 o la 3, lo cual da un beneficio acumulado de 14 para las etapas 1 y 2. Beneficio total: 18 Notemos que los cálculos se hacen de forma recursiva: para calcular la etapa 3 se usa la etapa 2, y esta a su vez se resuelve usando la solución de la etapa 1

23ene2007

Programación Dinámica Determinista

12

Principio de optimalidad

Las futuras decisiones para las etapas restantes constituirán una política óptima, sin importar cuál haya sido la política adoptada en las etapas previas

23ene2007

Programación Dinámica Determinista

13

Ejercicio

Repita el ejemplo anterior, Suponga que la corporación tiene un presupuesto de $6 millones para hacer ampliaciones en tres de sus plantas

 

Planta 1

Planta 2

Planta 3

Propues-ta

c1 0 1 2 -

r1 0 6 5 -

c2 0 2 3 4

r2 0 4 6 8

c3 0 1 -

r3 0 5 14

1 2 3 4

23ene2007

Programación Dinámica Determinista

Características comunes de los problemas de programación dinámica
   

El problema original de n variables de decisión se puede dividir en n etapas con una decisión por tomar en cada etapa Cada etapa tiene un número de estados asociado a ella La decisión tomada en una etapa conduce a cierto estado en la etapa siguiente (anterior) Dado el estado actual, la decisión óptima para cada uno de los estados restantes no depende de las decisiones o etapas previos Existe una relación recursiva que identifica la decisión óptima para la etapa i, dado que la etapa i-1 (recursión hacia delante) o i+1 (recursión hacia atrás) ha sido resuelta La etapa final (inicial) debe ser resoluble sin hacer referencia a las siguientes

23ene2007

Programación Dinámica Determinista

15

Fórmulas recursivas hacia delante

Denotemos por rij al beneficio por la propuesta j en la etapa i y al costo correspondiente por cij Sea fi ( xi ) el beneficio obtenido en la etapa i, suponiendo que se está en el estado xi , entonces f1 ( x1 ) = max { r1 j } y
fi ( xi ) = max rij + fi −1 ( xi − cij ) ; i = 2,3
cij ≤ xi

{

}

c1 j ≤ x1

23ene2007

Programación Dinámica Determinista

16

Fórmulas recursivas hacia atrás
 

Sean rij y cij como antes Sea yi el beneficio óptimo obtenido en las etapas 1, 2,…, i Sea f i ( yi ) el beneficio obtenido en la etapa i, suponiendo que se está en el estado yi , entonces f ( y ) = max r
3 3 c3 j ≤ y3

{ }
3j

fi ( yi ) = max rij + fi +1 ( yi − cij ) ; i = 2,3
cij ≤ yi
23ene2007 Programación Dinámica Determinista 17

{

}

Ejemplo 2

Suponga que se desea seleccionar la ruta más corta entre las ciudades O y T La red a continuación muestra las rutas posibles entre ambas ciudades, las cuales cruzan por las ciudades intermedias A-E

A 7 O 5 8 B

12 8 9 7 C 13 E D 9 T

6

23ene2007

Programación Dinámica Determinista

18

Ejemplo 2

fi ( xi ) =
23ene2007

Utilizando programación dinámica podemos dividir el problema en tres etapas La red siguiente muestra las etapas 1, 2 y 3 en que se ha dividido el problema Definimos las fórmulas recursivas hacia delante: f 0 ( x0 ) = 0
rutas ( xi −1 , xi

min

{d( x )

i −1

, xi ) + fi −1 ( xi −1 ) } ; i = 1, 2,3

Programación Dinámica Determinista

19

Ejemplo 2

Fórmulas recursivas hacia atrás
f 4 ( x4 ) = 0

fi ( xi ) =

rutas ( xi , xi +1

min

{ d ( x , x ) + f ( x )} ; )
i i +1 i +1 i +1
Programación Dinámica Determinista

i = 1, 2,3

23ene2007

20

Etapas
f0 = 0 7 8 O 5 5 C 5 C 7 13 f1 = 7 A 8 B f1 = 7 A 8 B 9 17 E 17 E 6 12 8 D D 9 T f2 = 12 f2 = 12 f3 = 21

23ene2007

Programación Dinámica Determinista

21

Etapa 1

Nodo A

Distancia más corta al nodo A = 7 (desde el nodo O) Distancia más corta al nodo B = 8 (desde el nodo O) Distancia más corta al nodo C = 5 (desde el nodo O)
Programación Dinámica Determinista 22

Nodo B

Nodo C

23ene2007

Etapa 2

Nodo D

Ruta AD: 7+2 = 19; Ruta BD: 8+8 = 16; Ruta CD: 5+7 = 12 Distancia más corta al nodo D = min{7+12,8+8,5+7} = 12 (desde el nodo C) Ruta BE: 8+9 = 17; Ruta CE: 5+13 = 18 Distancia más corta al nodo E = min{8+9,5+13} = 17 (desde el nodo B)
Programación Dinámica Determinista 23

Nodo E
 

23ene2007

Etapa 3

Nodo T
 

Ruta DT: 12+9 = 21; Ruta ET: 17+6 = 23 Distancia más corta al nodo T = min{12+9,17+6} = 21 (desde el nodo D)

23ene2007

Programación Dinámica Determinista

24

Ejercicio 2

Resuelva el problema anterior con recursión hacia atrás Verifique que se obtiene el mismo resultado

23ene2007

Programación Dinámica Determinista

25

Ejercicio 3

Encuentre la ruta más corta entre O y T usando programación dinámica con recursión hacia adelante suponiendo que se tiene la siguiente red
A 5 O 8 9 C 9 E
26

10 17 4 10

D 8 T 9

9

B

23ene2007

Programación Dinámica Determinista

Tarea

Encuentre la ruta más corta entre O y T usando programación dinámica con recursión hacia adelante suponiendo que se tiene la siguiente red
A 6 2 4 3 2 4 2 C 4 1 5 F 7 4 D 4 6 E 3 3 3 H
27

1

G 3 T 4

O

B

23ene2007

Programación Dinámica Determinista

Referencias

 

Hillier, Frederick S. y Lieberman Gerald J. Introducción a la investigación de operaciones. McGraw-Hill Interamericana. 8ª edición. México, 2006. Optimization  Partner. Dictionary of optimization. http://www.optimizationpartner.se/index.php?cid=38 Consultado el 22 de enero de 2007 Taha,  Hamdy  A. Investigación de operaciones. Una introducción. Pearson Educación. 6ª edición. México, 1997 Trick,  Michael  A. A tutorial on dynamic programming. http://mat.gsia.cmu.edu/classes/dynamic/dynamic.html Consultado el 22 de enero de 2007

23ene2007

Programación Dinámica Determinista

28

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->