Академический Документы
Профессиональный Документы
Культура Документы
Andrs Ramos
Universidad Pontificia Comillas
http://www.iit.comillas.edu/aramos/
Andres.Ramos@comillas.edu
PROGRAMACIN DINMICA
PROGRAMACIN DINMICA
Definiciones
Tcnica matemtica orientada a la solucin de problemas con decisiones secuenciales en
etapas sucesivas donde se debe minimizar el coste total de dichas decisiones.
En cada etapa se valora no slo el coste actual de tomar una decisin sino los costes futuros
que se originan a partir de ella.
k
Etapas:
uk
Decisiones en cada etapa:
Estados (situaciones en que puede encontrarse el sistema en cada etapa):
xk
PROGRAMACIN DINMICA
xk
En cada etapa se evala la decisin ptima para cada uno de sus estados xk .
Cada estado guarda toda la informacin necesaria para tomar las decisiones futuras sin
necesidad de conocer cmo se ha alcanzado dicho estado.
Es un procedimiento recursivo que resuelve de manera iterativa, incorporando cada vez una
etapa, partes cada vez mayores del problema original.
El procedimiento puede hacerse hacia delante o hacia atrs.
PROGRAMACIN DINMICA
PROGRAMACIN DINMICA
Ejemplo
Buscamos el camino ms corto entre Madrid y Barcelona y averiguamos que la solucin
ptima del problema pasa por Zaragoza.
Andorra
Lrida
Barcelona
Lrida
Zaragoza
Castelln
Zaragoza
Madrid
Valencia
Si nos preguntamos por el camino ms corto entre Zaragoza y Barcelona, es obvio que ser
el mismo que el utilizado en la solucin del problema global (Madrid - Barcelona).
Si existiera un camino ms corto entre Zaragoza y Barcelona (problema parcial), lo
habramos tomado como parte de la solucin del problema global.
PROGRAMACIN DINMICA
xk
xk +1
PROGRAMACIN DINMICA
Coste acumulado desde una etapa k + 1 hasta el final para un estado xk +1 , f k*+1 ( xk +1 )
PROGRAMACIN DINMICA
B
6
E
1
4
4
3
A
H
3
6
F
J
3
4
3
1
D
PROGRAMACIN DINMICA
3
5
Estados x4
H
I
4
8
9
7
6
7
Para la etapa k = 2
Estados x3
PROGRAMACIN DINMICA
10
Estados x2
B
C
D
E
11
7
8
F
11
9
8
Finalmente en la etapa k = 1
Estados x2
Estado x1 B C D Distancia acumulada f1* Decisin ptima u1*
A
13 11 11
11
C, D
Ruta ptima: A
A
A
C
D
D
E
E
F
H
H
I
J
J
J
PROGRAMACIN DINMICA
4+3+1+3=11
3+4+1+3=11
3+1+3+4=11
A
2+4+3+4=13
11
Estado x1
Distancia acumulada f 2* Decisin ptima u2*
A
2
2
A
4
4
A
3
3
A
Para k = 3
Estados x3
E
F
G
PROGRAMACIN DINMICA
Estados
B C
9 7
6 6
8 8
x2
D Distancia acumulada f 3* Decisin ptima u3*
7
7
C, D
4
4
D
8
8
B, C, D
12
Para k = 4
Estados x4
H
I
Estados
E F
8 10
11 7
x3
G Distancia acumulada f 4* Decisin ptima u4*
11
8
E
11
7
F
Ruta ptima: J
J
J
PROGRAMACIN DINMICA
H
H
I
E
E
F
C
D
D
A
A
A
3+1+3+4=11
3+1+4+3=11
4+3+1+3=11
13
PROGRAMACIN DINMICA
14
PROGRAMACIN DINMICA
15
Demanda (MW)
1999
2000
2001
2002
2003
2004
1000
2000
4000
6000
7000
8000
Coste de inversin
por generador de 1 GW
[/GW ao]
50
55
60
65
45
40
PROGRAMACIN DINMICA
16
Etapa
k = 2004
Estado
8000
7000
15+40=55
55
1000
8000
Etapa
k = 2003
Estado
7000
8000
6000
15+45+55=115
15+90=105
105
2000
7000
55
15+45=60
55
8000
PROGRAMACIN DINMICA
17
Etapa
k = 2002
Estado
6000
7000
8000
4000
15+130+105=250 15+195+55=265
250
2000
5000
15+65+105=185
15+130+55=200 15+195=210
185
1000
6000
105
15+65+55=135
15+130=145
105
55
15+65=80
55
7000
8000
Etapa
k = 2001
Estado
4000
5000
6000
7000
8000
2000
15+120+250=385 15+180+185=380
380
3000
3000
15+60+250=325
15+120+185=320 15+180+105=300
300
3000
4000
250
15+60+185=260
15+120+105=240 15+180+55=250
240
2000
15+60+105=180
15+120+55=190 15+180=195
180
1000
15+60+55=130
105
5000
6000
PROGRAMACIN DINMICA
185
105
15+120=135
18
Etapa
k = 2000
Estado
2000
1000
3000
5000
6000
2000
3000
Etapa
k= 1999
Estado
1000
4000
2000
3000
3000
360
3000
285
3000
1999
2000
2001
2002
2003
2004
3000
3000
3000
0
0
2000
0
PROGRAMACIN DINMICA
19
Andrs Ramos
Mariano Ventosa
Mayo 1996
PROGRAMACIN DINMICA
20
CONTENIDO
1. Introduccin.
2. Algoritmo de la Programacin Dinmica.
3. Ejemplo: Gestin de un embalse de bombeo puro.
4. Programacin Dinmica Estocstica.
5. Formulacin Matemtica.
6. Modelo de gestin hidrotrmica desarrollado por Red Elctrica de Espaa (MITRE):
6.1. Modelo bsico.
6.2. Proceso de clculo.
6.3. Tratamiento de la aleatoriedad en la demanda y los fallos trmicos.
6.4. Tratamiento de la aleatoriedad en las aportaciones
6.5. Consideracin de mltiples embalses.
PROGRAMACIN DINMICA
21
REFERENCIAS
[1] Bertsekas, 87. "Dynamic Programming. Deterministic and Stochastic Models". Prentice-Hall, Inc. New Jersey,
1987.
[2] REE. Modelos Hidrotrmicos. Documento interno de Red Elctrica de Espaa.
PROGRAMACIN DINMICA
22
INTRODUCCIN
Problemas que aborda la Programacin Dinmica:
- Metodologa matemtica orientada a la solucin de problemas en los que se
deben tomar decisiones en etapas sucesivas, con el objetivo final de
minimizar el coste total de dichas decisiones.
- Las consecuencias de las decisiones pueden no ser completamente
predecibles.
- Un aspecto fundamental de este tipo de problemas es que al tomar una
opcin en una de las etapas, no tenemos que valorar slo el coste actual de
dicha decisin sino los costes futuros en que incurriremos por causa de
ella.
PROGRAMACIN DINMICA
23
Castelln
Zaragoza
Madrid
PROGRAMACIN DINMICA
Valencia
24
PROGRAMACIN DINMICA
25
PROGRAMACIN DINMICA
26
* x k:
* uk:
27
Escenario
wk
Operaciones
uk
SISTEMA
xk
Estado
siguiente
xk+1
PROGRAMACIN DINMICA
28
29
PROGRAMACIN DINMICA
30
Etapa 0
x0
Etapa 1
x1
xN-2
xN-1
PN-2
P0
xN
PN-1
P1
PROGRAMACIN DINMICA
31
PROGRAMACIN DINMICA
32
PROGRAMACIN DINMICA
33
- La demanda vale w2 = 3.
- Debemos obtener la gestin ptima y su coste (bombeo + demanda no
satisfecha +almacenamiento) para cada estado posible al principio del
periodo.
Estado Inicial
x2
0
PROGRAMACIN DINMICA
Decisin
u2
0
1
2
0
1
2
0
1
2
0
1
2
Estado Final
x3
0
0
0
0
0
0
0
0
1
0
1
2
Coste
0+2+3+0 = 6
1+2+2+0 = 5
2+2+1+0 = 4
0+2+2+0 = 4
1+2+1+0 = 3
2+2+0+0 = 2
0+2+1+0 = 2
1+2+0+0 = 1
2+2+0+0.1 = 2.1
0+2+0+0 = 0
1+2+0+0.1 = 1.1
2+2+0+0.2 = 2.2
34
Estado Inicial
x1
0
PROGRAMACIN DINMICA
Decisin
u1
0
1
2
0
1
2
0
1
2
0
Estado Final
x2
0
0
1
0
1
2
1
2
3
2
Coste
0+2+1+0+4 = 6
1+2+0+0+4 = 5
2+2+0+0.1+2 = 4.1
0+2+0+0+4 = 4
1+2+0+0.1+2 = 3.1
2+2+0+0.2+1 = 3.2
0+2+0+0.1+2 = 2.1
1+2+0+0.2+1 = 2.2
2+2+0+0.3+0 = 2.3
0+2+0+0.2+1 = 1.2
35
PROGRAMACIN DINMICA
1
2
3
Imposible
1+2+0+0.3+0 = 1.3
-
36
Estado Inicial
x1
1
PROGRAMACIN DINMICA
Decisin
u1
0
1
2
Estado Final
x2
0
0
1
Coste
0+2+1+0+4.1 = 6.1
1+2+0+0+4.1 = 5.1
2+2+0+0.1+3.1=5.
2
37
PROGRAMACIN DINMICA
38
x0=1
x1=0
1.2
lleno = 3
x3=0
0
u1=0
2.1
semilleno = 2
semivaco = 1
x2=1
1
u1=0
5.1
3.1 u1=1
u2=0
u2=1
u0=1
u1=2
vaco = 0
u2=2
u2=2
4.1
w0=2
w1=1
w2=3
semana 1
semana 2
semana 3
PROGRAMACIN DINMICA
39
PROGRAMACIN DINMICA
40
PROGRAMACIN DINMICA
41
Ejemplo:
- En el caso anterior del embalse de bombeo la demanda se conoca
previamente y esto ha permitido optimizar la gestin del bombeo
(determinista).
- Hubiera sido ms realista considerar una demanda wk de funcin de
distribucin conocida. Por ejemplo:
w0,1,2= 1 con probabilidad 0.3
w0,1,2= 2 con probabilidad 0.5
w0,1,2= 3 con probabilidad 0.2
- Cuando se calcula el coste de cada decisin de bombeo, deber hacerse
para cada valor de la demanda wk y luego ponderar estos costes con sus
probabilidades para obtener el coste esperado.
PROGRAMACIN DINMICA
42
PROGRAMACIN DINMICA
43
FORMULACIN MATEMTICA
- Tenemos un sistema dinmico en tiempo discreto:
xk+1= fk (xk, uk, wk)
- Donde
+ k = 0, 1, ... N-1.
+ xk pertenece a un espacio de estados posibles.
+ uk pertenece a un espacio de controles posibles y puede estar
restringido en cada estado de cada etapa a un subconjunto del
mismo.
+ wk
PROGRAMACIN DINMICA
44
- Llamamos = {0, 1, ..., N-1} a una ley de control que para cada estado xk
proporciona un control uk:
PROGRAMACIN DINMICA
uk = k (xk)
45
J 0 ( x0 ) = E g N ( xN ) + g k [ f k ( xk , k ( xk ), wk ) ]
wk
k =0
PROGRAMACIN DINMICA
46
J k ( xk ) = min E { g k ( xk , uk , wk ) + J k +1 [ f k ( xk , uk , wk ) ]}
uk wk
- Donde k = 0,1, ...,N-1.
PROGRAMACIN DINMICA
47
48
PROGRAMACIN DINMICA
49
PROGRAMACIN DINMICA
50
PROGRAMACIN DINMICA
51
Proceso de Clculo.
- La siguiente figura esquematiza el proceso de clculo de las dos ltimas
etapas.
PROGRAMACIN DINMICA
52
xN-2
xN-1
CN-23
xN= 0
CN-13
LLENO
3
CT1+CN-13
CN-22
CN-12
CT1+CN-12
CT1+CN-11
CN-21
CN-11
1
CT1+CN-10
CN-20
CN-10
VACIO
0
etapa N-2
PROGRAMACIN DINMICA
etapa N-1
53
C N -1 = C o s t e s f u t u r o s d e l a g u a
L a p e n d ie n te d e e sta
c u r v a e s e l v a lo r
m a r g in a l d el a g u a
en la eta p a N -1
C N -1 0
C N -1 1
C N -1 2
C N -1 3
x N -1
0
- Dado que el coste futuro del agua para la etapa N es igual a cero, la
trayectoria ptima en cada caso es la de mxima turbinacin.
- La curva de costes futuros CN-1 para la etapa xN-2 se obtiene de los costes
calculados para cada estado xN-1.
- Para la etapa N-2 hay que calcular los costes para cada estado xN-2. La
figura muestra el proceso para el nivel 1.
PROGRAMACIN DINMICA
54
PROGRAMACIN DINMICA
55
PROGRAMACIN DINMICA
56
PROGRAMACIN DINMICA
57
PROGRAMACIN DINMICA
58
PROGRAMACIN DINMICA
59
+ Ahora las cinco curvas de coste futuro (k+1) se ponderan con las
probabilidades compuestas, obtenindose cinco curvas, una para
cada nivel de aportaciones de la etapa k.
Mltiples Embalses.
- Para una representacin realista del caso espaol son necesarios entre 30
y 40 embalses.
- El nmero de estados posibles de cada etapa crece de forma exponencial al
considerar mltiples embalses (7 40), as como el nmero de trayectorias a
tantear para encontrar la ptima.
- Esto implica que la solucin del problema usando programacin dinmica
sobre los 40 embalses sea inviable (maldicin de la dimensionalidad).
- Para evitar este inconveniente de la programacin dinmica el problema se
resuelve de la siguiente forma:
PROGRAMACIN DINMICA
60
PROGRAMACIN DINMICA
61
PROGRAMACIN DINMICA
62