$Title Thermisches Unit-Commitment-Problem $Ontext Vorlesung: Betriebliche Planung von Energiesystemen Abschnitt: 4.3 Das Unit-Commitment-Problem Problemstellung: Kraftwerkseinsatzplanung fuer thermische Kraftwerksbloecke - Model - Author: Christoph Schwindt Date: 24/12/2019 $Offtext $eolcom// $include thermal-uc_data.gms variables kosten Gesamte Erzeugungskosten (Zielfunktion) x(i,t) Von Block i in Periode t eingespeiste elektrische Nettoleistung u(i,t) Betriebsstatus von Block i in Periode t ; positive variables x ; binary variables u ; equations def_kosten Definition der Gesamtkosten lastdeckung(t) Lastdeckungsbedingung fuer Periode t regelreserve(t) Bereitstellung der Regelreserve fuer Periode t leistung_min(i,t) Einhaltung der unteren Grenze des Betriebsbereichs von Block i in Periode t leistung_max(i,t) Einhaltung der oberen Grenze des Betriebsbereichs von Block i in Periode t betriebszeit(i,t,tPrime) Einhaltung der Mindestbetriebszeit von Block i zwischen Perioden t und tPrime stillstandszeit(i,t,tPrime) Einhaltung der Stillstandszeit von Block i zwischen Perioden t und tPrime ; def_kosten.. kosten =e= sum((t,i)$(ord(t)>1), [beta(i,t)*x(i,t)+gamma(i)*sqr(x(i,t))]+cfix(i)*u(i,t) + max(con(i)*(u(i,t)-u(i,t-1)), coff(i)*(u(i,t-1)-u(i,t)))) ; lastdeckung(t)$(ord(t)>1).. sum(i, x(i,t)) =e= P(t) ; regelreserve(t)$(ord(t)>1).. sum(i$(not iPrime(i)), xBar(i)*u(i,t)-x(i,t)) =g= R(t) ; leistung_min(i,t)$(ord(t)>1).. x(i,t) =g= xUnder(i)*u(i,t) ; leistung_max(i,t)$(ord(t)>1).. x(i,t) =l= xBar(i)*u(i,t) ; betriebszeit(i,t,tPrime)$((ord(t)>1) and (ord(tPrime)>ord(t)) and (ord(tPrime) < ord(t)+delta1(i))).. u(i,t)-u(i,t-1) =l= u(i,tPrime) ; stillstandszeit(i,t,tPrime)$((ord(t)>1) and (ord(tPrime)>ord(t)) and (ord(tPrime) < ord(t)+delta0(i))).. u(i,t-1)-u(i,t) =l= 1-u(i,tPrime) ; u.fx(i,'t0') = u0(i) ; u.fx(i,t)$iPrime(i) = 1 ; model thermal_uc / all / ; options minlp = dicopt // Relaxation des UCP ist konvexes Programm optcr = 1e-6 reslim = 60 ; solve thermal_uc minimizing kosten using minlp ; display kosten.l, u.l, x.l ;