MOSEL (FICO - Xpress Optimization Suite)

MOSEL ( FICO - Xpress Optimization Suite)

Zastosowanie:

Celem wykorzystania oprogramowania jest stworzenie modelu optymalizacji udziału poszczególnych technologii w produkcji energii elektrycznej – energetyczny mix (energy mix optimization). Optymalizacja energetycznego mix-u polega na określeniu odpowiedniej struktury źródeł wytwórczych zainstalowanych w systemie elektroenergetycznym przy zachowaniu bilansu mocy i energii w systemie, zapewniając w ten sposób bezpieczeństwo energetyczne. Problem opisany w modelu ma postać optymalizacji typu mixed-integer linear programming (MILP). Minimalizowana funkcja celu określa zasoby niezbędne do osiągnięcia odpowiedniego stopnia bezpieczeństwa energetycznego. Modele systemu elektroenergetycznego są traktowane jako system ograniczeń problemu optymalizacji, w których uwzględnia się parametry jednostek czyli ich typoszeregi, rewelacyjności bloków, emisyjności czy też wymagany poziom rezerw w systemie, a także ograniczenia w rozpływach sieciowych.

Aplikacja:

Oprogramowanie służy do budowy modelu oraz jako silnik obliczeniowy dla rozwiązań opracowanych przez firmę FICO - Xpress Optimization Suite. Jest to sprawdzona platforma, wykorzystywana w polskim systemie elektorenergetycznym do optymalnego rozdziału obciążeń między jednostki wytwórcze.

Pakiet zawiera algorytmy obliczeniowe oraz aplikację MOSEL, która służy do przygotowania modelu obliczeniowego (z własnym językiem opisu tego modelu).

W zasobach klastra Blueocean zastosowano środowisko „uruchomieniowe” (execution environment), pozostałe elementy oprogramowania takie jak edytor MOSEL, kompilator, debbuger dostępne są za pośrednictwem aplikacji graficznej Xpress IVE w środowisku Windows (poza zasobami klastra Blueocean)

Uruchamianie w zasobach klastra Blueocean:

Warunki wstępne:

Katalog pod obliczenia mosel:

mkdir ~/mosel

 

Kontener uruchamiania (plik wykonywalny przekazujący do systemy kolejkowego informacje konieczne do uruchomienia obliczeń):

Przykładowy bardzo uproszczony kontener uruchamiania (nazwa kontenera np.: mosel_run):

#!/bin/bash
cTIME=`date +"%Y%m%d%H%M%S"`
f=mosel.$1.$cTIME
echo "#!/bin/bash" > $f
echo "#$ -cwd" >> $f
echo "#$ -M user.name@p.lodz.pl" >> $f
echo "#$ -m e" >> $f
echo "#$ -q short" >> $f
echo ". /opt/xpress/xpressFLic/bin/xpvars.sh" >> $f
echo "cd ~/mosel" >> $f
echo "mosel $PWD/$1" >> $f
qsub -S /bin/bash $f

Uruchamianie:

~/mosel/mosel_run mosel_input.mps

gdzie plik mosel_input.mps jest plikiem wejściowym dla aplikacji MOSEL, modelem obliczeniowym.

 

Wyniki i informację prowadzonych obliczeń:

Informację o przebiegu obliczeń, standardowe wyjście (stdout) procesu obliczeniowego dostępne są pod nazwą:

mosel.mosel_input.mps.data_wywolania.onumer_zadania_w_systemie kolejkowym

np.:

mosel.eMix_140819.mps.20140820112406.o9556

 

dla wyjścia błędu (stderr):

mosel.mosel_input.mps.data_wywolania.enumer_zadania_w_systemie kolejkowym

np.:

mosel.eMix_140819.mps.20140820112406.e9556

Wyniki obliczeń:

*.csv