440 likes | 699 Views
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.
E N D
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
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
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
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
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
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
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 )
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
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
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
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
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
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
x x0 t T Principio del Máximo • Ilustración
x xt’ 1 xt 2 1>2? t t+1 T Principio del Máximo • Ilustración
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
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
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)
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
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
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 + 10300 + 2100 = 3300 V (I,P) = f (I,P) + V(I13) = 3300 - 500 = 2800
Ejemplo 1 • Valores para I = 100, • Valor óptimo para I = 100, V12(100) = 2800, si P = 300 ó 400 • Valores óptimos
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 = 2150 + 2550 = 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
Ejemplo 1 • Resultados • Inicio del periodo 7 • ¿Qué sucedería si I7 = 200?
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
Ejemplo 1 • ¿Qué sucedería si I7 = 50? • Utilizar la información en tabla óptima • Repetir el procedimiento para obtener
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
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
Ejemplo 2 • Otros cálculos • Para P = 100, • Valor óptimo para P = 100, V12(100) = 565, si = 0 • Valores óptimos
Ejemplo 2 • Resultados • Inicio del periodo 7 • ¿Qué sucede si P7 = 200?
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
Ejemplo 3 • Renovación de equipos • Coste de compra: 100 • Costes de operación:
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
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
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) }
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
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
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
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
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
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
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€
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
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