Está en la página 1de 44

Programacin dinmica

Problemas

Tipo particular de problemas de optimizacin

de decisin

Sistemas que evolucionan con el tiempo


Se toman decisiones en momentos sucesivos de
tiempo

Decisiones dependen del estado del sistema

Polticas ptimas: mejores decisiones para un


estado dado

Ejemplo 1
Problema de inventarios

Demanda prevista para los prximos 12 meses:

250 200 200 250 300 300 350 300 250 250 200 350

Costes
Costes de pedido - fijos:
- variables:
Costes de inventario:
Costes de ventas perdidas:

200
10
2
25

Ejemplo 1

Variables:

Meses en los que se hace un pedido


Tamao del pedido
Supondremos que los valores posibles son prefijados:
0 100 200 300 400 500

Funcin objetivo:

Coste total de operacin del sistema

Restricciones:

Tamao de los inventarios, ventas perdidas

Ejemplo 2
Generacin

de energa elctrica

Precios estimados para prximas 12 horas


45 45 47 49 51 49 51 47 45 49 52 49

Variables

Niveles de produccin de una unidad

Objetivo

Mximo beneficio

Ejemplo 2

Costes de generacin

C () = 41 E + 0.015 E 2
Zona de operacin permisible:
100 300 Mwh
Coste de arranque:
20000
Costes de cambios en el nivel de generacin:
150
Mxima tasa de cambio:
50 Mwh/h

Ejemplo 2

Variables:

Niveles de generacin

Supondremos los siguientes valores aceptables


0 - 100 - 150 - 200 - 250 - 300

Restricciones:

Mximo cambio en los niveles de generacin

Mximo/mnimo nivel de generacin

Incluido en los valores aceptables

Formulacin del problema


Elementos

Variables de estado

Informacin necesaria para conocer la situacin del


sistema, xt

Variables de decisin

del problema

Acciones a tomar para modificar el estado, yt

Ley de movimiento

Relacin entre variables de estado y de decisin


xt+1 = gt ( xt , yt )

Formulacin del problema


Elementos

del problema (ii)

Funcin de costes
t t ft ( 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 planificacin

Formulacin del problema


Problema

de programacin matemtica

Min t t ft ( xt , yt ) + ( xT )
s.a xt+1 = gt ( xt , yt )
yt Y

Se quiere calcular la poltica ptima

Funciones yt = at ( xt ) que proporcionen el ptimo


para el problema anterior

No solo los valores ptimos de las variables


Solucin ms robusta

Principio del Mximo

Clculo de soluciones

Demasiado costoso explorar todas las alternativas


Seleccionar algunas alternativas:
Principio del mximo
Solo algunas alternativas satisfacen condiciones
necesarias para estar en un mximo

Se estudian distintas partes de la solucin


Todas ellas deben parecer ser parte del ptimo

10

Principio del Mximo


Variables

Situacin del sistema en cada periodo

Inventarios, nivel de generacin

Variables

de estado:

de control:

Decisiones a tomar

Momentos de pedido, tamaos de pedido, cambios en


niveles de generacin

11

Principio del Mximo


Descripcin

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

12

Principio del Mximo

Consecuencias:

Construir una trayectoria ptima a partir de partes


pequeas
El problema se reduce a una serie de problemas de menor
tamao
Ventajoso si costes de solucin crecen ms rpido que
linealmente
Problemas menores: para un periodo nico
Limitacin:
Como xt* no se conoce, probar todos los valores

13

Principio del Mximo


Ilustracin

x
x0

14

Principio del Mximo


Ilustracin

x
xt
xt

1
2
1>2?
t t+1

T
15

Principio del Mximo


Aplicacin

Partimos de la situacin en T
Para cada estado, coste del estado VT (x )
Para cada periodo de tiempo y cada estado,
calculamos:

accin ptima en t
compatible con costes ptimos de t +1 a T

16

Principio del Mximo


Aplicacin

Formalmente, calculamos una funcin de valor

Vt ( x ) = miny { ft ( x , y ) + Vt+1(gt ( x , y )) }
para cada valor de x y de t

Una vez obtenidos los valores para t = 0

Seleccionar valor correspondiente a estado inicial

Reconstruir camino de mnimo coste

17

Principio del Mximo


Procedimiento de solucin

1.
2.

Se calcula el valor de la funcin 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 mnimo (poltica ptima)

18

Principio del mximo


Procedimiento de solucin

3.

Se repite el proceso hasta t = 0

4.

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

19

Ejemplo 1
Gestin

de inventarios

Estado: nivel de inventario


Variables de control: pedidos
Objetivo: costes
Horizonte de tiempo: 12 periodos
Valor final

Valoracin inventarios periodo 13

V13 (I13 ) = -10I13

20

Ejemplo 1
Aplicacin

del procedimiento

Para el periodo 12,

V12 (I ) = minP {f (I,P ) + V13(I13(I ,P ))}

I13(I ,P ) = max (0, I + P - D12)


Clculo 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

21

Ejemplo 1

Valores para I = 100,


P
0 100 200 300 400
V 3950 3550 3050 2800 2800
Valor ptimo para I = 100,
V12 (100) = 2800, si P = 300 400
Valores ptimos
I
V
P

0
50
100
150
200
250
300
3600 3200
2800
2400
2000
1600
1200
400 400-300 400-300 400-200 400-200 400-100 400-100

22

Ejemplo 1
Repetir

proceso para otros periodos

Clculos 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

23

Ejemplo 1

Resultados
I
V13
V12
V11
V10
V9
V8
V7

0
0
3600
5700/2
8500/3
11000
14100
17950

50
-500
3200
5400/2
7900/2
10700
13900
17300

100
-1000
2800
4900/1
7700/2
10200
13300
17150

150
-1500
2400
4600/1
7100/1
9900
13100
16500

200
-2000
2000
4000/0
6850/1
9400
12500
16350

250
-2500
1600
3700/0
6200/0
9000
12250
15700

300
-3000
1200
3400/0
6000/0
8500
11600
15450

Inicio del periodo 7


Qu sucedera si I7 = 200?

24

Ejemplo 1
Solucin

ptima para I7 = 200

Periodo
7 8
9 10 11 12 13
Inventario 200 0
0 50 0
0 50
Pedido
100 300 300 200 200 400
Calcular valores a partir del periodo 7

Usando el tamao ptimo de pedido, calcular el


inventario en el periodo 8
Repetir hasta el periodo 13

25

Ejemplo 1
Qu

sucedera si I7 = 50?

Utilizar la informacin en tabla ptima


Repetir el procedimiento para obtener

Periodo
7 8 9 10 11 12 13
Inventario 50 0 0 50 0 0 50
Pedido
300 300 300 200 200 400

26

Ejemplo 2

Generacin de energa elctrica

Estado: nivel de generacin


Variables de control: cambio de nivel
Objetivo: beneficio
Horizonte de tiempo: 12 horas
Valor final: valoracin de nivel de generacin
V13(P13) =

500

si P13 > 0

si P13 = 0

27

Ejemplo 2
Clculos

Para t = 12,
V12 (P ) = max {f (P , ) + V13(P13(P,))}
P13(P , ) = P + , = 0 , 50
Valores para P = 100, = 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

28

Ejemplo 2
Otros

clculos

Para

P = 100,

0
50
-50
V 21.25 565 561.5
Valor

ptimo para P = 100,


V12(100) = 565, si = 0

Valores

P
V

0
0

ptimos
100 150 200 250 300
565 586.3 600 606.3 605

29

Ejemplo 2
Resultados
P
V13
V12
V11
V10
V9
V8
V7

0
0
0
0
0
0
0
0

100
500
565
685.3
793.1
853.4
922.2
1028.4

150
500
586.6
731.6
841.9
885.6
941.9
1070.6

200
500
600
762.8
876.6
896.6
956.6
1096.6

250
300
500
500
606.3
605
787.5
800
893.8
905
900
890
956.3 936.6
1112.5 1102.8

Inicio del periodo 7

Qu sucede si P7 = 200?

30

Ejemplo 2
Solucin

ptima para P7 = 200

Hora
7 8
9 10 11 12 13
Generacin 200 200 200 200 250 250 250
Cambio
0 0
0 50 0
0

De los valores en la tabla ptima


Valores

de las variables de control

Cdigo de colores en la tabla

31

Ejemplo 3
Renovacin

de equipos

Coste de compra:
100
Costes de operacin:

Ao
1
2
3
4
5
6

Coste
9
10
12
15
20
25

Valor residual
75
55
35
20
10
2

32

Ejemplo 3
Encontrar

poltica de renovacin ptima

Para un horizonte de 6 aos


Para un horizonte de 7 aos
Para un horizonte infinito

Factor de descuento: 0.95


Condicin inicial: edad del equipo
Problema adicional: horizonte infinito

33

Ejemplo 3
Formulacin

Variable de estado:

Edad del equipo

Variable de decisin:

del problema:

Renovar o no en un periodo dado

Costes: operacin, compra, valor residual


Funcin de valor: coste total

34

Ejemplo 3
Solucin

Suponiendo un horizonte a 5 aos:


V6(e ) = Vr (e )

Periodo 5:
V5 (e ) = min { Ca - Vr (e ) + Co (1) + V6(2) ,
Co (e ) + V6(e + 1) }

35

Ejemplo 3
Resultados

Si el equipo tiene una edad de dos aos

Horizonte a 6 aos:
Renovar pasados 5 aos
Horizonte a 7 aos:
Renovar pasados 4 aos
Como seleccionar entre ambas opciones?

Resolver con horizonte infinito

36

Horizonte Infinito
Para

que el problema tenga solucin

Datos estacionarios
Definir y trabajar con coste por periodo

Frmula

de solucin

J (x ) = minu {c (u ) + J (y (x ,u ))}
Procedimientos de solucin:

Iteraciones sucesivas
Iteracin en polticas

37

Ejemplo 3
Clculos

para horizonte infinito


J0 = 0, Jk+1 = minu {cu + PuJk }

J100 = ( 530 548 567 584 599 610 )

Decisiones:

( NR NR NR NR NR R )
Poltica ptima:
Renovar tras 6 periodos

38

Principio del Mximo


Extensiones:

Datos aleatorios

Se optimiza el valor esperado


Vt (x ) = minu E {ct (ut ,wt) + Vt+1(xt+1(x ,ut ,wt ))}

Tiempo continuo

Solucin directa solo es posible en casos especiales


Discretizar el tiempo

39

Programacin dinmica
Resumen

Tcnica potente pero compleja


Existen herramientas computacionales eficientes

Tanto para formulacin como para solucin

Soluciones no son siempre intuitivas


Herramientas adaptadas a propiedades del
modelo

Programacin lineal

40

Ejemplo 4

Hillier y Lieberman

Un estudiante tiene 10 das para


preparar los exmenes de 4 cursos
Asignar das de estudio a cada curso
Cada da asignado a un nico curso
Estimacin de mejoras en
calificaciones

Optimizando la mejora en las


calificaciones

A B C D
1 2 3 2 3
2 4 3 3 4
3 5 4 5 5
4 6 5 6 7

41

Ejemplo 5

Hillier y Lieberman

Se quiere disear 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

C1

C2

C3

C4

1 0,55

0,6 0,7 0,5

2 0,65

0,7 0,8 0,65

3 0,85

0,8 0,9 0,8

C1

C2

C3

C4

1 100 200 100 200


2 200 400 300 300
3 300 500 400 400

42

Ejemplo 6

Valoracin de opciones

Te ofrecen una opcin para comprar acciones


Vencimiento en 3 meses
Precio de ejercicio 24
Estimacin del comportamiento de la accin
Promedio de cambio semanal 0,5
Desviacin tpica 1
En realidad estos valores debieran darse sobre las tasas
de cambio
Valor de la opcin en funcin del valor de la accin

43

Ejemplo 7
Hillier

y Lieberman

Campaa de publicidad

3 etapas: ofertas especiales, anuncios y fidelizacin


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

44

También podría gustarte