diff --git a/Dockerfile b/Dockerfile index b9d3065..f835d6f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,8 @@ FROM python:3.9 +RUN apt-get update +RUN apt-get install -y glpk-utils python3-swiglpk + WORKDIR /code COPY ./requirements.txt /code/requirements.txt diff --git a/ensysmod/core/fine_esm.py b/ensysmod/core/fine_esm.py index 485674e..a3ce0b2 100644 --- a/ensysmod/core/fine_esm.py +++ b/ensysmod/core/fine_esm.py @@ -1,3 +1,4 @@ +import os from datetime import datetime from typing import Any, Dict, List, Union @@ -181,10 +182,13 @@ def optimize_esm(esM: EnergySystemModel): Optimize the energy system model. """ esM.cluster(numberOfTypicalPeriods=7) - esM.optimize(timeSeriesAggregation=True, optimizationSpecs='OptimalityTol=1e-3 method=2 cuts=0', solver='gurobi') + esM.optimize(timeSeriesAggregation=True) time_str = datetime.now().strftime("%Y%m%d%H%M%S") result_file_path = f"./tmp/result-{time_str}" + # create folder ./tmp if it does not exist + if not os.path.exists("./tmp"): + os.makedirs("./tmp") writeOptimizationOutputToExcel(esM=esM, outputFileName=result_file_path, optSumOutputLevel=2, optValOutputLevel=1)