EOS/test.py

335 lines
6.5 KiB
Python
Raw Normal View History

2024-02-18 14:32:27 +01:00
from flask import Flask, jsonify, request
import numpy as np
from datetime import datetime
from modules.class_optimize import *
# from modules.class_load import *
# from modules.class_ems import *
# from modules.class_pv_forecast import *
# from modules.class_akku import *
# from modules.class_strompreis import *
# from modules.class_heatpump import *
# from modules.class_load_container import *
# from modules.class_eauto import *
from modules.class_optimize import *
2024-03-03 10:46:46 +01:00
2024-02-18 14:32:27 +01:00
from pprint import pprint
2024-02-18 15:07:20 +01:00
import matplotlib.pyplot as plt
from modules.visualize import *
2024-02-18 15:53:29 +01:00
from deap import base, creator, tools, algorithms
import numpy as np
import random
2024-02-18 16:57:57 +01:00
import os
2024-02-18 14:32:27 +01:00
start_hour = 13
pv_forecast= [
0,
0,
0,
0,
0,
0,
0,
35.4104640357043,
436.191574979506,
734.585613834398,
914.346108603927,
1019.5228214119,
1766.84136350058,
5980.60975052259,
6236.00681862336,
5893.38154543782,
4309.88538120413,
3338.29004915145,
2177.55660706753,
1091.00542545193,
437.819525591319,
44.2226537829726,
0,
0,
0,
0,
-0.0269415125679914,
0,
0,
0,
0,
25.5745140893473,
494.188146846569,
943.821134036728,
1458.66413119635,
1819.46147983229,
2127.45430524539,
2267.78128099068,
5944.86706099518,
5337.1322153025,
4376.56125932204,
3020.00212091936,
2414.53994231359,
1373.626161377,
517.764497317134,
35.619750070296,
0,
0
]
temperature_forecast= [
18.3,
17.8,
16.9,
16.2,
15.6,
15.1,
14.6,
14.2,
14.3,
14.8,
15.7,
16.7,
17.4,
18,
18.6,
19.2,
19.1,
18.7,
18.5,
17.7,
16.2,
14.6,
13.6,
13,
12.6,
12.2,
11.7,
11.6,
11.3,
11,
10.7,
10.2,
11.4,
14.4,
16.4,
18.3,
19.5,
20.7,
21.9,
22.7,
23.1,
23.1,
22.8,
21.8,
20.2,
19.1,
18,
17.4
]
2024-02-18 14:32:27 +01:00
strompreis_euro_pro_wh = [
0.00033840228,
0.00033180228,
0.00032840228,
0.00032830228,
0.00032890228,
0.00033340228,
0.00032900228,
0.00033020228,
0.00030420228,
0.00024300228,
0.00022800228,
0.00022120228,
0.00020930228,
0.00018790228,
0.00018380228,
0.00020040228,
0.00021980228,
0.00022700228,
0.00029970228,
0.00031950228,
0.00030810228,
0.00029690228,
0.00029210228,
0.00027800228,
0.00033840228,
0.00033180228,
0.00032840228,
0.00032830228,
0.00032890228,
0.00033340228,
0.00032900228,
0.00033020228,
0.00030420228,
0.00024300228,
0.00022800228,
0.00022120228,
0.00020930228,
0.00018790228,
0.00018380228,
0.00020040228,
0.00021980228,
0.00022700228,
0.00029970228,
0.00031950228,
0.00030810228,
0.00029690228,
0.00029210228,
0.00027800228
]
gesamtlast= [
546.16318964697,
893.072526185525,
448.7325491406,
460.696954446666,
497.688171532182,
468.186120420737,
424.440426628658,
454.341890696582,
1070.45287392313,
1096.46234344204,
1199.71317588613,
1294.39989535284,
1459.42631059004,
1295.23757474948,
1304.65748778424,
1187.47511606455,
1309.49984671163,
1106.60773651081,
1098.98136451936,
2112.82264661039,
1143.37118921705,
858.863135790621,
787.018517493612,
693.683533270357,
545.860858342826,
892.702692835489,
448.372058076642,
460.284228901714,
498.457870099476,
469.01826331988,
424.293997897019,
454.660942633609,
1070.71990586461,
1096.44557410693,
1199.72027861112,
1294.75410706442,
1459.61174223338,
1295.77661554687,
1304.95591385395,
1188.62778631227,
1310.43099742786,
1108.58589249073,
1101.73849714744,
2114.05576978017,
1143.68031998738,
858.607350786608,
786.574111043611,
693.463415886943
]
2024-02-18 15:53:29 +01:00
start_solution= [
0,
1,
0,
1,
0,
1,
0,
0,
1,
1,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
0,
0,
0,
0,
0,
0,
1,
0,
0,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
0,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1
]
parameter= {"preis_euro_pro_wh_akku": 30e-05,'pv_soc': 95.00, 'pv_akku_cap': 30000, 'year_energy': 4100000, 'einspeiseverguetung_euro_pro_wh': 7e-05, 'max_heizleistung': 1000,"gesamtlast":gesamtlast, 'pv_forecast': pv_forecast, "temperature_forecast":temperature_forecast, "strompreis_euro_pro_wh":strompreis_euro_pro_wh, 'eauto_min_soc': 0, 'eauto_cap': 60000, 'eauto_charge_efficiency': 0.95, 'eauto_charge_power': 7590, 'eauto_soc': 53, 'pvpowernow': 211.137503624, 'start_solution': start_solution, 'haushaltsgeraet_wh': 937, 'haushaltsgeraet_dauer': 0}
2024-03-03 10:46:46 +01:00
opt_class = optimization_problem(prediction_hours=48, strafe=10,optimization_hours=24)
ergebnis = opt_class.optimierung_ems(parameter=parameter, start_hour=start_hour)
print(ergebnis)
print(jsonify(ergebnis))