EG2205 Monte Carlo-simulering.fm

Monte Carlo-simulering
EG2205 Föreläsning 15–18, vårterminen 2015
Mikael Amelin
1
Kursmål
Tillämpa … Monte Carlo-simulering för att beräkna förväntad
driftkostnad och risk för effektbrist på en elmarknad, samt
använda simuleringsresultaten för att bedöma konsekvenserna
av olika åtgärder på en elmarknad.
2
Sannolikhetsfördelningar och väntevärden
Sannolikhetsfördelningen för en stokastisk variabel kan
beskrivas med fördelningsfunktionen, fX(x).
Väntevärdet för en diskret stokastisk variabel blir då
E[X] =
 xfX  x .
x
3
Sannolikhetsfördelningar och väntevärden
Exempel
% fX
100
80
60
40
20
x
1
2
3
4
E[X] = 0,4·1 + 0,3·2 + 0,2·3 + 0,1·4 = 2.
4
Sannolikhetsfördelningar och väntevärden
En alternativt synsätt på sannolikhetfördelningar är att betrakta
en stokastisk variabel, X, som en population av individuella
enheter:
x1, …, xN,
där
xi = utfall för X för enhet i,
N = antal enheter i populationen.
5
Sannolikhetsfördelningar och väntevärden
Med det alternativa synsättet kan väntevärdet för en diskret
stokastisk variabel skrivas som
1
E[X] = ---N
N
 xi .
i=1
6
Sannolikhetsfördelningar och väntevärden
Exempel
3
1
4
2
3
2
2
1
1
1
1
E[X] = ------ (1 + 1 + 1 + 1 + 2 + 2 + 2 + 3 + 3 + 4) = 2.
10
7
Enkel sampling
Sats 6.21: Om man har n oberoende observationer, x1, …, xn, av den stokastiska variabeln X så är
medelvärdet av dessa observationer,
1
m X = --n
n
 xi ,
i=1
en skattning av E[X].
8
Enkel sampling
1
Jämför E[X] = ---N
N

i=1
1
X i och m X = --n
n
 xi .
i=1
Enkel sampling innebär att man studerar ett begränsat antal
slumpmässigt valda observationer i stället för hela populationen!
9
Enkel sampling
•
•
•
Observera att skattningen mX också är en stokastisk
variabel!
E[mX] = E[X] (I annat fall skulle man ha ett systematiskt fel.)
Var[mX] ges av följande sats:
Sats 6.22: Det skattade väntevärdets varians vid
enkel sampling ges av
Var  X 
Var  m X  = ------------------ .
n
10
Enkel sampling
Noggrannhet
Skattningens varians, Var[mX], är intressant eftersom den
anger hur mkycket en skattning kan avvika från det korrekta
värdet.
f mX1
f mX2
x
X
x
X
I det här fallet är det troligt att mX1 är bättre än mX2.
11
Enkel sampling
Noggrannhet
Den praktiska slutsatsen av sats 6.22 är att om man ökar
antalet sampel så är det troligt att man får ett resultat som ligger
närmare det korrekta värdet.
Exempel 6.20 – Uppgift
Låt Ci vara resultatet av att singla slant:
Klave  Ci = 1
Krona  Ci = 0
Vilken sannolikhetsfördelning har
n
1
Hn = mC = ---  c i ?
n
i=1
12
Enkel sampling
Noggrannhet
Exempel 6.20 – Lösning
13
Enkel sampling
Noggrannhet
Exempel 6.20 – Lösning
14
Enkel sampling
Noggrannhet
Exempel 6.20 – Lösning
15
Enkel sampling
Noggrannhet
Exempel 6.20 – Lösning
16
Enkel sampling
Noggrannhet
Exempel 6.20 – Lösning
17
Enkel sampling
Noggrannhet
Exempel 6.20 – Lösning
18
Enkel sampling
Noggrannhet
Exempel 6.20 – Test
Hn
1
0.8
0.6
0.4
0.2
n
200
400
600
800 1 000
19
Enkel sampling
Konvergenskriterier
Hur vet vi när vi ska avsluta samplingen?
• Antalet sampel bestämt i förväg.
• Skattning av noggrannheten, t.ex. genom att studera variationskoefficienten.
20
Enkel sampling
Exempel 6.21 – Uppgift
•
•
•
Stokastisk produktionskostnadssimulering 
LOLPPPC = 1,0%.
Önskad noggrannhet: 95% chans att skattningen ligger
inom 0.05% från det korrekta värdet.
- Detta betyder att om det korrekta värdet på LOLP är
1,08% så önskar vi att skatningen ska hamna inom
intervallet 1,03% till 1,13%.
Skattningen mLOLO antas vara normalfördelad.
21
Enkel sampling
Exempel 6.21 – Lösning
•
•
Sannolikheten är 95% att en N(, )-fördelad stokastisk
variabel ligger inom intervallet   1,96.
I det här fallet vill vi att det intervall ska vara 0,0005
Standardavvikelsen för mLOLO måste vara mindre än
0,0005/1,96  0,000255
Variansen för mLOLO måste vara mindre än 0.0002552 
6.5·10–8.
22
Enkel sampling
Exempel 6.21 – Lösning
•
Var[mLOLO] beror på Var[LOLO], som inte är känd men som
kan antas vara ungefär lika med värdet från en stokastisk
produktionskostnadssimulering:
Var[LOLO]  LOLPPPC(1 – LOLPPPC) = = 0.01·0.99 = 0.0099.
•
Sats 6.22 ger att
Var  LOLO 
Var  m LOLO  = ------------------------------- .
n
•
Var[mLOLO] < 6.5·10–8 n > 152 127.
23
Enkel sampling
Variationskoefficient
Definition: Variationskoefficienten definieras
enligt
aX
=
Var  m X 
-------------------------- .
mX
24
Enkel sampling
Skattning av noggrannheten
•
•
Generera ett antal sampel.
Skatta Var[X] från
1
s X2 = --n
•
n
  xi – mX 2 .
i=1
Testa om aX är mindre än någon viss given toleransnivå, .
Om så är fallet avslutas simuleringen, annars får man
generera ytterligare sampel, o.s.v.
25
Enkel sampling
Exempel på användning av variationskoefficienten
Hn
a
1
0.8
0.6
0.4
0.2
0.25
0.2
0.15
0.1
0.05
n
200
400
600
800 1 000
26
Simulering av elmarknader
Y
•
•
•
gY
X
Scenarioparametrarna, Y, har en känd sannolikhetsfördelning.
Resultatvariablerna, X, har en okänd sannolikhetsfördelning.
Vi är framför allt intresserade av systemindex, som
definieras som väntevärdena av vissa resultatvariabler.
27
Simulering av elmarknader
Resultvariabel
TOC
LOLO
ENS
Systemindex
ETOC
LOLP
EENS
28
Enkel sampling
Tillämpning på elmarknadssimulering
Slumptalsgenerator
•
•
•
•
U
Inversa
transform
metoden
Y
Elmarknadsmodell
X
Sampling
mX
Skapa likformigt fördelade slumptal.
Transformera slumptalen till lämplig sannolikhetsfördelning
motsvarande scenarioparametrarna.
Studera hur elmarknaden beter sig i det givna scenariot.
Sampla resultatvariablerna.
29
Slumptalsgenerering
•
•
•
Pseudoslumptalsgenerator är en matematisk funktion som
givet ett frö skapar en sekvens av tal.
En bra slumptalsgenerator ger en sekvens som ligger nära
de statistiska egenskaperna för en U(0, 1)-fördelning.
- Utan att veta hur slumptalsgeneratorn är konstruerad
och dess inre tillstånd så är det omöjligt att förutsäga
nästa tal i sekvensen.
Slumptalsgeneratorer finns tillgängliga i de allra flesta
programspråk.
30
Transformering av slumptal
Det är inte särskilt troligt att scenarioparametrarna är U(0, 1)fördelade och således måste vi transformera resultatet från
slumptalsgenerator till rätt fördelning. Detta kan man göra med
den inversa transformmetoden:
Sats E.1: Om en stokastisk variabel U är U(0, 1)fördelad så får den stokastiska variabeln Y =
F Y– 1  U  fördelningsfunktionen FY(x).
I praktiken kan man lika gärna använda F̃ Y i stället för FY.
31
Transformering av slumptal
Exempel
F̃ D
1
U
x
200 D 400
600
800 MW
32
Transformering av slumptal
Normalfördelade slumptal
Det existerar ingen invers funktion till fördelningsfunktionen för
normalfördelningen, (x)!
 Använd en approximation av –1(x) i stället.
Denna metod kallas den approximativa inversa transformmetoden och beskrivs i sats E.2 i kompendiet.
33
Elmarknadsmodell
•
•
Monte Carlo-simuleringar är inte begränsade till någon viss
elmarknadsmodell.
Hur detaljerad modell man kan använda begränsas endast
av beräkningstiden.
34
Elmarknadsmodell
•
I matematiska termer så är elmarknadsmodellen en funktion
xi = g(yi),
där
•
xi = resultatvariabler för scenario i,
yi = scenarioparametrar i scenario i.
I de flesta fall kan funktionen g inte formuleras explicit, utan
definieras indirekt från lösningen till ett optimeringsproblem,
där
- optimeringsvariabler  resultatvariabler
- parametrar  scenarioparametrar.
35
Elmarknadsmodell
SPS-modell
Antag
• Perfekt konkurrens
• Perfekt information
• Lasten inte priskänslig
• Bortse från nätbegränsningar
och -förluster
• Alla scenarioparametrar kan
betraktas som oberoende
36
Elmarknadsmodell
Multi-areamodell
Antag
• Perfekt konkurrens
• Perfekt information
• Lasten inte priskänslig
• Inkludera transmissionsbegränsningar och -förluster
• Bortse från distributionsbegränsningar och -förluster
37
Multi-areamodell
Exempel – Systemdata
•
Termiska kraftverk:
- Oljekondens, 300 MW, 280 ¤/MWh, 95% tillgänglighet,
lokaliserad i Nord
- Kärnkraft, 1 000 MW, 100 ¤/MWh, 90% tillgänglighet,
lokaliserad i Syd
- Biobränslekondens, 400 MW, 180 ¤/MWh, 95%
tillgänglighet, lokaliserad i Syd
38
Multi-areamodell
Exempel – Systemdata
•
Icke-reglerbara kraftverk:
- Strömkraftverk, 2 000 MW (80%), 1 900 MW (10%),
1 800 MW (10%), försumbar driftkostnad, lokaliserad i
Nord
- Vindkraftpark, 100 MW (10%), 80 MW (5%), 60 MW
(10%), 40 MW (15%), 20 MW (25%), 0 MW (35%),
försumbar driftkostnad, lokaliserad på Ön
39
Multi-areamodell
Exempel – Systemdata
•
•
Transmissionsförbindelser:
- Växelströmsledning mellan Nord och Syd, 1 200 MW,
4% förluster, 100% tillgänglighet
- HVDC-ledning från Syd till Ön (enkelriktad!), 200 MW,
2% förluster, 100% tillgänglighet
Last (inga korrelationer, inte priskänslig, ingen ersättning för
bortkopplad last):
- Nord: N(600,100)
- Syd: N(2000,300)
- Ön: N(100,20)
40
Multi-areamodell
Exempel – Uppgift
Formulera en multi-areamodell för systemet och visa hur resultatvariablerna TOC, LOLO och ENS beräknas.
41
Multi-areamodell
Exempel – Lösning
Parametrar
Dn = last i area n (scenarioparameter – värdet slumpas
fram under simuleringen),
G g = tillgänglig produktionskapacitet i termiskt
kraftverk g (scenarioparameter – värdet slumpas
fram under simuleringen),
P n m = maximal transmission från area n till area m =
 1 200

=  1 200

 200
n = 1 m = 2,
n = 2 m = 1,
n = 2 m = 3,
42
Multi-areamodell
Exempel – Lösning
W n = tillgänglig produktionskapacitet i de ickereglerbara kraftverken i area n (scenarioparameter – värdet slumpas fram under simuleringen),
Gg = driftkostnad i termiskt kraftverk g =
 280

=  100

 180
g = 1,
g = 2,
g = 3,
43
Multi-areamodell
Exempel – Lösning
Ln, m = förlustkoefficient för transmission från area n till
 0, 04

area m =  0, 04

 0, 02
n = 1 m = 2,
n = 2 m = 1,
n = 2 m = 3,
Un = straffkostnad för ickelevererad energi i area n =
= 500, n = 1, 2, 3.
44
Multi-areamodell
Exempel – Lösning
Optimisation variables
Gg = produktion i termiskt kraftverk g, g = 1, 2, 3,
Pn, m = transmission från area n till area m, (n, m) = (1, 2),
(2, 1), (2, 3),
Un = ickelevererad energi i area n, n = 1, 2, 3,
Wn = produktion i icke-reglerbara kraftverk i area n,
n = 1, 3.
Målfunktion
3
minimera
3
 Gg G g +   Un U n .
g=1
n=1
45
Multi-areamodell
Exempel – Lösning
Bivillkor
Lastbalans i Nord:
G1 + W1 + 0,96P2, 1 = D1 – U1 + P1, 2.
Lastbalans i Syd:
G2 + G3 + 0,96P1, 2 = D2 – U2 + P2, 1 + P2, 3.
Lastbalans i Ön:
W3 + 0,98P2, 3 = D3 – U3.
46
Multi-areamodell
Exempel – Lösning
Variabelgränser
0  Gg  G g ,
g = 1, 2, 3,
0  Pn,m  P n m ,
(n, m) = (1, 2), (2, 1), (2, 3),
0  Un  Dn,
n = 1, 2, 3,
0  Wn  W n ,
n = 1, 3.
47
Multi-areamodell
Exempel – Lösning
Resultatvariablerna beräknas genom att lösa optimeringsproblemet med de framslumpade värdena på scenarioparametrarna och sedan beräkna
3
TOC =
 Gg G g ,
g=1
3
ENS =
 Un ,
n=1
0
LOLO = 
1
= 0,
om ENS > 0.
om ENS
48
Projektuppgift E4d
Definiera en multi-areamodell.
- Ange sannolikhetfördelningen för scenarioparametrarna.
- Ange värdet på modellkonstanter.
- Formulera optimeringsproblemet.
- Visa hur resultatvariablerna TOC och LOLO beräknas
från en lösning till optimeringsproblemet.
49
Monte Carlo-simulering
Testsystem
•
•
•
•
•
Strömkraftverk, 150 kW, 100% tillgänglighet, försumbar driftkostnad.
Dieselgenerator, 40–100 kW, 100% tillgänglighet, 1 ¤/kWh.
Dieselgenerator, 0–50 kW, 100% tillgänglighet, 2 ¤/kWh.
Last N(180, 40)-fördelad [kW].
Styrbar last (varmvattenberedare) kan ta hand om
överskottsproduktion.
50
Enkel sampling
Exempel 6.22
I vårt testsystem så studerar vi endast
• en scenarioparameter, lasten D (d.v.s. Y = [D]),
• en resultatvariabel, driftkostnaden TOC (d.v.s. X = [TOC]).
51
Enkel sampling
Exempel 6.22
•
Elmarknadsmodellen blir en explicit funktion X = g(Y),* där
Y  150,
0

 2  Y – 150 
150  Y  170,

170  Y  190,
40

gY = 
190  Y  250,
Y – 150

 100 + 2  Y – 250 
250  Y  300,


300  Y.
200
* Observera att detta alltså är ett undantag, som beror på att vi studerar ett
mycket förenklat system.
52
Enkel sampling
Exempel 6.22
För att slumpa fram ett scenario behöver vi slumpa fram ett
U(0, 1)-fördelat slumptal och transformera det till en N(180, 40)fördelning.
Scenario, i
1
2
3
4
5
6
7
8
9
10
D [kWh/h]
165 273 144 147 185 147 225 120 147 152
TOC [¤/h]
30 146
1
m TOC = -----10
0
0
40
0
75
0
0
4
10
 toc i =  = 29. 50 .
i=1
53
Enkel sampling
Exempel 6.22
¤/h TOC
200
150
100
50
D
50
100
150
200
250
300 kWh/h
54
Enkel sampling
Exempel 6.22
•
•
Korrekt värde: ETOC = 39,66 ¤/h.
Skattning från enkel sampling: mTOC = 29,50 ¤/h.
55
Projektuppgift E4e
Tillämpa enkel sampling.
- Analysera de givna scenarierna med hjälp av multiareamodellen från uppgift E4d.
- Skatta ETOC och LOLP.
56
Monte Carlo-simulering
Effektivitet
•
•
•
Ett stort antal sampel kan behövas för att få tillräckligt
noggrant svar  lång beräkningstid.
Ofta har vi emellertid en viss information om resultaten
redan innan vi börjar sampla.
Denna information kan ibland använda för att förbättra
noggrannheten (vilket innebär att man reducerar Var[mX]).
57
Monte Carlo-simulering
Effektivitet
•
•
•
Metoder för att reducera Var[mX] kallas variansreduceringstekniker.
I den här kursen kommer vi att diskutera tre variansreduceringstekniker:
- Slumptalskomplement
- Kontrollvariabler
- Stratifierad sampling
Den som vill veta mer om variansreduceringstekniker (och
Monte Carlo-simulering i allmänhet) kan läsa EG2420 Teori
och projekt i Monte Carlo-simulering.
58
Slumptalskomplement
Teori
•
•
Antag att mX1 och mX2 är två skilda skattningar av X, d.v.s.
E[mX1] = E[mX2] = X.
Medelvärdet av de två skattningarna, d.v.s. (mX1 + mX2)/2, är
också en skattning av X eftersom
m X1 + m X2
1
E -------------------------- = ---  E  m X1  + E  m X2   =
2
2
1
= ---   X +  X  =  X .
2
59
Slumptalskomplement
Teori
•
Hur bra är den nya skattningen? Betrakta
m X1 + m X2
1
Var -------------------------- = --- Var  m X1 + m X2  =
4
2
1
= ---  Var  m X1  + Var  m X2  + 2Cov  m X1 m X2  .
4
60
Slumptalskomplement
Teori
•
Om mX1 och mX2 erhålls från två oberoende simuleringar där
man använt enkel sampling med n sampel i varje simulering
så är Var[mX1] = Var[mX2] och Cov[mX1, mX2] = 0

m X1 + m X2
Var  m X1 
Var -------------------------- = … = ------------------------- .
2
2
Jfr sats 6.22: Om man fördubblar antalet sampel
så halveras skattningens varians.
61
Slumptalskomplement
Teori
•
Om mX1 och mX2 däremot är negativt korrelerade så blir
skattningen lägre än vid enkel sampling. Om vi har n sampel
i varje simulering så är Var[mX1] = Var[mX2] och
Cov[mX1, mX2] < 0 
m X1 + m X2
Var -------------------------- = … =
2
Var  m X1  1
= ------------------------- + --- Cov  m X1 m X2 .
2
2
62
Slumptalskomplement
Teori
Hur får vi fram negativt korrelerade skattningar?
• Låt U (det ursprungliga slumptalet) vara U(0, 1)-fördelat.
• Då är U* = 1 – U (slumptalskomplementet) också U(0, 1)fördelat.
• U och U* är negativt korrelerade (U, U* = – 1).
• Y = F Y– 1  U  och Y* = F Y– 1  U*  kommer också att vara
negativt korrelerade (Y, Y*U, U*).
63
Slumptalskomplement
Teori
F̃ D
1
U
U*
x
200 D 400 D* 600
800 MW
64
Slumptalskomplement
Teori
•
•
•
X = g(Y) och X* = g(Y*) kommer också att vara negativt
korrelerade (X, X*Y, Y*U, U*).
Om mX1 är resultatet av att studera X och mX2 är resultatet
av att studera X* så blir mX1 och mX2 också negativt korrelerade.
n
n
1
1
Notera att m X1 = ---  x i , m X2 = ---  x*
i 
n
n
m X1 + m X2
1
------------------------- = -----2
2n
ni=1
i=1
  x i + x*
i , d.v.s. det finns ingen
i=1
anledning att göra någon skillnad mellan de ursprungliga
scenarierna och de komplementära.
65
Slumptalskomplement
Tillämpning på elmarknadssimulering
Slumptalsgenerator
•
•
•
•
U
U*
Inversa
transform
metoden
Y
Y*
Elmarknadsmodell
X
Sampling
mX
X*
Skapa likformigt fördelade slumptal (ursprungliga värden
och komplementära).
Transformera slumptalen till lämplig sannolikhetsfördelning
motsvarande scenarioparametrarna.
Studera hur elmarknaden beter sig i det ursprungliga och de
komplementära scenarierna.
Sampla resultatvariablerna.
66
Slumptalskomplement
Tillämpning
Om det finns S scenarioparametrar så kan vi skapa totalt 2S
scenarier med hjälp av olika kombinationer av ursprunliga
värden och slumptalskomplement.
Exempel
Två scenarioparametrar, G och D:
• Ursprungligt scenario: G, D
• Komplementära scenarier:
G, D*,
G*, D,
G*, D*
67
Slumptalskomplement
Tillämpning
•
•
Att skapa alltför många komplementära scenarier kan vara
ineffektivt.
Man ska därför bara använda slumptalskomplement på
sådana scenarioparametrar där en negativ korrelation
mellan Y och Y* ger en tydlig negativ korrelation mellan X
och X*.
68
Slumptalskomplement
Tillämpning – Exempel
Komplementära scenarier för en multi-areamodell:
• Den totala lasten, Dtot = Dn, har en starkare korrelation till
TOC än lasten i en enskild area, Dn.
• Slumpa fram den totala lasten Dtot och dess slumptalskomplement D*
tot .
• Slumpa fram två oberoende uppsättningar preliminära
i
ii
arealaster, D n respektive D n .
69
Slumptalskomplement
Tillämpning – Exempel
•
Skala till sist de preliminära arealasterna så att de
motsvarar den totala lasten, d.v.s.
D tot
i
Scenario 1: D n = -------------------------- D n
i
D
m  N m
D*
ii
tot
Scenario 2: D n = -------------------------- D n
ii
D
m  N m
70
Slumptalskomplement
Exempel 6.26
Scenario, i
1
2
3
4
5
D [kWh/h]
165 273 144 147 185
TOC [¤/h]
30 146
0
0
40
Scenario, i
6
8
9
10
7
D* [kWh/h]
195 87 216 213 175
TOC* [¤/h]
45
1
m TOC = -----10
0
66
63
40
10
 toc i =  = 43, 00 .
i=1
71
Slumptalskomplement
Exempel 6.26
¤/h TOC
200
150
100
50
D
50
100
150
200
250
300 kWh/h
72
Slumptalskomplement
Exempel 6.26
•
•
•
Korrekt värde: ETOC = 39,66 ¤/h.
Skattning från enkel sampling: mTOC = 29,50 ¤/h.
Skattning med slumptalskomplement: mTOC = 43,00 ¤/h.
73
Kontrollvariabler
Teori
•
•
•
•
Antag att vi har två modeller; en detaljerad modell X = g(Y)
och en förenklad modell Z = g̃  Y .
Resultaten från den förenklade modellen kallas för kontrollvariabler.
Antag att vi vill beräkna systemindexen för den detaljerade
modellen (d.v.s. skatta E[g(Y)]) och att vi redan känner till
systemindexen för den förenklade modellen, E  g̃  Y   = Z.
Sampla skillnaden mellan resultatvariablerna och kontrollvariablerna, d.v.s. X – Z!
74
Kontrollvariabler
Teori
•
En skattning av systemindexen för den detaljerade
modellen får man genom att lägga till systemindexen för
den förenklade modellen till den skattade skillnaden, ty
E[m(X – Z) + Z] = E[X – Z] + Z =
= E[X] – E[Z] + Z = E[X].
75
Kontrollvariabler
Teori
•
Hur bra är denna skattning?
1
Var[m(X – Z) + Z] = --- Var  X – Z  + 0 =
n
1
= ---  Var  X  + Var  Z  – 2Cov  X Z  .
n
•
X och Z är resultaten från två modeller av samma system 
X och Z borde vara positivt korrelerade  om Var[Z] <
2Cov[X, Z] så är Var[m(X – Z) + Z] < Var[mX], d.v.s. att
använda kontrollvariabler kan vara effektivare än att
använda enkel sampling.
76
Kontrollvariabler
Teori
Detaljerad
elmarknadsmodell
mZ
X
Slumptalsgenerator
U
Inversa
transform
metoden
+
Y
Sampling
m(X – Z) +
+
–
Z
Förenkl.
elmarknads
modell
mX
77
Kontrollvariabler
Förenklad modell
Antag
• Perfekt konkurrens
• Perfekt information
• Lasten inte priskänslig
• Bortse från nätbegränsningar
och -förluster
• Alla scenarioparametrar kan
betraktas som oberoende
78
Kontrollvariabler
Förenklad modell
Väntevärdena för kontrollvariablerna beräknas genom att köra
en stokastisk produktionskostnadssimulering:



˜
TOC
= ETOCSPS,
˜
ENS
= EENSSPS,
˜
LOLO
= LOLPSPS.
79
Kontrollvariabler
Förenklad modell
Parametrar
Dtot = total last (scenarioparameter – värdet slumpas
fram under simuleringen),
G g = tillgänglig produktionskapacitet i termiskt kraftverk
g (scenarioparameter – värdet slumpas fram
under simuleringen),
Gg = driftkostnad i kraftverk g,
Un = straffkostnad för bortkopplad last.
80
Kontrollvariabler
Förenklad modell
Optimeringsvariabler
G̃ g = elproduktion i termiskt kraftverk g,
Ũ = icke-levererad energi.
Målfunktion
minimera
 Gg G̃ g +  U Ũ.
gG
81
Kontrollvariabler
Förenklad modell
Bivillkor
 G̃ g = D tot – Ũ.
gG
Variabelgränser
0  G̃ g  G g ,
0  Ũ  Dtot.
82
Kontrollvariabler
Förenklad modell
Kontrollvariablerna beräknas genom att lösa optimeringsproblemet med de framslumpade värdena på scenarioparametrarna och sedan beräkna
˜ =
TOC
 Gg G̃ g ,
gG
˜ = Ũ,
ENS
0
˜
LOLO = 
1
˜
om ENS
˜
om ENS
= 0,
> 0.
83
Kontrollvariabler
Exempel 6.27
I den förenklade modellen bortser vi från den undre gränsen för
elproduktionen i den större dieselgeneratorn, d.v.s.

0

Y – 150

g̃  Y  = 
 100 + 2  Y – 250 

200

Y  150,
150  Y  250,
250  Y  300,
300  Y.
84
Kontrollvariabler
Exempel 6.27
Scenario, i
1
2
3
4
5
6
7
8
9
10
D [kWh/h]
165 273 144 147 185 147 225 120 147 152
TOC [¤/h]
30 146
0
0
40
0
75
0
0
4
˜ [¤/h]
TOC
15 146
0
0
35
0
75
0
0
2
ETOCPPC = 36.27.
1
m TOC = -----10
10
˜ i  +  ˜ = 2,20 + 36,27 = 38.47.
  toc i – toc
TOC
i=1
85
Kontrollvariabler
Exempel 6.27
˜
¤/h TOC TOC
200
150
100
50
D
50
100
150
200
250
300 kWh/h
86
Kontrollvariabler
Exempel 6.27
•
•
•
•
Korrekt värde: ETOC = 39,66 ¤/h.
Skattning från enkel sampling: mTOC = 29,50 ¤/h.
Skattning med slumptalskomplement: mTOC = 43,00 ¤/h.
Skattning med kontrollvariabel: mTOC = 38.47 ¤/h.
87
Stratifierad sampling
Teori
•
•
Antag att en population är uppdelad i separata delar,
stratum, så att varje enhet hör till exakt ett stratum.
Detta innebär följande:
- Xh  Xk = , hk (inga överlappande stratum)
-  X h = X (tillsammans motsvarar stratumen hela
h
populationen)
88
Stratifierad sampling
Teori
•
Varje stratum tilldelas en stratumvikt som motsvarar
stratumets storlek:
Nh
 h = ------ = P  X  X h .
N
•
Nh är antalet enheter som hör till stratum h och N är antalet
eneheter i hela populationen.
89
Stratifierad sampling
Teori
•
Antag att vi har skattningar av väntevärdet för varje stratum,
d.v.s. E[Xh].
- Skattning med enkel sampling:
1
m Xh = ----nh
nh
 x h i .
i=1
- Analytisk lösning: mXh = Xh.
90
Stratifierad sampling
Teori
•
Det viktade medelvärdet av väntevärdet för alla stratum är
en skattning av E[X], ty
L
L
L
  h m Xh =   h Xh = 
E
h=1
N
1
= ---N
h=1
h=1
Nh 1
------  -----N Nh
Nh
 xi =
i=1
 xi = E[X].
i=1
91
Stratifierad sampling
Teori
•
Hur bra är denna skattning? Man kan visa att
L
Var
  h m Xh =   h2 Var  m Xh .
h=1
•
•
L
h=1
Väl valda stratum kan resultera i en lägre varians än vad vi
får för enkel sampling!
Motsatsen är också möjlig!
92
Stratifierad sampling
Teori
Slumptalsgenerator
U
Inversa
transform
metoden
Y1
Elmarknadsmodell
X1
mX1
Sampling
1
mXh 
h
+
+
mX
+
L
Slumptalsgenerator
U
Inversa
transform
metoden
YL
Elmarknadsmodell
XL
Sampling
mXL
93
Stratifierad sampling
Tillämpning
•
•
•
Stratum kan inte definieras baserat på värdet av resultatvariablerna, eftersom dessa värden är okända tills dess att vi
analyserat ett visst scenario x = g(y).
Stratum måste därför definieras som möjliga värden på
scenarioparametrarna.
Således måste vi ha möjlighet att generera slumptal som
hör till en viss del av en sannolikhetsfördelning.
94
Stratifierad sampling
Tillämpning
Exempel:
Slumpa fram D.
F̃ D
1
x
200
400
600
800 MW
95
Stratifierad sampling
Exempel 6.28
•
•
Inför följande stratum:
1. Alla scenarier där D  150
2. Alla scenarier där 150 < D  250
3. Alla scenarier där 250 < D
Beräkna stratumvikterna:
1 = P(D  150) = (–0,75)  0,23,
2 = P(150 < D  250) = (1,75) – (–0,75)  0,73,
3 = P(250 < D) = 1 – (1,75)  0,04.
96
Stratifierad sampling
Exempel 6.28
Stratum, h
Scenario, i
D [kWh/h]
TOC [¤/h]
1
1
2
2
1
2
3
3
4
5
6
1
2
124 150 166 168 193 167 224 156 254 255
0
0
33
36
43
34
74
2
6
2
i=1
i=1
i=1
12 108 110
1
1
1
m TOC =  1 ---  x 1 i +  2 ---  x 2 i +  3 ---  x 3 i = 32.72.
2
6
2
97
Stratifierad sampling
Exempel 6.28
¤/h TOC
200
150
100
50
D
50
100
150
200
250
300 kWh/h
98
Stratifierad sampling
Exempel 6.28
•
•
•
•
•
Korrekt värde: ETOC = 39,66 ¤/h.
Skattning från enkel sampling: mTOC = 29,50 ¤/h.
Skattning med slumptalskomplement: mTOC = 43,00 ¤/h.
Skattning med kontrollvariabel: mTOC = 38.47 ¤/h.
Skattning med stratifierad sampling: mTOC = 32.72 ¤/h.
99
Kombinationer av flera
variansreduceringstekniker
Exempel 6.29
Stratum, h
1
Scenario, i
1
D [kWh/h]
˜ [¤/h]
TOC
2
1
2
3
3
1
124 166 168 193 254
0
16
18
43 108
TOC [¤/h]
0
32
36
43 108
Scenario, i
2
4
5
6
D [kWh/h]
˜ [¤/h]
TOC
TOC [¤/h]
2
138 217 215 185 276
0
67
65
35 152
0
67
65
40
152
100
Kombinationer av flera
variansreduceringstekniker
Exempel 6.29
m TOC = 
1
+  2 --6
1
+  3 --2
1
--+

˜
TOC
12
2
˜ 1 i  +
  toc1 i – toc
i=1
6
˜ 2 i  +
  toc2 i – toc
i=1
2
˜ 3 i  + = … = 43.44.
  toc3 i – toc
i=1
101
Kombinationer av flera
variansreduceringstekniker
Exempel 6.29
¤/h TOC
200
150
100
50
D
50
100
150
200
250
300 kWh/h
102
Kombinationer av flera
variansreduceringstekniker
Exempel 6.28
•
•
•
•
•
•
Korrekt värde: ETOC = 39,66 ¤/h.
Skattning från enkel sampling: mTOC = 29,50 ¤/h.
Skattning med slumptalskomplement: mTOC = 43,00 ¤/h.
Skattning med kontrollvariabel: mTOC = 38.47 ¤/h.
Skattning med stratifierad sampling: mTOC = 32.72 ¤/h.
Skattning med slumptalskomplement, kontrollvariabel och
stratifierad sampling: mTOC = 43.44 ¤/h.
103
Jämföresle av simuleringsmetoder
Result från1 000 simuleringar med olika frö till slumptalsgeneratorn.
Simuleringsmetod
Skattning av ETOC
Lägsta
Medel
Högsta
Enkel sampling
6.33
39.78
81.65
Slumptalskomplement
31.48
39.85
64.22
Kontrollvariabel
36.27
40.03
46.08
Stratifierad sampling
19.44
39.78
59.74
Kombintation
36.95
40.03
43.30
104
Stratifierad sampling
Stratumträd
Hur ska stratumen väljas för att man ska få så stor variansreducering som möjligt?
Betrakta att
L
Var[mX] =
  h2 Var  m Xh .
h=1
 Om alla Var[mXh] är små så blir Var[mX] också liten.
105
Stratifierad sampling
Stratumträd
•
•
•
Det är önskvärt att alla scenarier som hör till ett visst stratum
ger samma eller väldigt näraliggande värden på resultatvariablerna.
För att definiera effektiva stratum behöver vi förutsäga
resultaten för scenarierna (utan att faktiskt beräkna resultatvariablerna).
Ett stratumträd är ett verktyg för att systematiskt kategorisera scenarier.
106
Stratifierad sampling
Stratumträd
Ett stratumträd är en trädstruktur med följande egenskaper:
• Roten innehåller ingen information.
• Alla andra noder anger ett antal möjliga utfall för en eller
flera scenarioparametrar.
• Varje nod har en nodvikt, som motsvarar sannolikheten att
få det angivna utfallet för de berörda scenarioparametrarna.
• Roten har nodvikten 1.
107
Stratifierad sampling
Stratumträd
•
•
•
•
Alla scenarioparametrar längs en gren i trädet ska vara
oberoende av varandra.
Varje gren kommer att omfatta en viss del av den totala
populationen av scenarier, d.v.s. varje gren motsvarar ett
stratum.
Stratumvikten beräknas genom att multiplicera nodvikterna
längsmed grenen.
Stratum med liknande egenskaper kan slås ihop, d.v.s. det
är möjligt att ha stratum som omfattar flera grenar (men det
krånglar till processen att slumpa fram scenarioparametrar).
108
Stratifierad sampling
Stratumträd
Ett stratumträd ska omfatta alla möjliga scenarier. Detta krav är
garanterat uppfyllt om
• alla barn till en viss nod anger utfall för samma scenarioparameter,
• summan av barnens nodvikter är lika med 1.
109
Stratifierad sampling
Stratumträd
De möjliga värdena för TOC och LOLO kan förutsägas ifall vi
jämför den totala tillgängliga produktionskapaciteten, G
(termisk) och W (icke-reglerbar) med den totala lasten, D.
• Varje möjligt tillstånd för den tillgängliga totala produktionskapaciteten placeras på den övre nivån i stratumträdet.
(Detta förutsätter att vi har en diskret sannolikhetsfördelning.)
• Noder för intressanta lastintervall placeras på den undre
nivån i stratumträdet.
110
Stratifierad sampling
Stratumträd för multi-areamodell
•
•
I en multi-areamodell behöver vi ta hänsyn till att det finns
vissa lastintervfall där det är svårare att förutsäga TOC och
LOLO.
Antag att vi känner till de maximal förlusterna, L, och den
maximal the maximala outnyttjade produktionskapaciteten
p.g.a. transmissionsbegränsningar, U W (icke-reglerbar)
respektive U WG (total).
111
Stratifierad sampling
Stratumträd för multi-areamodell
•
D  W – U W  TOC = 0, LOLO = 0
•
Lasten kan täckas med enbart icke-reglerbara kraftverk.
W – U W < D  W – L  TOC  0, LOLO = 0
•
Det är möjligt att lasten kan täckas med enbart ickereglerbara kraftverk, men det kan också bli nödvändigt att
starta andra kraftverk p.g.a. transmissionsbegränsningar.
W – L < D  W  TOC  0, LOLO = 0
Det är möjligt att lasten kan täckas med enbart ickereglerbara kraftver, men det kan också bli nödvändigt att
starta andra kraftverk p.g.a. transmissionsförluster.
112
Stratifierad sampling
Stratumträd för multi-areamodell
•
•
W < D  W + G – U WG  TOC  0, LOLO = 0
Lasten är större än den tillgängliga icke-reglerbara produktionskapaciteten, men lasten kan täckas med andra
kraftverk.
W + G – U WG < D  W + G – L  TOC  0,
LOLO = 0 eller 1
Det är möjligt att den totala produktionskapaciteten är
tillräcklig, men man kan också tvingas koppla bort last på
grund av transmissionsbegränsningar.
113
Stratifierad sampling
Stratumträd för multi-areamodell
•
•
W + G – L < D  W + G  TOC  0, LOLO = 0 eller 1
Det är möjligt att den totala produktionskapaciteten är
tillräcklig, men man kan också tvingas koppla bort last på
grund av transmissionsförluster.
W + G < D  TOC  0, LOLO = 1
Bortkoppling av last är oundvikligt.
Observera att det även kan förekomma andra kombinationer
av TOC och LOLO, t.ex. om G = 0.
114
Stratifierad sampling
Exempel 6.30 — Systemdata
Elproduktion
• Vindkraft, tillgänglig kapacitet 0 kW (50%) eller 150 kW
(50%), försumbar driftkostnad.
• Dieselgenerator, 250 kW, 80% tillgänglighet, driftkostnad
10 ¤/kWh.
Last
• Kvällar: Mji N(175,48), Kijiji N(75,20).
• Övrig tid: Mji N(120,24), Kijiji N(30,7).
Transmission
• De maximala förlussterna mellan Mji och Kijiji är 3 kW.
115
Stratifierad sampling
Exempel 6.30 — Uppgift
Föreslå ett lämpligt stratumträd för att simulera detta system
och beräkna stratumvikterna!
116
Stratifierad sampling
Exempel 6.30 — Lösning
Lämpligt stratumträd:
• Nivå 0: Rot
• Nivå 1: Tid på dagen
• Nivå 2: Tillgänglig produktionskapacitet
• Nivå 3: Last
117
Stratifierad sampling
Exempel 6.30 — Lösning
0
150
0
LOLO
0
0,075
0
1
 147
0,452 0,034
0
0
147–150
0,048 0,004
0
0/1
0
1
D
Node
weight
W
TOC
0,75
W
Last
Stratum
vikt
Dag/
natt
Produktionskapacitet
Node
weight
Period
Node
weight
Tid på dagen
0,1
0
1
0,1
> 150
0,5
0,038
118
Stratifierad sampling
D
 247
0,75
0
250
0,4
247–250
> 250
LOLO
W
0,452 0,034 > 0
0
Node
weight
W
Last
TOC
Dag/
natt
Produktionskapacitet
Node
weight
Period
Node
weight
Tid på dagen
Stratum
vikt
Exempel 6.30 — Lösning
0,048 0,004 > 0 0/1
»0
»0
>0
1
119
Stratifierad sampling
Exempel 6.30 — Lösning
Produktionskapacitet
Dag/
natt
147–150
0,75
150 250
0,4
LOLO
 147
TOC
D
Stratum
vikt
W
Last
0,452 0,136
0
0
0,048 0,014 ³ 0
0
Node
weight
W
Node
weight
Period
Node
weight
Tid på dagen
150–397
0,5
0,15
>0
397–400
0
0
> 0 0/1
> 400
0
0
>0
0
1
120
Stratifierad sampling
Exempel 6.30 — Lösning
0
0
0,025
0
1
0,024 0,001
0
0
0
0/1
0
1
0,1
0
1
 147
150
LOLO
0
D
Node
weight
W
TOC
0,25
W
Last
Stratum
vikt
Kväll
Produktionskapacitet
Node
weight
Period
Node
weight
Tid på dagen
0,1
147–150
> 150
0,003
0
0,973 0,243
121
Stratifierad sampling
Kväll
0,25
0
250
0,4
D
 247
0,452
247–250
> 250
LOLO
W
Node
weight
W
Last
TOC
Produktionskapacitet
Node
weight
Period
Node
weight
Tid på dagen
Stratum
vikt
Exempel 6.30 — Lösning
0,034 > 0
0
0,048 0,004 > 0 0/1
0,5
0,05
>0
1
122
Stratifierad sampling
Exempel 6.30 — Lösning
Produktionskapacitet
Kväll
0,25
150 250
0,4
LOLO
 147
TOC
D
Stratum
vikt
W
Last
0,024 0,002
0
0
Node
weight
W
Node
weight
Period
Node
weight
Tid på dagen
147–150
0,003
0
0
0
150–397
0,970 0,097 > 0
0
397–400
0
0
> 0 0/1
> 400
0,002
0
>0
1
123
Stratifierad sampling
Sampelallokering
Sats (Neymanallokeringen): För ett givet antal
sampel, n, minimeras Var[mX] om samplen fördelas mellan stratumen enligt
 h  Xh
n h = -------------------------------- n,
L
k = 1  k Xk
där Xh =
Var  X h .
Neymanallokeringen motsvarar ett flackt optimum, d.v.s. det är
möjligt att få en varians Var[mX] som ligger nära det optimala
värdet även om man inte valt den allra bästa allokeringen.
124
Stratifierad sampling
Sampelallokering
Problem 1: Var[Xh] är inte kända.
• Skatta Xh genom
s Xh =
•
1---nh
nh
  xh i – m Xh  2 .
i=1
Observera att Xh inte kan skattas om vi inte tagit några
sampel från stratumet, d.v.s. det krävs att nh > 0!
125
Stratifierad sampling
Sampelallokering
Procedur
• Genomför en pilotstudie där antalet scenarier per stratum är
fastställt i förväg.
• Beräkna en lämplig sampelallokering.
• Generera och sampla en omgång scenarier.
• Testa konvergenskriteriet.
• Om fler sampel behövs uppdateras sampelallokeringen och
sedan kör man ytterligare en omgång, o.s.v.
126
Stratifierad sampling
Sampelallokering
Problem 2: Vi är intresserade av flera resultatvariabler.
En sampelallokering som är optimal för en resultatvariabel är
inte nödvändigtvis optimal för de övriga.
• Beräkna optimal sampelallokering för varje enskild resultatvariabel.
• Välj en kompromissallokering (t.ex. medelvärdet av de
enskilt optimala allokeringarna).
127
Stratifierad sampling
Sampelallokering
Exempel:
Stratum
1
2
3
4
5

Optimal allokering för
TOC
LOLO
Kompromissallokering
0
1 028
388
4
0
1 420
0
0
0
1 420
0
1 420
0
514
194
712
0
1 420
128
Stratifierad sampling
Sampelallokering
Problem 2: Vi har redan genererat sampel baserat på tidigare
allokeringar.
Det kan vara omöjligt att uppnå den eftersträvade sampelallokeringen.
• Försök komma så nära som möjligt! (Jfr algoritmen som
beskrivs i kompendiet, s. 142.)
129
Stratifierad sampling
Sampelallokering
Exempel:
Stratum
1
2
3
4
5

Allokeringar
Kompromiss
Hittills
0
514
194
712
0
1 420
94
530
68
512
16
1 220
Nästa omgång Totalt
0
0
77
123
0
200
94
530
145
635
16
1 420
130