La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Programación Dinámica

Presentaciones similares


Presentación del tema: "Programación Dinámica"— Transcripción de la presentación:

1 Programación Dinámica

2 Programación Dinámica
Es un procedimiento matemático diseñado principalmente para mejorar la eficiencia de cálculo de problemas de programación matemática seleccionados, descomponiéndolos en subproblemas de menor tamaño y por consiguiente mas fáciles de calcular. La PD normalmente resuelve el problema en etapas mediante el criterio del Principio de Optimalidad. Los cálculos en las diferentes etapas se enlazan a través de cálculos recursivos de manera que se genere una solución óptima factible a todo el problema

3 Programación Dinámica
Principio de Optimalidad Una política óptima solo puede estar formada por subpolíticas óptimas Establece el marco de referencia unificador para los n sub problemas o n etapas de los problemas de programación dinámica.

4 Metodologías de Planteamiento
A medida que se estudie cada aplicación de la programación dinámica, hay que definir correctamente 3 elementos básicos: Etapas: es el mecanismo con el que construimos el problema Alternativas en cada etapa: Estado de cada etapa: es cualquier etapa de la información necesaria para tomar la decisión correcta en la etapa actual

5 Programación Dinámica Determinista
Técnica que se aplica para encontrar la solución óptima de un problema con n variables descomponiéndolo en n etapas, siendo cada etapa un sub-problema de cada variable.

6 Programación Dinámica Determinista
Modelo de Mochila (Carga-Volumen) Consiste en abordar un problema de carga de artículos que poseen diferentes niveles de utilidad, en medios de carga con capacidad limitada. El objetivo es seleccionar las cargas más valiosas a transportar.

7 Modelo de Mochila Ejemplo
Se tienen N=3 artículos que se desean trasportar en la mochila que posee una capacidad de C=15Kg N=3 P b C=15 9 kg $ 38 6 kg $ 40 5 kg $ 24 Siendo p = peso del articulo b = beneficio o ganancia

8 Modelo de Mochila Algoritmos voraces N=3 p b 9 38 4.22 6 40 6.66 5 24
4.80 Solución M={0,1,1} = $64 Solución Optima M={1,1,0} =$78

9 Modelo de Mochila Ecuación Recurrente
Si (j – p) < 0 : el mayor será siempre el otro valor Ecuación Recurrente C+1 Diseño y Dimensiones de la tabla j N+1 i

10 N=3 p b C=15 9 38 6 40 5 24 15+1 j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 i 3+1

11 N=3 p b C=15 9 38 6 40 5 24 Si (j – p) < 0 : el mayor será siempre el otro valor j 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 i

12 N=3 p b C=15 9 38 6 40 5 24 Si (j – p) < 0 : el mayor será siempre el otro valor 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 j i

13 N=3 p b C=15 9 38 6 40 5 24 Si (j – p) < 0 : el mayor será siempre el otro valor 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 38 40 78 28 64 j i

14 De lo contrario se agregara a la mochila y se restara el peso a
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 38 40 78 28 64 j i Si => M[ i , j ] = M[i-1 , j] => El articulo no se incluirá en la mochila i=i-1 De lo contrario se agregara a la mochila y se restara el peso a capacidad de la mochila

15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 38 40 78 28 64 j i Si => M[ i , j ] = M[i-1 , j] => El articulo no se incluirá en la mochila i=i+1 N=3 p b 9 38 6 40 5 24 De lo contrario se agregara a la mochila y se restara el peso a capacidad de la mochila

16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 38 40 78 28 64 j i Si => M[ i , j ] = M[i-1 , j] => El articulo no se incluirá en la mochila i=i+1 N=3 p b 9 38 6 40 5 24 De lo contrario se agregara a la mochila y se restara el peso a capacidad de la mochila

17 N=3 p b C=15 9 38 6 40 5 24 Solución Optima M={1,1,0} = $78

18 Programación Dinámica Determinista
Aplicaciones  1. Transporte Marítimo: cargar artículos en un barco con capacidad de peso limitada. 2. Equipaje de Emergencia: un piloto de jet debe determinar los artículos más valiosos (de emergencia) a llevar a bordo del jet. 3. Problema de la Mochila: un soldado (o un excursionista) debe decidir cuáles son los artículos más valiosos para llevar en su mochila.

19 Programación Dinámica Determinista
Modelo del Número de Empleados En algunos proyectos de construcción, las contrataciones y los despidos se ejercen para mantener un número de empleados que satisfaga las necesidades del proyecto. Debido a que las actividades tanto de contratación como de despido incurren en costos adicionales, ¿cómo se debe mantener el número de empleados a todo lo largo de la vida del proyecto? La aplicación de este método nos ayuda a responder dicha pregunta.

20 Planteamiento del problema
Supóngase que el proyecto se ejecutará durante el lapso de n semanas y que el número mínimo de empleados requeridos en la semana i es bi trabajadores. Bajo condiciones ideales, es deseable que el numero de empleados en la semana i fuera exactamente bi, sin embargo, dependiente de los costos, puede ser más económico permitir que el número de empleados varié mas arriba de los requeridos mínimos.

21 Problema Un contratista de una construcción calcula que el número de trabajadores necesarios durante las próximas 5 semanas es de: 5, 7, 8, 4 y 6 trabajadores, respectivamente. El exceso de trabajadores que se mantienen en la fuerza laboral costará $300 por trabajador y por semana. Las nuevas contrataciones en cualquier semana incurrirán en un costo fijo de $400 más $200 por trabajador y por semana. Se desea tener el menor costo total en la planilla de la fuerza laboral. ¿Cómo se debe mantener el número de empleados a lo largo de proyecto?

22 Resumen del Problema Etapas: las 5 semanas (i). i=1, 2, 3, 4, 5.
Alternativas: número real de trabajadores empleados (xi) . Estados: número trabajadores en la semana inmediamente anterior (xi-1). Datos importantes 5 semanas

23 Definición de Variables
i= semanas. xi= número real de trabajadores empleados por semana. xi-1= número de trabajadores de la semana anterior. bi= número de trabajadores requeridos por semana. b1=5, b2=7, b3=8, b4=4, b5=6. c1= costo exceso. c2= costo fijo + variable. n= etapa actual(n=1,2,3..n) . Datos importantes 5 semanas 5, 7, 8, 4, 6 num trab. Costo de exceso de trabajadores: $300. Costo de contratar o despedir trabajadores: fijo: $400, variable: $200.

24 Función Recursiva

25 Fórmulas c1(xi-bi) = 300(xi-bi) para xi > bi
c2(xi-xi-1) = (xi-xi-1) para xi > xi-1 con i= 1,2,3,4,5 Función Recursiva : fi(xi-1)=min{(c1(xi-bi)+ c2(xi-xi-1)+fi+1(xi)} *Importante: fn+1(xn)=0 (los calculos empiezan en la etapa n con xn= bn y terminan en la etapa 1).

26 (c1(xi-bi)+ c2(xi-xi-1))
Etapa 5 b1= 5 b2= 7 b3= 8 b4= 4 b5= 6 n=5, b5=x5=6 Xi-1 (c1(xi-bi)+ c2(xi-xi-1)) (300(x5-b5) (x5-x4)) Solución óptima X4 X5=6 f5* (f5(x4)) x5* 4 300(6-6) (6-4)=800 800 6 5 300(6-6) (6-5)=600 600 300(6-6) (6-6)=0* 0* 6*

27 (c1(xi-bi)+ c2(xi-xi-1) + fi+1(xi)})
Etapa 4 Datos importantes: f5*= f5(x4) 4=800 5=600 6=0 b1= 5 b2= 7 b3= 8 b4= 4 b5= 6 = n=4 b4=4 Xi-1 (c1(xi-bi)+ c2(xi-xi-1) + fi+1(xi)}) (300(x4-4) (x4-x3) + f5(x4)) Solución óptima X3 X4=4 X4=5 X4=6 f4* o f4(x3) x4* 8 300(4-4) (4-8)+800 = solución = 800 300(5-4) (5-8)+600= 300(1) = Solución = 900 300(6-4) (6-8) +0= 300(2)+0+0= 600 600 6

28 (c1(xi-bi)+ c2(xi-xi-1) + fi+1(xi)})
Etapa 3 b1= 5 b2= 7 b3= 8 b4= 4 ≠ 6 b5= 6 = Datos importantes: f4*= f4(x3) 6=600 n=3 b3=8 Xi-1 (c1(xi-bi)+ c2(xi-xi-1) + fi+1(xi)}) (300(x3-8) (x3-x2) + f4(x3)) Solución óptima X2 X3=8 f3* o f3(x2) x3* 7 300(8-8) (8-7)+600= 1200 1200 8 300(8-8) (8-8)+600=600 600

29 (c1(xi-bi)+ c2(xi-xi-1) + fi+1(xi)})
Datos importantes: f3*= f3(x2) 7=1200 8=600 Etapa 2 n= 2 b2=7 Xi-1 (c1(xi-bi)+ c2(xi-xi-1) + fi+1(xi)}) (300(x2-7) (x2-x1) + f3(x2) Solución óptima X1 X2=7 X2=8 f2* o f2(x1) x2* 5 300(7-7) (7-5) = 2000 300(8-7) (8-5) + 600= 1900 1900 8 6 300(7-7) (7-6) = 1800 300(8-7) (8-6) + 600= 1700 1700 7 300(7-7) (7-7) = 1200 300(8-7) (8-7) + 600= 1500 1200 300(7-7) (7-8) = =1200 300(8-7) (8-8) + 600= 900 900

30 (c1(xi-bi)+ c2(xi-xi-1) + fi+1(xi)})
Etapa 1 Datos importantes: f3*= f3(x2) 5=1900 6=1700 7=1200 8=900 b1= 5 = b2= 7 ≠ 8 b3= 8 = b4= 4 ≠ 6 b5= 6 = n=1 b1=5 Xi-1 (c1(xi-bi)+ c2(xi-xi-1) + fi+1(xi)}) (300(x1-5) (x1-x0) + f4(x3)) Solución óptima X0 X1=5 X1=6 X1=7 X1=8 f1* o f1(x0) x1* 300(5-5) (5-0)+ 1900= 3300* 300(6-5) (6-0)+ 1700= 3600 300(7-5) (7-0)+ 1200= 3600 300(8-5) (8-0)+ 900= 3800 3300* 5*

31 Núm. de trabajadores mínimos(bi) Núm. real de trabajadores (xi)
Solución Factible: X1=5,x2=8,x3=8,x4=6,x5=6 Semana Núm. de trabajadores mínimos(bi) Núm. real de trabajadores (xi) Decisión 1 5 Contratar 5 trabajadores 2 7 8 Contratar 3 trabajadores 3 Ningún cambio 4 6 Despedir 2 trabajadores

32 Programación Dinámica Determinista
Modelo de Remplazo de Equipo Mientras más tiempo este en servicio una máquina, más elevado será su costo de Mantenimiento y su producción será menor. Cuando una máquina llega a cierta edad, puede resultar más económico remplazarla. Por lo consiguiente el problema se reduce a determinar la antigüedad más económica de la máquina.

33 Método Remplazo de Equipo
Cuando una máquina llega a cierta edad, se elevan sus costos operacionales y de mantención, por lo que puede ser más económico reemplazarla. Luego, hay que determinar la edad de vida útil económica de la máquina. Se supone el problema de reemplazo de equipo a lo largo de n años. Al principio de cada año se decide si se quiere prolongar el servicio del equipo un año más, o reemplazarlo por uno nuevo.

34 Se pueden tomar 2 decisiones cada año: Beneficios
Se definen: r(t) : beneficio anual del equipo de edad t años c(t) : costo de operación del equipo de edad t años s(t) : valor de rescate del equipo que ha estado en servicio durante t años I : costo de adquisición de un equipo nuevo en cualquier. Se pueden tomar 2 decisiones cada año: Beneficios Conservar la maquina r(t)-c(t) Reemplazar la maquina s(t)-l

35 Etapas: Alternativas: Conservar la maquina Reemplazar la maquina
i: son los años i=1,2,3,…… n Alternativas: Conservar la maquina Reemplazar la maquina Estados: t1, edad de la maquina al principio del año i Función Recursiva: Fi(t) Ingreso neto máximo para los años i Fi(t)= Max r(t)-c(t)+fi+1(t+1) Si se conserva s(t)-l+r(0)-c(0)+fi+1(1) Si se reemplaza Fn+1(t)=s(t) Se vende la maquina a valor residual

36 Ejemplo reemplazo de equipo
Se necesita determinar la política de reemplazo óptima para una máquina que en la actualidad tiene 3 años, durante los próximos 4 años (n = 4), es decir, hasta principios del año 5La compañía requiere que una máquina de 6 años se reemplace. El costo de una máquina nueva es de $ La siguiente tabla proporciona los datos del problema: Edad t(año) Utilidad r(t) Costo Operación c(t) Rescate s(t) 20000 200 - 1 19000 600 80000 2 18500 1200 60000 3 17200 1500 50000 4 15500 1700 30000 5 14000 1800 10000 6 12200 2200 5000

37 La determinación de los estados es un tanto difícil, se recomienda hacer una red edad de la máquina v/s año de la decisión, para distinguir los estados posibles y los valores factibles para la edad de la máquina en cada etapa. Edad de la maquina Principio Año decisión

38 Solución en forma tabular
La red muestra que al principio del año 2 , las edades posibles de las maquinas son 1 y 4 años. Para principios del año 3, las edades posibles son 1,2 y 5 años y para principios del año 4, las edades posibles son 1,2,3 y 6 años. La solución de la red consiste en encontrar la ruta mas larga desde el principio del año 1 hasta finales del año 4. Etapa 4 K R Solución Optima t r(t)+s(t+1)-c(t) r(0)+s(t)+s(1)-c(0)-I f4(t) Decisión 1 =78400 =79800 79800 2 =67300 =59800 67300 3 =45700 =49800 49800 6 Se debe reemplazar =4800 4800

39 Etapa 3 Etapa 2 K R Solución Optima t r(t)-c(t)+f4(t+1)
r(0)+s(t)-c(0)-I+f4(1) f3(t) Decisión 1 =85700 =79600 85700 2 =67100 =59600 67100 5 =17000 =19600 19600 K R Solución Optima t r(t)-c(t)+f3(t+1) r(0)+s(t)-c(0)-I+f3(1) f2(t) Decisión 1 =85500 =85500 85500 K o R 4 =33400 =35500 35500

40 Etapa 1 K R Solución Optima t r(t)-c(t)+f2(t+1) r(0)+s(t)-c(0)-I+f2(1)
Decisión 3 =51200 =55300 55300

41 Al principio del año 1 la decisión optima dada t=3, es remplazar la maquina. Por tanto, la maquina nueva tendrá un año al principio del año 2 y t= 1 al principio del año 2 requiere ya sea conservar o reemplazar la maquina. Si se reemplaza, la maquina nueva tendrá 1 año al principio del año 3; de lo contrario, la maquina que se conservó tendrá 2 años. El proceso se continua de esa manera hasta cubrir el año 4. Año 1 Año 2 Año 3 Año 4 K (t=2) K (t=3) R Fin (t=3) R (t=1) R (t=1) K (t=2) K Las políticas alternativas optimas empezando en el año 1 son (R,K,K,R) y (R,R,K,K). El costo total es de dólares.

42 Programación Dinámica Probabilística
La programación dinámica probabilística (PDP) es una técnica matemática útil para la toma de decisiones interrelacionadas, se presenta cuando el estado en la siguiente etapa no está determinado por completo por el estado y la política de decisión de la etapa actual. En su lugar existe una distribución de probabilidad para determinar cuál será el siguiente estado.

43 Programación Dinámica Probabilística
Modelo probabilístico de Inversión Los modelos de análisis de inversiones probabilísticos son modelos matemáticos que intentan simular como se comportarán las principales variables en el caso de realizarse la inversión. Un modelo de análisis de inversiones nunca podrá predecir con exactitud cómo se comportarán las variables en el futuro, pero son necesarios para contar con información objetiva y para encontrar puntos débiles que pueden hacer peligrar el proyecto de inversión.

44 Ejemplo Una corporación recibe propuestas de sus tres plantas respecto a la posible expansión de las instalaciones. La corporación tiene un presupuesto de 5 millones de dólares para asignarlo a las tres plantas. Cada planta expone sus propuestas indicando el costo total (C) y el ingreso total (R) para cada propuesta. El objetivo es maximizar el ingreso total resultante.

45 Las plantas definen las etapas
Las plantas definen las etapas. Las variables de decisión 1 x , 2 x y 3 x se definen de la siguiente manera: 1 x = monto de capital asignado a la planta 1. 2 x = monto de capital asignado a las plantas 1 y 2. 3 x = monto de capital asignado a las plantas 1, 2 y 3.

46 Rn(Pn) = ingreso de la propuesta Pn en la etapa n.
ƒn(Xn) = rendimiento óptimo de las etapas 1, 2, , n dado el estado Xn . Pj = propuesta óptima asociada a ƒn(Xn) Por lo tanto se tiene

47 Factibilidad

48 Ahora se define la parte faltante de la ecuación recursiva y que corresponde a las etapas 2, 3, . . . Pero como a ƒn(Xn) es función de Xn exclusivamente, el lado derecho también debe serlo, esto se consigue teniendo en cuenta que

49 donde Cn(Pn) es el costo de la propuesta Pn en la etapa n
donde Cn(Pn) es el costo de la propuesta Pn en la etapa n. Esta ecuación ilustra la forma en que opera el procedimiento recursivo: de un dado Xn se asigna una parte (Cn(Pn)) para cubrir la propuesta Pn de la etapa n y la cantidad restante ( x n-1 = x n - Cn(Pn) (6) se destina a cubrir las propuestas de las etapas 1,2, ,n-1. Se tiene, entonces:

50

51 La tabla para la última etapa posee solamente una fila, pues al no haber etapas restantes no deben considerarse todas las posibilidades de inversión sino, únicamente, el caso 3 x =5.

52 Solución Cualquier de estas tres triplas da 17 millones como el máximo a obtener de ganancia de la inversión: (2,4, 1) (3, 2, 2) (2, 3, 2)

53 Muchas Gracias


Descargar ppt "Programación Dinámica"

Presentaciones similares


Anuncios Google