MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben...

62

Transcript of MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben...

Page 1: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

UNIVERZA V MARIBORU

FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

Oddelek za matematiko in ra£unalni²tvo

Diplomsko delo

MATEMATI�NO PROGRAMIRANJE

IN

TRG ELEKTRI�NE ENERGIJE

Mentor: Kandidatka:

dr. Drago Bokal, Mojca Bra£i£

docent

Maribor, 2009

Page 2: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Zahvala

Ob zaklju£ku diplomskega dela se iskreno zahvaljujem

mentorju doc. dr. Dragu Bokalu, ki me je vodil in nudil

strokovno pomo£ ter za vso potrpeºljivost in trud, ki

ju je posvetil v £asu pripravljanja diplomskega dela.

2

Page 3: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

UNIVERZA V MARIBORU

FAKULTETA ZA NARAVOSLOVJE IN MATEMATIKO

IZJAVA

Podpisana Mojca Bra£i£, roj. 10. 12. 1985, ²tudentka Fakultete za naravoslovjein matematiko Univerze v Mariboru, ²tudijskega programa enopredmetna ne-pedago²ka matematika, izjavljam, da je diplomsko delo z naslovom Mate-mati£no programiranje in trg elektri£ne energije pri mentorju doc. dr. DraguBokalu avtorsko delo. V diplomskem delu so uporabljeni viri in literatura ko-rektno navedeni; teksti in druge oblike zapisov niso uporabljeni brez navedbeavtorjev.

Maribor, 2009

3

Page 4: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

BRA�I�, M.: Matemati£no programiranje in trg elektri£ne energije.Diplomsko delo, Univerza v Mariboru, Fakulteta za naravoslovje inmatematiko, Oddelek za matematiko in ra£unalni²tvo, 2009.

IZVLE�EK

V tem diplomskem delu je predstavljena osnovna teorija matemati£nih pro-gramov. V za£etnem delu so zajeti predvsem pojmi in izreki v povezavis konveksnimi in konkavnimi funkcijami na konveksni mnoºici, ki vodijo dopomembnih ugotovitev, povezanih z lokalnimi in globalnimi ekstremi. Tiizreki so pomembni v matemati£nem programiranju, saj nam ob dolo£enihposebnih predpostavkah, kot sta konveksnost in linearnost, omogo£ajo pre-prostej²e na£ine iskanja optimalne re²itve danega programa. Kot pomembenprimer matemati£nega programiranja je predstavljen linearen program in nje-gov dual. Opisan je postopek pretvorbe linearnega programa v dualni programin izrek o dualnosti, ki pravi, da imata primarni in dualni program enaki op-timalni vrednosti kriterijske funkcije, £e optimalna re²itev obstaja. Prav takoje opisana ekonomska vloga dualnih spremenljivk in z njimi povezane sen£necene. Predstavljeni so Kuhn-Tuckerjevi pogoji za optimalnost re²itve matem-ati£nega programa, ki so potrebni pogoji za lokalni ekstrem in pri posebnihpredpostavkah zadostni pogoji za globalni ekstrem.

V drugem delu sledi kratka predstavitev trga elektri£ne energije in njegovihudeleºencev. Predstavljeni so modeli proizvajalcev, odjemalcev, trgovcev inborza elektri£ne energije. Pomembni vpra²anji, s katerima se proizvajalci,odjemalci in trgovci soo£ajo, sta, koliko energije kupiti (prodati) preko dvos-transkih pogodb in koliko preko borze elektri£ne energije. Obi£ajno se za dalj²eobdobje udeleºenci odlo£ijo za dvostranske pogodbe, ki zagotavljajo zadostnokoli£ino elektri£ne energije po nespremenjenih cenah, kar pa nujno ne prina²amaksimalnega dobi£ka. V primerih pove£anega povpra²evanja oz. padca cenelektri£ne energije, pa se zatekajo k nakupu na organiziranem trgu. Opisani somatemati£ni programi, ki maksimirajo dobi£ek posameznih udeleºencev, gledena dane omejitve.

Klju£ne besede: matemati£no programiranje, linearno programiranje,dualni program, Kuhn-Tuckerjevi pogoji, sen£ne cene,elektroenergetski trg.

4

Page 5: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

BRA�I�, M.: Mathematical programming and electricity markets.Graduation Thesis, University of Maribor, Faculty of Natural Sciencesand Mathematics, 2009.

ABSTRACT

In this diploma thesis, we present a theoretical basis of mathematical pro-gramming. At the beginning, we describe notation and theorems related toconvex and concave functions on convex sets, which is the basis of importantresults about local and global extremes. These theorems are important inmathematical programming, because they allow for more e�cient methods of�nding the optimal solution of a mathematical program, under suitable con-vexity and linearity assumptions. Next, we present an important basic case ofmathematical programming that is linear program and its dual program, in-cluding a procedure of how to �nd the dual of normal linear program and thedual theorem, which says if the optimal value exists, it's the same for both theprimal and the dual program. We also present the economical interpretationof the dual variables as shadow prices. At the end of the theoretical part, wedescribe the Kuhn-Tucker conditions. These are the necessary conditions forlocal optimality for a mathematical program. Under suitable restrictions, theyare also su�cient conditions for global optimality.

In the second part of this diploma thesis, we continue with a short presentationof electricity markets and their participants. We describe the viewpoints of themain participants including producers, consumers, energy service companies,and a pool operator. A decision problem that we investigate is how muchenergy to buy (sell) with bilateral contracts and how much energy to buy fromor sell in the power pool. It turns out that participants decide on bilateralcontracts in longer terms, because of their reliability and �xed price in advance,but this does not necessarly give the maximal pro�t. In case of lower pricesin the power pool and increased demand for electrical energy, the participantsdecide to buy energy from or sell it in the pool. According to this, we describemathematical programs that maximize pro�ts for all participants under certainconstraints.

Keywords: Mathematical programming, linear programming, shadow price,dual problem, electricity market.

Math. Sci. Class.: 90C05 Linear programming,(2000) 90C30 Nonlinear programming,

90C46 Optimality conditions, duality,90C90 Applications of mathematical programming.

5

Page 6: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Matemati£no programiranje in trg elektri£ne energijeprogram diplomskega dela

Oddelek za matematiko in ra£unalni²tvoFakulteta za naravoslovje in matematiko

Univerza v Mariboru

Uvedba enotnega evropskega elektroenergetskega trºi²£a je proces, ki ga jeEvropska skupnost pri£ela leta 1993. Na tem trgu sodelujejo proizvajalcielektri£ne energije, njeni odjemalci in trgovci, ki poskrbijo za ekonomsko platprenosa energije med proizvajalci in odjemalci. Na trgu nastopajo ²e sistemskioperaterji, ki zagotavljajo izpolnjevanje �zikalnih pogojev prenosa energije.Na²teti udeleºenci trgovanja pri svoji dejavnosti sledijo svojim ekonomskiminteresom, ki jih lahko opi²emo z matemati£nimi programi.

V prvem delu diplomskega dela predstavite osnovno teorijo matemati£nih pro-gramov: de�nirajte matemati£ni program in podrobneje predstavite linearniprogram. Predstavite dualni linearni program in pojasnite ekonomsko vlogodualnih spremenljivk. Predstavite tudi Kuhn-Tuckerjeve pogoje za optimal-nost re²itve (splo²nega) matemati£nega programa.

V drugem delu predstavite splo²ni model elektroenergetskega trga ter interese,ki jim sledijo posamezni udeleºenci trga. Podrobneje predstavite matemati£nemodele obna²anja posameznih udeleºencev.

Literatura

[1] W. L. Winston, Introduction to Mathematical Programming Applications& Algorithms, PWS-Kent Publishing Company, Boston, 1991.

[2] A. J. Conejo, F. J. Prieto, Mathematical programming and electricitymarkets, TOP 9 (2001), 1-54.

Mentor:

doc. dr. Drago Bokal

6

Page 7: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Kazalo

I Matemati£no programiranje 10

1 Uvod 11

2 Osnovni pojmi in de�nicija matemati£nega programa 132.1 Konveksne in konkavne funkcije . . . . . . . . . . . . . . . . . . 132.2 Hessejeva matrika . . . . . . . . . . . . . . . . . . . . . . . . . . 172.3 Mera uporabnosti . . . . . . . . . . . . . . . . . . . . . . . . . . 182.4 Sistemi linearnih (nelinearnih) neena£b . . . . . . . . . . . . . . 192.5 De�nicija matemati£nega programa . . . . . . . . . . . . . . . . 19

3 Linearni program in njegov dual 213.1 Linearni program . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2 Gra�£no re²evanje linearnega programa . . . . . . . . . . . . . . 223.3 Dualni linearni program . . . . . . . . . . . . . . . . . . . . . . 24

3.3.1 Tabelari£en na£in iskanja dualnega minimalnega ali mak-simalnega programa . . . . . . . . . . . . . . . . . . . . 25

3.3.2 Iskanje dualnega linearnega programa, kadar je primarniprogram nestandardne oblike . . . . . . . . . . . . . . . 26

3.3.3 Izrek o dualnosti . . . . . . . . . . . . . . . . . . . . . . 283.4 Sen£ne cene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4 Kuhn-Tuckerjevi pogoji za optimalnost re²itev 354.1 Lagrangevi multiplikatorji . . . . . . . . . . . . . . . . . . . . . 354.2 Kuhn-Tuckerjevi pogoji . . . . . . . . . . . . . . . . . . . . . . . 36

4.2.1 Regularni pogoji . . . . . . . . . . . . . . . . . . . . . . 374.2.2 Potrebni in zadostni Kuhn-Tuckerjevi pogoji . . . . . . . 38

II Modeli trgovanja z elektri£no energijo 41

5 Predstavitev elektroenergetskega trga 42

7

Page 8: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

6 Model proizvajalcev 456.1 Sklepanje dvostranskih pogodb . . . . . . . . . . . . . . . . . . 45

6.1.1 Obnovljivi viri in funkcija vrednosti vode . . . . . . . . . 476.2 Odziv borze elektri£ne energije . . . . . . . . . . . . . . . . . . . 49

6.2.1 Proizvajalci brez moºnosti vplivanja na trg . . . . . . . . 506.2.2 Proizvajalci z moºnostjo vplivanja na trg . . . . . . . . . 50

7 Model trgovcev z elektri£no energijo 527.1 Sklepanje dvostranskih pogodb . . . . . . . . . . . . . . . . . . 527.2 Odziv borze elektri£ne energije in moºnost lastne proizvodnje . . 54

8 Model odjemalcev 558.1 Sklepanje dvostranskih pogodb . . . . . . . . . . . . . . . . . . 558.2 Odziv borze elektri£ne energije . . . . . . . . . . . . . . . . . . . 56

9 Model borze elektri£ne energije 589.1 Draºbe za eno obdobje . . . . . . . . . . . . . . . . . . . . . . . 589.2 Draºbe za ve£ obdobij . . . . . . . . . . . . . . . . . . . . . . . 609.3 Walrasove draºbe . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Literatura 62

8

Page 9: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Slike

3.1 Primer gra�£nega re²evanja za funkcijo dveh spremenljivk. . . . 23

5.1 Prikaz udeleºencev na trgu elektri£ne energije. . . . . . . . . . . 43

Tabele

3.1 Iskanje dualnega linearnega programa. . . . . . . . . . . . . . . 25

9

Page 10: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Del I

Matemati£no programiranje

10

Page 11: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Poglavje 1

Uvod

V dana²njem £asu je optimiranje prisotno v gospodarstvu, kot tudi v vsakdan-jem ºivljenju. V gospodarstvu ohranja konkuren£nost, pomembno vpliva nakakovost ponujenih storitev in omogo£a prihranek stro²kov. V tem diplomskemdelu se bomo posvetili optimizaciji v sklopu trgovanja z elektri£no energijo oz.predstavitvi nekaterih matemati£nih modelov, s katerimi dolo£eni udeleºencisodelujejo v procesu oskrbe z elektri£no energijo.

Rast svetovnega prebivalstva in gospodarstva sovpadata s pove£animi potre-bami po elektri£ni energiji. Dandanes mehanizacija novih tehnolo²kih pro-cesov proizvodnje brez elektri£ne energije ni ve£ mogo£a. Zaradi omenjenihdejstev postaja optimizacija in ekomi£nost porabe elektri£ne energije eden odpomembnej²ih izzivov moderne druºbe. Isto£asno vi²je cene, groºnje varnostioskrbe z energijo in spremembe podnebja negativno vplivajo na porabnike elek-tri£ne energije. Pred omenjenimi negativnimi vplivi se posku²amo zavarovati sprimernim na£inom oskrbe z elektri£no energijo, ki mora zagotavljati pogoje,kot so trajnost, konkuren£nost in varnost. Optimizacija vklju£uje vse po-stopke od proizvodnje do prodaje elektri£ne energije, kar zajema porabo virovelektri£ne energije, njenega prenosa, proizvodnje in seveda dobi£ka akterjev vteh postopkih. Prav zato se morajo na elektroenergetskem trgu pomembnostioptimizacijskih procesov zavedati predvsem podjetja, ker je od tega odvisennjihov dobi£ek, kot tudi vse institucije, ki skrbijo za stabilno delovanje trga.Le s tak²nim na£inom bomo v prihodnje sposobni zagotoviti optimalno in za-dostno oskrbo celotnega prebivalstva in gospodarstva.

Prav zato je elektrogospodarstvo pod vplivom velikih regulatornih in opera-tivnih sprememb. Te spremembe teºijo k pretvorbi centraliziranega sistema v£im bolj konkuren£ni sistem. Organizacijske spremembe niso preproste in za-htevajo veliko priprav, novih orodij in postopkov ter �nan£nih sredstev za ure-

11

Page 12: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Uvod 12

sni£itev dobro zasnovanega sistema. Pri nekaterih prehodnih procesih je pri²lotudi do privatizacije elektroenergetskih panog. Prav tako se ne sme zanemaritizgodovine, vpliva politike in regionalnih zna£ilnosti posamezne drºave. Te or-ganizacijske spremembe elektroenergetskega sistema je izvedla tudi Slovenijater vzpostavila elektroenergetski trg. Nov, primernej²i na£in oskrbe zagotavljave£jo konkuren£nost, kar je posledi£no bolj²e za odjemalce elektri£ne energijein tudi za proizvajalce, ki teºijo k napredku in izbolj²avam.

Celoten razvoj je privedel do novih in aktualnih raziskovalnih problemov terz vidika matemati£nega programiranja prinesel nove izzive. Pristop matem-ati£nega programiranja pripomore k opisu struktur in karakteristik problemov,ki se pri tem pojavijo, in podaja primerne tehni£ne okvire za obravnavo tehproblemov.

Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede na dane omejitve. Najpomem-bnej²i primer matemati£nega programiranja je linearno programiranje, saj jepri tem program laºje predstavljiv in re²ljiv. Osnovo linearnega programiranjapredstavlja v glavnem teorija konveksnih poliedrov. Vsakemu linearnemu pro-gramu lahko priredimo njegov dual. Njun odnos in medsebojna povezava meddrugim pripomoreta k pomembnim vpogledom v ekonomiji. V povezavi z du-alnimi spremenljivkami igrajo pomembno vlogo sen£ne cene, ki se v praksiuporabljajo kot najvi²ja cena, ki jo je kupec pripravljen ponuditi za dodatnoenoto enega omejenega vira. Na splo²no pri dejanskih problemih optimizacijene dobimo linearnega programa. Dolo£eni programi se dajo pretvoriti v lin-earne, vendar moremo biti pazljivi, da sprememba drasti£no ne vpliva na do-pustno obmo£je in s tem na optimalne re²itve.

Poznamo ve£ metod za iskanje optimalne re²itve. Izbira metode je odvisnaod samega problema. Splo²na metoda za linearni program je simpleksni algo-ritem. Druge pomembnej²e metode so ²e razveji in omeji, lokalno vzpenjanje,simulirano ohlajanje, iskanje brez vra£anja, genetski algoritmi, itd.

Page 13: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Poglavje 2

Osnovni pojmi in de�nicija

matemati£nega programa

2.1 Konveksne in konkavne funkcije

De�nicija 2.1. Mnoºica S ⊆ Rn je konveksna mnoºica, £e za vsak par to£kx, x ∈ S sledi, da daljica med tema to£kama v celoti leºi v mnoºici S. Povedanodruga£e, mnoºica S je konveksna, £e za vsak x, x ∈ S in za vsak 0 ≤ c ≤ 1sledi:

cx+ (1− c)x ∈ S.

De�nicija 2.2. Funkcija f je konveksna funkcija na konveksni mnoºici S ⊆Rn, £e za vsak x, x ∈ S in za vsak 0 ≤ c ≤ 1 velja:

f(cx+ (1− c)x) ≤ cf(x) + (1− c)f(x). (2.1)

De�nicija 2.3. Funkcija f je konkavna funkcija na konveksni mnoºici S ⊆Rn, £e za vsak x, x ∈ S in za vsak 0 ≤ c ≤ 1 velja:

f(cx+ (1− c)x) ≥ cf(x) + (1− c)f(x). (2.2)

Iz (2.1) in (2.2) vidimo, da je f konveksna natanko tedaj, ko je −f konkavnafunkcija.

De�nicija 2.4. Naj bo x = (x1, x2, . . . , xn) ∈ S ⊆ Rn. Gradient funkcije f jevektor ∇f(x), ki ga dobimo kot:

∇f(x) = [∂f(x)

∂x1

,∂f(x)

∂x2

, . . . ,∂f(x)

∂xn

].

13

Page 14: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Osnovni pojmi in de�nicija matemati£nega programa 14

De�nicija 2.5. Naj bo f funkcija de�nirana na mnoºici S ⊆ Rn in naj boparcialno odvedljiva v to£ki x ∈ S. To£ka x je:

• lokalni maksimum funkcije f , £e obstaja tak ε ∈ R, ε > 0, da za vsakx ∈ S, kjer je x ∈ Kε(x) = {y ∈ Rn : ‖y − x‖ < ε}, velja f(x) ≤ f(x),

• globalni maksimum funkcije f , £e za vsak x ∈ S velja f(x) ≤ f(x),

• stacionarna to£ka funkcije f , £e za i = 1, 2, . . . , n velja:∂f

∂xi

(x) = 0 oz.

∇f(x) = 0.

Naslednja izreka in dokaza ter posledica 2.8 so povzeti po Peressiniju, Sullivanuin Uhlu ([5], str. 51�54).

Izrek 2.6. Naj bo f funkcija, de�nirana na konveksni mnoºici S ⊆ Rn. Vsaklokalni maksimum konkavne funkcije f je tudi globalni maksimum. Vsaklokalni minimum konveksne funkcije je tudi globalni minimum.

Dokaz. Dokaºimo le, da je vsak lokalni maksimum konkavne funkcije f tudiglobalni maksimum. Predpostavimo, da je x lokalni maksimum. Dokazali biradi, da za vsak x ∈ S velja f(x) ≤ f(x). Mnoºica S je konveksna, zato pode�niciji 2.1 za vsak vsak 0 < c < 1 in za vsak x, x ∈ S velja:

cx+ (1− c)x = cx+ x− cx = x+ c(x− x) ∈ S.

Izberemo tak 0 < c < 1 in ε > 0, da za to£ko x + c(x − x) ∈ S velja‖x + c(x − x) − x‖ < ε. To£ka x je lokalni maksimum, zato iz de�nicije2.5 sledi f(x+ c(x− x)) ≤ f(x). Za vsak x ∈ S dobimo:

f(x) ≥ f(x+ c(x− x)) = f(x+ cx− cx) = f(cx+ (1− c)x).

Funkcija f je konkavna funkcija in po de�niciji 2.3 za vsak x, x ∈ S in za0 < c < 1 velja:

f(cx+ (1− c)x) ≥ cf(x) + (1− c)f(x) = cf(x) + f(x)− cf(x).

Dobili smo:f(x) ≥ cf(x) + f(x)− cf(x). (2.3)

Vidimo, da se f(x) od²teje. Nato izraz (2.3) delimo s ²tevilom c (lahko, ker ni0) in sledi 0 ≥ f(x)− f(x). Iz tega pa nato f(x) ≥ f(x).Torej smo dobili, da za vsak x ∈ S velja f(x) ≤ f(x) oz. x je globalni maksi-mum funkcije f .

Page 15: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

2.1 Konveksne in konkavne funkcije 15

Izrek 2.7. Naj bo f parcialno odvedljiva na konveksni mnoºici S ⊆ Rn.Funkcija f je konkavna natanko tedaj, ko za vsak x, x ∈ S velja:

f(x) ≤ f(x) +∇f(x)(x− x).

Funkcija f je konveksa natanko tedaj, ko za vsak x, x ∈ S velja:

f(x) ≥ f(x) +∇f(x)(x− x).

Funkcija f je strogo konkavna oz. strogo konveksna natanko tedaj, ko veljaustrezna stroga neenakost.

Dokaz. Dokazali bomo samo, da je f konkavna natanko tedaj, ko za vsakx, x ∈ S velja f(x) ≤ f(x) +∇f(x)(x− x). Ostali dokazi so podobni.

(⇒) Predpostavimo, da je f konkavna funkcija na mnoºici S. Mnoºica S jekonveksna, zato za vsak x, x ∈ S in 0 < c ≤ 1 velja cx+ (1− c)x ∈ S. Iz tegasledi:

f(x+ c(x− x)) = f(x+ cx− cx) = f(cx+ (1− c)x) ≥ cf(x) + (1− c)f(x),

ker je f konkavna funkcija. �e zdruºimo za£etni izraz s kon£nim, dobimo:

f(x+ c(x− x)) ≥ cf(x) + (1− c)f(x) = cf(x) + f(x)− cf(x).

Za£etni in kon£ni rezultat preoblikujemo in dobimo:

f(x+ c(x− x))− f(x)

c≥ f(x)− f(x).

Predpostavimo, da gre c proti 0, potem velja:

limc→0

f(x+ c(x− x))− f(x)

c= ∇f(x)(x− x).

Dobimo: ∇f(x)(x− x) ≥ f(x)− f(x). Preoblikujemo in dobimo ºeljen izraz:

f(x) ≤ f(x) +∇f(x)(x− x).

(⇐) Predpostavimo, da za vsak x, x ∈ S velja:

f(x) ≤ f(x) +∇f(x)(x− x). (2.4)

Page 16: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Osnovni pojmi in de�nicija matemati£nega programa 16

Dokazujemo, da za vsak x, x ∈ S velja f(cx+ (1− c)x) ≥ cf(x) + (1− c)f(x).

Mnoºica S je konveksna, zato za vsak x, x ∈ S in 0 < c < 1 velja, da jew = cx + (1 − c)x ∈ S. To preoblikujemo in dobimo: w − cx = (1 − c)x. Iztega sledi:

x =w − cx1− c

=w − cw + cw − cx

1− c=

=(1− c)w − c(x− w)

1− c=

(1− c)w1− c

− c(x− w)

1− c= w − c(x− w)

1− c.

Dobili smo x = w − c(x− w)

1− coz.

x− w =c

1− c(w − x). (2.5)

To£ki w, x ∈ S vstavimo v ena£bo (2.4):

f(x) ≤ f(w) +∇f(w)(x− w). (2.6)

To£ki w, x ∈ S vstavimo v ena£bo (2.4): f(x) ≤ f(w) +∇f(w)(x− w). V tejneena£bi uporabimo izraz (2.5) in dobimo:

f(x) ≤ f(w) +∇f(w)c

1− c(w − x). (2.7)

Neena£bo (2.6) pomnoºimo s ²tevilom c, neena£bo (2.7) pa s ²tevilom (1− c).Dobimo cf(x) ≤ cf(w) + c∇f(w)(x − w) in (1 − c)f(x) ≤ (1 − c)f(w) −c∇f(w)(x − w). To dvoje se²tejemo in sledi: cf(x) + (1 − c)f(x) ≤ cf(w) +(1 − c)f(w) to je enako cf(x) + (1 − c)f(x) ≤ f(w). Uporabimo, da je w =cx+ (1− c)x. S tem smo dokazali, da za vsak x, x ∈ S velja:

cf(x) + (1− c)f(x) ≤ f(w) = f(cx+ (1− c)x).

Kar dokazuje, da je f konkavna funkcija na konveksni mnoºici S.

Sledi uporabna posledica izreka 2.7.

Posledica 2.8. �e je f konkavna funkcija in je zvezno parcialno odvedljivana konveksni mnoºici S ⊆ Rn, potem je vsaka stacionarna to£ka funkcije f naS globalni maksimum funkcije f .�e je f konveksna funkcija in je zvezno parcialno odvedljiva na konveksnimnoºici S ⊆ Rn, potem je vsaka stacionarna to£ka funkcije f na S globalniminimum funkcije f .

Page 17: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

2.2 Hessejeva matrika 17

Dokaz. Dokazali bomo za primer, ko je f konkavna funkcija. Naj bo x ∈ Sstacionarna to£ka, torej velja: ∇f(x) = 0. Za vsak x ∈ S iz izreka 2.7 velja:

f(x) ≤ f(x) +∇f(x)(x− x) = f(x).

Dobili smo, da za vsak x ∈ S velja f(x) ≤ f(x). Kar pomeni, da je x globalnimaksimum.

Ta posledica nam pove, kdaj je ∇f(x) = 0 zadosten pogoj za globalni ekstremv x.Za zaklju£ek tega poglavja zapi²imo ²e dve posebni druºini konveksnih mnoºic,ki nas bosta zanimali v nadaljevanju.

De�nicija 2.9. Konveksen poligon je omejen ve£kotnik v ravnini, pri kateremso vsi koti manj²i od 180◦.

De�nicija 2.10. Konveksen polieder je omejeno geometrijsko telo, ki ga ome-juje kon£no ²tevilo ploskev, in kjer je vsaka daljica med poljubnima to£kamavsebovana v poliedru.

2.2 Hessejeva matrika

De�nicija 2.11. Naj bo x = (x1, x2, ..., xn) ∈ S ⊆ Rn. Hessejeva matrikaHf(x) za funkcijo f v to£ki x, je simetri£na matrika velikosti n× n, ki ima za

ij-ti element∂2f

∂xi∂xj

(x).

De�nicija 2.12. Za matriko A velikosti n×n de�niramo k-ti glavni minor kotdeterminanto matrike velikosti k×k, kjer odstranimo n−k vrstic in ustreznihn− k stolpcev.

De�nicija 2.13. Za matriko A velikosti n × n de�niramo k-ti vodilni glavniminor kot determinanto matrike velikosti k×k, ki jo dobimo z odstranjevanjemzadnjih n− k vrstic in zadnjih n− k stolpcev matike.

Page 18: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Osnovni pojmi in de�nicija matemati£nega programa 18

De�nicija 2.14. Naj bo matrikaA simetri£na matrika velikosti n×n. MatrikaA je:

• pozitivno de�nitna natanko tedaj, ko je k-ti vodilni glavni minor pozi-tivnen za k = 1, . . . , n,

• negativno de�nitna natanko tedaj, ko za k-ti vodilni glavni minor velja,da je < 0 za lihe k in > 0 za sode k, kjer je k = 1, . . . , n,

• je pozitivno semide�nitna natanko tedaj, ko so vsi glavni minorji matrikeA nenegativni,

• je negativno semide�nitna natanko tedaj, ko za k-te glavne minorje velja,da so ≤ 0 za lihe k in ≥ 0 za sode k, kjer je k = 1, . . . , n.

S pomo£jo Hessejeve matrike lahko dolo£imo, ali je f konveksna ali konkavnafunkcija na mnoºici S ⊆ Rn.

Izrek 2.15. Naj bo f zvezno parcialno odvedljiva do drugega odvoda naodprti mnoºici S ⊆ Rn. Funkcija f je konkavna na mnoºici S natanko tedaj, koje Hessejeva matrika Hf(x) funkcije f negativno semide�nitna za vsak x ∈ S.

�e je Hessejeva matrika Hf(x) funkcije f za vsak x ∈ S negativno de�nitna,potem sledi, da je f strogo konkavna. Obrat ne velja nujo.

Izrek 2.16. Naj bo f zvezno parcialno odvedljiva do drugega odvoda naodprti mnoºici S ⊆ Rn. Funkcija f je konveksna na mnoºici S natankotedaj, ko je Hessejeva matrika Hf(x) funkcije f pozitivno semide�nitna zavsak x ∈ S.

�e je Hessejeva matrika Hf(x) funkcije f za vsak x ∈ S pozitivno de�nitna,potem sledi, da je f strogo konveksna. Obrat ne velja nujo.

2.3 Mera uporabnosti

De�nicija 2.17. Naj bo dana mnoºica izbir X. Za vsak x, y ∈ X pomenirelacija x � y, da je izbira x vsaj tako zaºelena kot izbira y.

De�nicija 2.18. Naj bo dana funkcija u : X → R. Funkcijo u imenujemomera uporabnosti glede na relacijo zaºelenosti �, £e za vsak x, y ∈ X velja:

x � y ⇔ u(x) ≥ u(y).

Page 19: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

2.4 Sistemi linearnih (nelinearnih) neena£b 19

2.4 Sistemi linearnih (nelinearnih) neena£b

Razlika med ena£bo in neena£bo je v znaku, ki lo£uje levi in desni matemati£niizraz. Pri ena£bi nastopi znak =, pri neena£bi nastopi eden izmed znakov ≤,≥, <, >. Ena£be (neena£be) delimo glede na:

• stopnjo £lenov: prve stopnje oz. linearne ene£be (linearne neena£be) invi²jih stopenj oz. nelinearne ena£be (nelinearne neena£be),

• ²tevilo neznank oz. spremenljivk: ene£be (neena£be) brez neznank, z enoneznanko ter z ve£ neznankami.

Sistemi ena£b (neena£b) so sestavljeni iz dveh ali ve£ ena£b (neena£b). Torejsistem linearnih neena£b predstavlja ve£ neena£b, ki so vse linearne. Re²itevtega sistema predstavlja presek mnoºic re²itev posamezne neena£be.

De�nicija 2.19. Funkcija f s spremenljivkami x1, x2, ..., xn ∈ R je linearnafunkcija natanko tedaj, ko obstajajo konstante c1, c2, ..., cn ∈ R, da veljaf(x1, x2, . . . , xn) = c1x1 + c1x1 + · · ·+ cnxn.

De�nicija 2.20. Za vsako linearno funkcijo f de�nirano na mnoºici S ⊆ Rn

in za vsak b ∈ R imenujemo f(x1, x2, . . . , xn) ≤ b in f(x1, x2, . . . , xn) ≥ blinearna neenakost.

Trditev 2.21. Mnoºica re²itev sistema linearnih neena£h, ki je omejena, jekonveksen polieder.

2.5 De�nicija matemati£nega programa

Matemati£ni program predstavimo s:

• spremenljivkami x1, x2, . . ., xn, kjer je x = (x1, x1, . . . , xn) ∈ Rn. Imenu-jemo jih proste spremenljivke;

• kriterijsko funkcijo f , ki je de�nirana na Rn. Lahko jo minimiramo alimaksimiramo, odvisno od danega problema. Za kriterijsko funkcijo velja,da £e jo pomnoºimo z negativnim ²tevilom, postane maksimalna vrednostminimalna, in obratno;

• funkcijami, ki predstavljajo omejiteve danega programa. Te dodatneomejitve predstavimo z g1(x) ≤ 0, . . ., gm(x) ≤ 0, kjer je x ∈ Rn.

Recimo, da imamo v nadaljevanju problem maksimiranja kriterijske funkcije.

Page 20: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Osnovni pojmi in de�nicija matemati£nega programa 20

De�nicija 2.22. Splo²ni matemati£en program lahko zapi²emo na naslednjina£in:

max z = f(x1, x2, . . . , xn)

p.p. g1(x1, x2, . . . , xn) ≤ 0g2(x1, x2, . . . , xn) ≤ 0

......

gm(x1, x2, . . . , xn) ≤ 0 ,

(2.8)

kjer je x = (x1, x2, . . . , xn) ∈ Rn.

De�nicija 2.23. Dopustno obmo£je matemati£nega programa (2.8) je mno-ºica to£k iz Rn, ki zado²£ajo vsem m-tim omejitvam iz matemati£nega pro-grama (2.8). To£ko iz dopustnega obmo£ja imenujemo dopustna to£ka, to£ko,ki ni iz dopustnega obmo£ja, pa nedopustna to£ka.

De�nicija 2.24. Naj bo S ⊆ Rn mnoºica dopustnih re²itev matemati£negaprograma (2.8). Globalni maksimum kriterijske funkcije na S imenujemo tudioptimalna re²itev matemati£nega programa (2.8).Analogno velja za problem minimiranja kriterijske funkcije, kjer kot optimalnore²itev proglasimo globalni minimum na dopustni mnoºici.

Sledi izrek, ki predstavi pomembnost konveksnih in konkavnih funkcij za ma-temati£ne programe.

Izrek 2.25. Naj bo dan problem maksimiranja (minimiranja) kriterijske funk-cije matemati£nega programa (2.8) in naj bo njegova dopustna mnoºica S kon-veksna mnoºica. �e je f(x) konkavna (konveksna) na S, potem je vsak lokalnimaksimum (minimum) tudi globalni maksimum (minimum) za ta matemati£niprogram.

Dokaz tega izreka sledi iz izreka 2.6. Izrek 2.25 pove, £e imamo konkavno funk-cijo na konveksnem dopustnem obmo£ju S, potem bo vsak lokalni maksimumre²il matemati£ni program.

Page 21: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Poglavje 3

Linearni program in njegov dual

Linearni program je pomemben, uporaben in s stali²£a re²ljivosti ugoden ma-temati£ni program. V povezavi z linearnim programom je pomemben tudinjegov dual. Njun odnos in medsebojna povezava med drugim pripomoretak pomembnim vpogledom v ekonomiji. Leta 1947 je George Dantzig za re²e-vanje linearnih programov razvil u£inkovito metodo, imenovano simpleksni al-goritem [3]. Od takrat dalje se linearno programiranje uporablja za re²evanjeoptimizacijskih nalog v najrazli£nej²ih industrijskih panogah.

3.1 Linearni program

De�nicija 3.1. Linearni program je matemati£ni program, v katerem so ome-jitve in kriterijska funkcija linearne funkcije.

Splo²ni linearni program zapi²emo na naslednji na£in:

max(ali min)z = c1x1 + c2x2 + · · ·+ cnxn

p.p. a11x1 + a12x2 + · · · + a1nxn (≤,= ali ≥) b1a21x1 + a22x2 + · · · + a2nxn (≤,= ali ≥) b2

......

......

ai1x1 + ai2x2 + · · · + ainxn (≤,= ali ≥) bi...

......

...am1x1 + am2x2 + · · · + amnxn (≤,= ali ≥) bm

(3.1)

xi ≥ 0 i = 1, 2, . . . , n,

kjer so aij, ci, bj ∈ R za i = 1, 2, . . . , n in j = 1, 2, . . . ,m.

21

Page 22: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Linearni program in njegov dual 22

Za ta optimizacijski problem i²£emo to£ko, v kateri kriterijska funkcija doseºenajve£jo oz. najmanj²o vrednost. Ta to£ka mora prav tako zado²£ati omejit-vam, ki so podane kot linearne ena£be in neena£be.

Kadar re²ujemo linearni program, ga je potrebno za dolo£ene metode re²e-vanja (na primer sipmleksni algoritem) pretvoriti v standardno obliko. Vsespremenljivke morajo biti nenegativne. To doseºemo tako, da prosto spre-menljivko zapi²emo kot raziko dveh nenegativnih spremenljivk. Prav tako jepomembno, da ve£ spremenljivk nastopa samo v ena£bah, torej da so funk-cije omejitev zapisane z ena£bami. Neena£be uporabimo samo pri omejitvahposameznih spremenljivk, ki morajo biti nenegativne. Pogoj, da morajo bitiomejitve zapisane z ena£bami, re²imo z dopolnilnimi spremenljivkami. Do-damo jih neena£bam, ki vsebujejo ve£ spremenljivk in jih tako pretvorimo vena£be.

3.2 Gra�£no re²evanje linearnega programa

Kadar imamo enostavnej²e primere linearnega programa, ga lahko predstavimotudi gra�£no. V primeru dveh spremenljivk nam omejitev predstavlja premicov ravnini. Glede na neenakost ozna£imo dopustno obmo£je (en del ravnine).Na splo²no namre£ velja, da premica ravnino razdeli na dve polravnini. Vprimeru, da imamo podano omejitev ax + by ≤ c, najprej nari²emo premicoax+by = c in dolo£imo to£ke (x, y), ki zado²£ajo neenakosti omejitve. Za vsakoomejitev nato dolo£imo dopustne to£ke. Na koncu nam mnoºica vseh to£k, kiso dopustne za vsako od omejitev, predstavlja dopustno obmo£je danega line-arnega programa.

Lahko se zgodi, da je to obmo£je neomejeno ali prazno. Na splo²no pa je do-pustno obmo£je konveksni polieder, v primeru ravnine pa konveksni poligon.Premico kriterijske funkcije imenujemo nivojska premica. Vzporednice nivo-jske premice nam dajo snop vzporednih nivojskih premic. V primeru funcijedveh spremenljivk najve£ja oz. najmanj²a vrednost na preseku roba poliedrain nivojske premice predstavlja geometrijsko re²itev. Sledi primer, ki nakazujere²evanje linearnega programa dveh spremenljivk.

Page 23: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

3.2 Gra�£no re²evanje linearnega programa 23

Primer 3.2. Podan imamo naslednji maksimalni linearni program:

max z = x+ yp.p. 2y + 3x ≤ 18

2y + x ≤ 12x ≥ 4y ≥ 0

Izra£unamo vrednosti to£k v prese£i²£ih omejitvenih funkcij. Sledi, da je vto£ki (3, 9

2) vrednost kriterijske funkcije najve£ja, to je z = 15

2.

Slika 3.1: Primer gra�£nega re²evanja za funkcijo dveh spremenljivk.

Page 24: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Linearni program in njegov dual 24

3.3 Dualni linearni program

Vsakemu linearnemu programu lahko priredimo dualni linearni program. Vnadaljevanju bomo videli, kako iz za£etnega oz. primarnega linearnega pro-grama dobimo dulani linearni program. Za laºjo razlago de�nirajmo spre-menljivke primarnega programa z, x1, x2, ..., xn in dualnega programa w, y1,y2, ..., ym.

Sledi razlaga, kako dobiti standardni dualni linearni program iz standardnegaprimarnega linearnega programa, kjer morajo biti vse spremenljivke nenega-tivne in imajo vse omejitve neenakost ≤.

Standardni linearni program:

max z = c1x1 + c2x2 + · · ·+ cnxn

p.p. a11x1 + a12x2 + · · · + a1nxn ≤ b1a21x1 + a22x2 + · · · + a2nxn ≤ b2

......

......

ai1x1 + ai2x2 + · · · + ainxn ≤ bi...

......

...am1x1 + am2x2 + · · · + amnxn ≤ bm

(3.2)

xi ≥ 0 i = 1, 2, . . . , n.

Standardni dualni linearni program:

minw = b1y1 + b2y2 + · · ·+ bmym

p.p. a11y1 + a21y2 + · · · + am1ym ≥ c1a12y1 + a22y2 + · · · + am2ym ≥ c2

......

......

a1jy1 + a2jy2 + · · · + amjym ≥ cj...

......

...a1ny1 + a2ny2 + · · · + amnym ≥ cn

(3.3)

yj ≥ 0 j = 1, 2, . . . ,m.

Page 25: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

3.3 Dualni linearni program 25

Kadar imamo primarni program, ki ima obliko linearnega program (3.3), torejkjer so vse omejitve ≥ in vse spremenljivke nenegativne, ga imenujemo mini-malni linearni program. �e je primarni program minimalni linearni program(3.3), je njegov dual oblike (3.2).

3.3.1 Tabelari£en na£in iskanja dualnega minimalnega ali

maksimalnega programa

S tabelari£nim na£inom si iskanje dualnega programa poenostavimo. Tabelo zapomo£ iskanja dualnega linearnega programa iz primarnega linearnega prob-lema, kjer je kriterijska funkcija maksimalnega ali minimalnega problema, po-damo na naslednji na£in.

max zminw (x1 ≥ 0) (x2 ≥ 0) · · · (xn ≥ 0)

x1 x2 · · · xn

(y1 ≥ 0) y1 a11 a12 · · · a1n ≤ b1(y2 ≥ 0) y2 a21 a22 · · · a2n ≤ b2

......

......

......

(ym ≥ 0) ym am1 am2 · · · amn ≤ bm≥ c1 ≥ c2 · · · ≥ cn

Tabela 3.1: Iskanje dualnega linearnega programa.

Kadar imamo podan standardni primarni program, ga lahko v tabeli prebermotako, da gledamo vrstice. Dualni program dobimo tako, da preberemo stolpce.Poglejmo si naslednja primera.

Primer 3.3. Podan imamo naslednji maksimalni linearni program:

max 2x1 + x2

p.p. −x1 + x2 ≤ 1x1 + x2 ≤ 3x1 − x2 ≤ 4x1, x2 ≥ 0.

Page 26: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Linearni program in njegov dual 26

Zapi²emo ga v tabelo:

max zminw (x1 ≥ 0) (x2 ≥ 0)

x1 x2

(y1 ≥ 0) y1 −1 1 ≤ 1(y2 ≥ 0) y2 1 1 ≤ 3(y3 ≥ 0) y3 1 −2 ≤ 4

≥ 2 ≥ 1

Iz tabele razberemo dual za na² primarni linearni program:

min y1 + 3y2 + 4y3

p.p. −y1 + y2 + y3 ≥ 2y1 + y2 − 2y3 ≥ 1y1, y2, y3 ≥ 0.

3.3.2 Iskanje dualnega linearnega programa, kadar je pri-

marni program nestandardne oblike

Velikokrat se zgodi, da imamo podan nestandardni linearni program. Naprimer:

max z = 4x1 − x2 + 2x3

p.p. x1 + x2 ≤ 52x1 + x2 ≤ 72x2 + x3 ≥ 6x1 + x3 = 4x1 ≥ 0x2, x3 neomejena.

(3.4)

Zaradi ≥, = in neomejenosti spremenljivk ta linearni program ni standardneoblike. Z naslednjimi koraki bomo videli, kako pretvoriti nestandardni linearniprogram v standardno obliko:

• vsako neena£bo ≥ pomnoºimo z −1. V na²em primeru 2x2 + x3 ≥ 6pretvorimo v −2x2 − x3 ≤ −6;

Page 27: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

3.3 Dualni linearni program 27

• kjer pri omejitvenih funkcijah nastopa enakost (=), tega nadomestnimoz dvema neena£bama (≤ in ≥). Nato spremenimo ²e ≥ v ≤. V na²emprimeru ena£bo x1 + x3 = 4 pretvorimo v x1 + x3 ≥ 4 in x1 + x3 ≤ 4.Nato neena£bo x1 + x3 ≥ 4 pretvorimo ²e v −x1 − x3 ≤ −4;

• vsako spremenljivko xi, ki je neomejena, zamenjamo s spremenljivko xi =x′i − x′′i , kjer sta x′i, x

′′i ≥ 0. V na²em primeru zamenjamo x2 in x3 z

x2 = x′2 − x′′2 in x3 = x′3 − x′′3, kjer so x′2, x′′2, x′3, x′′3 ≥ 0.

Po teh korakih dobimo naslednji linearni program, ki je ekvivalenten pre-j²nemu:

max z = 4x1 − (x′2 − x′′2) + 2(x′3 − x′′3)p.p. x1 + x′2 − x′′2 ≤ 5

2x1 + x′2 − x′′2 ≤ 7−2(x′2 − x′′2)− (x′3 − x′′3) ≤ −6x1 + x′3 − x′′3 ≤ 4−x1 − (x′3 − x′′3) ≤ −4x1, x

′2, x′′2, x

′3, x′′3 ≥ 0.

V naslednjem primeru bomo pokazali, kako pretvoriti nestandardni linearniprogram v dualnega, ne da ga bi morali prej pretvoriti v standardno obliko.Sledimo naslednjim korakom:

• podatke nestandardnega lineanega programa vstavimo v tabelo 3.1;

• v primeru, ko ima i-ta primarna omejitev neenakost ≥, mora ustrenaspremenljivka yi zado²£ati pogoju yi ≤ 0. �e imamo v i-ti primarni ome-jitvi enakost (=), potem mora biti ustrezna spremeniljivka yi neomejena.Kadar je i-ta spremenljivka neomejena, mora imeti i-ta omejitev dualaenakost (=). �e vse to upo²tevamo, lahko preberemo dualni program iztabele.

Page 28: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Linearni program in njegov dual 28

Primer 3.4. Za nestandardni linearni program (3.4) zapi²imo njegov dual, neda bi ga pred tem spremenili v standardno obiko.Vnos podatkov v tabelo:

max zminw (x1 ≥ 0) (x2 neomejena) (x3 neomejena)

x1 x2 x3

(y1 ≥ 0) y1 1 1 0 ≤ 5(y2 ≤ 0) y2 0 2 1 ≥ 6

(y3 neomejena) y3 1 0 1 = 4≥ 4 = −1 = 2

Iz tabele dobimo razberemo dual za na² primarni linearni program:

min 5y1 + 6y2 + 4y3

p.p. y1 + y3 ≥ 4y1 + 2y2 = −1y2 + y3 = 2y1 ≥ 0y2 ≤ 0y3 neomejen.

3.3.3 Izrek o dualnosti

Izrek o dualnosti pove, da imata primarni in dualni program enaki optimalnivrednosti kriterijske funkcije, £e optimalna re²itev seveda obstaja. Ta rezultatje sam po sebi zanimiv, a nam veliko pove tudi dokaz tega izreka, v katerempridobimo zanimive vpoglede v lastnosti linearnega programa in njegovega du-ala. Za poenostavitev predpostavimo, da imamo primarni maksimalni linearniprogram standardne oblike z m omejitvami in n spremenljivkami. Sledi, daje dualni linearni program minimalni linearni program, ki je prav tako stan-dardne oblike z n omejitvami in m spremenljivkami.

De�nirajmo bT = [b1 b2 . . . bm]T in cT = [c1 c2 . . . cn]T , potem lahkoza to£ko xT = [x1 x2 . . . xn]T vrednost kriterijske funkcije primarnegaprograma zapi²emo kot cTx in za to£ko yT = [y1 y2 . . . ym]T vrednostkriterijske funkcije dualnega linearnega programa zapi²emo kot yT b. Omejitveprograma zapi²emo s pomo£jo matrike A = [aij] v povezavi z vektorjem c inspremenljivko x oz. v povezavi z vektorjem b in spremenljivko y.

Page 29: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

3.3 Dualni linearni program 29

Zapis standardnega linearnega programa v matri£ni obliki:

max cTxp.p. Ax ≤ b

x ≥ 0,(3.5)

kjer je A ∈Mm,n(R), c, x ∈ Rn in b ∈ Rm.

Zapis dualnega linearnega programa v matri£ni obliki:

min yT bp.p. ATy ≥ c

y ≥ 0,(3.6)

kjer je A ∈Mm,n(R), c ∈ Rn in b, y ∈ Rm.

V nadaljevanju bomo zapisali lemo, ki jo imenujemo ²ibka dualnost, in njendokaz (Winston, [6], str. 283).

Lema 3.5. (�ibka dualnost) Naj bo dan linearni program v standardni obliki(3.5). Naj bo xT = [x1 x2 . . . xn]T neka njegova dopustna re²itev in najbo yT = [y1 y2 . . . ym] neka dopustna re²itev za dualni linearni program(3.6). Potem sledi, da je yT b ≥ cTx.

Dokaz. Vsako omejitev v primarnem programu (3.2) pomnoºimo z yi, ki jeve£je ali enako 0. Za i = 1,2, ..., m torej dobimo neena£bo:

yiai1x1 + yiai2x2 + · · ·+ yiainxn ≤ biyi.

�e neenakosti se²tejemo, dobimo:

m∑i=1

n∑j=1

yiaijxi ≤m∑

i=1

biyi. (3.7)

Vsako omejitev v dualnem programu (3.3) pomnoºimo z xj, ki je ve£je ali enako0. Za j = 1,2, ..., n torej dobimo neena£bo:

xja1jy1 + xja2jy2 + · · ·+ xjamjym ≥ cjxj.

�e neenakosti se²tejemo, dobimo:

m∑i=1

n∑j=1

yiaijxi ≥n∑

j=1

cjxj. (3.8)

Page 30: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Linearni program in njegov dual 30

Iz neena£b (3.7) in (3.8) dobimo:

n∑j=1

cjxj ≤m∑

i=1

n∑j=1

yiaijxi ≤m∑

i=1

biyi.

Trditev sledi.

Lema 3.6. Naj bo xT = [x1 x2 . . . xn]T poljubna dopustna re²itev pri-marnega linearnega programa in yT = [y1 y2 . . . ym]T dopustna re²itevza dualni linearni program. �e velja cT x = yT b, potem je x optimalna re²itevprimarnega linearnega programa in y optimalna re²itev dualnega linearnegaprograma.

Dokaz. Naj bo x poljubna dopustna re²itev linearnega programa. Po lemi3.5 velja cTx ≤ yT b = cT x. Torej je x optimalna re²itev linearnega programa.Podobno za poljubno dopustno re²itev y dualnega linearnega programa veljayT b ≥ cT x = yT b in trditev sledi.

S podobnim sklepom dokaºemo tudi naslednji trditvi.

Lema 3.7. �e je primarni program neomejen, potem je dualni program ne-dopusten.

Lema 3.8. �e je dualni program neomejen, potem je primarni program ne-dopusten.

Kot pomo£ pri dokazu naslednjega izreka bomo potrebovali lemo (3.9).

Lema 3.9. V prostoru Rm+1 izberimo vektorje

ai = [ai1 ai2 . . . aim − ci]T ,

kjer je i = 1,2, ... n in vektorje ej = [0 . . . 0 1 0 . . . 0]T , kjer je j =1, 2, ...,m+ 1. Mnoºico S ⊂ Rm+1 de�niramo na naslednji na£in:

S =

{y | y ∈ Rm+1, y =

n∑i=1

λiai +m+1∑j=1

µjej, λ, µ ≥ 0

}.

Mnoºica S je napeta na vektorje a1, a2, ..., an, e1, ..., em+1 in ima vrh vizhodi²£u.Naj bosta b in yr vektorja iz Rm. De�nirajmo L in B na na£in L = bT y inB = [b1 b2 . . . bm − L]T ∈ Rm+1. Trdimo, da je B ∈ S.

Page 31: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

3.3 Dualni linearni program 31

Sledi izrek o dualnosti in njegov dokaz (Zakraj²ek, [7], str. 204�206).

Izrek 3.10. Naslednje trditve so ekvivalentne:

1. obstaja optimalna re²itev x primarnega programa (3.5),

2. obstaja optimalna re²itev y dualnega programa (3.6),

3. obstajata dopustni re²itvi x in y, za kateri velja yT b = cT x,

4. obstajata dopustni re²itvi x in y, za kateri velja yT (b−Ax) = (AT y−c)T x= 0.

Dokaz. (3⇒ 1, 2) Po lemi 3.6 smo ºe pokazali, da iz izjave 3 sledita izjava 1in izjava 2.

(3⇒ 4) Iz yT (b−Ax) dobimo yT b−yTAx. Uporabimo predpostavko yT b = cT xin dobimo cT x− yTAx = (cT − yTA)x = −(yTA− cT )x = −(AT y− c)T x. Kersta yT (b−Ax) in (AT y− c)T x nenegativni ²tevili, je yT (b−Ax) = (AT y− c)T x= 0. Izjava 4 je dokazana.

(4 ⇒ 3) Iz yT (b − Ax) = 0 sledi yT b - yTAx = 0 in nato yT b = yTAx. Iz(AT y − c)T x = 0 dobimo (AT y)T x - cT x= 0 in nato ²e (AT y)T x = cT x.Kon£ni rezultat je torej yT b = yTAx = (AT y)T x = cT x, zato je izjava 3dokazana.

(2 ⇔ 1) Predpostavimo, da velja izjava 2, radi bi dokazali izjavo 1. Pred-postavka je torej, da obstaja optimalna re²itev y za dualni program (3.6).Dokazujemo, da obstaja optimalna re²itev x primarnega programa (3.5).De�nirajmo vektorje ai, ei, B, skalar L in mnoºico S kot v lemi 3.9. MnoºicaS je konveksna mnoºica. Lema nam zagotavlja, da je B ∈ S, zato obstajajonenegativna ²tevila x1, . . ., xn, v1, . . ., vm+1, da velja:

B =n∑

i=1

xiai +m+1∑j=1

vjej.

To razpi²emo in za j = 1, 2, ...,m dobimo:

bj =n∑

i=1

xiaij + vj

in

−L = −n∑

i=1

xici + vn+1.

Page 32: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Linearni program in njegov dual 32

Ocenimo zgoraj dobljena izraza:

• ker so vj nenegativna ²tevila, velja∑n

i=1 xiaij + vj ≥∑n

i=1 xiaij. Torejdobimo bj =

∑ni=1 xiaij + vj ≥

∑ni=1 xiaij oz.

∑ni=1 xiaij ≤ bj. To sedaj

zapi²imo v matri£ni obliki Ax ≤ b;

• ker je vn+1 nenegativno ²tevilo, velja −∑n

i=1 xici + vn+1 ≥ −∑n

i=1 xici.Torej dobimo −L = −

∑ni=1 xici + vn+1 ≥ −

∑ni=1 xici oz.

∑ni=1 xici ≥ L.

To zapi²emo v vektorski obliki: cT x ≥ L.

�e to zdruºimo, dobimo:cT x ≥ L = bT y (3.9)

Ax ≤ b

x =

x1

x2...xn

≥ 0.

Vidimo, da ima primarni program (3.5) vsaj en dopusten vektor, to je x.Radi bi pokazali, da za vsak x velja cTx ≤ cT x, saj iz tega sledi, da je x opti-malna re²itev linearnega programa (3.5).

Ker po predpostavki velja ATy ≥ c in ker je y dopusten vektor (saj je popredpostavki celo optimala re²itev), velja AT y ≥ c.

�e za vsak dopustni vektor x upo²tevamo AT y ≥ c, dobimo naslednje:

cTx ≤ (AT y)Tx = yTAx.

Za vektor x smo predpostavili, da je dopustni vektor, torej velja Ax ≤ b.Zato sledi yTAx ≤ yT b = L ≤ cT x (sledi iz (3.9)). Dobili smo, da za vsak xvelja cTx ≤ cT x. S tem smo dokazali, da iz izjave 2 sledi izjava 1. Podobnodokaºemo, da iz izjave 1 sledi izjava 2, saj je dualnost vzajemna lastnost.

(1⇒ 3) Ker velja izjava 1, velja tudi izjava 2. Po lemi 3.6 velja cT x = yT b. Stem smo dokazali izjavo 3.

Sledi pomembna posledica izreka 3.10.

Page 33: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

3.4 Sen£ne cene 33

Posledica 3.11. Mnoºica to£k (x, y) ∈ Rn+m, ki so dopustne za naslednjisistem neenakosti:

x, y ≥ 0

Ax ≥ b

ATy ≤ c

yT (b− Ax) = (ATy − c)Tx = 0,

je natanko mnoºica optimalnih re²itev linearnega programa (3.5) in dualnegalinearnega programa (3.6).

3.4 Sen£ne cene

Grobo re£eno je sen£na cena (shadow price) razlika vrednosti optimalnegarezultata linearnega programa, ki jo dobimo, £e omilimo omejitev za vred-nost 1. Poslovno se sen£na cena uporablja kot najvi²ja cena, ki jo je kupecpripravljen ponuditi, za dodatno enoto enega omejenega vira.

De�nicija 3.12. Naj bo dan linearni program (3.5). Sen£na cena i-te omeji-tve predstavja koli£ino, za katero se vrednost kriterijske funkcije z izbolj²ala(nara²£a pri maksimiranju kriterijske funkcije in pada pri minimiranju kriter-ijske funkcije), £e smo bi pove£ali za 1.

Izrek 3.13. Sen£na cena i-te omejitve linearnega programa predstavlja opti-malno vrednost i-te dualne spremenljivke. Iz tega dejstva sledi, da bo sen£nacena pozitivna pri omejitvah z neenakostjo ≤ in da bo sen£na cena negativna,kadar imamo pri omejitvah neenakost ≥. Pri omejitvi z enakostjo predznaksen£ne cene ni de�niran.

Izrek 3.14. Naj bo pi sen£na cena omejitve i v maksimalnem linearnem pro-gramu (3.5). �e omejitev i spremenimo za dovolj majhen ∆bi, potem se vred-nost kriterijske funkcije spremeni za pi∆bi.

Izrek 3.15. Naj bo pi sen£na cena omejitve i v minimalnem linearnem pro-gramu (3.6). �e omejitev i spremenimo za dovolj majhen ∆bi, potem se vred-nost kriterijske funkcije spremeni za −pi∆bi.

Organiziranje dodatne enote proizvodnje je smotrena, v kolikor stro²ek njeneproizvodnje ne presega prodajne cene na trgu.

Page 34: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Linearni program in njegov dual 34

Primer 3.16. Sledi opis sen£nih cen v primeru, da imamo optimalno re²itevdualnega programa, ki je minimalnega problema.Recimo, da imamo optimalno re²itev y = (0, 5) nekega dualnega programa.Potem je prva sen£na cena enaka 0 in druga sen£na cena je enaka 5. �eje sen£na cena enaka 0, pomeni, da pove£anje desne strani prve omejite pri-marnega programa za eno enoto, ne pove£a dobi£ka. �e je sen£na cena 5,pomeni, da pove£anje desne strani druge omejiteve primarnega programa zaeno enoto, pove£a dobi£ek za 5 enot.

Page 35: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Poglavje 4

Kuhn-Tuckerjevi pogoji za

optimalnost re²itev

4.1 Lagrangevi multiplikatorji

Osnovno Lagrangevo metodo lahko uporabimo za re²evanje matemati£negaprograma, pri katerem pri vseh omejitvah nastopajo enakosti. Predpostavimo,da imamo problem maksimiranja.

Matemati£ni program je torej oblike:

max z = f(x1, x2, · · · , xn)

p.p. g1(x1, x2, · · · , xn) = 0g2(x1, x2, · · · , xn) = 0

......

gm(x1, x2, · · · , xn) = 0x1, x2, . . . , xn ∈ R

(4.1)

De�nicija 4.1. Naj bodo x1, x2, . . . , xn ∈ R in λ1, λ2, . . . , λm ≥ 0. Lagran-geva funkcija L(x1, x2, . . . , xn, λ1, λ2, . . . , λm) matemati£nega programa (4.1)je de�nirana na naslednji na£in:

L(x1, x2, . . . , xn, λ1, λ2, . . . , λm) = f(x1, x2, . . . , xn)−m∑

i=1

λigi(x1, x2, . . . , xn),

(4.2)kjer ²tevila λ1, λ2, . . . , λm imenujemo Lagrangevi multiplikatroji.

35

Page 36: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Kuhn-Tuckerjevi pogoji za optimalnost re²itev 36

Izrek 4.2. Naj ima ima f za vsako to£ko x = (x1, x2, ..., xn) zvezni parcialniodvod druge stopnje. �e je x = (x1, x2, . . . , xn) lokani ekstrem za:

max z = f(x1, x2, · · · , xn)p.p. (x1, x2, . . . , xn) ∈ Rn,

potem za vsak i = 1, 2, . . . , n velja∂f(x)

∂xi

= 0.

Izrek 4.3. Naj bo podan matemati£ni program (4.1). Ta matemati£ni pro-gram lahko re²imo tako, da tvorimo Lagrangevo funkcijo in poi²£emo to£ke(x1, x2, . . . , xn, λ1, λ2, . . . , λm), ki zado²£ajo:

∂L

∂xi

(x1, x2, . . . , xn, λ1, λ2, . . . , λm) = 0 ∀i = 1, . . . , n

in∂L

∂λj

(x1, x2, . . . , xn, λ1, λ2, . . . , λm) = 0 j = 1, . . . ,m.

Med dobljenimi to£kami (x1, x2, . . . , xn) poi²£emo optimalno re²itev, ki zado²£apogojem matemati£nega programa (4.1).

4.2 Kuhn-Tuckerjevi pogoji

V tem poglavju bomo zapisali potrebne pogoje za lokalno optimalno re²itevmatemati£nega programa (4.3), imenujemo jih Kuhn-Tuckerjevi pogoji. Priustreznih predpostavkah so Kuhn-Tuckerjevi pogoji celo zadostni za globalnooptimalno re²itev.Naj bo dan matemati£en program oblike:

max z = f(x1, x2, · · · , xn)

p.p. g1(x1, x2, · · · , xn) ≤ 0g2(x1, x2, · · · , xn) ≤ 0

......

gm(x1, x2, · · · , xn) ≤ 0 ,

(4.3)

kjer je x = (x1, x2, . . . , xn) ∈ C ⊆ Rn.

Page 37: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

4.2 Kuhn-Tuckerjevi pogoji 37

4.2.1 Regularni pogoji

Za de�niranje Kuhn-Tuckerjevih pogojev morajo omejitve programa (4.3) za-do²£ati dolo£enim regularnim pogojem (Floudas in Pardalos, [2], str. 106�107).Naj bo podana mnoºica S = {x : gi(x) ≤ 0, i = 1, 2, . . . ,m} ⊆ Rn in pred-postavimo, da so vse funkcije matemati£nega programa (4.3) zvezno diferen-ciabilne na odprti mnoºici, ki vsebuje S.

V nadaljevanju sledijo de�nicije, ki jih bomo potrebovali za de�niranje regu-larnih pogojev.

De�nicija 4.4. Naj bo d ∈ Rn. Vektor d imenujemo dopustna smer v to£kix ∈ S, £e obstaja λ > 0, da za vsak 0 < λ < λ velja x+ λd ∈ S.

Naj bo to£ka x ∈ S lokalni maksimum. De�nirajmo mnoºico Z(x), kotmnoºico, ki vsebuje vse dopustne smeri v to£ki x.

De�nicija 4.5. Mnoºico I(x) = {i ∈ {1, 2, . . . ,m} : gi(x) = 0} imenujemoindeksna mnoºica aktivnih omejitev v to£ki x ∈ S.

De�nirajmo ²e mnoºico L(x) = {d : dT∇gi(x) ≤ 0, i ∈ I(x)}.

Obstajajo nelinearni programi, za katere velja Z(x) = {d : dT∇gi(xi) < 0, i ∈I(x)}. Za nelinearne programe s to lastnostjo na splo²no velja: clZ(x) ⊆ L(x).

Za teorijo matemati£nega programiranja so posebno zanimivi primeri, kjervelja enakost med clZ(x) in L(x). Zato de�niramo:

De�nicija 4.6. Omejitve matemati£nega programa (4.3) so regularne v x ∈S, ko velja clZ(x) = L(x). Vsak pogoj, ki zagotavlja regularnost, imenujemoomejitvena kvali�kacija (constraint quali�cation).

Sledi izrek, ki pove tri najbolj poznane omejitvene kvali�kacije.

Izrek 4.7. Vsak od navedenih pogojev je omejitvena kvali�kacija:

• za i = 1, . . . ,m so gi linearne funkcije,

• za i = 1, . . . ,m so gi konveksne funkcije in obstaja x, ki zado²£a gi(x) < 0(temu pogoju re£emo Slaterjev pogoj),

• vektorji ∇g(x) , kjer je i ∈ I(x), so linearno neodvisni.

Page 38: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Kuhn-Tuckerjevi pogoji za optimalnost re²itev 38

4.2.2 Potrebni in zadostni Kuhn-Tuckerjevi pogoji

Sledi izrek, ki poda potrebne pogoje, da je to£ka lokalni optimum matem-ati£nega programa (4.3).

Izrek 4.8. Naj bo dan matemati£ni program (4.3), kjer so kriterijska funkcijain omejitve zvezno diferenciabilne na odprti mnoºici, ki vsebuje S = {x :gi(x) ≤ 0, i = 1, . . .m} ⊆ Rn. �e je x = (x1, x2, . . . , xn) lokalna optimalnare²itev (lokalni maksimum) matemati£nega programa (4.3) in tak²na, da soomejitve v x regularne, potem veljajo naslednji Kuhn-Tuckerjevi pogoji:

(i) gi(x) ≤ 0 i = 1, . . . ,m,

(ii) obstajajo λ1, λ2, . . . , λm ∈ R, λi ≥ 0 (i = 1, 2, . . . ,m), za katere velja:

• ∇f(x)−∑m

i=1 λi∇gi(x) = 0,

• λigi(x) = 0 i = 1, 2, . . . ,m.

V primeru, da za matemati£ni program (4.3) velja, da je kriterijska funkcijakonkavna, omejitvene funkcije konveksne in dopustno obmo£je konveksna mno-ºica, potem je lokalni optimum pravzaprav globalni optimum, kar predstavljare²itev matemati£nega programa.

V nadaljevanju torej predpostavimo, da kriterijska funkcija f in omejitve gi zai = 1, 2, . . .m zado²£ajo Slaterjevim pogojem.

Naslednja izreka in dokaz navajajo Peressini, Sullivan in Uhl ([5], str. 182�185).

Izrek 4.9. Naj bo dan matemati£ni program (4.3). To£ka x ∈ C ⊆ Rn

je re²itev matemati£nega programa (4.3) natanko tedaj, ko obstajaja λ =(λ1, λ2, . . . , λm) ∈ Rm, ki zado²£a:

λ ≥ 0,

L(x, λ) ≤ L(x, λ) ≤ L(x, λ) ∀x ∈ Rn, λ ∈ Rn,∀λ ≥ 0

inλigi(x) = 0 i = 1, . . . ,m.

To£ko (x, λ) iz zgornjega izreka imenujemo sedelna to£ka funkcije L.

Sledi izrek, ki pove, da so lahko Kuhn-Tuckerjevi pogoji tudi zadostni za op-timalno dopustno re²itev matemati£nega programa (4.3).

Page 39: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

4.2 Kuhn-Tuckerjevi pogoji 39

Izrek 4.10. Naj bo dan matemati£ni program (4.3) in naj velja, da imajofunkcije f , g1, . . ., gm zvezne parcialne odvode prve stopnje na mnoºici C ⊆Rn. Naj bo x notranja to£ka mnoºice C iz Slaterjevih pogojev. �e je x =(x1, x2, . . . , xn) dopustna re²itev matemati£nega programa (4.3), potem je xoptimalna re²itev natanko tedaj, ko obstaja λ = (λ1, λ2, . . . , λm) ∈ Rm,davelja:

∇f(x)−m∑

i=1

λi∇gi(x) = 0 (4.4)

λigi(x) = 0 i = 1, 2, . . . ,m (4.5)

λi ≥ 0 i = 1, 2, . . . ,m. (4.6)

Dokaz. (⇒) Predpostavimo, da je x dopustna re²itev. Potem po izreku 4.9vemo, da obstajaja λ = (λ1, λ2, . . . , λm) ∈ Rm, ki zado²£a pogoju λi ≥ 0 inλigi(x) = 0 za i = 1, 2, . . . ,m. Torej sta dokazana pogoja (4.5) in (4.6).Za to£ko (x, λ) in za vsak x ∈ C iz izreka 4.9 torej velja:

L(x, λ) ≤ L(x, λ). (4.7)

De�nirajmo funkcijo h(x) = L(x, λ), ki ima po predpostavki zvezen parcialniodvod prve stopnje na mnoºici C. Po neenakosti (4.7) je x globalni maksi-mum funkcije h na mnoºici C. Ker je x notranja to£ka mnoºice C, velja, daje ∇h(x) = 0. Dobimo:

0 = ∇xh(x) = ∇xL(x, λ) = ∇xf(x)−m∑

i=1

λi∇xgi(x).

Torej velja:

∇f(x)−m∑

i=1

λi∇gi(x) = 0.

S tem je izpoljen pogoj (4.4).

(⇐) Predpostavimo, da x ∈ C in λ ∈ Rm zado²£ata pogojem (4.4), (4.5) in(4.6). Dokazujemo, da za vsak x ∈ C velja f(x) ≤ f(x). S tem pokaºemo, daje x optimalna re²itev.

Za vsako dopustno to£ko x matemati£nega programa (4.3) velja gi(x) ≤ 0 inλi ≥ 0 za i = 1, . . . ,m. �e to upo²tevamo, dobimo f(x) ≤ f(x)−

∑mi=1 λigi(x),

saj je∑m

i=1 λigi(x) ≤ 0.

Page 40: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Kuhn-Tuckerjevi pogoji za optimalnost re²itev 40

Ker je f konkavna, iz izreka 2.7 za to£ki x in x, velja:

f(x) ≤ f(x) +∇f(x)(x− x).

Ker so gi za i = 1, . . . ,m konveksne, iz izreka 2.7 za to£ki x in x, velja:

gi(x) ≥ gi(x) +∇gi(x)(x− x)

oz.−gi(x) ≤ −(gi(x)∇gi(x)(x− x)).

To uporabimo in dobimo:

f(x) ≤ f(x)−m∑

i=1

λigi(x) ≤

≤ (f(x) +∇f(x)(x− x))−m∑

i=1

λi(gi(x) +∇gi(x)(x− x)).

Ta izraz preoblikujemo in dobimo:

f(x) ≤ (f(x)−m∑

i=1

λigi(x)) + (∇f(x)−m∑

i=1

λi∇gi(x))(x− x) = f(x),

zaradi pogoja (4.4) in (4.5). Dobimo f(x) ≤ f(x). Torej je x globalni maksi-mum dopustnega obmo£ja programa (4.3) oz. optimalna re²itev tega matem-ati£nega programa.

Page 41: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Del II

Modeli trgovanja z elektri£no

energijo

41

Page 42: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Poglavje 5

Predstavitev elektroenergetskega

trga

Nova organiziranost elektroenergetskega trga vklju£uje nove akterje in proceseoz. strukture trgovanja z elektri£no energijo. Zato je za uspe²no delovanje do-bro preu£iti akterje in njihov vpliv na celotni proces trgovanja z elektri£no ener-gijo. Nova organiziranost je implementirana s pomo£jo dveh trºnih struktur,borze elektri£ne energije in dvostranskih pogodb med proizvajalci in odjemalci.

V nadaljevanju so na²teti udeleºenci, ki sodelujejo v postopku pridobivanjain prodaje elektri£ne energije ter vseh vmesnih faz. V oklepaju so na²tetapodjetja, ki v Sloveniji opravljajo navedene dejavnosti:

• proizvajalci (Holding Slovenske elektrarne in Gen energija) in odjemalci(gospodinjstva, mala podjetja, industrija in druge organizacije);

• borza elektri£ne energije, kjer udeleºenci sklepajo odprte pogodbe (Bor-zen);

• trgovci z elektri£no energijo, ki kupujejo energijo z dvostranskimi pogod-bami ali z elektroenergetskega trga ter jo nato dalje prodajo razli£nimodjemalcem z namenom, da maksimirajo svoj dobi£ek (Elektro Celje,Elektro Gorenjska, Elektro Ljubljana, Elektro Maribor, Elektro Primor-ska ter Gen-I);

• distribucijska podjetja so strogo regulirana in omogo£ajo nediskrimina-torni dostop do distribucijskih omreºij t. j. energetsko omreºje od prenos-nega do kon£nega odjemalca (Elektro Celje, Elektro Gorenjska, ElektroLjubljana, Elektro Maribor in Elektro Primorska);

• trºni operater, ki skrbi za ravnovesje trga (Elektro Slovenija);

42

Page 43: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

43

• skrbnik prenosnega omreºja, skrbi za visokonapetpstno elekti£no omreºjein povezuje proizvajalce z distribucijskimi omreºji ali povezuje posame-zna prenosna podjetja (Elektro Slovenija),

• neodvisni sistemski operater ima obi£ajno avtoriteto, da v primeru, kadarje ogroºena sistemska varnost, modi�cira ºe razporejeno elektri£no tran-sakcijo. Izvaja lahko samo minimalne popravke (Elektro Slovenija).

V nadaljevanju bodo prikazani matemati£ni modeli, s katerimi posamezni ak-teriji na trgu elektri£ne energije optimalno sledijo svojim ciljem. Predstavitevelektroenergetskega trga in modelov njegovih udeleºencev je povzet po Conejuin Prietu ([1], str. 1�54).

Slika 5.1: Prikaz udeleºencev na trgu elektri£ne energije.

Page 44: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Predstavitev elektroenergetskega trga 44

Borza elektri£ne energije je komercialno trºi²£e, kjer proizvajalci in odjemalciindividualno sklepajo ponudbe za proizvodnjo in porabo elektri£ne energije.Trºni operater uravnove²a trºi²£e s trºnimi pravili, dolo£a marketin²ko cenoter mnoºico sprejemljivih proizvodnih in potro²nih ponudb. Tipi£no se to do-gaja enkrat dnevno. Med drugim je moºno majhne popravke urejati tudi naurnih bazah. Proizvajalci, odjemalci in regulativni organi se pred dejanskoimplementacijo vedno posvetujejo in dogovorijo na osnovi trºnih pravil.

Dvostranska pogodba je dogovor med proizvajalci in odjemalci, o nakupu inprodaji elektri£ne energije po dolo£eni ceni za dolo£eno obdobje. Zasnovanaje tako, da omogo£a konkuren£no trgovanje med udeleºenci na trgu. Takolo£imo kratek in srednji rok, pri £emer prvi predstavlja obdobje do enegameseca, drugi pa obdobje od enega meseca do nekaj let. Podrobnosti pogodbelahko zelo variirajo od enega primera do drugega in vplivajo na speci�£nostrukturo matemati£nega programa. V diplomskem delu bomo obravnavalipogodbe kot £asovno zaporedje vrednosti, ki zado²£ajo dolo£enim omejitvamin cenam, povezanim s koli£ino energije. Pogodbe torej dolo£ajo dane omejitvein funkcije cene.

�eprav so matemati£ni programi v tem diplomskem delu formulirani deter-ministi£no, se je potrebno zavedati, da imajo nekateri njihovi parametri intudi kontrolne spremenljivke stohasti£no naravo. Obravnava teh podrobnostipresega obseg tega diplomskega dela in se ji bomo izognili.

Do teºav prihaja tudi, kadar je potrebno primerjati odlo£itve, ki nastopajov razli£nih £asovnih intervalih. Na primer rezultat elektroenergetskega trga(dobljen dnevno, z urnimi spremembami cen) se mora primerjati s predpostav-ljenim rezultatom iz dvostranskih pogodb (glede na mese£ni ali letni dogovor).Primerjava teh razli£nih £asovnih intervalov spada med teºje probleme. Enaizmed moºnih alternativ tega problema bi bila, da bi zdruºili pri£akovano ob-na²anje trga elektri£ne energije v tedensko ali mese£no obdobje. Vendar setak²no vnaprej predpostavljeno obna²anje odnese le v primeru dobre konku-rence oz. dobre napovedi in ni primerno, kadar ima posamezen proizvajalecveliko trºno mo£ pri dolo£anju cen.

Page 45: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Poglavje 6

Model proizvajalcev

V tem poglavju sta opisani klju£ni odlo£itvi, s katerima se morajo soo£itiproizvajalci pri prodaji elektri£ne energije. Ti dve odlo£itvi sta, koliko ener-gije prodati preko dvostranskih pogodb in koliko energije prodati na borzoelektri£ne energije.

6.1 Sklepanje dvostranskih pogodb

Dovoljeno je, da lahko proizvajalci in odjemalci sklepajo �zi£ne dobavne po-godbe izven borze elektri£ne energije. S stali²£a proizvajalcev je potrebnodolo£iti, ali je bolj donosno dolo£eno koli£ino prodati neposredno preko dvos-transkih pogodb ali preko borze. Prodaja elektri£ne energije preko dvostran-skih pogodb zagotavlja �ksno ceno in koli£ino, kar dolgoro£no zmanj²a tveganjain omogo£a zanesljive prihodke od prodaje.Izziva, ki se pojavita v povezavi z dvostranskimi pogodbami, sta:

• kako £im bolj optimalno skleniti pogodbo, da se upo²tevajo posebnostiproizvajalca in odjemalca,

• potrebna je odlo£itev, ali je pogodba z dano strukturo v ve£jem interesuza proizvajalce, kot druga moºna alternativa (borza).

V nadaljevanju se bomo osredoto£ili na drug izziv. Da se lahko odlo£imo,£e je pogodba primerna za proizvajalce, bi bilo potrebno re²iti dva matem-ati£na programa, s katerima primerjamo dobi£ek s pogodbo in brez nje. �epredpostavimo, da proizvajalec nima moºnosti vplivanja na ceno oz. dolo£anjacen na trgu elektri£ne energije, potem oba programa maksimirata dobi£ek naborzi elektri£ne energije in dobljeni dobi£ek s pogodbami. Pri tem upo²tevamo

45

Page 46: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Model proizvajalcev 46

tehni£ne omejitve in posebosti pogodb. Dobimo naslednji model oz. matema-ti£ni program, ki obravnava samo energijo pridobljeno s termoelektrarnami:

maxpit,∀i,t;st,∀t

∑t

(λtst −∑

i

cit(pit))

p.p.∑

i pit = st +∑

j ljt ∀t

pit ∈ Πi ∀i, t,(6.1)

kjer je:

st skupna proizvodnja proizvajalca, ki je alocirana na borzo elektri£ne energijemed obdobjem t,

λt povpre£na cena energije na trgu za obdobje t,

pit proizvodnja energije iz generatorja i, ki pripada proizvajalcu v obdobju t,

cit(pit) proizvodni stro²ek glede na pit generatorja i v obdobju t,

ljt zahtevana energija iz pogodbe j med obdobjem t,

Πi interval operativne proizvodnje generatorja i.

Optimalni pri£akovni dobi£ek naj bi bil modi�ciran z izrazom∑

t

∑j λjtljt,

kjer λjt ozna£uje enoto pla£ila, ki je dobljena od pogodbe j med obdobjemt. Ta vrednost je neodvisna od odlo£itvene spremenljivke in je lahko vzeta vzakup, ko se program(6.1) ºe re²i.

Matemati£ni program (6.1) maksimira dobi£ek, kjer se proizvodnja optimalnoporazdeli med elektroenergetskim trgom in dvostranskimi pogodbami. Prvaomejitev zahteva, da je proizvodnja generatorjev proizvajalca enaka zahtevanienergiji preko dvostranskih pogodb in energiji alocirani na borzo. Druga ome-jitev programa so operativne omejitve proizvodnih enot. Obstoj pogodb im-plicira, da programa ne moramo lo£iti glede na generatorje energije ali £asovneenote, razen, £e dolo£imo dodatne predpostavke.

Page 47: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

6.1 Sklepanje dvostranskih pogodb 47

6.1.1 Obnovljivi viri in funkcija vrednosti vode

V tem primeru bomo obravnavali tudi proizvajalce, ki pridobivajo energijo zvodnimi viri. Pri tem se mo£ vodnega padca izkoristi za pridobivanje energije.Razpoloºljiva mo£ hidroelektrarn je zato odvisna od vodnega padca in pretokavode. Na to pa seveda vplivajo naravni pogoji oz. pretok reke. Da se odvisnostod naravnih pogojev zmanj²a, imamo zbiralnike vode oz. akumulacijska jezera.Preteºno se voda v njih nabira, kadar je pretok vode velik in kadar je manj²aporaba energije.

Matemati£ni program (6.1) moramo spremeniti v tolik²ni meri, da upo²tevamoºne negotovosti v zvezi z razpoloºljivo koli£ino vode v zbiralnikih. Pri up-ravljanju hidroproizvodnje moramo torej upo²tevati:

• hidroproizvodnja je nelinearna funkcija pretoka vode in vi²ine zbiral-nika vode. Ker se lahko koli£ina shranjene vode v nekem £asovnem ob-dobju zelo hitro spremeni, moramo slediti koli£ini pretoka vode in koli£inishranjene vode;

• koli£ina razpoloºljive vode je odvisna od dejavnosti proizvajalcev in oddrugih slu£ajnih parametrov, ki so povezani s klimo oz. naravnimi pojavi;

• koli£ino shranjene vode na koncu planiranega obdobja, ki predstavljapomembno odlo£itveno spremenljivko in mora biti v matemati£nem pro-gramu eksplicitno obravnavana.

Zadnja to£ka omogo£a, da lahko zadrºimo proizvodnjo elektri£ne energije inpo£akamo na vi²jo pri£akovano ceno. Uporabljajo se tudi vodne £rpalke, kivodo £rpajo v vi²je leºe£a akomulacijska jezera. Kadar so cene visoke, seproizvaja elektri£na energija z izkori²£anjem padca vode z vi²je leºe£ih aku-mulacijskih jezer v niºja. Kljub temu, da ima ta sistem nizek izkoristek, jepostopek vseeno ekonomsko upravi£en, predvsem zaradi dnevnega nihanja cenelektri£ne energije na trgu.

Page 48: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Model proizvajalcev 48

Matemati£ni program, ki ga dobimo, je:

maxpit,∀i,t;St,∀t;x;y

∑i∈H

vi(yiT ) +∑

t

(λtst −∑i∈G

cit(pit))

p.p. st +∑

j ljt =∑

i pit ∀i, t

pit = gi(xit, yit) ∀i, t ∈ H

Ax+By = b

pit ∈ Πi ∀i, t ∈ G,

(6.2)

kjer je:

yit pribliºna srednja vrednost vode, ki je shranjena v zbiralniku i med obdob-jem t (y je vektor vseh yit),

st skupna proizvodnja proizvajalca, ki je alocirana na borzo elektri£ne energijemed obdobjem t,

λt povpre£na cena energije na trgu za obdobje t,

pit proizvodnja energije iz generatorja i, ki pripada proizvajalcu v obdobju t,

G mnoºica termogeneratorjev,

cit(pit) proizvodni stro²ki termogeneratorja i iz mnoºice G v obdobju t,

vi(yiT ) vrednost funkcije vode (v mese£nem obdobju) za zbiralnik i, ovred-notene v yiT , kjer se voda shrani na koncu planiranega £asovnega ob-dobja T ,

ljt zahtevana energija iz pogodbe j med obdobjem t,

H mnoºica hidrogeneratorjev,

xit koli£ina vode, ki se izlije iz hidrogeneratorja i iz mnoºice H v obdobju t (xje vektor vseh xit),

gi(xit, yit) priskrbi hidroproizvodnjo za hidro enoto i glede na vodni pretok xit

in nivo shranjene vode yit,

Πi interval operativne proizvodnje generatorja i,

Page 49: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

6.2 Odziv borze elektri£ne energije 49

A,B inciden£ni matriki, ki predstavljata topologijo pore£ij, ker se nahajajozbiralniki oz. akumulacijska jezera, kot tudi odvisnost med £asovnimiobdobji shranjene vode v zbiralniku. Inciden£na matirka predstavljagraf, kjer so vrstice vozli²£a grafa in stolpci povezave grafa. V na²emprimeru imamo usmerjen graf (celo drevo). �e je Aij = 1, potem smerpovezave poteka od vozli²ca i do vozli²£a j. V primeru, da je Aij = −1,smer povezave poteka od vozli²£a j do i,

b vektor zunanjih prilivov in izlivov iz zbiralnika (deº, izhlapevanje, itd.) vpore£ju.

Optimalni pri£akovani dobi£ek je lahko nadalje modi�ciran z∑

t

∑j λjtljt, ki

predstavlja pri£akovan prihodek od dvostranskih pogodb, kjer je λjt dobljenacena pogodbe j med obdobjem t.Pri poenostavljanju je privzeto, da je vsak zbiralnik povezan samo z eno hidroenoto. Glavni razliki tega in matemati£nega programa (6.1) predstavljatavodna funkcija vi(·) in ravnovesje med pritokom in shranjeno vodo v zbiralniku.

6.2 Odziv borze elektri£ne energije

Mo£ vpliva posameznega proizvajalca na ceno elektri£ne energije je omejena skoli£ino njegove proizvodnje in stopnje konkuren£nosti na trgu. Proizvajalci,ki nimajo vpliva na trºno ravnovesje cen energije na trgu, maksimirajo svojdobi£ek tako, da organizirajo svojo proizvodnjo glede na pro�l predvidenihcen. Proizvajalci, ki vplivajo na ravnovesje cen, pa prilagajajo svojo proizvod-njo s spremljanjem ravnovesja cen na trgu in tako maksimirajo svoj dobi£ek.Dolo£anje optimalnega ravnovesja zahteva natan£no poznavanje moºnih posle-dic vpliva na cene. To znanje je vklju£eno v krivuljo, ki za dano proizvodnjovrne ravnovesno ceno energije na trgu. Modeliranje te krivulje predstavljaraziskovalni izziv.

Ko je na£rt najbolj²e proizvodnje znan, je potrebno oblikovati ponudbenostrategijo, da bi se ta na£rt proizvodnje uresni£il. V nadaljevanju se bomoosredoto£ili le na na£rtovanje najbolj²e proizvodnje. Zaradi nazornosti, nebomo upo²tevali energije, pridobljene s hidroelektrarnami, £eprav bi modelzlahka raz²irili v to smer.

Page 50: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Model proizvajalcev 50

6.2.1 Proizvajalci brez moºnosti vplivanja na trg

Te poizvajalce lahko predstavimo s ²tevilom generatorjev, ki neodvisno mak-simirajo svoj dobi£ek. V tem primeru problem maksimiranja dobi£ka proiz-vajalcev razpade na posamezne generatorje. Zato je v model vklju£en le engenerator. Ta generator optimira svoj dobi£ek, pri £emer upo²teva svoje oper-ativne omejitve. Sledi formulacija matemati£nega programa za ta generator:

maxpt,∀t

∑t

(λtpt − ct(pt))

p.p. pt ∈ Π ∀t, (6.3)

kjer je:

λt napovedana ravnovesna cena energije na trgu ob uri t,

pt proizvodnja energije generatorja ob uri t,

ct(pt) proizvodni stro²ek generatorja ob uri t,

Π interval dopustne proizvodnje generatorja.

Kriterijska funkcija matemati£nega programa (6.3) vklju£uje prihodke in stro-²ke. Razlika teh dveh predstavlja dobi£ek proizvajalca. Omejitve predposta-vljajo, da generator deluje v intervalu dopustne proizvodnje. Re²itev matem-ati£nega programa (6.3) poda optimalno proizvodnjo generatorja za vsako uro.

6.2.2 Proizvajalci z moºnostjo vplivanja na trg

Proizvajalci z moºnostjo vpliva na trg elektri£ne energije so obi£ajno lastnikivelikega ²tevila generatorjev energije. Njihov cilj je maksimirati svoj dobi£ekglede na operativne omejitve generatorjev. Proizvajalci v ta namen modi�-cirajo svojo urno proizvodnjo in s tem spreminjajo cene ravnovesja trga, pri£emer je potrebno zahtevati usklajeno delovanje vseh generatorjev.

Dobimo matemati£ni program:

maxpij ,∀i,t;qt,∀t

∑t

(λt(qt)qt −∑

i

cit(pit))

p.p. qt =∑

i pit ∀t

pit ∈ Πi ∀i, t,(6.4)

Page 51: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

6.2 Odziv borze elektri£ne energije 51

kjer je:

qt trºna kvota proizvajalca ob uri t,

λt(qt) funkcija, ki od proizvajalca ob uri t, za dano proizvodnjo vrne ravnove-sno ceno energije na trgu,

pit proizvodnja energije iz generatorja i, ki pripada proizvajalcu ob uri t,

cit(pit) proizvodni stro²ki generatorja i ob uri t,

Πi interval dopustne proizvodnje generatorja i.

Kriterijska funkcija matemati£nega programa (6.4) predstavlja dobi£ek proiz-vajalca. Prva omejitev predstavlja trºno kvoto proizvajalca kot funkcijo pro-izvodnje njihovih generatorjev. Druga omejitev so operativne omejitve gene-ratorjev, ki pripadajo proizvajalcu.

Re²itev problema (6.4) zagotavlja optimalno proizvodnjo vsakega generatorja.Proizvajalci bi morali sklepati ponudbe na trgu tako, da njihovi generatorjioptimalno razporedijo proizvodnjo.

Page 52: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Poglavje 7

Model trgovcev z elektri£no

energijo

Osrednja naloga trgovcev elektri£ne energije je oskrba kon£nih odjemalcevz elektri£no energijo. Pri izpolnjevanju svojega poslanstva se odlo£ajo meddolgoro£nimi in kratkoro£nimi alternativami, ki jim prina²ajo najugodnej²erazmerje med nabavljeno in prodano ceno. S tem sledijo svojemu temeljnemucilju maksimiranju dobi£ka. Dolgoro£no trgovci sklepajo dvostrankse pogodbe,s katerimi si zagotavljajo nespremenjene cene energije. Kratkoro£ne potrebepo dodatni energiji pa si zagotavljajo na borzi elektri£ne energije. �e najrajepa se zatekajo k morebitnim lastnim kapacitetam, ki jih uporabijo ob visokihcenah elektri£ne energije na trgu.

7.1 Sklepanje dvostranskih pogodb

V tem primeru je problem izbire pogodbe trgovcev podoben problemu proizva-jalcev. Pomembna razlika teh dveh je, da morajo trgovci z elektri£no energijoizbirati oboje, nakupno in prodajno pogodbo.

Odlo£itve pri obeh pogodbah vklju£ujejo pripravo pogodbe in njihovo vred-notenje v primerjavi z drugimi moºnimi alternativami (npr. nakup preko borzeelektri£ne energije). V nadaljevanju bo obravnavano le ocenjevanje alternativ.Model za to vrednotenje bo ocenil dobi£ek, povezan z optimalnim delovanjemsistema glede na vsako alternativno situacijo v obdobju, dolo£e glede na tra-janje pogodbe (tipi£no je to eno leto).

52

Page 53: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

7.1 Sklepanje dvostranskih pogodb 53

Matemati£en program za ta problem ima naslednjo obliko:

maxpit,∀i,t;St,∀t;bt,∀t;rkt,∀k,t

∑t

(λt(st − bt)−∑

i

cit(pit)−∑

k

λkt(rkt)rkt)

p.p. st +∑

i ljt =∑

i pit +∑

k rkt + bt ∀t

pit ∈ Πi ∀i, t

rkt ∈ Γk ∀k, t,

(7.1)

kjer je:

st celotna koli£ina energije, ki jo trgovec elektri£ne energije proda preko borzeelektri£ne energije med obdobjem t,

bt celotna koli£ina energije, ki jo trgovec elektri£ne energije kupi preko borzeelektri£ne energije med obdobjem t,

λt povpre£na cena energije na trgu za obdobje t,

rkt skupek energije, ki jo trgovec elektri£ne energije kupi s pogodbo k v ob-dobju t,

λkt(rkt) je enotna cena, povezana z nakupom r od pogodbe k med obdobjem t,

pit celotna koli£ina energije od generatorja i, ki pripada trgovcu elektir£neenergije v obdobju t,

cit(pit) proizvodni stro²ek generatorja i v obdobju t in je odvisen od pit,

ljt koli£ina energije, ki jo trgovec proda po pogodbi j v obdobju t,

Πi interval operativne proizvodnje generatorja i,

Γk mnoºica omejitev povezanih s speci�kacijami nakupnih pogodb k.

Ta model ne vklju£uje elektri£ne energije hidroelektrarn. Kadar primerjamorazli£ne alternative, je potrebno modi�cirati kriterijsko funkcijo s tem, da do-damo

∑t

∑j λjtljt. To predstavlja pri£akovani dohodek dvostranskih pogodb,

neodvisno od spremenljivk. λjt je cena pogodbe j med obdobjem t.

Page 54: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Model trgovcev z elektri£no energijo 54

7.2 Odziv borze elektri£ne energije in moºnost

lastne proizvodnje

Za poenostavitev ne bomo vklju£ili energije, dodeljene dvostranskim pogod-bam. V tem primeru je glavni cilj trgovcev elektri£ne energije maksimirati svojdobi£ek od prodaje energije porabnikom. Ta energija je ali lastno proizvedenaali kupljena preko borze elektri£ne energije.Dobimo matemati£ni program:

maxpt,∀t;bt,∀t

−∑

t

(ct(pt) + λtbt)

p.p. pt + bt = dt ∀t

pt ∈ Π,(7.2)

kjer je:

bt koli£ina energije, ki je kupljena preko borze elektri£ne energije ob uri t,

λt predvidena cena energije, kupljene preko borze elektri£ne energije ob uri t,

pt koli£ina energije, ki je lastno proizvedena v obdobju t,

ct(pt) proizvodni stro²ek lastno proizvedene energije ob uri t,

dt predvideno celotno povpra²evanje kupa ob uri t,

Π interval operativne proizvodnje.

Kriterijska funkcija matemati£nega programa (7.2) vsebuje dvoje, stro²ke las-tne proizvodnje in stro²ke kupovanja energije preko borze elektri£ne energije.Ko re²imo ta program, bi morali kriterijsko funkcijo modi�cirati tako, da bidodali izraz, ki predstavja prihodke, dobljene od prodaje energije kupcem. Taizraz je

∑t αtdt, kjer je αt prodajna cena energije med uro t. Izraz ni odvisen

od optimalnih spremenljivk. Prva omejitev skrbi, da je povpra²evanju kupcav vsakem obdobju zado²£eno. Druga omejitev zahteva, da generatorji trgovcaelektri£ne energije delujejo v intervalu operativne proizvodnje. Re²itev tegaprograma v vsakem obdobju proizvodnje dolo£i, koliko energije kupiti prekoborze in koliko je proizvesti z lastnimi kapacitetami.

Page 55: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Poglavje 8

Model odjemalcev

Z vzpostavitvijo odprtega trga elektri£ne energije v Sloveniji imajo odjemalcimoºnost proste izbire najprimernej²ega ponudnika. Odprtje trga ima za odje-malce ²tevilne prednosti, kot so pove£anje konkuren£nosti in posledi£no kako-vosti storitev, zniºevanje cene energije ter pribliºevanje teh proizvodnji ceni,ve£ja vlaganja v izkori²£anje obnovljivih virov energije, itd. V tem poglavju jeanaliziran splo²en primer odjemalcev z moºnostjo lastne proizvodnje. �e odje-malci te moºnosti nimajo, lahko spodnjo formulacijo poenostavimo. Nasplohse odjemalci sre£ajo z dvema odlo£itvama:

• koliko energije kupiti z dvostranskimi pogodbami,

• koliko energije kupiti preko borze elektri£ne energije.

8.1 Sklepanje dvostranskih pogodb

V srednjero£nem obdobju je za odjemalce najbolj optimalno, da med vsemimoºnimi alternativami izberejo dvostransko pogodbo, ki jim prina²a zagotovl-jeno koli£ino kakovostne energije po nespremenljivi ceni. S tem si zagotovijonemoteno oskrbo z elektri£no energijo ter zmanj²ajo tveganja zaradi nihanjacen energije na trgu. V primeru neustreznosti celotnega nabora pogodb aliob£asnih pove£anih potreb po energiji, pa se lahko odjemalci odlo£ijo, da ener-gijo kupijo preko borze elektri£ne energije. Problem odjemalcev je podobenproblemu proizvajalcev, le da ustrezen matemati£ni program ne vklju£uje pro-daje energije drugim sodelujo£im ali borzi elektri£ne energije.

55

Page 56: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Model odjemalcev 56

Matemati£ni program, ki ga pri tem dobimo, je:

maxpit,∀i,t;∀t;bt,∀t;rkt,∀k,t

∑t

(ut(dt)− λtbt −∑

i

cit(pit)−∑

k

λkt(rkt)rkt)

p.p. dt =∑

i pit +∑

k rkt + bt ∀t

pit ∈ Πi ∀i, t

rkt ∈ Γk ∀k, t,

(8.1)

kjer je:

ut mera uporabnosti (v denarnih enotah) za obdobje t,

dt skupana poraba energije odjemalca v obdobju t,

λt povpre£na vrednost cene energije na trgu za obdobje t,

bt skupni znesek energije, ki ga odjemalec kupi preko borze elektri£ne energijev obdobju t,

pit lastna proizvodnja energije generatorja i, ki pripada odjemalcu v obdobju t,

cit(pit) proizvodni stro²ek generatorja i za obdobje t,

rkt skupek energije, ki jo odjemalec kupi s pogodbo k v obdobju t,

λkt(rkt) enotna cena, zdruºena z nakupom r iz pogodbe k v obdobju t,

Πi interval operativne proizvodnje generatorja i,

Γk mnoºica omejitev zdruºena s speci�kacijami nakupnih pogodb.

8.2 Odziv borze elektri£ne energije

S stali²£a borze elektri£ne energije je za odjemalce najpomembnej²e, da mak-simirajo svoj dobi£ek s tem, da upo²tevajo cene na trgu s cenami lastno proizve-dene energije. Za slednjo se odlo£ijo, ko je korist pri lastni proizvodnji ve£jaod koristi kupljene energije na trgu. Pri tem morajo zadovoljiti svoje potrebepo energiji. Predpostavimo, da v tem primeru niso upo²tevane dvostranskepogodbe.

Page 57: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

8.2 Odziv borze elektri£ne energije 57

Ta matemati£ni program je predstavljen kot:

maxpt,∀t;bt,∀t

∑t

(ut(dt)− ct(pt))

p.p. bt + pt = dt ∀t

pt ∈ Π,(8.2)

kjer je:

dt energija, ki jo odjemalec potrebuje ob uri t,

ut(dt) mera uporabnosti (v denarnih enotah) ob uri t,

pt lastna proizvodnja energije, ki pripada odjemalcu ob uri t,

ct(pt) proizvodni stro²ek odjemalca ob uri t,

bt skupni znesek energije, ki ga odjemalec kupi preko borze elektri£ne energijeob uri t,

Π interval operativne proizvodnje.

Kriterijska funkcija matemati£nega programa (8.2) predstavlja vrednost mereuporabnosti od katere od²tejemo sto²ke lastne proizvodnje odjemalca. Prvaomejitev zagotavlja, da je povpra²evanju odjemalca zado²£eno v vsakem ob-dobju. Druga omejitev zagotavlja, da generatorji odjemalca delujejo v inter-valu svojih zmogljivosti. Re²itev (8.2) v vsakem £asovnem obdobju dolo£ikoli£ino energije, ki naj bi jo odjemalec kupil preko borze elektri£ne energijeali sam proizvedel.

Page 58: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Poglavje 9

Model borze elektri£ne energije

Trºni operator skrbi za ravnovesje trga, za kar mora uporabiti primerne po-stopke, s katerimi se vnaprej strinjajo vsi sodelujo£i. Sledi opis treh postopkov,ki se uporabljajo za uravnove²anje trga:

1. draºbe za eno obdobje,

2. draºbe za ve£ obdobij,

3. Walrasove draºbe.

Poseben model draºb za dodeljevanje £ezmejni prenosnih kapacitet je zabeleºenv [4].

9.1 Draºbe za eno obdobje

Namen draºb za eno obdobje je maksimimizacija neto socialne blaginje gledena povpra²evanje in operativne omejitve proizvajalcev v enem £asovnem ob-dobju. Slednje velja ob predpostavki, da udeleºenci na draºbi ponujajo dejan-sko vrednost, ki jim jo energija predstavlja.

Za ohranitev trga v ravnovesju, so potrebne uspe²ne draºbe na vsakih 24 ur. Tapostopek se obi£ajno izvaja en dan vnaprej. Proizvajalci, odjemalci in trgovcielektri£ne energije predloºijo svoje ustrezne ponudbe in nato trºni operater zavsako obdobje re²i naslednji matemati£ni program:

maxdi,∀i;pj ,∀j

∑i

δidi −∑

j

πjpj

58

Page 59: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

9.1 Draºbe za eno obdobje 59

p.p. 0 ≤ pj ≤ pj ∀j

0 ≤ di ≤ di ∀i∑j∈m pj ∈ Πm ∀m∑i∈n di ∈ ∆n ∀n∑i di =

∑j pj,

(9.1)

kjer je:

δi ponujena cena povpra²evalne ponudbe i,

di energija dodeljena povpra²evalni ponudbi i,

di obseg povpra²evalne ponudbe i,

πj ponujena cena proizvodne ponudbe j,

pj energija dodeljana proizvodni ponudbi j,

pj obseg proizvodne ponudbe j,

i ∈ n mnoºica blokov povpra²evanja odjemalca n,

j ∈ m mnoºica blokov proizvodnje proizvajalca m

∆n dopustni operativni interval za povpra²evalno ponudbo n,

Πm dopustni operativni interval za proizvodno ponudbo m.

Kriterijska funkcija matemati£nega programa (9.1) predstavlja vsoto preseºekakupcev in preseºka proizvajalcev, kar predstavlja neto socialno blaginjo. Izra-£unana je kot razlika dveh izrazov. Prvi predstavlja vsoto sprejete povpra²e-valne ponudbe glede na ustrezno ceno ponudbe. Drugi izraz predstavlja vsotosprejete proizvodne ponudbe glede na njeno ustrezno ceno ponudbe. Potrebnoje poudariti, £e proizvajalci niso ponujali po njihovih ustreznih marginalnihstro²kih, druga vsota v kriterijski funkciji ne predstavlja dejanski preseºekproizvajalcev, ampak deklariran preseºek proizvajalcev (prim. komentar o so-cialni blaginji). V diplomskem delu bo obavnavana le situacija, da proizvajalcisklepajo ponudbe glede na njihove dejanske marginalne stro²ke. Prva ome-jitev v (9.1) omejuje obseg oz. koli£ino proizvodnih ponudb. Druga omejitev

Page 60: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Model borze elektri£ne energije 60

dolo£a obseg povpra²evalnih ponudb. Tretja omejitev zagotavlja, da je mno-ºica ponudb vsakega proizvajalca v skladu z omejitavmi proizvodnje. �etrtaomejitev zagotavlja, da je mnoºica vseh ponudb kupcev v skladu z omejit-vami porabe. Zadnja omejitev zagotavlja, da sta povpra²evanje in proizvodnjauravnove²ena. S tem se ohranja ravnovesje elektroenergetskega trga.

Re²itev matemati£nega programa (9.1) predstavlja odobrene proizvodne inpovpra²evalne ponudbe ter trºno ceno ravnovesja. Obi£ajno je ta de�niranakot najdraºja sprejeta ponudba proizvodnje.

9.2 Draºbe za ve£ obdobij

Pri draºbah za ve£ obdobij velja podoben razmislek, kot pri zgoraj omenjenihdraºbah za eno obdobje. V tem primeru se maksimira neto socialna blaginjaglede na obdobje, za katerega se energija trºi pod pogojem, da vsako urozado²£a povpra²evanju in operativnim omejitvam proizvajalcev. Proizvajalci,odjemalci in trgovci elektri£ne energije predloºijo svoje ustrezne ponudbe innato trºni operater za vsako obdobje re²i naslednji matemati£ni program:

maxdit,∀i,t;pjt,∀j,t

∑t

(∑

i

δitdit −∑

j

πjtpjt)

p.p. 0 ≤ pjt ≤ pjt ∀j, t

0 ≤ dit ≤ dti ∀i, t∑j∈m pjt ∈ Πm ∀m, t∑i∈n dit ∈ ∆n ∀n, t∑i dit =

∑j pjt ∀t,

(9.2)

kjer te spremenljivke predstavljajo isto, kot pri opisu programa (9.1), le da po-leg vsake spremenljivke upo²tevamo ²e £as. Ob predpostavki po²tenih ponudbkriterijska funkcija matemati£nega programa (9.2) predstavlja socialno bla-ginjo glede na celotno na£rtovano obdobje trºenja elektri£ne energije (preseºekodjemalcev plus preseºek proizvajalcev). Re²itev tega problema dolo£i spre-jeto proizvodno in povpra²evalno ponudbo ter trºno ravnovesno ceno za vsako£asovno obdobje. Trºna ravnovesna cena je za vsako uro de�nirana kot cenanajdraºje sprejete proizvodne ponudbe za to uro.

Page 61: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

9.3 Walrasove draºbe 61

9.3 Walrasove draºbe

Walrasove draºbe je predstavil Leon Walras (francoski ekonomist, 1834-1910).Gre za vrsto draºbe, kjer vsi sodelujo£i so£asno izra£unavajo svoje zahteveglede na spremembe cen. Sledi opis korakov te draºbe:

1. trºni operater napove urno poskusno ceno λt, za ∀t;

2. proizvajalci dolo£ijo svojo proizvodnjo, da maksimirajo dobi£ek glede naoperativne omejitve. Zato ti re²ijo problem (6.3) ali (6.4) in komunici-rajo s trºnim operaterjem, kak²en vozni red proizvodnje bo pripravljenizvajati;

3. trgovci elektri£ne energije dolo£ijo koli£ino energije, ki jo ºelijo kupitipreko borze elektri£ne energije, da maksimirajo svoj dobi£ek. Re²ijo ma-temati£ni program (7.2) in obvestijo trºnega operaterja o svojem predv-idenem voznem redu porabe;

4. odjemalci dolo£ijo koli£ino energije, ki maksimira njihovo korist. Zatovsak odjemalec re²i matemati£ni program (8.2) in nato obvestijo trºnegaoperaterja o razporedu porabe oz. kak²nega je ta pripravljen sprejeti;

5. trºni operater urno izra£unava dobljeno neravnovesje;

6. v primeru, kadar so urne cene nespremenjene v dveh zaporednih krogih,dolo£ijo ceno ravnovesja trga in draºba se zaklju£i. V drugem primerutrºni operater spremeni ceno, tako da teºi k ravnoteºju bremena, napovenovo urno ceno in tako se draºba nadaljuje pri drugem koraku.

Zgoraj omenjen algoritem zagotavlja ravnovesje trga elektri£ne energije, pri£emer lahko vsak sodelujo£i akter maksimira svoj dobi£ek.

Page 62: MATEMATI NO PROGRAMIRANJE IN TRG ELEKTRI NE ENERGIJE · Matemati£no programiranje je poseben primer optimizacijske naloge, kjer i²-£emo maksimalno ali minimalno re²itev glede

Literatura

[1] A. J. Conejo, F. J. Prieto, Mathematical programming and electricitymarkets, TOP 9 (2001), 1�54.

[2] C. A. Floudas, P. M. Pardalos, ur., Encyclopedia of optimization, Vol. 3:Interior-M, Kluwer Academic Publishers, Dordrecht, 2001.

[3] R. Freund, Professor George Dantzig: Linear Programming FounderTurns 80, SIAM New, 1994.

[4] J. Kosma£ in drugi, Nadgradnja avkcijskih metod za alokacijo £ezmejnihprenosnih kapacitet v CEE regiji, EIMV, Ljubljana in FNM UM, Maribor,2008.

[5] A. L. Peressini, F. E. Sullivan, J. J. Uhl, jr., The Mathematics of NonlinearProgramming, Springer-Verlag, New York, 1988.

[6] W. L. Winston, Introduction to Mathematical Programming Applications& Algorithms, PWS-Kent Publishing Company, Boston, 1991.

[7] E. Zakraj²ek, Matemati£no modeliranje, DMFA-zaloºni²tvo, Ljubljana,2004.

62