From e823f494d05a8694820568e4e5431fbc8f0891c7 Mon Sep 17 00:00:00 2001 From: Paule <44635962+V3lop5@users.noreply.github.com> Date: Mon, 28 Feb 2022 22:25:09 +0100 Subject: [PATCH 1/7] Added solver coinor-cbc to Dockerfile --- Dockerfile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Dockerfile b/Dockerfile index b9d3065..3036348 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,5 +1,7 @@ FROM python:3.9 +RUN apt-get update && apt-get install -y coinor-cbc + WORKDIR /code COPY ./requirements.txt /code/requirements.txt From ff6ebda8daed21083cb2b8851dc12661d3ee73d6 Mon Sep 17 00:00:00 2001 From: Paule <44635962+V3lop5@users.noreply.github.com> Date: Mon, 28 Feb 2022 22:46:17 +0100 Subject: [PATCH 2/7] Removed fixed solver Now for optimization gurobi, coincbc or glpk is used. --- ensysmod/core/fine_esm.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ensysmod/core/fine_esm.py b/ensysmod/core/fine_esm.py index 485674e..3fad85d 100644 --- a/ensysmod/core/fine_esm.py +++ b/ensysmod/core/fine_esm.py @@ -181,7 +181,7 @@ 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, optimizationSpecs='OptimalityTol=1e-3 method=2 cuts=0') time_str = datetime.now().strftime("%Y%m%d%H%M%S") result_file_path = f"./tmp/result-{time_str}" From 51a08f2400a2bc64010cea6b25367417cc23ebeb Mon Sep 17 00:00:00 2001 From: Paule <44635962+V3lop5@users.noreply.github.com> Date: Wed, 2 Mar 2022 23:54:44 +0100 Subject: [PATCH 3/7] Added glpk solver --- Dockerfile | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 3036348..cb5b2bd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,8 @@ FROM python:3.9 -RUN apt-get update && apt-get install -y coinor-cbc +RUN sudo apt-get update +RUN sudo apt-get install -y coinor-cbc +RUN sudo apt-get install glpk-utils libglpk-dev glpk-doc python-glpk WORKDIR /code From 8401050329b9b75132e1421e67658488ab115422 Mon Sep 17 00:00:00 2001 From: Paule <44635962+V3lop5@users.noreply.github.com> Date: Thu, 3 Mar 2022 00:08:43 +0100 Subject: [PATCH 4/7] Removed sudo --- Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index cb5b2bd..79422ef 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ FROM python:3.9 -RUN sudo apt-get update -RUN sudo apt-get install -y coinor-cbc -RUN sudo apt-get install glpk-utils libglpk-dev glpk-doc python-glpk +RUN apt-get update +RUN apt-get install -y coinor-cbc +RUN apt-get install glpk-utils libglpk-dev glpk-doc python-glpk WORKDIR /code From 40acb7ff4952d2c9f31a1a1d7638224668614068 Mon Sep 17 00:00:00 2001 From: Paule <44635962+V3lop5@users.noreply.github.com> Date: Thu, 3 Mar 2022 00:14:12 +0100 Subject: [PATCH 5/7] Updated glpk packages --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 79422ef..d2503f0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.9 RUN apt-get update RUN apt-get install -y coinor-cbc -RUN apt-get install glpk-utils libglpk-dev glpk-doc python-glpk +RUN apt-get install glpk-utils python3-swiglpk WORKDIR /code From c0cd28a40cef3bd15026b7d87543629f7c063936 Mon Sep 17 00:00:00 2001 From: Paule <44635962+V3lop5@users.noreply.github.com> Date: Thu, 3 Mar 2022 00:56:44 +0100 Subject: [PATCH 6/7] Fixed apt-get --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index d2503f0..479c770 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM python:3.9 RUN apt-get update RUN apt-get install -y coinor-cbc -RUN apt-get install glpk-utils python3-swiglpk +RUN apt-get install -y glpk-utils python3-swiglpk WORKDIR /code From 3dcf29dbc7e0f1c3ed6806652483d012843ecd6f Mon Sep 17 00:00:00 2001 From: Paule <44635962+V3lop5@users.noreply.github.com> Date: Thu, 3 Mar 2022 10:56:19 +0100 Subject: [PATCH 7/7] Switched solver to glpk --- Dockerfile | 1 - ensysmod/core/fine_esm.py | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 479c770..f835d6f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,6 @@ FROM python:3.9 RUN apt-get update -RUN apt-get install -y coinor-cbc RUN apt-get install -y glpk-utils python3-swiglpk WORKDIR /code diff --git a/ensysmod/core/fine_esm.py b/ensysmod/core/fine_esm.py index 3fad85d..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') + 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)