1 / 44

Programación dinámica

Programación dinámica. Problemas de decisión Tipo particular de problemas de optimización Sistemas que evolucionan con el tiempo Se toman decisiones en momentos sucesivos de tiempo Decisiones dependen del estado del sistema Políticas óptimas: mejores decisiones para un estado dado.

lynelle
Download Presentation

Programación dinámica

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programación dinámica • Problemas de decisión • Tipo particular de problemas de optimización • Sistemas que evolucionan con el tiempo • Se toman decisiones en momentos sucesivos de tiempo • Decisiones dependen del estado del sistema • Políticas óptimas: mejores decisiones para un estado dado

  2. Ejemplo 1 • Problema de inventarios • Demanda prevista para los próximos 12 meses: 250 200 200 250 300 300 350 300 250 250 200 350 • Costes • Costes de pedido - fijos: 200 - variables: 10 • Costes de inventario: 2 • Costes de ventas perdidas: 25

  3. Ejemplo 1 • Variables: • Meses en los que se hace un pedido • Tamaño del pedido • Supondremos que los valores posibles son prefijados: 0 – 100 – 200 – 300 – 400 – 500 • Función objetivo: • Coste total de operación del sistema • Restricciones: • Tamaño de los inventarios, ventas perdidas

  4. Ejemplo 2 • Generación de energía eléctrica • Precios estimados para próximas 12 horas 45 45 47 49 51 49 51 47 45 49 52 49 • Variables • Niveles de producción de una unidad • Objetivo • Máximo beneficio

  5. Ejemplo 2 • Costes de generación C (€) = 41E + 0.015E 2 • Zona de operación permisible: 100 – 300 Mwh • Coste de arranque: 20000 € • Costes de cambios en el nivel de generación: 150 € • Máxima tasa de cambio: 50 Mwh/h

  6. Ejemplo 2 • Variables: • Niveles de generación • Supondremos los siguientes valores aceptables 0 - 100 - 150 - 200 - 250 - 300 • Restricciones: • Máximo cambio en los niveles de generación • Máximo/mínimo nivel de generación • Incluido en los valores aceptables

  7. Formulación del problema • Elementos del problema • Variables de estado • Información necesaria para conocer la situación del sistema, xt • Variables de decisión • Acciones a tomar para modificar el estado, yt • Ley de movimiento • Relación entre variables de estado y de decisión xt+1 = gt ( xt , yt )

  8. Formulación del problema • Elementos del problema (ii) • Función de costes t tft ( xt , yt ) + ( xT) • Factor de descuento, t • Medida de preferencia por ingresos actuales frente a ingresos futuros • Solo es importante para horizontes largos • Valor final, ( xT) • Preferencia por que el sistema termine en un estado u otro • T , horizonte de planificación

  9. Formulación del problema • Problema de programación matemática Min t tft ( xt , yt ) + ( xT) s.a xt+1 = gt ( xt , yt ) yt Y • Se quiere calcular la política óptima • Funciones yt = at ( xt ) que proporcionen el óptimo para el problema anterior • No solo los valores óptimos de las variables • Solución más robusta

  10. Principio del Máximo • Cálculo de soluciones • Demasiado costoso explorar todas las alternativas • Seleccionar algunas alternativas: • Principio del máximo • Solo algunas alternativas satisfacen condiciones necesarias para estar en un máximo • Se estudian distintas partes de la solución • Todas ellas deben parecer ser parte del óptimo

  11. Principio del Máximo • Variables de estado: • Situación del sistema en cada periodo • Inventarios, nivel de generación • Variables de control: • Decisiones a tomar • Momentos de pedido, tamaños de pedido, cambios en niveles de generación

  12. Principio del Máximo • Descripción • Problema a resolver en un intervalo de tiempo [0,T ] partiendo de x0 • Trayectoria óptima de variables de estado, xt*, t [0,T ] • Propiedad de la trayectoria óptima: • Si empezamos desde xt*, obtenemos la misma trayectoria

  13. Principio del Máximo • Consecuencias: • Construir una trayectoria óptima a partir de partes pequeñas • El problema se reduce a una serie de problemas de menor tamaño • Ventajoso si costes de solución crecen más rápido que linealmente • Problemas menores: para un periodo único • Limitación: • Como xt* no se conoce, probar todos los valores

  14. x x0 t T Principio del Máximo • Ilustración

  15. x xt’ 1 xt 2 1>2? t t+1 T Principio del Máximo • Ilustración

  16. Principio del Máximo • Aplicación • Partimos de la situación en T • Para cada estado, coste del estado VT (x) • Para cada periodo de tiempo y cada estado, calculamos: • acción óptima en t • compatible con costes óptimos de t +1 a T

  17. Principio del Máximo • Aplicación • Formalmente, calculamos una función de valor Vt (x) = miny { ft ( x, y) + Vt+1(gt( x, y)) } para cada valor de xy de t • Una vez obtenidos los valores para t = 0 • Seleccionar valor correspondiente a estado inicial • Reconstruir camino de mínimo coste

  18. Principio del Máximo • Procedimiento de solución • Se calcula el valor de la función VT (x) = ( x) • Para el periodo T – 1 se calcula VT-1(x) como VT-1(x) = miny { fT-1 ( x, y) + VT (gT-1 ( x, y)) } • Para cada valor de x se calcula el valor de fT-1 ( x, y) + VT (gT-1 ( x, y)) para todos los valores de y • Se selecciona el menor y se conserva el valor de y(x) que corresponde al mínimo (política óptima)

  19. Principio del máximo • Procedimiento de solución • Se repite el proceso hasta t = 0 • Se obtiene V0(x0) • Se reconstruye la trayectoria óptima a partir de los valores de y(x) • Se parte de x0 y se obtiene y0 = y(x0) • Se calcula x1 = g0( x0 , y0 ) • Se repite el proceso hasta obtener xT

  20. Ejemplo 1 • Gestión de inventarios • Estado: nivel de inventario • Variables de control: pedidos • Objetivo: costes • Horizonte de tiempo: 12 periodos • Valor final • Valoración inventarios periodo 13 V13 (I13 ) = -10I13

  21. Ejemplo 1 • Aplicación del procedimiento • Para el periodo 12, V12(I) = minP {f (I,P) + V13(I13(I,P))} I13(I,P) = max (0, I +P - D12) • Cálculo de valores (I = 100, P = 300): I13 = I +P - D = 100 + 300 - 350 = 50 f (I,P) = K + cP + hI = 100 + 10300 + 2100 = 3300 V (I,P) = f (I,P) + V(I13) = 3300 - 500 = 2800

  22. Ejemplo 1 • Valores para I = 100, • Valor óptimo para I = 100, V12(100) = 2800, si P = 300 ó 400 • Valores óptimos

  23. Ejemplo 1 • Repetir proceso para otros periodos • Cálculos para I = 150, P = 0, t = 11: I12 =I +P-D = 150 + 0 - 200 = -50, I12 = 0 f (I,P)= hI + sD = 2150 + 2550 = 1550 V (I,P)=f (I,P)+V(I12)=1550+3600=5150 • Valor óptimo para I = 150, t = 11: V11 (150) = 4600, si P = 100

  24. Ejemplo 1 • Resultados • Inicio del periodo 7 • ¿Qué sucedería si I7 = 200?

  25. Ejemplo 1 • Solución óptima para I7 = 200 • Calcular valores a partir del periodo 7 • Usando el tamaño óptimo de pedido, calcular el inventario en el periodo 8 • Repetir hasta el periodo 13

  26. Ejemplo 1 • ¿Qué sucedería si I7 = 50? • Utilizar la información en tabla óptima • Repetir el procedimiento para obtener

  27. Ejemplo 2 • Generación de energía eléctrica • Estado: nivel de generación • Variables de control: cambio de nivel • Objetivo: beneficio • Horizonte de tiempo: 12 horas • Valor final: valoración de nivel de generación 500 si P13 > 0 V13(P13) = 0 si P13 = 0

  28. Ejemplo 2 • Cálculos • Para t = 12, V12(P) = max {f(P , ) + V13(P13(P,))} P13(P , ) = P + ,  = 0 , 50 • Valores para P = 100, D= 50: P13 = P +  = 150 f(P,)=pP - aP - bP 2 - c = 61.6 (P = 125) V(P,)=f(P , )+V(P13)=61.6+500=561.6

  29. Ejemplo 2 • Otros cálculos • Para P = 100, • Valor óptimo para P = 100, V12(100) = 565, si  = 0 • Valores óptimos

  30. Ejemplo 2 • Resultados • Inicio del periodo 7 • ¿Qué sucede si P7 = 200?

  31. Ejemplo 2 • Solución óptima para P7 = 200 • De los valores en la tabla óptima • Valores de las variables de control • Código de colores en la tabla

  32. Ejemplo 3 • Renovación de equipos • Coste de compra: 100 • Costes de operación:

  33. Ejemplo 3 • Encontrar política de renovación óptima • Para un horizonte de 6 años • Para un horizonte de 7 años • Para un horizonte infinito • Factor de descuento: 0.95 • Condición inicial: edad del equipo • Problema adicional: horizonte infinito

  34. Ejemplo 3 • Formulación del problema: • Variable de estado: • Edad del equipo • Variable de decisión: • Renovar o no en un periodo dado • Costes: operación, compra, valor residual • Función de valor: coste total

  35. Ejemplo 3 • Solución • Suponiendo un horizonte a 5 años: V6(e) = Vr (e) • Periodo 5: V5(e) = min { Ca - Vr (e) + Co (1) + V6(2) , Co (e) + V6(e + 1) }

  36. Ejemplo 3 • Resultados • Si el equipo tiene una edad de dos años • Horizonte a 6 años: Renovar pasados 5 años • Horizonte a 7 años: Renovar pasados 4 años • ¿Como seleccionar entre ambas opciones? • Resolver con horizonte infinito

  37. Horizonte Infinito • Para que el problema tenga solución • Datos estacionarios • Definir y trabajar con coste por periodo • Fórmula de solución J (x) = minu {c (u) +  J(y (x,u))} • Procedimientos de solución: • Iteraciones sucesivas • Iteración en políticas

  38. Ejemplo 3 • Cálculos para horizonte infinito J0 = 0, Jk+1 = minu {cu +  PuJk} J100 = ( 530 548 567 584 599 610 ) • Decisiones: ( NR NR NR NR NR R ) • Política óptima: • Renovar tras 6 periodos

  39. Principio del Máximo • Extensiones: • Datos aleatorios • Se optimiza el valor esperado Vt (x) = minu E {ct (ut,wt) + Vt+1(xt+1(x,ut ,wt ))} • Tiempo continuo • Solución directa solo es posible en casos especiales • Discretizar el tiempo

  40. Programación dinámica • Resumen • Técnica potente pero compleja • Existen herramientas computacionales eficientes • Tanto para formulación como para solución • Soluciones no son siempre intuitivas • Herramientas adaptadas a propiedades del modelo • Programación lineal

  41. Ejemplo 4 • Hillier y Lieberman • Un estudiante tiene 10 días para preparar los exámenes de 4 cursos • Asignar días de estudio a cada curso • Cada día asignado a un único curso • Estimación de mejoras en calificaciones  • Optimizando la mejora en las calificaciones

  42. Ejemplo 5 • Hillier y Lieberman • Se quiere diseñar un sistema que requiere de cuatro componentes • Para mejorar la fiabilidad se pueden instalar varias unidades de cada componente en paralelo • Las probabilidades de funcionamiento correcto y los costes se dan en las tablas siguientes • El presupuesto disponible es de 1000€

  43. Ejemplo 6 • Valoración de opciones • Te ofrecen una opción para comprar acciones • Vencimiento en 3 meses • Precio de ejercicio 24€ • Estimación del comportamiento de la acción • Promedio de cambio semanal 0,5€ • Desviación típica 1€ • En realidad estos valores debieran darse sobre las tasas de cambio • Valor de la opción en función del valor de la acción

  44. Ejemplo 7 • Hillier y Lieberman • Campaña de publicidad • 3 etapas: ofertas especiales, anuncios y fidelización • Etapa 1: m = 10 x1 - x12 • Etapa 2: f2 = 0.4 + 0.1 x2 • Etapa 3: f3 = 0.6 + 0.07 x3 • Presupuesto total: 4 M€ • Maximizar m f2 f3

More Related