Jak kontrolować i optymalizować pracę sieci przesyłowych gazu? Czyli o kosztach pracy złożonych systemów hierachicznych, część 1
| TechnikaPatrząc na skalę inwestycji w gazownicze sieci przesyłowe, zwłaszcza w Europie i Azji, oczywiste staje się, że gaz jest i pozostanie jeszcze długo wiodącym rodzajem paliwa. Rosnące zapotrzebowanie na ten rodzaj medium wynika z rosnących potrzeb energetycznych, głównie elektrycznych, gdzie turbiny gazowe w sposób szybki i pewny dostarczać mogą energię w godzinach szczytu.
Gaz jest jednocześnie ewidentnie łatwiejszy w zarządzaniu niż energia elektryczna, przynajmniej z punktu widzenia przechowywania, choć z drugiej strony utrzymanie jego tranzytu rurociągami jest znacząco bardziej wymagające niż przesył energii liniami energetycznymi. Największym wyzwaniem jest bieżąca kontrola instalacji, gdzie w punktach newralgicznych należy zachować takie parametry gazu jak: odpowiednie ciśnienie, temperatura, skład oraz wilgotność.
CELE A MOŻLIWOŚCI
Głównym celem podmiotów odpowiedzialnych za przesył gazu jest zachowanie wyżej wymienionych parametrów. Istnieje wiele sposobów konfiguracji sieci oraz sposobów ustawienia parametrów pracy urządzeń odpowiedzialnych za przesył, przy których cel ten zostanie osiągnięty. Jednakże koszty operacyjne mogą być (i zazwyczaj są) w każdym przypadków znacząco różne. Dlatego też służby odpowiedzialne za przesył starają się minimalizować koszty, które głównie są kosztami gazu paliwowego zużywanego do przepompowania gazu przez sprężarki.
W dwuczęściowym artykule prezentujemy problem optymalizacji kosztów pracy tłoczni pracujących w jednym z oddziałów systemu przesyłu gazu ziemnego. Przedstawiono, jak problem można sformalizować w postaci zadania optymalizacji, które następnie może być rozwiązane za pomocą dedykowanego oprogramowania i opracowanych na potrzeby zadania algorytmów numerycznych.
Przedstawiono też strukturę zaprojektowanego oprogramowania oraz sposób włączenia w istniejąca infrastrukturę IT przedsiębiorstwa. Rozwiązanie wdrożono w regionie o populacji ponad 4 mln osób. Obok uzyskanych rezultatów przedstawiono wizje możliwości dalszego rozwoju systemu optymalizacji tak, żeby swoim działaniem objął całą sieć, która w istocie jest złożonym systemem hierarchicznym składającym się z 6 oddziałów oraz centrali koordynującej ich pracę.
OPIS SYSTEMU
Omawiany system składa się z sześciu oddziałów, których głównym zadaniem jest przesył gazu ziemnego, bezpieczna eksploatacja sieci przesyłowej i obiektów systemu gazowniczego (tłoczni, stacji gazowych, węzłów rozdzielczo-pomiarowych) oraz dostawa gazu do odbiorców przemysłowych i zakładów gazowniczych. Uproszczoną strukturę sieci zaprezentowano na rysunku 1, gdzie przedstawiono schematycznie punkty wejściowe sieci oraz sposób połączenie sieci pomiędzy okręgami. Na szczególną uwagę zasługują "oczka" czyli fragmenty w sieci, w których teoretycznie gaz może być przesyłany cyklicznie - infrastruktura taka stwarza możliwości wielowariantowego przesyłu gazu, co czyni proces interesującym z punktu widzenia optymalizacji.
Pracę oddziałów koordynuje centrala, której zadaniem jest wyznaczanie przepływów pomiędzy oddziałami oraz wyznaczanie wartości parametrów krytycznych w ramach każdego z obszarów w taki sposób, żeby osiągnąć bilans całego systemu. Centrala jest organem zarządczym i nie została przedstawiona jako element struktury sieci na rysunku 1.
Podstawowe zadanie każdego z oddziałów jest tożsame z zadaniem całego systemu - realizować przesył w sposób bezpieczny i zgodny z kontraktami zawartymi z klientami systemu. Ponadto oddziały, w zależności od położenia i warunków panujących w oddziale, mogą być dodatkowo zaangażowane w realizację innych zadań, takich jak: realizacja długoterminowych kontraktów na odbiór z punktów odbiorczych, obsługa pracy magazynów czy obsługa pracy urządzeń przesyłowych (tłoczni). Szczegółowe zadania przedstawiono na przykładzie oddziału, gdzie zostało wdrożone oprogramowanie optymalizujące koszty przesyłu. Uproszczoną strukturę omawianego oddziału przedstawiono na rysunku 2.
Zadaniem oddziału jest dostarczenie gazu pod odpowiednim ciśnieniem do miast i odbiorców przemysłowych oraz odbiór zakontraktowanego importu gazu w punkcie I1. System połączony jest z resztą globalnego systemu przez trzy punkty wzajemne X1, X2 i X3, gdzie przepływ kontrolowany jest zaworami regulacyjnymi lub odcinającymi.
W okresie letnim występuje nadwyżka importowanego gazu względem sumy odbiorów w okręgu; nadwyżka ta przesyłana jest poza sieć w celu zmagazynowania lub wykorzystania w innych oddziałach. W okresie zimowym typowo występuje niedobór gazu w okręgu - wówczas gaz pobierany jest dodatkowo z systemów sąsiednich. Krótkoterminowe, dobowe wahania zapotrzebowania mogą być dodatkowo niwelowane poprzez wykorzystanie objętości geometrycznej gazociągów w celu magazynowania gazu.
EFEKTYWNA REGULACJA
Przepływ gazu importowanego odbywa się przez zawór R1, którego zadaniem jest zapewnienie odpowiedniego strumienia - warto zwrócić uwagę, że jest to bardzo nieefektywny sposób regulacji, gdyż na zaworze R1 musi występować spadek ciśnienia. Praca tłoczni zależy od warunków panujących w sieci oraz realizowanego kontraktu.
Możliwe jest, że pracują dwie, jedna lub nie pracuje żadna z tłoczni. Głównie używana jest tłocznia C1, dlatego że gazociąg, na którym tłocznia C1 operuje, ma dwukrotnie większą średnicę w stosunku do gazociągu, gdzie wykorzystywana jest tłocznia C2. Obie tłocznie sterowane są w trybie zadanego ciśnienia na wylocie.
Zadanie przesyłu można w istocie sprowadzić do bieżącego określania wartości ciśnienia na wyjściach tłoczni tak, żeby odebrać zakontraktowaną ilość gazu z importu. Z punktu widzenia bezpieczeństwa najlepszym rozwiązaniem jest zawsze pracować dwiema tłoczniami na maksymalnym obciążeniu, przez co nigdy nie dojdzie do zdławienia przepływu na zaworze R1 i zawsze zostanie odebrana zakontraktowana ilość gazu.
Podejście takie jest jednak bardzo nieekonomiczne - optymalne byłoby bowiem tak prowadzić przesył, żeby przez zawór R1 płynęła zakontraktowana ilość gazu, ale bez dławienia. Inaczej mówiąc - należy tak dobierać obciążenie tłoczni, żeby rozkład ciśnienia w gazociągu gwarantował pożądany przepływ przy w pełni otwartym zaworze R1. Dodatkowym elementem optymalizacji jest rozkład obciążenia na obie tłocznie w taki sposób, aby sumarycznie zużywał jak najmniej paliwa.
W artykule zaprezentowano, jak łącząc ze sobą:
- system SCADA dostarczający informację o aktualnym stanie sieci,
- moduł prognozujący dostarczający informację o prognozowanych zużyciach gazu,
- symulator dostarczający informację o zachowaniu obiektu dla różnych strategii sterowania,
- algorytm optymalizacji i regulacji bezpośredniej,
zautomatyzowano pracę tłoczni tak, aby pracowały w sposób optymalny i zarazem w pełni automatyczny.
DEKOMPOZYCJA PROBLEMU - ZADANIE ODDZIAŁU
Problem optymalizacji pracy systemu składającego się z kilku oddziałów koordynowanych przez centralę wymaga dekompozycji i podejścia hierarchicznego, w którym w pierwszym ruchu należy zdekomponować problem poprzez sformułowanie zadań lokalnych dla oddziału. Następnie, gdy wszystkie oddziały mają zdefiniowane swoje cele, wprowadza się i formułuje zadanie dla koordynatora (to ostatnie szczegółowo omówiono w drugiej części artykułu).
Zadanie optymalizacji dla oddziału może być sformułowane jako minimalizacja kosztów operacyjnych, które związane są ze zużyciem gazu paliwowego lub energii elektrycznej (w przypadku sprężarek napędzanych silnikami elektrycznymi) przez tłocznie. Można to sformułować jako zadanie minimalizacji wskaźnika jakości Q zdefiniowanego jako suma gazu paliwowego zużytego przez sprężarki tłoczni od chwili bieżącej t0 do chwili t0+ΔT, gdzie ΔT jest horyzontem sterowania. Można to zapisać poniższym wzorem:
ParametryMIN≤Z(t)≤ParametryMAX
W oddziale, w którym dokonano wdrożenia, znajdują się dwie tłocznie (A i B), dlatego zużycie gazu określone jako suma QA i QB minimalizowane było dla obu tłoczni jednocześnie. Zużycie w przypadku każdej z nich zależne jest od aktualnej wartości przepływu przez tłocznię x(t) (w Nm³/h), ciśnienia wyjściowego pO(t) za tłocznią oraz ciśnienia ssania pI(t) przed tłocznią. Sterowaniami w zadaniu opisanym wzorem, czyli zmiennymi, którymi steruje operator i które są zarazem przedmiotem optymalizacji, są wartości ciśnienia wyjściowego pO(t). Celem zadania jest znalezienie takiej trajektorii ciśnienia, żeby zminimalizować zużycie gazu paliwowego od chwili bieżącej t0 do chwili t0+ΔT.
SPOSOBY OPTYMALIZACJI
W opisywanym problemie optymalizacyjnym trzeba oczywiście sformułować dodatkowo ograniczenia, które muszą być spełnione, żeby wyeliminować rozwiązanie trywialne polegające na wyłączeniu wszystkich tłoczni, jak również po to, żeby zapewnić techniczną realizowalność rozwiązania. Głównymi ograniczeniami są wartości ciśnień w kluczowych punktach sieci oraz zmienne związane z pracą sprężarek takie jak: temperatury oraz ciśnienia przed i za sprężarkami. Na potrzeby opisu wszystkie zmienne podlegające ograniczeniom oznaczono poprzez Z, a wartości graniczne dozwolone poprzez ParametryMIN i ParametryMAX.
Funkcje przepływu x(t) i ciśnienia ssania pI(t) zależą od: nastaw zaworów w instalacji, parametrów granicznych, tj. ciśnień, przepływów w sąsiadujących regionach oraz od odbiorów na stacjach redukcyjnych. Dodatkowo funkcje przepływu x(t) i ciśnienia ssania pI(t) zależą również od decyzji operatora pO.
Liczba parametrów wpływających na pracę tłoczni jest bardzo duża, dlatego praca sieci prowadzona jest w oparciu o oprogramowanie symulacyjne, którego zadaniem jest w trybie bieżącym odwzorowywanie i prognozowanie parametrów sieci. Ponadto oprogramowanie to pozwala na prognozowanie przyszłych wartości dla różnych scenariuszy operacyjnych.
Problem w tym, że ręczne przygotowanie scenariuszy jest także bardzo praco- i czasochłonne oraz, co ważniejsze, trudno zachować systematykę w przeszukiwaniu możliwych scenariuszy. Nie istnieją również środki zapewniające dopuszczalność rozwiązań - tzn. nie ma mechanizmów gwarantujących, że każdy zaproponowany scenariusz nie narusza ograniczeń technologicznych gazociągu - np. minimalnego i maksymalnego ciśnienia oraz przepływu w kluczowych punktach na całym rozważanym horyzoncie optymalizacji. Dlatego ręczne próby doboru scenariuszy bardziej koncentrują się na kwestiach bilansowania i stabilności pracy układu niż jego optymalizacji.
W prezentowanym problemie (patrz wzór) zadanie sterowania sprowadza się do doboru takich wartości pO(t) (ciśnień na wyjściach obu tłoczni), żeby koszty związane z pracą tłoczni były jak najniższe i zarazem, żeby zachować wszystkie ograniczenia technologiczne. Dużym problemem jest fakt, że ograniczenia na zmienne technologiczne wyznaczone mogą być jedynie na drodze symulacji.
Właściwość ta sprawia, że zadanie takie jest trudne do rozwiązania, ponieważ nie można zastosować efektywnych metod analitycznych, a jedynie można posłużyć się globalnymi numerycznymi metodami optymalizacji w celu znalezienia optymalnego sterowania. Dlatego też należy dokonać dyskretyzacji funkcji pO(t) i założyć, że wartości będą zmieniane w dyskretnych chwilach czasowych (co cykl obliczeniowy).
W opisywanym przypadku optymalizacji sterowania siecią gazową posłużono się zmodyfikowanym algorytmem optymalizacji Powella szerzej opisanym w następnym rozdziale.
ALGORYTM OBLICZEŃ OPTYMALIZACYJNYCH
Obliczenia optymalizacyjne strukturalnie oparte są na strategii regulacji predykcyjnej z przesuwanym horyzontem, gdzie raz na cykl obliczeniowy (w omawianym zadaniu co 15 minut) wyznaczana jest optymalna trajektoria sterowania na określonym horyzoncie. W omawianym zadaniu horyzont sterowania wynosi 12 godzin, a horyzont predykcji 24 godziny.
Modułem wyznaczającym optymalną trajektorię sterowania jest moduł realizujący algorytm optymalizacji, natomiast obliczającym stan sieci - symulator. W każdej iteracji programu moduł optymalizacyjny wyznacza całą trajektorię sterowania (jako wektor), ale do sterowania używana jest tylko pierwsza z wartości z trajektorii. Proces powtarzany jest co 15 minut, w wyniku czego co kwadrans wyznaczana jest nowa wartość sterowania. Po zakończeniu cyklu horyzont predykcji jest przesuwany o 15 minut (stąd nazwa "regulacja predykcyjna z przesuwanym horyzontem").
Do optymalizacji posłużono się globalnym algorytmem optymalizacji Powella, który należy do grupy metod kierunków sprzężonych i ma tę zaletę, że nie wymaga analitycznej formy optymalizowanej funkcji. Jego idea polega na badaniu zachowania optymalizowanej funkcji poprzez wykonywanie kroków względem najlepszego dotychczas znalezionego rozwiązania - w ten sposób algorytm buduje pewien rodzaj modelu (bazy), która pozwala na efektywną eksplorację przestrzeni rozwiązania.
Liczba potrzebnych kroków algorytmu optymalizującego jest spora, co sprawia, że metoda jest dość kosztowna obliczeniowo. Czas obliczeń stanowi główny problem w używaniu bezgradientowych algorytmów optymalizacji w zastosowaniach praktycznych (gdzie funkcja celu nie jest formą kwadratową).
W prezentowanym przykładzie czas pojedynczego wywołania symulatora jest dość długi i wynosi od 3 do 5 sekund, dodatkowo liczba zmiennych do wyznaczenia też jest znacząca (2 × 4 × 12 = 96 - wartości dla dwóch tłoczni co 15 minut na 12-godzinnym horyzoncie sterowania). Oba te czynniki przełożyły się na problemy wydajnościowe, które wystąpiły na etapie wdrożenia. Problem rozwiązano przez znaną z literatury technikę redukcji zmiennych decyzyjnych, tzn. zamiast wyznaczać 48 zmiennych dla każdej z tłoczni (12 godzin co 15 minut), wyznaczanych jest 6 zmiennych dla każdej z tłoczni - są to wartości odpowiednio na godziny: +0, +1, +3, +6, +9, +12, wartości pomiędzy interpolowane są liniowo.
Warto zwrócić uwagę, że decyzje na pierwsze godziny wyznaczane są częściej, a decyzje na dalsze godziny wyznaczane są rzadziej (co 3 h). W ten sposób zredukowano zadanie z 96 zmiennych do 12. Jest to typowy zabieg stosowany w regulacji zaawansowanej polegający w istocie na pewnym rodzaju parametryzacji trajektorii sterowania.
Dodatkowo wykorzystano zmodyfikowaną metodę Powella z buforem pamiętającym wartości funkcji celu (podany wcześniej wzór) dla danego punktu w przestrzeni sterowań. W sytuacji, kiedy w kolejnym kroku algorytmu optymalizacji pojawiała się konieczność obliczenia funkcji celu dla punktu, który już był analizowany, lub punktu nieodległego, wartość funkcji celu pobierana była z bufora. Powyżej opisane modyfikacje przyspieszyły obliczenia w stopniu pozwalającym na wdrożenie systemu optymalizacyjnego.
Dodatkowo, jeśli jednak z jakichś powodów dokładność znalezionego rozwiązania jest niewystarczająca, zwracane jest rozwiązanie znalezione w ostatniej pomyślnej sesji optymalizacji. Podejście to było szczególnie istotne w sytuacji, gdy występowały problemy komunikacyjne i obliczenia optymalizacyjne nie mogły być kontynuowane w danym cyklu.
Sebastian Plamowski
Źródła zdjęć w artykule: Gazprom, Gaz-System