Szivattyús hidraulikus rendszer üzemének optimalizálása Nagy villamosenergia-igényű szivattyús hidraulikus rendszerek tipikus példái a vízmű hálózatok. E hálózatokat egy vagy több nyomásövezetre osztják. A nyomásövezeteknek saját tározótérfogatuk (medence, víztorony), több szivattyújuk, gerincvezetékük van. A nyomásövezetek bizonyos pontjain időben változó folyadékelvétel történik. A szivattyúk az alsó nyomásövezetben a vízkivételt fedezik, a felsőbb övezetekben nyomásfokozás a szerepük. Az egyes övezetek medencéken keresztül kapcsolódnak egymáshoz. A vízmű hálózatok üzeme szempontjából tehát a következő fő hidraulikai jellemzőket különböztetjük meg (Coolbeck [1977]): A medencékben tárolt víztérfogatot, ill. állandó medence-keresztmetszet esetén a medencebeli vízszintet a hálózat állapotát leíró állapotjellemzőnek tekintjük. A szivattyútelepek által szállított térfogatáramot irányító, ill. vezérlő jellemzőnek hívjuk, mert ezen keresztül változtatjuk a medenceszinteket a kívánt mértékben. A hálózat vízelvételi helyein a fogyasztók által kivett térfogatáramot zavaró jellemzőnek tekintjük, mert ezek okozzák a hálózatban a víz fogyását, amit a szivattyúkkal pótolnunk kell. Végül a vízmű hálózat üzembiztonságát a nyomásövezet kijelölt pontjaiban mért nyomás alapján ítélhetjük meg, ezért ezeket a kitüntetett nyomásokat kimeneti jellemzőknek hívjuk. A vízmű hálózat üzemét ismerjük, ha előírt sűrűségű (például t = 0,5 óránkénti) időpontokban egy időintervallumban (például egy nap folyamán) ismerjük a fenti jellemzők értékét. A példaként választott adatokkal a vizsgálati időpontok t = 0, t, 2t,…,(K-1)t, ahol K = 48. A vízmű hálózat - mint rendszer – működését, üzemét rendszeregyenletek írják le. Ezek egyik csoportja az a nemlineáris egyenletrendszer, amely a medenceszintek, fogyasztások, a csőhálózat rögzített topográfiája, a szivattyúk jelleggörbéi és a csövek hidraulikai paraméterei segítségével meghatározza a szivattyú által szállított és a csövekben folyó térfogatáramot és a hálózat tetszőleges pontjaiban a nyomást. Így a kimeneti jellemzők, azaz a kitüntetett nyomások a többi jellemző segítségével – algebrai egyenletrendszerből – kiszámíthatók. Ha a névleges szintmagasság fölötti medence vízszinteket h-val, a szivattyútelepek által szállított térfogatáramot Q-val, a fogyasztásokat q-val és a jellemző nyomásértékeket p-vel jelöljük, akkor
pk phk ,Qk , qk
( k = 0, 1, 2,…, K-1)
(1)
típusú függvénykapcsolat áll fenn közöttük. Itt természetesen több medence, szivattyútelep, fogyasztási és nyomásmérési hely is van, így a p, h, Q, q betűk azokat együtt jelentik, azaz vektormennyiségek és a vektorok egy-egy komponense jelöl egy-egy kiragadott medencét szivattyútelepet, stb. (például hj, Qi, qm). A rendszeregyenletek másik csoportja nem a hálózat stacionárius állapotának leírására szolgál, hanem annak időbeli viselkedését adja meg. A medence víztérfogatának idő szerinti differenciálhányadosa térfogatáram. Ez a térfogatáram a kontinuitási egyenleteken keresztül kapcsolódik a szivattyútelepek Q és a fogyasztók q térfogatáramához. A szivattyúáramokat viszont a medenceszintek befolyásolják a szivattyú-jelleggörbéken keresztül. A térfogatáramot egy t időszakaszon keresztül integrálva végül azt kapjuk, hogy a h medenceszintek az új k+1-edik időpontban függnek a k-adik időpont medenceszintjeitől, valamint a Q és q térfogatáramoktól, t értékét rögzítettük:
(2) hk1 g hk ,Qk , qk . Itt természetesen ismét vektorokat jelölnek a betűk a korábbiaknak megfelelően. Elegendően kis t időlépések esetén a változások kicsik, így a fenti egyenletek linearizálhatók.
hk1 Ahk BQk Cqk . Tekintsünk egy hosszabb (pl. egy hetes) vizsgálati időtartamot. Mind a medence szintek, mind a szivattyúáramok értéke ismert korlátok között változhat csak. A hmin hj hmax típusú feltételeket mellékfeltételeknek hívjuk ( a Qi térfogatáramokra hasonló korlátok érvényesek). Adott zavaró jellemzők (fogyasztás) esetén a szivattyútelepi szivattyúk időbeli leállításával, elindításával nagyon sokféle üzemvitel mellett érhető el, hogy az állapotjellemzők (medenceszintek) az adott korlátok között változzanak. Különféle üzemviteli módok esetén a kimenő jellemzők (kitüntetett nyomások) más-más értékeket vesznek fel, és az üzem költsége a vizsgálat időtartama alatt más-más összegű lesz. Az irányítástechnikai feladat megfogalmazható úgy, hogy a mellékfeltételek teljesülése mellett a minimális üzemköltséget biztosító üzemvitelt (a szivattyútelepi térfogatáramok egy optimális időbeli sorozatát ) keressük. Vízművek üzemének költségminimumot adó irányítása azonban semmiképpen sem helyettesíti a vízmű hálózat körültekintő, gondos tervezését, aminek a megfelelően megválasztott medencetérfogatokra, helyesen megválasztott szivattyútípusokra, darabszámokra, megfelelő csőátmérőkre kell kiterjednie. Így lényegesen nagyobb költségek takaríthatók meg, mint mégoly igényes költségminimalizáló üzemvitellel. Az üzemköltségek fajtái sokfélék. Az elektromos költségek teljesítménydíjra és energiadíjra oszthatók. Mindkét díj az elektromos hálózat feszültségszintje szerint tagozódik. A feszültségszintet az áramszolgáltató és a vízmű elektromos hálózatának a csatlakozási pontján mérik. Szintenként háromféle energiadíjat (csúcsidei, nappali, éjszakai) és kétféle teljesítménydíjat (csúcsidei, nappali) különböztet meg például egy adott szabályzat. Az energiadíj mértékegysége Ft/kWh, a teljesítménydíj éves díj, a lekötött teljesítménymaximumra vonatkozik, amit az áramszolgáltató rendszeres (pl. negyedóránkénti) méréssel ellenőriz, mértékegysége Ft/kW. Ezen túl még büntetőtarifát is kiszabhat az áramszolgáltató. Ismételt teljesítménytúllépés esetén pl. tízszeres teljesítménydíjat számít a túllépés kW-jaira. Járulékos költséggel lehet az előírt nyomásszintektől való eltérést mindkét irányban számításba venni, ez a költség tehát T p pkívánt 2
(3)
alakú, T tapasztalati úton megválasztandó költségtényező, a négyzetes kifejezés révén mindkét irányú eltérést pozitív költséggel terheli a tarifa. A megkívántnál nagyobb nyomás ugyanis fölösleges energia felhasználással jár és veszélyezteti egyes elemek (pl. elektromos forróvíztároló) biztonságát, az előírtnál kisebb nyomás pedig a vízmű hálózat üzemvitelében problémát okoz (pl. helyi vízhiány). Mivel a hálózatban a nyomáseloszlás a (1) képlet szerint
számítható, a p nyomás a Q térfogatáramok és h szintek függvénye ismert q fogyasztások mellett. A szivattyúk bevezetett teljesítménye
Pbe
gHQ (kW). 1000
A villamos teljesítményszükséglet a motor hatásfoka miatt nagyobb, a konstansokat összevonva: H( Q ) Q . Pvill konst ( Q ) A H(Q) szivattyú jelleggörbét például másodfokú parabolával közelítve a fenti képlet ilyen alakra hozható: Q 2 Q H 0 1 Q0 , (4) Pvill konst ( Q ) H0 és Q0 a parabolaív tengelymetszeteit jelöli, a hatásfokgörbe szintén közelíthető parabolaívvel. Összefoglalva a fentieket, látható, hogy a szivattyútelep költségfüggvénye – az irodalomban szokásos jelöléseket alkalmazva – K
J(Q) f k Qk t k 0
alakban írható fel. A t időlépésenként érvényes Qk(t), (t = 0, t, 2t,…,Kt) szivattyútelepi térfogatáramok természetesen a hálózat alapegyenletén keresztül kapcsolatban vannak a medence szintekkel és a fogyasztásokkal Ez utóbbiak vizsgálatunkban külső adottságok, befolyásolni csak a medenceszinteket és a szivattyútelepi térfogatáramokat tudjuk. A költségfüggvény alakja végül: K
J ( h,Q ) f k Qk t . k 0
(5)
Ezek után megfogalmazható az optimalizálási feladat büntetőfüggvény nélküli esetre: Keressük a J(h,Q) költségfüggvény minimumát a hk+1=g(hk,Qk,,qk) rendszeregyenlet teljesülése mellett. Megkívánjuk, hogy a Qi,min Qi Qi,max
(6)
hj,min hj hj,max
(7)
mellékfeltételek is teljesüljenek. Az i és j indexszel azt emeltük ki, hogy a korlátok szivattyúnként, medencénként különbözőek lehetnek. A kezdeti h0 medenceszintek adottak. Célszerűen a teljes optimalizálási ciklus végén a medenceszintek ismét beállnak a kezdeti értékre, azaz
hK = h0 .
(8)
Hangsúlyozni kell, hogy h, Q, q vektormennyiség, míg J(h,Q) skalár-vektor függvény, végül a - célszerűen linearizált - g(h,Q,q) függvény pedig vektor-vektor függvény, a teljesség kedvéért újból felírjuk linearizált alakját:
hk1 Ahk BQk Cqk ,
(9)
A, B, C megfelelő méretű mátrixokat jelöl. Az optimalizálási feladat megoldására többféle módszer ismeretes. A legszemléletesebb és kis hálózat (kevés medence és szivattyútelep) esetén gyakorlatilag is jól használható módszer a dinamikus programozás. A szivattyútelepi térfogatáramok változtatására lépcsőkben történő fordulatszám változtatás, vagy a beépített szivattyúk ki-bekapcsolása révén van lehetőség. Mindkét esetben a k-adik időlépésben a Q térfogatáram diszkrét értékei valósíthatók meg. Legyenek a (6) egyenlőtlenségnek eleget tevő Qk értékek:
Q k Q 1 ,Q 2 ,,Q l ,,Q L ,
(10)
a megengedett vezérlések halmaza (az egyszerűbb írásmód érdekében egy medence, egy szivattyútelep legyen a rendszerben, így nem kell vektorokat írni). Az optimalizálási feladat megoldása dinamikus programozással azt jelenti, hogy keressük a h0 kezdeti medenceszintből kiindulva azt a Q1,Q2,…,QK-1 vezérlő jellemző sorozatot, amely minimalizálja a (5) költséget úgy, hogy eleget tesz a (7) mellékfeltételeknek, és kielégíti a (2) rendszeregyenleteket és éppen az előírt hK végállapothoz vezet. A megoldás az alábbi lépésekből áll: I.
Definiálunk egy F(hk,k) minimális költségfüggvényt, amely minimális költség mellett vezet el a k-adik időlépés végén a hk állapotba
F h k ,k min
Q 0 ,...,Qk 1
II.
k 1
f h i 0
i
i
,Q i .
A k-adik állapotba, hk-ba különféle (k-1)-edik állapotokból lehet eljutni a (2) rendszeregyenletet kielégítő Qk-1 vezérléssel. Ennek megfelelően F(hk,k)-t mint a hk-1 állapotokba vezető minimális költségfüggvény és a hk-1-ből hk –ba vezető Qk-1 vezérlés fk-1(hk-1, Qk-1) nagyságú költségének összegét állítjuk elő úgy, hogy ez az összköltség minimális legyen:
F h k ,k min f k 1 h k 1 ,Q k 1 F h k 1 ,k 1 . Q k 1
(11)
A vizsgálati időszak kezdetén, a 0-adik állapotban F(h0,0) = 0.
(12)
A (12) kezdeti feltételből kiindulva az összes k időlépésre az összes megvalósítható hk állapothoz megkeressük az optimális Q*k-1 vezérlést a (11) egyenlet megoldásával. A (2) egyenletek invertálásával meghatározzuk a h*k-1 optimális állapotot
III. IV.
* * * hk 1 G hk ,Qk 1 .
(13)
A hK (8) végállapot, mint határfeltétel előírásával a (13) egyenletek egymás utáni alkalmazásával állítsuk elő az optimális Q*K-1, Q*K-2,…,Q* 0 vezérlési sorozatot.
V.
Az I-III. lépéseket célszerűen úgy lehet végrehajtani, hogy a k-1-edik állapotban elért összes hk-1 állapotból az összes (6) feltételnek eleget tevő vezérléssel meghatározzuk az elérhető h állapotokat. Azokat, amelyek nem teljesítik a (7) feltételt, eleve elvetjük. A többi állapotváltozást hk állapot szerint csoportosítjuk (a kis hibahatáron belül közel fekvő értékeket azonosnak tekintjük, ezzel a folytonos h függvény értékeit diszkretizáljuk). Egy-egy hk-hoz tartozó állapotváltozások közül a (11) képlet értelmében kiszámítjuk a minimális költséget adó F(hk,k)-t és az azt megvalósító Q*k-1 vezérlést.
hmax h0
hmin k=0
k=1
k=2
k=3
Az ábrán egy példát mutatunk be a fentiekre. Az abszcissza tengelyen az időlépések, az ordinátatengelyen a medencebeli vízszint látható. A ▬ szimbólum az azonosnak tekintett medenceszinteket jelöli. A sraffozott vonalak a vízszint korlátok. A nyilak a lehetséges vezérlések. A példabeli szivattyú három lehetséges térfogatáramot szállít: 0 = Q1 < Q2 < Q3. Az első időintervallumban látható a h0 szintből indulva e három térfogatáramnak megfelelő szintváltozás. A legalsó nyíl a Q1 = 0 értéknek megfelelően a fogyasztás miatti szintcsökkenést mutatja, a szint a Q2 esetén is csökken, de kisebb mértékben, Q3 esetén a szint nő. A szaggatott nyilak nem megengedett szintváltozáshoz vezetnek. A folytonos nyilak közül a piros nyilak adják az új medenceszintekhez vezető optimális vezérlést, a vékony fekete nyilak ennél nagyobb költséget jelentenek – természetesen ebből az ábrából nem derül ki, hogy miért az egyik vagy a másik esetben nagyobb a költség. Minden időponthoz annyi piros nyíl vezet, ahány megkülönböztetett, ▬ szimbólummal jelölt szint jöhet létre. Ha a teljes időtartomány három intervallum lenne, akkor látható, hogy a vastag piros nyílfolyam adná a feladat megoldását, mert így jutnánk vissza az időtartomány végén a kiindulási h0 medenceszintre. Az is leolvasható, hogy a szivattyúkat a Q2 , Q1 , Q3 térfogatárammal kellene járatni e példában.
Ezzel minden időlépésben, minden hk állapothoz ismerjük az optimális vezérlést. A k = K időlépés végén azonban adott a kívánt hK végállapot. Innen visszafelé haladva a megőrzött optimális állapotváltozások sorozatán jutunk el a feladat megoldását adó V. pontbeli optimális vezérlési sorozathoz. Mint látható, a dinamikus programozás sok számítási munkát igényel, így összetett hálózatok, sok időlépés esetén alkalmazása nehéz. Előnye viszont, hogy könnyen programozható, áttekinthető eljárás. Kútcsoportok optimális üzemvitele, a feladat megfogalmazása Vízmű víztermelő telepei vízbázisokra épülnek A telepeken a fogyasztási igényeket kielégítő kútcsoportok termelik ki és továbbítják a vízbázis vízkészletét. Az egyes kútcsoportok fajlagos költsége eltérő és a nap folyamán is változik. Az egyes kútcsoportok vízminősége is változó, így eltérő tisztítási, vízkezelési technológiát igényelnek, a beépített szivattyúk, illetve hajtó motorok különbözőek, ami eltérő fajlagos energiaköltséget jelent. A villamos energia díja a nap folyamán változik, az egyes tarifák időtartama az év során szintén változik. A kútcsoportok által kitermelt vízmennyiség korlátok között változhat csak. Az egyes kutak és így a belőlük felépülő kútcsoportok maximális víztermelése eltérő. Az adott időszak alatt belőlük kinyerhető maximális víztérfogat szintén kútcsoportonként változik. Hosszabb időn át egy kútcsoportot sem lehet kihasználatlanul hagyni vízminőségi okokból, ez egy adott időszak alatt kitermelendő minimális víztérfogatot jelent. Magától értetődik, hogy a kút vagy a kútcsoport víztermelése nem lehet negatív mennyiség. A kútcsoportok a vízmű szivattyútelepétől különböző távolságban vannak, a belőlük kitermelt víz időkéséssel érkezik a fogyasztókat kiszolgáló szivattyútelep szívómedencéjébe. Az egyes kútcsoportokat ezzel az időkéséssel is jellemezhetjük, így a termelés és az igény idő koordinátája azonos. Természetesen ekkor a költségfüggvényt az egyes kútcsoportokhoz az időkéséssel eltolva kell hozzárendelni. (Például egy a szívómedencétől 3 órára fekvő kútcsoportból 18 órakor kitermelt vízmennyiséget az akkor érvényes csúcsidei áramtarifával kell figyelembe venni, bár a víz a szivómedencébe csak 21 órakor érkezik meg.) Válasszunk vizsgálati időszakként egy teljes napot! Ezt I egyenlő (például fél órás) időintervallumra osszuk fel. Az időintervallumok jele i (i = 1,2,…,I). A kútcsoportok számát jelölje k. Az egyes kutak jele k (k = 1,2,…,K). További jelölések: xik a k-adik kútcsoport által a szívómedencébe az i-edik intervallumban eljuttatott vízáram, Qi fogyasztói vízigény az i-edik időintervallumban, amit a szívómedencéből a hálózatba továbbítunk, qmax’ik k-adik kútcsoport által az i-edik időintervallumban szolgáltatható vízáram felső korlátja (ún. egyéni felső korlát), Vmaxk k-adik kútcsoportból egy nap alatt kitermelhető maximális víztérfogat, Vmink k-adik kútcsoportból egy nap alatt kitermelendő minimális víztérfogat, cik az i-edik időintervallumban a k-adik kútcsoport által a szívómedencébe eljuttatott víz fajlagos költsége a víz kitermelésekor érvényes tarifa alapján, t időintervallum hossza ( = 24/n óra). A napi felső korlátot a következőképpen vesszük számításba:
24h
t 0
xk t dt t xik V maxk , I
i 1
t-vel osztva térfogatáram mértékegységű korlátot kapunk: V maxk q maxk . t i 1 A qmink napi alsó korlát térfogatáramkénti értelmezése teljesen analóg módon történik. A feladat ezek után olyan üzemvitel meghatározása, amivel a víztermelő telep becsült fogyasztás-igény alapján számított egy napi üzemköltsége minimális, azaz I
x
ik
I
K
x i 1
k 1
!
ik
cik min .
A megfogalmazott optimalizálási feladat költségfüggvénye, feltételi egyenlete és egyenlőtlenségei mind lineárisak, ezért lineáris programozási feladatról van szó. A lineáris programozási feladatok hatékony matematikai módszere a SIMPLEX módszer, amelyre gyors eljárásokat fejlesztettek ki, ilyen található például W.H. Press és szerzőtársai Numerical Recipes in FORTRAN című könyvében a 10.8 fejezetben (Press [1992]). A feladat modellezése A feladat lineáris programozási alakját az alábbi módon készíthetjük el. Az 1.feltétel jelentse az egyéni felső korlátokat, amelyek előírják az egyes kutak által t időszakonként szolgáltatható maximális vízmennyiséget, tehát:
xik q maxik , '
i = 1,2,…,I;
k = 1,2,…,K
A 2. feltétel legyen szintén egy maximum feltétel, amely az egyes kutak teljes napra vonatkozó teljesítőképességére ad felső korlátot. Az időszak t hosszával osztva: I
x i 1
ik
q maxk , k = 1,2,…,K
A 3. feltétel jelentse a napi minimum korlátot, azaz azt a vízmennyiséget, amelyet egy nap alatt az egyes kutakból mindenképpen ki kell szivattyúzni. Itt is osztva t-vel: I
x i 1
ik
q mink , k = 1,2,…,K
A 4. feltétel adjon előírást az adott időszakban teljesítendő vízigényre: K
x k 1
ik
Qi , i = 1,2,…,I.
Ezek után feladatunk mátrix-vektoros formában az alábbi alakot ölti:
A1x f1 A2x f2 A3x f3 A4x = f4 T (c x) != min x 0, az egyes matrixok, vektorok részletesen az alábbi alakúak 1 1 1 . A1
1 . A2 A3 1 . A4
x11 . . x xik , . . x IK
, 1 1
. . .
1
1 .
.
.
q max11 . . f 1 q maxik , . . q max IK
.
.
.
. 1
.
IK sor és IK oszlop
. 1
1 1 .
.
1 . . . 1 .
q max1 . . f 2 q maxk , . . q max K
q min1 . . f 3 q min k , . . q min K
.
, K sor és IK oszlop 1 , I sor és IK oszlop 1
Q1 . . f 4 Qi , . . Q I
c11 . . c cik . . c IK
A mátrixokban az üres helyeken 0 elemek állnak, a kipontozott helyek pedig értelemszerűen az elkezdett elem folytatását jelölik. A vektorok elemeinek (dimenzió)száma különböző, az alsó elem indexével azonos, csak az egyszerűbb megjelenítés érdekében ábrázoltuk a vektorokat azonos magasságúként.