TDD and Machine Learning of SEPTIC MPC application

Abstract

Høsten 2021 fordypningsprosjektet implementerte med hell, funksjonalitet i Equi- nor’s MPC SEPTIC ved å ta i bruk TDD. Masteroppgaven tar dette funnet videre, og ser på hvordan kompleks funksjonalitet som involverer testing av system dynamikk kan videre bli utviklet med TDD metodologien. Testoppsettet fra fordypningsoppga- ven ble valgt å gjenbruke, og en sekvens som involverer testing av system dynamikk ble valgt som basis, for å se på muligheten å utvikle system dynamikk ved hjelp av TDD. Sekvensen ble vellykket implementert ved hjelp av TDD. Det ble vist at imple- mentering av sekvens i SEPTIC congig fil, kan være kronglete, og det ble gjort et funn eller forslag til Equinor om å legge til SR latch som en funksjon i config fi- len deres. Slik funksjon ville gjort koden svært mye enklere og mindre kronglete å implementere sekvenser. I tillegg ble system dynamikk vellykket utviklet ved hjelp av TDD. En sentral del av dette var step_until() funksjonen og muligheten for å hente ut simuleringsverdier fra ring buffer. De to bidro til fullstendig kontroll over simulering ved å stoppe simulering når en viss ønsket verdi er oppnådd, og deretter hente ut simuleringsverdier for videre testing av system dynamikk i pytest. En ML algoritme med LSTM celler ble laget. Den ble trent opp a av en trening datasett hvor ventilåpningen var mellom 15% − 100%. ML modellen viste god ytelse på ny usett data på test datasettet, og nøyaktig predikerte steady-state olje rate. En modell som er trent på hele arbeidsområde til ventilen ville vært foretrukket, men dette ville gått på bekostning av modellen sin predikasjons evne. En gain sche- duler ble videre implementert i SEPTIC. Gain scheduleren bruker kalkulerte gains fra predikasjon fra ML modellen, og videre interpolerer datasettene av gains til en gain funksjon. Implementasjon av en gain schdeuler viste litt bedre ytelse når den ble brukt i simulering sammenheng, den nådde steady-state olje rate litt tidligere. Videre vil en av fordelene av en ML algoritme som kjører på siden av SEPTIC til å predikere gains, være at ML modellen vil fange endringer i system dynamikk over tid, og alltid vær oppdatert med å sette korrekt gain til alle tider

    Similar works

    Full text

    thumbnail-image