From 0d796834e2102f0b4af15b8580d0733daa8546e7 Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Wed, 18 Feb 2026 22:15:30 +0100 Subject: [PATCH 01/38] Update 2025 deps --- runner/envs/benchmark-2025-fixed.yaml | 146 ++++++++++++++------------ 1 file changed, 79 insertions(+), 67 deletions(-) diff --git a/runner/envs/benchmark-2025-fixed.yaml b/runner/envs/benchmark-2025-fixed.yaml index 09aa59e4..d0a7e8c5 100644 --- a/runner/envs/benchmark-2025-fixed.yaml +++ b/runner/envs/benchmark-2025-fixed.yaml @@ -1,111 +1,112 @@ name: benchmark-2025 channels: - conda-forge + - defaults - gurobi - - nodefaults + - fico-xpress dependencies: - - _openmp_mutex=4.5=7_kmp_llvm + - _libgcc_mutex=0.1=conda_forge + - _openmp_mutex=4.5=2_gnu - _python_abi3_support=1.0=hd8ed1ab_2 - aiohappyeyeballs=2.6.1=pyhd8ed1ab_0 - - aiohttp=3.13.2=py312h27b7581_0 + - aiohttp=3.13.0=py312h033f2cf_0 - aiosignal=1.4.0=pyhd8ed1ab_0 - ampl-asl=1.0.0=h5888daf_2 - - attrs=25.4.0=pyhcf101f3_1 - - backports.zstd=1.2.0=py312h90b7ffd_0 - - bottleneck=1.6.0=np2py312hfb8c2c5_3 - - brotli-python=1.2.0=py312hdb49522_1 + - attrs=25.4.0=pyh71513ae_0 + - bottleneck=1.6.0=py312h4f23490_1 + - brotli-python=1.1.0=py312h1289d80_4 - bzip2=1.0.8=hda65f42_8 - c-ares=1.34.5=hb9d3cd8_0 - - ca-certificates=2025.11.12=hbd8a1cb_0 - - cachetools=6.2.2=pyhd8ed1ab_0 - - certifi=2025.11.12=pyhd8ed1ab_0 + - ca-certificates=2025.12.2=h06a4308_0 + - cachetools=6.2.1=pyhd8ed1ab_0 + - certifi=2026.01.04=py312h06a4308_0 - cffi=2.0.0=py312h460c074_1 - charset-normalizer=3.4.4=pyhd8ed1ab_0 - - click=8.3.1=pyh8f84b5b_1 - - cloudpickle=3.1.2=pyhd8ed1ab_0 + - click=8.3.0=pyh707e725_0 + - cloudpickle=3.1.1=pyhd8ed1ab_0 - colorama=0.4.6=pyhd8ed1ab_1 + - cppad=20250000.2=h5888daf_0 - cpython=3.12.12=py312hd8ed1ab_1 - - cryptography=46.0.3=py312ha4b625e_1 - - dask-core=2025.11.0=pyhcf101f3_0 + - cryptography=46.0.3=py312hee9fe19_0 + - dask-core=2025.10.0=pyhcf101f3_0 - deprecation=2.1.0=pyh9f0ad1d_0 - frozenlist=1.7.0=py312h447239a_0 - - fsspec=2025.12.0=pyhd8ed1ab_0 + - fsspec=2025.9.0=pyhd8ed1ab_0 - gmp=6.3.0=hac33072_2 - - google-api-core=2.28.1=pyhd8ed1ab_0 - - google-auth=2.43.0=pyhd8ed1ab_0 - - google-cloud-core=2.5.0=pyhd8ed1ab_0 - - google-cloud-storage=3.6.0=pyhcf101f3_0 + - google-api-core=2.25.2=pyhd8ed1ab_0 + - google-auth=2.41.1=pyhd8ed1ab_0 + - google-cloud-core=2.4.3=pyhd8ed1ab_0 + - google-cloud-storage=3.4.1=pyhd8ed1ab_0 - google-crc32c=1.7.1=py312h03f33d3_1 - - google-resumable-media=2.8.0=pyhd8ed1ab_0 - - googleapis-common-protos=1.72.0=pyhd8ed1ab_0 + - google-resumable-media=2.7.2=pyhd8ed1ab_2 + - googleapis-common-protos=1.70.0=pyhd8ed1ab_0 - grpcio=1.74.1=py312h6f3464c_1 - - grpcio-status=1.74.0=pyhd8ed1ab_0 - - gurobi=13.0.0=py312_0 + - gurobi=12.0.3=py312_0 - h2=4.3.0=pyhcf101f3_0 - - highspy=1.12.0=np2py312h0f77346_0 - hpack=4.1.0=pyhd8ed1ab_0 - hyperframe=6.1.0=pyhd8ed1ab_0 - idna=3.11=pyhd8ed1ab_0 - importlib-metadata=8.7.0=pyhe01879c_1 - - ipopt=3.14.19=h6c08d29_1 - - ld_impl_linux-64=2.45=default_hbd61a6d_104 - - legacy-cgi=2.6.4=pyhcf101f3_0 + - intel-openmp=2022.1.0=h9e868ea_3769 + - ipopt=3.14.17=h7fd866c_2 + - ld_impl_linux-64=2.44=ha97dd6f_2 - libabseil=20250512.1=cxx17_hba17884_0 - - libblas=3.11.0=4_h4a7cf45_openblas - - libcblas=3.11.0=4_h0358290_openblas + - libblas=3.9.0=37_h4a7cf45_openblas + - libcblas=3.9.0=37_h0358290_openblas - libcrc32c=1.1.2=h9c3ff4c_0 - - libexpat=2.7.3=hecca717_0 + - libexpat=2.7.1=hecca717_0 - libffi=3.5.2=h9ec8514_0 - - libgcc=15.2.0=he0feb66_15 - - libgcc-ng=15.2.0=h69a702a_15 - - libgfortran=15.2.0=h69a702a_15 - - libgfortran5=15.2.0=h68bc16d_15 + - libgcc=15.2.0=h767d61c_7 + - libgcc-ng=15.2.0=h69a702a_7 + - libgfortran=15.2.0=h69a702a_7 + - libgfortran-ng=15.2.0=h69a702a_7 + - libgfortran5=15.2.0=hcd61629_7 + - libgomp=15.2.0=h767d61c_7 - libgrpc=1.74.1=h3288cfb_1 - - libhwloc=2.12.1=default_hafda6a7_1003 + - libhwloc=2.11.2=default_h3d81e11_1002 - libiconv=1.18=h3b78370_2 - - liblapack=3.11.0=4_h47877c9_openblas + - liblapack=3.9.0=37_h47877c9_openblas - liblzma=5.8.1=hb9d3cd8_2 + - liblzma-devel=5.8.1=hb9d3cd8_2 - libnsl=2.0.1=hb9d3cd8_1 - - libopenblas=0.3.30=openmp_hd680484_4 + - libopenblas=0.3.30=pthreads_h94d23a6_2 - libprotobuf=6.31.1=h49aed37_2 - - libre2-11=2025.11.05=h7b12aa8_0 - - libscotch=7.0.10=int32_h8512f2c_2 - - libspral=2025.05.20=hfabd9d1_1 - - libsqlite=3.51.1=h0c1763c_0 - - libstdcxx=15.2.0=h934c35e_15 - - libstdcxx-ng=15.2.0=hdf11a46_15 - - libuuid=2.41.2=h5347b49_1 + - libre2-11=2025.08.12=h7b12aa8_1 + - libscotch=7.0.4=h2fe6a88_5 + - libspral=2025.03.06=h39c1cf3_0 + - libsqlite=3.50.4=h0c1763c_0 + - libstdcxx=15.2.0=h8f9b012_7 + - libstdcxx-ng=15.2.0=h4852527_7 + - libuuid=2.41.2=he9a06e4_0 - libxcrypt=4.4.36=hd590300_1 - - libxml2=2.15.1=h031cc0b_0 - - libxml2-16=2.15.1=hf2a90c1_0 + - libxml2=2.13.8=h2cb61b6_1 - libzlib=1.3.1=hb9d3cd8_2 - - linopy=0.5.8=pyhd8ed1ab_0 - - llvm-openmp=21.1.7=h4922eb0_0 - locket=1.0.0=pyhd8ed1ab_0 - metis=5.1.0=hd0bcaf9_1007 - mpfr=4.2.1=h90cbb55_3 - multidict=6.6.3=py312h178313f_0 - - mumps-include=5.8.1=h1795ed4_4 - - mumps-seq=5.8.1=h4374b6a_4 + - mumps-include=5.7.3=h82cca05_10 + - mumps-seq=5.7.3=h27a6a8b_0 - ncurses=6.5=h2d0b736_3 - nomkl=1.0=h5ca1d4c_0 - - numexpr=2.14.1=py312h88efc94_101 + - numexpr=2.14.1=py312h88efc94_100 - numpy=1.26.4=py312heda63a1_0 - - openssl=3.6.0=h26f9b46_0 + - openssl=3.5.4=h26f9b46_0 - packaging=25.0=pyh29332c3_1 - pandas=2.3.3=py312hf79963d_1 - partd=1.4.2=pyhd8ed1ab_0 - - pip=25.3=pyh8b19718_0 - - polars=1.35.2=pyh6a1acc5_0 - - polars-runtime-32=1.35.2=py310hffdcd12_0 + - pip=25.2=pyh8b19718_0 + - polars=1.34.0=pyh6a1acc5_0 + - polars-runtime-32=1.34.0=py310hffdcd12_0 - propcache=0.3.1=py312h178313f_0 - proto-plus=1.26.1=pyhd8ed1ab_0 - protobuf=6.31.1=py312hb8af0ac_2 - - psutil=7.1.3=py312h5253ce2_0 + - psutil=7.1.1=py312h4c3975b_0 - pyasn1=0.6.1=pyhd8ed1ab_2 - pyasn1-modules=0.4.2=pyhd8ed1ab_0 - pycparser=2.22=pyh29332c3_1 - pyopenssl=25.3.0=pyhd8ed1ab_0 + - pyscipopt=5.4.1=py312h2ec8cdc_1 - pysocks=1.7.1=pyha55dd90_7 - python=3.12.12=hd63d673_1_cpython - python-dateutil=2.9.0.post0=pyhe01879c_2 @@ -115,27 +116,38 @@ dependencies: - pytz=2025.2=pyhd8ed1ab_0 - pyu2f=0.1.5=pyhd8ed1ab_1 - pyyaml=6.0.3=py312h8a5da7c_0 - - re2=2025.11.05=h5301d42_0 + - re2=2025.08.12=h5301d42_1 - readline=8.2=h8c095d6_2 - requests=2.32.5=pyhd8ed1ab_0 - rsa=4.9.1=pyhd8ed1ab_0 - - scip=10.0.0=hd8b5c82_0 - - scipy=1.16.3=py312h7a1785b_1 + - scip=9.2.2=h072bc7a_2 + - scipy=1.16.2=py312h7a1785b_0 - setuptools=80.9.0=pyhff2d567_0 - six=1.17.0=pyhe01879c_1 - - tbb=2022.3.0=h8d10470_1 - - tk=8.6.13=noxft_ha0e22de_103 + - tbb=2022.1.0=h4ce085d_0 + - tk=8.6.13=noxft_hd72426e_102 - toolz=1.1.0=pyhd8ed1ab_1 - tqdm=4.67.1=pyhd8ed1ab_1 - typing-extensions=4.15.0=h396c80c_0 - typing_extensions=4.15.0=pyhcf101f3_0 - tzdata=2025b=h78e105d_0 - - urllib3=2.6.0=pyhd8ed1ab_0 + - urllib3=2.5.0=pyhd8ed1ab_0 - wheel=0.45.1=pyhd8ed1ab_1 - - xarray=2025.12.0=pyhcf101f3_0 + - xarray=2025.10.1=pyhd8ed1ab_0 + - xpress=9.8.0=py312h9bf148f_1761089859 + - xpresslibs=9.8.0=1761089859 + - xz=5.8.1=hbcc6ac9_2 + - xz-gpl-tools=5.8.1=hbcc6ac9_2 + - xz-tools=5.8.1=hb9d3cd8_2 - yaml=0.2.5=h280c20c_3 - - yarl=1.22.0=py312h8a5da7c_0 - - zipp=3.23.0=pyhcf101f3_1 - - zstd=1.5.7=hb78ec9c_6 + - yarl=1.20.1=py312h178313f_0 + - zipp=3.23.0=pyhd8ed1ab_0 + - zlib=1.3.1=hb9d3cd8_2 + - zstandard=0.25.0=py312h5253ce2_0 + - zstd=1.5.7=hb8e6e7a_2 - pip: - - pyscipopt==5.7.1 + - cplex==22.1.2.0 + - docplex==2.31.254 + - highspy==1.10.0 + - knitro==15.1.0 + - linopy==0.6.4 From a6c437cce69e0c767e3125bd8fc250a9c793755c Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Wed, 18 Feb 2026 22:17:03 +0100 Subject: [PATCH 02/38] Switch to the testing private bucket --- infrastructure/main.tf | 2 +- infrastructure/startup-script.sh | 7 +------ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/infrastructure/main.tf b/infrastructure/main.tf index 85e2f149..59946c00 100644 --- a/infrastructure/main.tf +++ b/infrastructure/main.tf @@ -56,7 +56,7 @@ variable "enable_gcs_upload" { variable "gcs_bucket_name" { description = "Name of the GCS bucket to upload benchmark results" type = string - default = "solver-benchmarks" + default = "solver-benchmarks-testing" } variable "auto_destroy_vm" { diff --git a/infrastructure/startup-script.sh b/infrastructure/startup-script.sh index ec6bb105..8e0432f9 100644 --- a/infrastructure/startup-script.sh +++ b/infrastructure/startup-script.sh @@ -264,12 +264,7 @@ if [ "${ENABLE_GCS_UPLOAD}" == "true" ]; then echo "Uploading ${compressed_file} to GCS bucket..." # Check if file contains "gurobi" in the name - if [[ "${filename}" == *"gurobi"* ]]; then - echo "File contains 'gurobi' in name, storing in restricted folder..." - gsutil cp "${compressed_file}" "gs://${GCS_BUCKET_NAME}-restricted/logs/${RUN_ID}/${filename}.gz" - else - gsutil cp "${compressed_file}" "gs://${GCS_BUCKET_NAME}/logs/${RUN_ID}/${filename}.gz" - fi + gsutil cp "${compressed_file}" "gs://${GCS_BUCKET_NAME}/logs/${RUN_ID}/${filename}.gz" if [ $? -eq 0 ]; then echo "Successfully uploaded ${filename}.gz" From c963bf0b02f1c8daa5a6590638e0e848475936c1 Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Thu, 19 Feb 2026 10:14:32 +0100 Subject: [PATCH 03/38] Implement support for commercial solvers --- infrastructure/startup-script.sh | 35 ++++++++++++++++++++++++++++++++ runner/envs/benchmark-2025.yaml | 6 ++++++ runner/run_benchmarks.py | 8 +++++++- 3 files changed, 48 insertions(+), 1 deletion(-) diff --git a/infrastructure/startup-script.sh b/infrastructure/startup-script.sh index 8e0432f9..453e5c8c 100644 --- a/infrastructure/startup-script.sh +++ b/infrastructure/startup-script.sh @@ -43,6 +43,36 @@ chmod a+x /usr/local/bin/yq mkdir -p /opt/gurobi gsutil cp gs://solver-benchmarks-restricted/gurobi-benchmark-40-session.lic /opt/gurobi/gurobi.lic +# Download Knitro license +echo "Downloading Knitro license..." +mkdir -p /opt/knitro +gsutil cp gs://solver-benchmarks-testing/knitro-license.txt /opt/knitro/knitro-license.txt + +# Download Xpress license +echo "Downloading Xpress license..." +mkdir -p /opt/xpress +gsutil cp gs://solver-benchmarks-testing/license.xpr /opt/xpress/license.xpr + +# Download and install CPLEX +echo "Downloading CPLEX installer..." +gsutil cp gs://solver-benchmarks-testing/cplex_studio2212.linux_x86_64.bin /tmp/cplex_studio2212.linux_x86_64.bin +chmod +x /tmp/cplex_studio2212.linux_x86_64.bin + +echo "Installing CPLEX..." +cat > /tmp/cplex_response.properties << 'EOF' +INSTALLER_UI=silent +LICENSE_ACCEPTED=true +USER_INSTALL_DIR=/opt/ibm/ILOG/CPLEX_Studio2212 +INSTALLER_LOCALE=en +USER_INPUT_SEGMENT_FALSE=1 +EOF +/tmp/cplex_studio2212.linux_x86_64.bin -f /tmp/cplex_response.properties +rm /tmp/cplex_studio2212.linux_x86_64.bin /tmp/cplex_response.properties + +echo "Verifying CPLEX installation..." +/opt/ibm/ILOG/CPLEX_Studio2212/cplex/bin/x86-64_linux/cplex -c "quit" +echo "CPLEX installation completed" + # Clone the repository echo "Cloning repository..." git clone --depth=1 -b main https://github.com/open-energy-transition/solver-benchmark.git @@ -175,6 +205,11 @@ else echo "No solver field in benchmark YAML, using default solver list for year" fi +# Set environment variables for commercial solvers +export ARTELYS_LICENSE=/opt/knitro +export XPRESS=/opt/xpress/license.xpr +export LD_LIBRARY_PATH=/root/miniconda3/envs/benchmark-2025/lib/python3.12/site-packages/knitro/lib:/opt/ibm/ILOG/CPLEX_Studio2212/cplex/bin/x86-64_linux${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} + # Run the benchmark_all.sh script with our years and the run_id echo "Starting benchmarks for years: ${BENCHMARK_YEARS_STR} with run_id: ${RUN_ID}" source ~/miniconda3/bin/activate diff --git a/runner/envs/benchmark-2025.yaml b/runner/envs/benchmark-2025.yaml index 89a97394..cb3c50ab 100644 --- a/runner/envs/benchmark-2025.yaml +++ b/runner/envs/benchmark-2025.yaml @@ -2,6 +2,7 @@ name: benchmark-2025 channels: - conda-forge - https://conda.anaconda.org/gurobi +- fico-xpress - nodefaults dependencies: - python>=3.12 @@ -21,5 +22,10 @@ dependencies: - highspy==1.12.0 +- xpress # from fico-xpress channel + - pip: - pyscipopt==5.7.1 + - cplex==22.1.2.0 + - docplex # required by cplex + - knitro diff --git a/runner/run_benchmarks.py b/runner/run_benchmarks.py index e04cee15..a67c63b0 100644 --- a/runner/run_benchmarks.py +++ b/runner/run_benchmarks.py @@ -42,7 +42,13 @@ def get_conda_package_versions(solvers, env_name=None): installed_packages[parts[0]] = parts[1] # Map solver names to their conda package names - name_to_pkg = {"highs": "highspy", "cbc": "coin-or-cbc"} + name_to_pkg = { + "highs": "highspy", + "cbc": "coin-or-cbc", + "cplex": "cplex", + "knitro": "knitro", + "xpress": "xpress", + } solver_versions = {} for solver in solvers: # Handle highs-hipo variants as special cases - not conda packages From 6b316124a93d73fdfff842373e480fa1e2172565 Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Thu, 19 Feb 2026 10:45:13 +0100 Subject: [PATCH 04/38] Switch to commercial solvers brnahc on startup --- infrastructure/startup-script.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/infrastructure/startup-script.sh b/infrastructure/startup-script.sh index 453e5c8c..bb241c07 100644 --- a/infrastructure/startup-script.sh +++ b/infrastructure/startup-script.sh @@ -75,7 +75,7 @@ echo "CPLEX installation completed" # Clone the repository echo "Cloning repository..." -git clone --depth=1 -b main https://github.com/open-energy-transition/solver-benchmark.git +git clone --depth=1 -b commercial-solvers-run https://github.com/open-energy-transition/solver-benchmark.git # Install a global highs binary for reference runs echo "Installing reference Highs..." From c0e2092a6621564ea84c7e2d3ed59d540224a1c9 Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Thu, 19 Feb 2026 11:54:25 +0100 Subject: [PATCH 05/38] Fix license environment propagation --- infrastructure/startup-script.sh | 2 +- runner/run_benchmarks.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/infrastructure/startup-script.sh b/infrastructure/startup-script.sh index bb241c07..eb9778ee 100644 --- a/infrastructure/startup-script.sh +++ b/infrastructure/startup-script.sh @@ -206,7 +206,7 @@ else fi # Set environment variables for commercial solvers -export ARTELYS_LICENSE=/opt/knitro +export ARTELYS_LICENSE=/opt/knitro/knitro-license.txt export XPRESS=/opt/xpress/license.xpr export LD_LIBRARY_PATH=/root/miniconda3/envs/benchmark-2025/lib/python3.12/site-packages/knitro/lib:/opt/ibm/ILOG/CPLEX_Studio2212/cplex/bin/x86-64_linux${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} diff --git a/runner/run_benchmarks.py b/runner/run_benchmarks.py index a67c63b0..3707e4b8 100644 --- a/runner/run_benchmarks.py +++ b/runner/run_benchmarks.py @@ -248,6 +248,11 @@ def benchmark_solver(input_file, solver_name, timeout, solver_version): if os.geteuid() != 0: command.append("--user") + for env_var in ["ARTELYS_LICENSE", "XPRESS", "LD_LIBRARY_PATH"]: + val = os.environ.get(env_var) + if val: + command.append(f"--setenv={env_var}={val}") + command.extend( [ "--scope", From 8d360090d9ae06e5567ef4e545b0ceb028bfd09a Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Thu, 19 Feb 2026 12:24:42 +0100 Subject: [PATCH 06/38] Fix knitro param input --- runner/run_solver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runner/run_solver.py b/runner/run_solver.py index 8d0c7547..8f3b7dd1 100644 --- a/runner/run_solver.py +++ b/runner/run_solver.py @@ -77,7 +77,7 @@ def get_solver(solver_name): "mip.tolerances.mipgap": mip_gap, }, "knitro": { - "KN_PARAM_MS_SEED": 1066, + "ms_seed": 1066, }, "xpress": {"miprelgapnotify": mip_gap, "randomseed": 0}, } From 13ba1b0ade722c26a569c55024907af6bf2938f1 Mon Sep 17 00:00:00 2001 From: Siddharth Krishna Date: Thu, 19 Feb 2026 20:04:34 +0200 Subject: [PATCH 07/38] Utils: add years to allocate_benchmark, cleanup --- runner/utils.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/runner/utils.py b/runner/utils.py index 499d4c24..a11df2df 100644 --- a/runner/utils.py +++ b/runner/utils.py @@ -233,6 +233,7 @@ def allocate_benchmarks( zone: str = "us-central1-a", solvers: str | None = None, timeout_seconds: int | None = None, + years: list[int] = [2020, 2022, 2023, 2024, 2025], ) -> list[dict]: allocation, _ = allocate_vms_greedy( benchmarks_df.index, benchmarks_df[weight_col], num_vms @@ -259,6 +260,7 @@ def allocate_benchmarks( { "machine-type": machine_type, "zone": zone, # Default cheapest zone, can be overwritten + "years": years, "benchmarks": vm_benchmarks, } ) @@ -269,13 +271,20 @@ def allocate_benchmarks( return vm_yamls -def create_benchmark_campaign(batch_id: str, vm_prefix: str, vm_yamls: list[dict]): - tfvars = f'''project_id = "compute-app-427709" - enable_gcs_upload = true - auto_destroy_vm = true - benchmarks_dir = "benchmarks/{batch_id}" - run_id = "{batch_id}" - ''' +def create_benchmark_campaign( + batch_id: str, + vm_prefix: str, + vm_yamls: list[dict], +): + tfvars = "\n".join( + [ + 'project_id = "compute-app-427709"', + "enable_gcs_upload = true", + "auto_destroy_vm = true", + f'benchmarks_dir = "benchmarks/{batch_id}"', + f'run_id = "{batch_id}"', + ] + ) # Create a campaign folder ../infrastructure/benchmarks/{batch_id} bench_dir = Path(f"../infrastructure/benchmarks/{batch_id}") From 1dd4a1d9efe6364d1ffffc0d2b80ac9c609afb3f Mon Sep 17 00:00:00 2001 From: Siddharth Krishna Date: Thu, 19 Feb 2026 20:09:17 +0200 Subject: [PATCH 08/38] Ignore solver-benchmarks-private/ --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index a086f959..adc90bf2 100644 --- a/.gitignore +++ b/.gitignore @@ -179,6 +179,8 @@ cython_debug/ /results/gcp-results/ /results/partial-results/ +/solver-benchmark-private/ + # NextJs node_modules .next From 3d31cceca6fd1d10b54f7d9c7048fd2ed0297cb4 Mon Sep 17 00:00:00 2001 From: Siddharth Krishna Date: Thu, 19 Feb 2026 20:51:07 +0200 Subject: [PATCH 09/38] Add some extra pypsa sizes to benchmark --- benchmarks/pypsa/metadata.yaml | 18 ++++++++++++++++++ results/metadata.yaml | 18 ++++++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/benchmarks/pypsa/metadata.yaml b/benchmarks/pypsa/metadata.yaml index ea5fb544..0b0be3fc 100644 --- a/benchmarks/pypsa/metadata.yaml +++ b/benchmarks/pypsa/metadata.yaml @@ -13,6 +13,15 @@ benchmarks: Time horizon: Single period (2050) MILP features: None Sizes: + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 22137355 + Num. variables: 10626468 - Name: 50-3h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-50-3h.mps.gz @@ -491,6 +500,15 @@ benchmarks: Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. Num. constraints: 8208403 Num. variables: 3854613 + - Name: 40-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec_40_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 40 nodes + Realistic: TODO + Realistic motivation: + Num. constraints: 15111557 + Num. variables: 7096020 - Name: 50-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-50-1h.mps.gz diff --git a/results/metadata.yaml b/results/metadata.yaml index 3a6b0779..db563a0c 100644 --- a/results/metadata.yaml +++ b/results/metadata.yaml @@ -2337,6 +2337,15 @@ benchmarks: Time horizon: Single period (2050) MILP features: None Sizes: + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 22137355 + Num. variables: 10626468 - Name: 50-3h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-50-3h.mps.gz @@ -2847,6 +2856,15 @@ benchmarks: time horizon to allow the benchmark to be defined as Realistic. Num. constraints: 8208403 Num. variables: 3854613 + - Name: 40-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec_40_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 40 nodes + Realistic: TODO + Realistic motivation: + Num. constraints: 15111557 + Num. variables: 7096020 - Name: 50-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-50-1h.mps.gz From ffac816100b6736ceb5fc648f412c73b64783a98 Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Fri, 20 Feb 2026 11:20:25 +0100 Subject: [PATCH 10/38] Turn off crossover for newly added commercial solvers --- runner/run_solver.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/runner/run_solver.py b/runner/run_solver.py index 8f3b7dd1..32145c3f 100644 --- a/runner/run_solver.py +++ b/runner/run_solver.py @@ -75,11 +75,17 @@ def get_solver(solver_name): "cplex": { "randomseed": 0, "mip.tolerances.mipgap": mip_gap, + "solutiontype": 2, }, "knitro": { "ms_seed": 1066, + "bar_maxcrossit": 0, + }, + "xpress": { + "miprelgapnotify": mip_gap, + "randomseed": 0, + "crossover": 0, }, - "xpress": {"miprelgapnotify": mip_gap, "randomseed": 0}, } return solver_class(**seed_options.get(solver_name, {})) From 17ab6de6f08ee11606e085c2d2286a560009d310 Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Fri, 20 Feb 2026 11:50:35 +0100 Subject: [PATCH 11/38] Turn off crossover for gurobi --- runner/run_solver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runner/run_solver.py b/runner/run_solver.py index 32145c3f..9e2fab9a 100644 --- a/runner/run_solver.py +++ b/runner/run_solver.py @@ -66,7 +66,7 @@ def get_solver(solver_name): seed_options = { "highs": {"random_seed": 0, "mip_rel_gap": mip_gap}, "glpk": {"seed": 0, "mipgap": mip_gap}, - "gurobi": {"seed": 0, "MIPGap": mip_gap}, + "gurobi": {"seed": 0, "MIPGap": mip_gap, "Crossover": 0}, "scip": {"randomization/randomseedshift": 0, "limits/gap": mip_gap}, "cbc": { "randomCbcSeed": 1, # 0 indicates time of day From 2eb9ca107f8c2be097f8e2f0617c2b60f55c8e5e Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Fri, 20 Feb 2026 12:03:14 +0100 Subject: [PATCH 12/38] Fix for CPLEX trail license --- infrastructure/startup-script.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/infrastructure/startup-script.sh b/infrastructure/startup-script.sh index eb9778ee..37c18e42 100644 --- a/infrastructure/startup-script.sh +++ b/infrastructure/startup-script.sh @@ -208,6 +208,7 @@ fi # Set environment variables for commercial solvers export ARTELYS_LICENSE=/opt/knitro/knitro-license.txt export XPRESS=/opt/xpress/license.xpr +export CPLEX_STUDIO_DIR2212=/opt/ibm/ILOG/CPLEX_Studio2212 export LD_LIBRARY_PATH=/root/miniconda3/envs/benchmark-2025/lib/python3.12/site-packages/knitro/lib:/opt/ibm/ILOG/CPLEX_Studio2212/cplex/bin/x86-64_linux${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} # Run the benchmark_all.sh script with our years and the run_id From 2a86a2af75721ad0a4655954ad3d6e85b359e987 Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Fri, 20 Feb 2026 12:43:10 +0100 Subject: [PATCH 13/38] Debug CPLEX installer --- infrastructure/startup-script.sh | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/infrastructure/startup-script.sh b/infrastructure/startup-script.sh index 37c18e42..0c8e5c58 100644 --- a/infrastructure/startup-script.sh +++ b/infrastructure/startup-script.sh @@ -30,7 +30,7 @@ fi # Update and install packages echo "Updating packages..." apt-get -qq update -apt-get -qq install -y tmux git time curl jq build-essential cmake htop +apt-get -qq install -y tmux git time curl jq build-essential cmake htop libnuma1 # Install BLAS dependency echo "Installing BLAS..." @@ -54,6 +54,10 @@ mkdir -p /opt/xpress gsutil cp gs://solver-benchmarks-testing/license.xpr /opt/xpress/license.xpr # Download and install CPLEX +# The CPLEX installer is Java/InstallAnywhere-based and requires X11 libs even in silent mode +echo "Installing X11 dependencies for CPLEX installer..." +apt-get -qq install -y libx11-6 libxext6 libxrender1 libxtst6 libxi6 libfreetype6 libfontconfig1 + echo "Downloading CPLEX installer..." gsutil cp gs://solver-benchmarks-testing/cplex_studio2212.linux_x86_64.bin /tmp/cplex_studio2212.linux_x86_64.bin chmod +x /tmp/cplex_studio2212.linux_x86_64.bin @@ -66,12 +70,28 @@ USER_INSTALL_DIR=/opt/ibm/ILOG/CPLEX_Studio2212 INSTALLER_LOCALE=en USER_INPUT_SEGMENT_FALSE=1 EOF -/tmp/cplex_studio2212.linux_x86_64.bin -f /tmp/cplex_response.properties +/tmp/cplex_studio2212.linux_x86_64.bin -f /tmp/cplex_response.properties -i silent -DINSTALLER_LOG=/tmp/cplex_install.log 2>&1 +CPLEX_INSTALL_EXIT=$? rm /tmp/cplex_studio2212.linux_x86_64.bin /tmp/cplex_response.properties +echo "--- CPLEX installer log ---" +cat /tmp/cplex_install.log 2>/dev/null || echo "No installer log found at /tmp/cplex_install.log" +# Also check the default InstallAnywhere log location +find /tmp -maxdepth 1 -name "*.log" -newer /tmp/cplex_response.properties 2>/dev/null -exec echo "--- {} ---" \; -exec cat {} \; +echo "--- End CPLEX installer log ---" + +if [ $CPLEX_INSTALL_EXIT -ne 0 ]; then + echo "ERROR: CPLEX installer exited with code $CPLEX_INSTALL_EXIT" +fi + echo "Verifying CPLEX installation..." -/opt/ibm/ILOG/CPLEX_Studio2212/cplex/bin/x86-64_linux/cplex -c "quit" -echo "CPLEX installation completed" +if [ -f /opt/ibm/ILOG/CPLEX_Studio2212/cplex/bin/x86-64_linux/cplex ]; then + /opt/ibm/ILOG/CPLEX_Studio2212/cplex/bin/x86-64_linux/cplex -c "quit" + echo "CPLEX installation completed successfully" +else + echo "ERROR: CPLEX binary not found - installation failed" + ls -la /opt/ibm/ILOG/CPLEX_Studio2212/ 2>/dev/null || echo "CPLEX install directory does not exist" +fi # Clone the repository echo "Cloning repository..." From 6345cc5ec2bca1e9a468f9350836a375e05c3de8 Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Fri, 20 Feb 2026 12:55:21 +0100 Subject: [PATCH 14/38] Add JRE for CPLEX --- infrastructure/startup-script.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/infrastructure/startup-script.sh b/infrastructure/startup-script.sh index 0c8e5c58..250ddaa9 100644 --- a/infrastructure/startup-script.sh +++ b/infrastructure/startup-script.sh @@ -55,8 +55,8 @@ gsutil cp gs://solver-benchmarks-testing/license.xpr /opt/xpress/license.xpr # Download and install CPLEX # The CPLEX installer is Java/InstallAnywhere-based and requires X11 libs even in silent mode -echo "Installing X11 dependencies for CPLEX installer..." -apt-get -qq install -y libx11-6 libxext6 libxrender1 libxtst6 libxi6 libfreetype6 libfontconfig1 +echo "Installing dependencies for CPLEX installer..." +apt-get -qq install -y libx11-6 libxext6 libxrender1 libxtst6 libxi6 libfreetype6 libfontconfig1 default-jre-headless echo "Downloading CPLEX installer..." gsutil cp gs://solver-benchmarks-testing/cplex_studio2212.linux_x86_64.bin /tmp/cplex_studio2212.linux_x86_64.bin @@ -70,7 +70,7 @@ USER_INSTALL_DIR=/opt/ibm/ILOG/CPLEX_Studio2212 INSTALLER_LOCALE=en USER_INPUT_SEGMENT_FALSE=1 EOF -/tmp/cplex_studio2212.linux_x86_64.bin -f /tmp/cplex_response.properties -i silent -DINSTALLER_LOG=/tmp/cplex_install.log 2>&1 +/tmp/cplex_studio2212.linux_x86_64.bin -f /tmp/cplex_response.properties 2>&1 CPLEX_INSTALL_EXIT=$? rm /tmp/cplex_studio2212.linux_x86_64.bin /tmp/cplex_response.properties From 8c1f95403e770daf23753773984074616c98bc91 Mon Sep 17 00:00:00 2001 From: Kristijan Faust Date: Fri, 20 Feb 2026 13:08:55 +0100 Subject: [PATCH 15/38] Fix cplex runtime report --- runner/run_solver.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/runner/run_solver.py b/runner/run_solver.py index 9e2fab9a..13fac6b1 100644 --- a/runner/run_solver.py +++ b/runner/run_solver.py @@ -199,7 +199,7 @@ def get_reported_runtime(solver_name, solver_model) -> float | None: case "gurobi": return solver_model.Runtime case "cplex": - return None + return solver_model.get_time() case "xpress": return solver_model.getAttrib("time") case "knitro": From 8bc4bb6e22549b56b012fec1f1fe71ed9a834a1d Mon Sep 17 00:00:00 2001 From: Siddharth Krishna Date: Wed, 25 Feb 2026 20:23:07 +0200 Subject: [PATCH 16/38] use SolutionTarget instead of Crossover for gurobi --- runner/run_solver.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/runner/run_solver.py b/runner/run_solver.py index 13fac6b1..27f55051 100644 --- a/runner/run_solver.py +++ b/runner/run_solver.py @@ -66,7 +66,11 @@ def get_solver(solver_name): seed_options = { "highs": {"random_seed": 0, "mip_rel_gap": mip_gap}, "glpk": {"seed": 0, "mipgap": mip_gap}, - "gurobi": {"seed": 0, "MIPGap": mip_gap, "Crossover": 0}, + "gurobi": { + "seed": 0, + "MIPGap": mip_gap, + "SolutionTarget": 1, + }, # Don't require basic solutions "scip": {"randomization/randomseedshift": 0, "limits/gap": mip_gap}, "cbc": { "randomCbcSeed": 1, # 0 indicates time of day From 855cf23dce002fbd0b9eac7f1b78bf94872242d2 Mon Sep 17 00:00:00 2001 From: Siddharth Krishna Date: Tue, 17 Mar 2026 15:53:34 +0200 Subject: [PATCH 17/38] Set uniform LP tolerances, don't ask for basic solutions --- runner/run_solver.py | 54 ++++++++++++++++++++++++++++++++------------ 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/runner/run_solver.py b/runner/run_solver.py index 6e32c382..e2ba374d 100644 --- a/runner/run_solver.py +++ b/runner/run_solver.py @@ -62,37 +62,61 @@ def get_solver(solver_name): solver_class = getattr(solvers, solver_enum.name) + # Fix a random seed, and set tolerances as similar as possible mip_gap = 1e-4 # Tolerance for the relative duality gap for MILPs - seed_options = { - "highs": {"random_seed": 0, "mip_rel_gap": mip_gap}, + lp_tol = 1e-6 # Tolerance for LPs + solver_options = { "glpk": {"seed": 0, "mipgap": mip_gap}, - "gurobi": { - "seed": 0, - "MIPGap": mip_gap, - "SolutionTarget": 1, - }, # Don't require basic solutions "scip": {"randomization/randomseedshift": 0, "limits/gap": mip_gap}, "cbc": { "randomCbcSeed": 1, # 0 indicates time of day "ratioGap": mip_gap, }, + # TODO also set BarConvTol for all solvers? + "highs": { + "random_seed": 4, + "mip_rel_gap": mip_gap, + # LP tolerances + "primal_feasibility_tolerance": lp_tol, + "dual_feasibility_tolerance": lp_tol, + "run_crossover": "choose", # Basic solutions not needed + }, + "gurobi": { + "seed": 4, + "MIPGap": mip_gap, + # LP tolerances + "FeasibilityTol": lp_tol, + "OptimalityTol": lp_tol, + # "BarConvTol": lp_tol, + "SolutionTarget": 1, # Basic solutions not needed + }, "cplex": { - "randomseed": 0, + "randomseed": 4, "mip.tolerances.mipgap": mip_gap, - "solutiontype": 2, + # LP tolerances + "simplex.tolerances.feasibility": lp_tol, + "simplex.tolerances.optimality": lp_tol, + "solutiontype": 2, # Basic solutions not needed }, "knitro": { - "ms_seed": 1066, - "bar_maxcrossit": 0, + "ms_seed": 4, + "mip_opt_gap_rel": mip_gap, + # LP tolerances + "feastol": lp_tol, + "opttol": lp_tol, + "bar_maxcrossit": 0, # Basic solutions not needed (no way to say choose) }, "xpress": { - "miprelgapnotify": mip_gap, - "randomseed": 0, - "crossover": 0, + "randomseed": 4, + "miprelstop": mip_gap, + # LP tolerances + "FEASTOL": lp_tol, + "OPTIMALITYTOL": lp_tol, + "crossover": -1, # Basic solutions not needed (crossover=choose) }, } - return solver_class(**seed_options.get(solver_name, {})) + return solver_class(**solver_options.get(solver_name, {})) def is_mip_problem(solver_model, solver_name): From 306ed6d1a19f5f0dcb6f14b708dde94f5a415ac7 Mon Sep 17 00:00:00 2001 From: Siddharth Krishna Date: Mon, 23 Mar 2026 07:42:20 +0200 Subject: [PATCH 18/38] Add comm. solver colors; fix plot fn modifying df --- runner/utils.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/runner/utils.py b/runner/utils.py index 949cdb52..d736d69b 100644 --- a/runner/utils.py +++ b/runner/utils.py @@ -336,6 +336,9 @@ def create_benchmark_campaign( "highs-hipo": "#F759B8", # magenta "highs-ipm": "#6D712E", # green-brown "scip": "#3B82F6", # blue + "cplex": "#F9CD5A", # yellow + "xpress": "#7C3AED", # purple + "knitro": "#3B82F6", # blue } @@ -518,6 +521,7 @@ def plot_runtime_slowdowns(df, cls="", figsize=(12, 6), max_num_solvers=5): Expects df to have columns: Benchmark, Solver, Runtime (s), Status, Timeout """ + df = df.copy() # --- Solver display names (presentation only) --- solver_label_map = { From 3cf1daf05a86ad3ecbec0ffa17dc61403a45ba05 Mon Sep 17 00:00:00 2001 From: Siddharth Krishna Date: Sat, 28 Mar 2026 07:29:20 +0100 Subject: [PATCH 19/38] Add pypsa-eur-elec-uc-50-168h and categorize --- benchmarks/pypsa/metadata.yaml | 25 +++++++++++++++++++++++++ results/metadata.yaml | 29 ++++++++++++++++++++++++++++- 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/benchmarks/pypsa/metadata.yaml b/benchmarks/pypsa/metadata.yaml index 476e150d..77c7008f 100644 --- a/benchmarks/pypsa/metadata.yaml +++ b/benchmarks/pypsa/metadata.yaml @@ -1363,3 +1363,28 @@ benchmarks: Num. constraints: 677311 Num. variables: 321418 Num. nonzeros: 1616084 + pypsa-eur-elec-uc: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) without transmission expansion and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/milp_commercial_tests/pypsa-eur-elec-uc_50_168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 173914 + Num. variables: 87784 + Num. nonzeros: 408597 + Num. continuous variables: 69817 + Num. integer variables: 17967 diff --git a/results/metadata.yaml b/results/metadata.yaml index 2b4364db..02be1e27 100644 --- a/results/metadata.yaml +++ b/results/metadata.yaml @@ -2775,7 +2775,8 @@ benchmarks: Temporal resolution: 1 hour Spatial resolution: 50 nodes Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. Num. constraints: 22137355 Num. variables: 10626468 - Name: 50-3h @@ -4208,6 +4209,32 @@ benchmarks: Num. constraints: 677311 Num. variables: 321418 Num. nonzeros: 1616084 + pypsa-eur-elec-uc: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year + 2050) without transmission expansion and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/milp_commercial_tests/pypsa-eur-elec-uc_50_168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 173914 + Num. variables: 87784 + Num. nonzeros: 408597 + Num. continuous variables: 69817 + Num. integer variables: 17967 DCOPF-Carolinas_2M: Short description: A tailored version of the DC optimal power flow (DC OPF) model configured for a two-month horizon with hourly resolution, using 2021 as the From e6b3c0c509843ca7a42f99b49c4e2b87eeeeaee4 Mon Sep 17 00:00:00 2001 From: Siddharth Krishna Date: Sat, 28 Mar 2026 09:03:09 +0200 Subject: [PATCH 20/38] Add pypsa-de-elec-uc-2-24h --- benchmarks/pypsa/metadata.yaml | 26 ++++++++++++++++++++++++++ results/metadata.yaml | 26 ++++++++++++++++++++++++++ 2 files changed, 52 insertions(+) diff --git a/benchmarks/pypsa/metadata.yaml b/benchmarks/pypsa/metadata.yaml index 77c7008f..ddb83231 100644 --- a/benchmarks/pypsa/metadata.yaml +++ b/benchmarks/pypsa/metadata.yaml @@ -1363,6 +1363,32 @@ benchmarks: Num. constraints: 677311 Num. variables: 321418 Num. nonzeros: 1616084 + pypsa-de-elec-uc: + Short description: + Modelling framework: PyPSA + Model name: + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: + Sectoral focus: + Sectors: Electric + Time horizon: + MILP features: Unit commitment + Sizes: + - Name: 2-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_2_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 2 nodes + Realistic: + Realistic motivation: + Num. constraints: 53331 + Num. variables: 27400 + Num. nonzeros: 132345 + Num. continuous variables: 19735 + Num. integer variables: 7665 pypsa-eur-elec-uc: Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) without transmission expansion and including unit commitment. Modelling framework: PyPSA diff --git a/results/metadata.yaml b/results/metadata.yaml index 02be1e27..637d6fec 100644 --- a/results/metadata.yaml +++ b/results/metadata.yaml @@ -4209,6 +4209,32 @@ benchmarks: Num. constraints: 677311 Num. variables: 321418 Num. nonzeros: 1616084 + pypsa-de-elec-uc: + Short description: + Modelling framework: PyPSA + Model name: + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: + Sectoral focus: + Sectors: Electric + Time horizon: + MILP features: Unit commitment + Sizes: + - Name: 2-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_2_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 2 nodes + Realistic: + Realistic motivation: + Num. constraints: 53331 + Num. variables: 27400 + Num. nonzeros: 132345 + Num. continuous variables: 19735 + Num. integer variables: 7665 pypsa-eur-elec-uc: Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) without transmission expansion and including unit commitment. From 63e2aed0c0e6d60daac3fd4e595093af8d15264f Mon Sep 17 00:00:00 2001 From: Siddharth Krishna Date: Sun, 5 Apr 2026 07:36:34 +0200 Subject: [PATCH 21/38] Add all pypsa-de-elec-uc sizes we have so far --- benchmarks/pypsa/metadata.yaml | 573 +++++++++++++++++++++++++++++++++ results/metadata.yaml | 573 +++++++++++++++++++++++++++++++++ 2 files changed, 1146 insertions(+) diff --git a/benchmarks/pypsa/metadata.yaml b/benchmarks/pypsa/metadata.yaml index ddb83231..4ca61e09 100644 --- a/benchmarks/pypsa/metadata.yaml +++ b/benchmarks/pypsa/metadata.yaml @@ -1377,6 +1377,306 @@ benchmarks: Time horizon: MILP features: Unit commitment Sizes: + - Name: 1-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_1_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 1 nodes + Realistic: + Realistic motivation: + Num. constraints: 674540 + Num. variables: 359129 + Num. nonzeros: 1645530 + Num. continuous variables: 254009 + Num. integer variables: 105120 + - Name: 2-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 2 nodes + Realistic: + Realistic motivation: + Num. constraints: 1480480 + Num. variables: 779577 + Num. nonzeros: 3552845 + Num. continuous variables: 569337 + Num. integer variables: 210240 + - Name: 3-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_3_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 3 nodes + Realistic: + Realistic motivation: + Num. constraints: 2260134 + Num. variables: 1182502 + Num. nonzeros: 5425187 + Num. continuous variables: 867142 + Num. integer variables: 315360 + - Name: 4-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 4 nodes + Realistic: + Realistic motivation: + Num. constraints: 3004748 + Num. variables: 1567907 + Num. nonzeros: 7228305 + Num. continuous variables: 1147427 + Num. integer variables: 420480 + - Name: 5-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_5_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 5 nodes + Realistic: + Realistic motivation: + Num. constraints: 3775648 + Num. variables: 1962075 + Num. nonzeros: 9081990 + Num. continuous variables: 1436475 + Num. integer variables: 525600 + - Name: 6-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 6 nodes + Realistic: + Realistic motivation: + Num. constraints: 4397622 + Num. variables: 2294920 + Num. nonzeros: 10639005 + Num. continuous variables: 1664200 + Num. integer variables: 630720 + - Name: 7-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_7_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 7 nodes + Realistic: + Realistic motivation: + Num. constraints: 4931993 + Num. variables: 2583965 + Num. nonzeros: 11880468 + Num. continuous variables: 1874405 + Num. integer variables: 709560 + - Name: 8-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 8 nodes + Realistic: + Realistic motivation: + Num. constraints: 5536442 + Num. variables: 2890529 + Num. nonzeros: 13262956 + Num. continuous variables: 2102129 + Num. integer variables: 788400 + - Name: 9-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_9_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 9 nodes + Realistic: + Realistic motivation: + Num. constraints: 6079576 + Num. variables: 3179618 + Num. nonzeros: 14706245 + Num. continuous variables: 2286098 + Num. integer variables: 893520 + - Name: 10-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 10 nodes + Realistic: + Realistic motivation: + Num. constraints: 6754110 + Num. variables: 3529983 + Num. nonzeros: 16394847 + Num. continuous variables: 2531343 + Num. integer variables: 998640 + - Name: 11-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_11_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 11 nodes + Realistic: + Realistic motivation: + Num. constraints: 7192121 + Num. variables: 3775228 + Num. nonzeros: 17478319 + Num. continuous variables: 2697748 + Num. integer variables: 1077480 + - Name: 12-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_12_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 12 nodes + Realistic: + Realistic motivation: + Num. constraints: 7726494 + Num. variables: 4038081 + Num. nonzeros: 18738097 + Num. continuous variables: 2881761 + Num. integer variables: 1156320 + - Name: 13-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_13_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 13 nodes + Realistic: + Realistic motivation: + Num. constraints: 8173262 + Num. variables: 4283326 + Num. nonzeros: 19707964 + Num. continuous variables: 3074446 + Num. integer variables: 1208880 + - Name: 14-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_14_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 14 nodes + Realistic: + Realistic motivation: + Num. constraints: 8821517 + Num. variables: 4607457 + Num. nonzeros: 21194355 + Num. continuous variables: 3319737 + Num. integer variables: 1287720 + - Name: 15-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_15_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 15 nodes + Realistic: + Realistic motivation: + Num. constraints: 9198203 + Num. variables: 4808900 + Num. nonzeros: 22016088 + Num. continuous variables: 3468620 + Num. integer variables: 1340280 + - Name: 16-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_16_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 16 nodes + Realistic: + Realistic motivation: + Num. constraints: 9828941 + Num. variables: 5141791 + Num. nonzeros: 23607501 + Num. continuous variables: 3696391 + Num. integer variables: 1445400 + - Name: 17-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_17_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 17 nodes + Realistic: + Realistic motivation: + Num. constraints: 10284468 + Num. variables: 5369516 + Num. nonzeros: 24498778 + Num. continuous variables: 3897836 + Num. integer variables: 1471680 + - Name: 18-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_18_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 18 nodes + Realistic: + Realistic motivation: + Num. constraints: 10836358 + Num. variables: 5649801 + Num. nonzeros: 25625798 + Num. continuous variables: 4125561 + Num. integer variables: 1524240 + - Name: 19-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_19_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 19 nodes + Realistic: + Realistic motivation: + Num. constraints: 11248089 + Num. variables: 5877570 + Num. nonzeros: 26701992 + Num. continuous variables: 4274490 + Num. integer variables: 1603080 + - Name: 20-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 20 nodes + Realistic: + Realistic motivation: + Num. constraints: 11694859 + Num. variables: 6122815 + Num. nonzeros: 27714822 + Num. continuous variables: 4467175 + Num. integer variables: 1655640 + - Name: 2-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_2_3h_2050.mps.gz + Temporal resolution: 3 hour + Spatial resolution: 2 nodes + Realistic: + Realistic motivation: + Num. constraints: 426361 + Num. variables: 219025 + Num. nonzeros: 1053656 + Num. continuous variables: 157705 + Num. integer variables: 61320 + - Name: 4-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_4_3h_2050.mps.gz + Temporal resolution: 3 hour + Spatial resolution: 4 nodes + Realistic: + Realistic motivation: + Num. constraints: 864391 + Num. variables: 435123 + Num. nonzeros: 2121711 + Num. continuous variables: 321243 + Num. integer variables: 113880 + - Name: 6-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_6_3h_2050.mps.gz + Temporal resolution: 3 hour + Spatial resolution: 6 nodes + Realistic: + Realistic motivation: + Num. constraints: 1238184 + Num. variables: 619104 + Num. nonzeros: 3014142 + Num. continuous variables: 461424 + Num. integer variables: 157680 + - Name: 8-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_8_3h_2050.mps.gz + Temporal resolution: 3 hour + Spatial resolution: 8 nodes + Realistic: + Realistic motivation: + Num. constraints: 1574011 + Num. variables: 785562 + Num. nonzeros: 3830823 + Num. continuous variables: 584082 + Num. integer variables: 201480 + - Name: 10-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_10_3h_2050.mps.gz + Temporal resolution: 3 hour + Spatial resolution: 10 nodes + Realistic: + Realistic motivation: + Num. constraints: 1874795 + Num. variables: 934500 + Num. nonzeros: 4548359 + Num. continuous variables: 697980 + Num. integer variables: 236520 - Name: 2-24h Size: M URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_2_24H.mps.gz @@ -1389,6 +1689,279 @@ benchmarks: Num. nonzeros: 132345 Num. continuous variables: 19735 Num. integer variables: 7665 + - Name: 4-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_4_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 4 nodes + Realistic: + Realistic motivation: + Num. constraints: 108111 + Num. variables: 54428 + Num. nonzeros: 266481 + Num. continuous variables: 40193 + Num. integer variables: 14235 + - Name: 6-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_6_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 6 nodes + Realistic: + Realistic motivation: + Num. constraints: 154864 + Num. variables: 77444 + Num. nonzeros: 378742 + Num. continuous variables: 57734 + Num. integer variables: 19710 + - Name: 8-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_8_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 8 nodes + Realistic: + Realistic motivation: + Num. constraints: 196866 + Num. variables: 98267 + Num. nonzeros: 481527 + Num. continuous variables: 73082 + Num. integer variables: 25185 + - Name: 10-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_10_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 10 nodes + Realistic: + Realistic motivation: + Num. constraints: 234485 + Num. variables: 116900 + Num. nonzeros: 571917 + Num. continuous variables: 87335 + Num. integer variables: 29565 + - Name: 12-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_12_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 12 nodes + Realistic: + Realistic motivation: + Num. constraints: 272833 + Num. variables: 135533 + Num. nonzeros: 658690 + Num. continuous variables: 102683 + Num. integer variables: 32850 + - Name: 14-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_14_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 14 nodes + Realistic: + Realistic motivation: + Num. constraints: 310086 + Num. variables: 153436 + Num. nonzeros: 742937 + Num. continuous variables: 117301 + Num. integer variables: 36135 + - Name: 16-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_16_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 16 nodes + Realistic: + Realistic motivation: + Num. constraints: 348805 + Num. variables: 172437 + Num. nonzeros: 829709 + Num. continuous variables: 133017 + Num. integer variables: 39420 + - Name: 18-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_18_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 18 nodes + Realistic: + Realistic motivation: + Num. constraints: 383138 + Num. variables: 189610 + Num. nonzeros: 903358 + Num. continuous variables: 146905 + Num. integer variables: 42705 + - Name: 20-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_20_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 20 nodes + Realistic: + Realistic motivation: + Num. constraints: 421853 + Num. variables: 208243 + Num. nonzeros: 1000706 + Num. continuous variables: 162253 + Num. integer variables: 45990 + - Name: 2-48h + Size: + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 8997 + Num. variables: 4742 + Num. nonzeros: 21482 + Num. continuous variables: 3470 + Num. integer variables: 1272 + - Name: 4-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: 62837 + Num. variables: 32800 + Num. nonzeros: 151586 + Num. continuous variables: 24016 + Num. integer variables: 8784 + - Name: 6-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: 91968 + Num. variables: 48010 + Num. nonzeros: 223164 + Num. continuous variables: 34834 + Num. integer variables: 13176 + - Name: 8-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: 115778 + Num. variables: 60471 + Num. nonzeros: 278340 + Num. continuous variables: 44001 + Num. integer variables: 16470 + - Name: 10-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 141243 + Num. variables: 73848 + Num. nonzeros: 344054 + Num. continuous variables: 52986 + Num. integer variables: 20862 + - Name: 20-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 244564 + Num. variables: 128108 + Num. nonzeros: 582592 + Num. continuous variables: 93521 + Num. integer variables: 34587 + - Name: 50-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_50_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 539166 + Num. variables: 282837 + Num. nonzeros: 1283717 + Num. continuous variables: 207624 + Num. integer variables: 75213 + - Name: 2-168h + Size: S + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 8997 + Num. variables: 4742 + Num. nonzeros: 21482 + Num. continuous variables: 3470 + Num. integer variables: 1272 + - Name: 4-168h + Size: S + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: 18247 + Num. variables: 9530 + Num. nonzeros: 43694 + Num. continuous variables: 6986 + Num. integer variables: 2544 + - Name: 6-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: 26708 + Num. variables: 13950 + Num. nonzeros: 64322 + Num. continuous variables: 10134 + Num. integer variables: 3816 + - Name: 8-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: 33618 + Num. variables: 17571 + Num. nonzeros: 80252 + Num. continuous variables: 12801 + Num. integer variables: 4770 + - Name: 10-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 41013 + Num. variables: 21458 + Num. nonzeros: 99178 + Num. continuous variables: 15416 + Num. integer variables: 6042 + - Name: 20-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 71014 + Num. variables: 37238 + Num. nonzeros: 168132 + Num. continuous variables: 27221 + Num. integer variables: 10017 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_50_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 156576 + Num. variables: 82247 + Num. nonzeros: 370792 + Num. continuous variables: 60464 + Num. integer variables: 21783 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_100_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 283572 + Num. variables: 149432 + Num. nonzeros: 667792 + Num. continuous variables: 110159 + Num. integer variables: 39273 pypsa-eur-elec-uc: Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) without transmission expansion and including unit commitment. Modelling framework: PyPSA diff --git a/results/metadata.yaml b/results/metadata.yaml index 637d6fec..cacc843f 100644 --- a/results/metadata.yaml +++ b/results/metadata.yaml @@ -4223,6 +4223,306 @@ benchmarks: Time horizon: MILP features: Unit commitment Sizes: + - Name: 1-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_1_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 1 nodes + Realistic: + Realistic motivation: + Num. constraints: 674540 + Num. variables: 359129 + Num. nonzeros: 1645530 + Num. continuous variables: 254009 + Num. integer variables: 105120 + - Name: 2-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 2 nodes + Realistic: + Realistic motivation: + Num. constraints: 1480480 + Num. variables: 779577 + Num. nonzeros: 3552845 + Num. continuous variables: 569337 + Num. integer variables: 210240 + - Name: 3-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_3_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 3 nodes + Realistic: + Realistic motivation: + Num. constraints: 2260134 + Num. variables: 1182502 + Num. nonzeros: 5425187 + Num. continuous variables: 867142 + Num. integer variables: 315360 + - Name: 4-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 4 nodes + Realistic: + Realistic motivation: + Num. constraints: 3004748 + Num. variables: 1567907 + Num. nonzeros: 7228305 + Num. continuous variables: 1147427 + Num. integer variables: 420480 + - Name: 5-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_5_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 5 nodes + Realistic: + Realistic motivation: + Num. constraints: 3775648 + Num. variables: 1962075 + Num. nonzeros: 9081990 + Num. continuous variables: 1436475 + Num. integer variables: 525600 + - Name: 6-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 6 nodes + Realistic: + Realistic motivation: + Num. constraints: 4397622 + Num. variables: 2294920 + Num. nonzeros: 10639005 + Num. continuous variables: 1664200 + Num. integer variables: 630720 + - Name: 7-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_7_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 7 nodes + Realistic: + Realistic motivation: + Num. constraints: 4931993 + Num. variables: 2583965 + Num. nonzeros: 11880468 + Num. continuous variables: 1874405 + Num. integer variables: 709560 + - Name: 8-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 8 nodes + Realistic: + Realistic motivation: + Num. constraints: 5536442 + Num. variables: 2890529 + Num. nonzeros: 13262956 + Num. continuous variables: 2102129 + Num. integer variables: 788400 + - Name: 9-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_9_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 9 nodes + Realistic: + Realistic motivation: + Num. constraints: 6079576 + Num. variables: 3179618 + Num. nonzeros: 14706245 + Num. continuous variables: 2286098 + Num. integer variables: 893520 + - Name: 10-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 10 nodes + Realistic: + Realistic motivation: + Num. constraints: 6754110 + Num. variables: 3529983 + Num. nonzeros: 16394847 + Num. continuous variables: 2531343 + Num. integer variables: 998640 + - Name: 11-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_11_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 11 nodes + Realistic: + Realistic motivation: + Num. constraints: 7192121 + Num. variables: 3775228 + Num. nonzeros: 17478319 + Num. continuous variables: 2697748 + Num. integer variables: 1077480 + - Name: 12-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_12_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 12 nodes + Realistic: + Realistic motivation: + Num. constraints: 7726494 + Num. variables: 4038081 + Num. nonzeros: 18738097 + Num. continuous variables: 2881761 + Num. integer variables: 1156320 + - Name: 13-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_13_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 13 nodes + Realistic: + Realistic motivation: + Num. constraints: 8173262 + Num. variables: 4283326 + Num. nonzeros: 19707964 + Num. continuous variables: 3074446 + Num. integer variables: 1208880 + - Name: 14-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_14_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 14 nodes + Realistic: + Realistic motivation: + Num. constraints: 8821517 + Num. variables: 4607457 + Num. nonzeros: 21194355 + Num. continuous variables: 3319737 + Num. integer variables: 1287720 + - Name: 15-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_15_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 15 nodes + Realistic: + Realistic motivation: + Num. constraints: 9198203 + Num. variables: 4808900 + Num. nonzeros: 22016088 + Num. continuous variables: 3468620 + Num. integer variables: 1340280 + - Name: 16-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_16_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 16 nodes + Realistic: + Realistic motivation: + Num. constraints: 9828941 + Num. variables: 5141791 + Num. nonzeros: 23607501 + Num. continuous variables: 3696391 + Num. integer variables: 1445400 + - Name: 17-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_17_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 17 nodes + Realistic: + Realistic motivation: + Num. constraints: 10284468 + Num. variables: 5369516 + Num. nonzeros: 24498778 + Num. continuous variables: 3897836 + Num. integer variables: 1471680 + - Name: 18-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_18_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 18 nodes + Realistic: + Realistic motivation: + Num. constraints: 10836358 + Num. variables: 5649801 + Num. nonzeros: 25625798 + Num. continuous variables: 4125561 + Num. integer variables: 1524240 + - Name: 19-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_19_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 19 nodes + Realistic: + Realistic motivation: + Num. constraints: 11248089 + Num. variables: 5877570 + Num. nonzeros: 26701992 + Num. continuous variables: 4274490 + Num. integer variables: 1603080 + - Name: 20-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 20 nodes + Realistic: + Realistic motivation: + Num. constraints: 11694859 + Num. variables: 6122815 + Num. nonzeros: 27714822 + Num. continuous variables: 4467175 + Num. integer variables: 1655640 + - Name: 2-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_2_3h_2050.mps.gz + Temporal resolution: 3 hour + Spatial resolution: 2 nodes + Realistic: + Realistic motivation: + Num. constraints: 426361 + Num. variables: 219025 + Num. nonzeros: 1053656 + Num. continuous variables: 157705 + Num. integer variables: 61320 + - Name: 4-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_4_3h_2050.mps.gz + Temporal resolution: 3 hour + Spatial resolution: 4 nodes + Realistic: + Realistic motivation: + Num. constraints: 864391 + Num. variables: 435123 + Num. nonzeros: 2121711 + Num. continuous variables: 321243 + Num. integer variables: 113880 + - Name: 6-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_6_3h_2050.mps.gz + Temporal resolution: 3 hour + Spatial resolution: 6 nodes + Realistic: + Realistic motivation: + Num. constraints: 1238184 + Num. variables: 619104 + Num. nonzeros: 3014142 + Num. continuous variables: 461424 + Num. integer variables: 157680 + - Name: 8-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_8_3h_2050.mps.gz + Temporal resolution: 3 hour + Spatial resolution: 8 nodes + Realistic: + Realistic motivation: + Num. constraints: 1574011 + Num. variables: 785562 + Num. nonzeros: 3830823 + Num. continuous variables: 584082 + Num. integer variables: 201480 + - Name: 10-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_10_3h_2050.mps.gz + Temporal resolution: 3 hour + Spatial resolution: 10 nodes + Realistic: + Realistic motivation: + Num. constraints: 1874795 + Num. variables: 934500 + Num. nonzeros: 4548359 + Num. continuous variables: 697980 + Num. integer variables: 236520 - Name: 2-24h Size: M URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_2_24H.mps.gz @@ -4235,6 +4535,279 @@ benchmarks: Num. nonzeros: 132345 Num. continuous variables: 19735 Num. integer variables: 7665 + - Name: 4-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_4_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 4 nodes + Realistic: + Realistic motivation: + Num. constraints: 108111 + Num. variables: 54428 + Num. nonzeros: 266481 + Num. continuous variables: 40193 + Num. integer variables: 14235 + - Name: 6-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_6_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 6 nodes + Realistic: + Realistic motivation: + Num. constraints: 154864 + Num. variables: 77444 + Num. nonzeros: 378742 + Num. continuous variables: 57734 + Num. integer variables: 19710 + - Name: 8-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_8_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 8 nodes + Realistic: + Realistic motivation: + Num. constraints: 196866 + Num. variables: 98267 + Num. nonzeros: 481527 + Num. continuous variables: 73082 + Num. integer variables: 25185 + - Name: 10-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_10_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 10 nodes + Realistic: + Realistic motivation: + Num. constraints: 234485 + Num. variables: 116900 + Num. nonzeros: 571917 + Num. continuous variables: 87335 + Num. integer variables: 29565 + - Name: 12-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_12_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 12 nodes + Realistic: + Realistic motivation: + Num. constraints: 272833 + Num. variables: 135533 + Num. nonzeros: 658690 + Num. continuous variables: 102683 + Num. integer variables: 32850 + - Name: 14-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_14_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 14 nodes + Realistic: + Realistic motivation: + Num. constraints: 310086 + Num. variables: 153436 + Num. nonzeros: 742937 + Num. continuous variables: 117301 + Num. integer variables: 36135 + - Name: 16-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_16_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 16 nodes + Realistic: + Realistic motivation: + Num. constraints: 348805 + Num. variables: 172437 + Num. nonzeros: 829709 + Num. continuous variables: 133017 + Num. integer variables: 39420 + - Name: 18-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_18_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 18 nodes + Realistic: + Realistic motivation: + Num. constraints: 383138 + Num. variables: 189610 + Num. nonzeros: 903358 + Num. continuous variables: 146905 + Num. integer variables: 42705 + - Name: 20-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_20_24H.mps.gz + Temporal resolution: 24 hour + Spatial resolution: 20 nodes + Realistic: + Realistic motivation: + Num. constraints: 421853 + Num. variables: 208243 + Num. nonzeros: 1000706 + Num. continuous variables: 162253 + Num. integer variables: 45990 + - Name: 2-48h + Size: + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 8997 + Num. variables: 4742 + Num. nonzeros: 21482 + Num. continuous variables: 3470 + Num. integer variables: 1272 + - Name: 4-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: 62837 + Num. variables: 32800 + Num. nonzeros: 151586 + Num. continuous variables: 24016 + Num. integer variables: 8784 + - Name: 6-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: 91968 + Num. variables: 48010 + Num. nonzeros: 223164 + Num. continuous variables: 34834 + Num. integer variables: 13176 + - Name: 8-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: 115778 + Num. variables: 60471 + Num. nonzeros: 278340 + Num. continuous variables: 44001 + Num. integer variables: 16470 + - Name: 10-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 141243 + Num. variables: 73848 + Num. nonzeros: 344054 + Num. continuous variables: 52986 + Num. integer variables: 20862 + - Name: 20-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 244564 + Num. variables: 128108 + Num. nonzeros: 582592 + Num. continuous variables: 93521 + Num. integer variables: 34587 + - Name: 50-48h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_50_48h.mps.gz + Temporal resolution: 48 hour + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 539166 + Num. variables: 282837 + Num. nonzeros: 1283717 + Num. continuous variables: 207624 + Num. integer variables: 75213 + - Name: 2-168h + Size: S + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 8997 + Num. variables: 4742 + Num. nonzeros: 21482 + Num. continuous variables: 3470 + Num. integer variables: 1272 + - Name: 4-168h + Size: S + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: 18247 + Num. variables: 9530 + Num. nonzeros: 43694 + Num. continuous variables: 6986 + Num. integer variables: 2544 + - Name: 6-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: 26708 + Num. variables: 13950 + Num. nonzeros: 64322 + Num. continuous variables: 10134 + Num. integer variables: 3816 + - Name: 8-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: 33618 + Num. variables: 17571 + Num. nonzeros: 80252 + Num. continuous variables: 12801 + Num. integer variables: 4770 + - Name: 10-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 41013 + Num. variables: 21458 + Num. nonzeros: 99178 + Num. continuous variables: 15416 + Num. integer variables: 6042 + - Name: 20-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 71014 + Num. variables: 37238 + Num. nonzeros: 168132 + Num. continuous variables: 27221 + Num. integer variables: 10017 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_50_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 156576 + Num. variables: 82247 + Num. nonzeros: 370792 + Num. continuous variables: 60464 + Num. integer variables: 21783 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_100_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 283572 + Num. variables: 149432 + Num. nonzeros: 667792 + Num. continuous variables: 110159 + Num. integer variables: 39273 pypsa-eur-elec-uc: Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) without transmission expansion and including unit commitment. From 6c70e4d5a2826580ac2983886a33fcfd6658cb8e Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 15 Apr 2026 16:43:31 +0200 Subject: [PATCH 22/38] Run pre-commit --- infrastructure/startup-script.sh | 7 ++++++ runner/envs/benchmark-2025-fixed.yaml | 3 ++- runner/envs/benchmark-2025.yaml | 1 + runner/run_benchmarks.py | 8 ++++++- runner/run_solver.py | 33 +++++++++++++++++++++++---- runner/utils.py | 1 + 6 files changed, 46 insertions(+), 7 deletions(-) diff --git a/infrastructure/startup-script.sh b/infrastructure/startup-script.sh index 250ddaa9..1c0f4579 100644 --- a/infrastructure/startup-script.sh +++ b/infrastructure/startup-script.sh @@ -43,6 +43,12 @@ chmod a+x /usr/local/bin/yq mkdir -p /opt/gurobi gsutil cp gs://solver-benchmarks-restricted/gurobi-benchmark-40-session.lic /opt/gurobi/gurobi.lic +# Download MOSEK license +echo "Downloading MOSEK license..." +mkdir -p /opt/mosek +gsutil cp gs://solver-benchmarks-restricted/mosek_evaluation_unrestricted.lic /opt/mosek/mosek.lic +chmod 644 /opt/mosek/mosek.lic + # Download Knitro license echo "Downloading Knitro license..." mkdir -p /opt/knitro @@ -230,6 +236,7 @@ export ARTELYS_LICENSE=/opt/knitro/knitro-license.txt export XPRESS=/opt/xpress/license.xpr export CPLEX_STUDIO_DIR2212=/opt/ibm/ILOG/CPLEX_Studio2212 export LD_LIBRARY_PATH=/root/miniconda3/envs/benchmark-2025/lib/python3.12/site-packages/knitro/lib:/opt/ibm/ILOG/CPLEX_Studio2212/cplex/bin/x86-64_linux${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} +export MOSEKLM_LICENSE_FILE=/opt/mosek/mosek.lic # Run the benchmark_all.sh script with our years and the run_id echo "Starting benchmarks for years: ${BENCHMARK_YEARS_STR} with run_id: ${RUN_ID}" diff --git a/runner/envs/benchmark-2025-fixed.yaml b/runner/envs/benchmark-2025-fixed.yaml index d0a7e8c5..5b33f962 100644 --- a/runner/envs/benchmark-2025-fixed.yaml +++ b/runner/envs/benchmark-2025-fixed.yaml @@ -150,4 +150,5 @@ dependencies: - docplex==2.31.254 - highspy==1.10.0 - knitro==15.1.0 - - linopy==0.6.4 + - mosek==11.1.10 + - linopy==0.6.6 diff --git a/runner/envs/benchmark-2025.yaml b/runner/envs/benchmark-2025.yaml index cb3c50ab..bd8b0838 100644 --- a/runner/envs/benchmark-2025.yaml +++ b/runner/envs/benchmark-2025.yaml @@ -29,3 +29,4 @@ dependencies: - cplex==22.1.2.0 - docplex # required by cplex - knitro + - mosek==11.1.10 diff --git a/runner/run_benchmarks.py b/runner/run_benchmarks.py index 3707e4b8..f42db641 100644 --- a/runner/run_benchmarks.py +++ b/runner/run_benchmarks.py @@ -48,6 +48,7 @@ def get_conda_package_versions(solvers, env_name=None): "cplex": "cplex", "knitro": "knitro", "xpress": "xpress", + "mosek": "mosek", } solver_versions = {} for solver in solvers: @@ -248,7 +249,12 @@ def benchmark_solver(input_file, solver_name, timeout, solver_version): if os.geteuid() != 0: command.append("--user") - for env_var in ["ARTELYS_LICENSE", "XPRESS", "LD_LIBRARY_PATH"]: + for env_var in [ + "ARTELYS_LICENSE", + "XPRESS", + "LD_LIBRARY_PATH", + "MOSEKLM_LICENSE_FILE", + ]: val = os.environ.get(env_var) if val: command.append(f"--setenv={env_var}={val}") diff --git a/runner/run_solver.py b/runner/run_solver.py index e2ba374d..03e9e779 100644 --- a/runner/run_solver.py +++ b/runner/run_solver.py @@ -9,6 +9,7 @@ from time import perf_counter from traceback import format_exc +import mosek import pandas as pd from linopy import solvers from linopy.solvers import SolverName @@ -114,6 +115,14 @@ def get_solver(solver_name): "OPTIMALITYTOL": lp_tol, "crossover": -1, # Basic solutions not needed (crossover=choose) }, + "mosek": { + "MSK_IPAR_MIO_SEED": 4, + "MSK_IPAR_INTPNT_BASIS": "MSK_BI_NEVER", + "MSK_DPAR_MIO_TOL_REL_GAP": mip_gap, + # LP tolerances + "MSK_DPAR_INTPNT_TOL_PFEAS": lp_tol, + "MSK_DPAR_INTPNT_TOL_DFEAS": lp_tol, + }, } return solver_class(**solver_options.get(solver_name, {})) @@ -123,6 +132,8 @@ def is_mip_problem(solver_model, solver_name): """ Determines if a given solver model is a Mixed Integer Programming (MIP) problem. """ + if solver_model is None: + return False if solver_name == "scip": if solver_model.getNIntVars() > 0 or solver_model.getNBinVars() > 0: return True @@ -133,11 +144,12 @@ def is_mip_problem(solver_model, solver_name): info = solver_model.getInfo() return info.mip_node_count >= 0 elif solver_name == "cplex": - # Check if any variables are integer or binary var_types = solver_model.variables.get_types() return any(t in ("I", "B") for t in var_types) elif solver_name == "xpress": return solver_model.getAttrib("mipents") > 0 + elif solver_name == "mosek": + return solver_model.getnumintvar() > 0 elif solver_name in {"glpk", "cbc"}: # These solvers do not provide a solver model in the solver result, # so MIP problem detection is not possible. @@ -183,11 +195,15 @@ def get_duality_gap(solver_model, solver_name: str): elif solver_name == "knitro": # Knitro duality gap retrieval not implemented yet return None + elif solver_name == "mosek": + if is_mip_problem(solver_model, solver_name): + return solver_model.getdouinf(mosek.dinfitem.mio_obj_rel_gap) + return None else: raise NotImplementedError(f"The solver '{solver_name}' is not supported.") -def get_milp_metrics(input_file, solver_result): +def get_milp_metrics(input_file, solver_result, solver_name): """Uses HiGHS to read the problem file and compute max integrality violation and duality gap. """ @@ -232,6 +248,9 @@ def get_reported_runtime(solver_name, solver_model) -> float | None: return solver_model.getAttrib("time") case "knitro": return solver_model.reported_runtime + case "mosek": + # TODO: implement once the exact MOSEK solver_model API used by Linopy is verified + return None case _: print(f"WARNING: cannot obtain reported runtime for {solver_name}") return None @@ -437,9 +456,13 @@ def main(solver_name, input_file, solver_version): ) runtime = perf_counter() - start_time - duality_gap, max_integrality_violation = get_milp_metrics( - input_file, solver_result - ) + if is_mip_problem(solver_result.solver_model, solver_name): + duality_gap, max_integrality_violation = get_milp_metrics( + input_file, solver_result, solver_name + ) + else: + duality_gap = None + max_integrality_violation = None results = { "runtime": runtime, diff --git a/runner/utils.py b/runner/utils.py index d736d69b..eb11f7c4 100644 --- a/runner/utils.py +++ b/runner/utils.py @@ -339,6 +339,7 @@ def create_benchmark_campaign( "cplex": "#F9CD5A", # yellow "xpress": "#7C3AED", # purple "knitro": "#3B82F6", # blue + "mosek": "#FE7D00", # orange } From 7038ead4f5399fa60f590d775737889c1b95e9dd Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 15 Apr 2026 18:02:54 +0200 Subject: [PATCH 23/38] Expose Mosek solver time --- runner/run_solver.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/runner/run_solver.py b/runner/run_solver.py index 03e9e779..93dbb680 100644 --- a/runner/run_solver.py +++ b/runner/run_solver.py @@ -249,8 +249,7 @@ def get_reported_runtime(solver_name, solver_model) -> float | None: case "knitro": return solver_model.reported_runtime case "mosek": - # TODO: implement once the exact MOSEK solver_model API used by Linopy is verified - return None + return solver_model.getdouinf(mosek.dinfitem.optimizer_time) case _: print(f"WARNING: cannot obtain reported runtime for {solver_name}") return None From e2739272ebd94f935c1a97e0c9558b64c5335d08 Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 15 Apr 2026 19:37:30 +0200 Subject: [PATCH 24/38] Add pypsa-de-uc benchmarks --- benchmarks/pypsa/metadata.yaml | 254 +++++++++++++++++++++++++++++++-- results/metadata.yaml | 254 +++++++++++++++++++++++++++++++-- 2 files changed, 486 insertions(+), 22 deletions(-) diff --git a/benchmarks/pypsa/metadata.yaml b/benchmarks/pypsa/metadata.yaml index 4ca61e09..c0a2f383 100644 --- a/benchmarks/pypsa/metadata.yaml +++ b/benchmarks/pypsa/metadata.yaml @@ -22,6 +22,7 @@ benchmarks: Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. Num. constraints: 22137355 Num. variables: 10626468 + Num. nonzeros: 41991604 - Name: 50-3h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-50-3h.mps.gz @@ -1684,11 +1685,11 @@ benchmarks: Spatial resolution: 2 nodes Realistic: Realistic motivation: - Num. constraints: 53331 - Num. variables: 27400 - Num. nonzeros: 132345 - Num. continuous variables: 19735 - Num. integer variables: 7665 + Num. constraints: 61725 + Num. variables: 32510 + Num. nonzeros: 148762 + Num. continuous variables: 23750 + Num. integer variables: 8760 - Name: 4-24h Size: M URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_4_24H.mps.gz @@ -1798,16 +1799,16 @@ benchmarks: Num. continuous variables: 162253 Num. integer variables: 45990 - Name: 2-48h - Size: + Size: M URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 2 nodes Realistic: false - Num. constraints: 8997 - Num. variables: 4742 - Num. nonzeros: 21482 - Num. continuous variables: 3470 - Num. integer variables: 1272 + Num. constraints: 30967 + Num. variables: 16312 + Num. nonzeros: 74521 + Num. continuous variables: 11920 + Num. integer variables: 4392 - Name: 4-48h Size: M URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_48h.mps.gz @@ -1896,6 +1897,17 @@ benchmarks: Num. nonzeros: 43694 Num. continuous variables: 6986 Num. integer variables: 2544 + - Name: 5-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_5_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 22931 + Num. variables: 11927 + Num. nonzeros: 54912 + Num. continuous variables: 8747 + Num. integer variables: 3180 - Name: 6-168h Size: M URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_168h.mps.gz @@ -1940,6 +1952,72 @@ benchmarks: Num. nonzeros: 168132 Num. continuous variables: 27221 Num. integer variables: 10017 + - Name: 15-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_15_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 55853 + Num. variables: 29241 + Num. nonzeros: 133399 + Num. continuous variables: 21132 + Num. integer variables: 8109 + - Name: 25-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_25_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 87292 + Num. variables: 45659 + Num. nonzeros: 205603 + Num. continuous variables: 33734 + Num. integer variables: 11925 + - Name: 30-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_30_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 101449 + Num. variables: 53126 + Num. nonzeros: 238546 + Num. continuous variables: 39134 + Num. integer variables: 13992 + - Name: 35-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_35_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 116403 + Num. variables: 61069 + Num. nonzeros: 275551 + Num. continuous variables: 44692 + Num. integer variables: 16377 + - Name: 40-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_40_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 128749 + Num. variables: 67633 + Num. nonzeros: 306366 + Num. continuous variables: 49666 + Num. integer variables: 17967 + - Name: 45-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_45_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 144020 + Num. variables: 75577 + Num. nonzeros: 341664 + Num. continuous variables: 55384 + Num. integer variables: 20193 - Name: 50-168h Size: M URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_50_168h.mps.gz @@ -1951,6 +2029,105 @@ benchmarks: Num. nonzeros: 370792 Num. continuous variables: 60464 Num. integer variables: 21783 + - Name: 55-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_55_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 169301 + Num. variables: 88760 + Num. nonzeros: 398729 + Num. continuous variables: 65387 + Num. integer variables: 23373 + - Name: 60-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_60_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 179417 + Num. variables: 94264 + Num. nonzeros: 423671 + Num. continuous variables: 69619 + Num. integer variables: 24645 + - Name: 65-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_65_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 194960 + Num. variables: 102263 + Num. nonzeros: 459387 + Num. continuous variables: 75551 + Num. integer variables: 26712 + - Name: 70-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_70_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 206771 + Num. variables: 108666 + Num. nonzeros: 484576 + Num. continuous variables: 80205 + Num. integer variables: 28461 + - Name: 75-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_75_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 220612 + Num. variables: 115921 + Num. nonzeros: 517702 + Num. continuous variables: 85393 + Num. integer variables: 30528 + - Name: 80-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_80_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 233386 + Num. variables: 122699 + Num. nonzeros: 550421 + Num. continuous variables: 90581 + Num. integer variables: 32118 + - Name: 85-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_85_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 244833 + Num. variables: 128786 + Num. nonzeros: 574813 + Num. continuous variables: 95078 + Num. integer variables: 33708 + - Name: 90-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_90_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 257924 + Num. variables: 135774 + Num. nonzeros: 603416 + Num. continuous variables: 100317 + Num. integer variables: 35457 + - Name: 95-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_95_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 269956 + Num. variables: 142126 + Num. nonzeros: 635740 + Num. continuous variables: 104761 + Num. integer variables: 37365 - Name: 100-168h Size: M URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_100_168h.mps.gz @@ -1962,6 +2139,61 @@ benchmarks: Num. nonzeros: 667792 Num. continuous variables: 110159 Num. integer variables: 39273 + - Name: 2-5h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_5h.mps.gz + Temporal resolution: 5 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 296128 + Num. variables: 155943 + Num. nonzeros: 711397 + Num. continuous variables: 113895 + Num. integer variables: 42048 + - Name: 2-8h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_8h.mps.gz + Temporal resolution: 8 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 185095 + Num. variables: 97476 + Num. nonzeros: 445244 + Num. continuous variables: 71196 + Num. integer variables: 26280 + - Name: 2-12h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_12h.mps.gz + Temporal resolution: 12 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 123410 + Num. variables: 64993 + Num. nonzeros: 297601 + Num. continuous variables: 47473 + Num. integer variables: 17520 + - Name: 2-36h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_36h.mps.gz + Temporal resolution: 36 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 41276 + Num. variables: 21741 + Num. nonzeros: 99408 + Num. continuous variables: 15885 + Num. integer variables: 5856 + - Name: 2-84h + Size: S + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_84h.mps.gz + Temporal resolution: 84 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 17785 + Num. variables: 9370 + Num. nonzeros: 42698 + Num. continuous variables: 6850 + Num. integer variables: 2520 pypsa-eur-elec-uc: Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) without transmission expansion and including unit commitment. Modelling framework: PyPSA diff --git a/results/metadata.yaml b/results/metadata.yaml index 03ad204c..96f3f599 100644 --- a/results/metadata.yaml +++ b/results/metadata.yaml @@ -2818,6 +2818,7 @@ benchmarks: time horizon to allow the benchmark to be defined as Realistic. Num. constraints: 22137355 Num. variables: 10626468 + Num. nonzeros: 41991604 - Name: 50-3h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-50-3h.mps.gz @@ -4569,11 +4570,11 @@ benchmarks: Spatial resolution: 2 nodes Realistic: Realistic motivation: - Num. constraints: 53331 - Num. variables: 27400 - Num. nonzeros: 132345 - Num. continuous variables: 19735 - Num. integer variables: 7665 + Num. constraints: 61725 + Num. variables: 32510 + Num. nonzeros: 148762 + Num. continuous variables: 23750 + Num. integer variables: 8760 - Name: 4-24h Size: M URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_4_24H.mps.gz @@ -4683,16 +4684,16 @@ benchmarks: Num. continuous variables: 162253 Num. integer variables: 45990 - Name: 2-48h - Size: + Size: M URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 2 nodes Realistic: false - Num. constraints: 8997 - Num. variables: 4742 - Num. nonzeros: 21482 - Num. continuous variables: 3470 - Num. integer variables: 1272 + Num. constraints: 30967 + Num. variables: 16312 + Num. nonzeros: 74521 + Num. continuous variables: 11920 + Num. integer variables: 4392 - Name: 4-48h Size: M URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_48h.mps.gz @@ -4781,6 +4782,17 @@ benchmarks: Num. nonzeros: 43694 Num. continuous variables: 6986 Num. integer variables: 2544 + - Name: 5-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_5_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 22931 + Num. variables: 11927 + Num. nonzeros: 54912 + Num. continuous variables: 8747 + Num. integer variables: 3180 - Name: 6-168h Size: M URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_168h.mps.gz @@ -4825,6 +4837,72 @@ benchmarks: Num. nonzeros: 168132 Num. continuous variables: 27221 Num. integer variables: 10017 + - Name: 15-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_15_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 55853 + Num. variables: 29241 + Num. nonzeros: 133399 + Num. continuous variables: 21132 + Num. integer variables: 8109 + - Name: 25-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_25_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 87292 + Num. variables: 45659 + Num. nonzeros: 205603 + Num. continuous variables: 33734 + Num. integer variables: 11925 + - Name: 30-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_30_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 101449 + Num. variables: 53126 + Num. nonzeros: 238546 + Num. continuous variables: 39134 + Num. integer variables: 13992 + - Name: 35-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_35_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 116403 + Num. variables: 61069 + Num. nonzeros: 275551 + Num. continuous variables: 44692 + Num. integer variables: 16377 + - Name: 40-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_40_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 128749 + Num. variables: 67633 + Num. nonzeros: 306366 + Num. continuous variables: 49666 + Num. integer variables: 17967 + - Name: 45-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_45_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 144020 + Num. variables: 75577 + Num. nonzeros: 341664 + Num. continuous variables: 55384 + Num. integer variables: 20193 - Name: 50-168h Size: M URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_50_168h.mps.gz @@ -4836,6 +4914,105 @@ benchmarks: Num. nonzeros: 370792 Num. continuous variables: 60464 Num. integer variables: 21783 + - Name: 55-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_55_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 169301 + Num. variables: 88760 + Num. nonzeros: 398729 + Num. continuous variables: 65387 + Num. integer variables: 23373 + - Name: 60-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_60_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 179417 + Num. variables: 94264 + Num. nonzeros: 423671 + Num. continuous variables: 69619 + Num. integer variables: 24645 + - Name: 65-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_65_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 194960 + Num. variables: 102263 + Num. nonzeros: 459387 + Num. continuous variables: 75551 + Num. integer variables: 26712 + - Name: 70-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_70_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 206771 + Num. variables: 108666 + Num. nonzeros: 484576 + Num. continuous variables: 80205 + Num. integer variables: 28461 + - Name: 75-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_75_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 220612 + Num. variables: 115921 + Num. nonzeros: 517702 + Num. continuous variables: 85393 + Num. integer variables: 30528 + - Name: 80-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_80_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 233386 + Num. variables: 122699 + Num. nonzeros: 550421 + Num. continuous variables: 90581 + Num. integer variables: 32118 + - Name: 85-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_85_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 244833 + Num. variables: 128786 + Num. nonzeros: 574813 + Num. continuous variables: 95078 + Num. integer variables: 33708 + - Name: 90-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_90_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 257924 + Num. variables: 135774 + Num. nonzeros: 603416 + Num. continuous variables: 100317 + Num. integer variables: 35457 + - Name: 95-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_95_168h.mps.gz + Temporal resolution: 168 hour + Spatial resolution: 5 nodes + Realistic: false + Num. constraints: 269956 + Num. variables: 142126 + Num. nonzeros: 635740 + Num. continuous variables: 104761 + Num. integer variables: 37365 - Name: 100-168h Size: M URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_100_168h.mps.gz @@ -4847,6 +5024,61 @@ benchmarks: Num. nonzeros: 667792 Num. continuous variables: 110159 Num. integer variables: 39273 + - Name: 2-5h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_5h.mps.gz + Temporal resolution: 5 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 296128 + Num. variables: 155943 + Num. nonzeros: 711397 + Num. continuous variables: 113895 + Num. integer variables: 42048 + - Name: 2-8h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_8h.mps.gz + Temporal resolution: 8 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 185095 + Num. variables: 97476 + Num. nonzeros: 445244 + Num. continuous variables: 71196 + Num. integer variables: 26280 + - Name: 2-12h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_12h.mps.gz + Temporal resolution: 12 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 123410 + Num. variables: 64993 + Num. nonzeros: 297601 + Num. continuous variables: 47473 + Num. integer variables: 17520 + - Name: 2-36h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_36h.mps.gz + Temporal resolution: 36 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 41276 + Num. variables: 21741 + Num. nonzeros: 99408 + Num. continuous variables: 15885 + Num. integer variables: 5856 + - Name: 2-84h + Size: S + URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_84h.mps.gz + Temporal resolution: 84 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 17785 + Num. variables: 9370 + Num. nonzeros: 42698 + Num. continuous variables: 6850 + Num. integer variables: 2520 pypsa-eur-elec-uc: Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) without transmission expansion and including unit commitment. From c6475014a6bde2f223cde70086a91f61dd181d97 Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 15 Apr 2026 19:42:26 +0200 Subject: [PATCH 25/38] Run pre-commit --- notebooks/run_mosek.ipynb | 319 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 319 insertions(+) create mode 100644 notebooks/run_mosek.ipynb diff --git a/notebooks/run_mosek.ipynb b/notebooks/run_mosek.ipynb new file mode 100644 index 00000000..e5b7e762 --- /dev/null +++ b/notebooks/run_mosek.ipynb @@ -0,0 +1,319 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "6b5c0f33-55da-4575-91cf-4f39d457be37", + "metadata": {}, + "outputs": [], + "source": [ + "import sys\n", + "\n", + "sys.path.insert(0, \"..\")\n", + "from runner.utils import (\n", + " allocate_benchmarks,\n", + " create_benchmark_campaign,\n", + " load_benchmark_metadata,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "9f64b882-a617-40b1-83b8-0113396884ae", + "metadata": {}, + "outputs": [], + "source": [ + "# If a util function was modified, use this cell to reload it without having to restart the kernel\n", + "%run ../runner/utils.py" + ] + }, + { + "cell_type": "markdown", + "id": "3c9c747f-c5b5-4d97-8bde-8bbdeafd7243", + "metadata": {}, + "source": [ + "# 20260415 Run pypsa-de-elec-2-1h (Mosek test)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "579b0223-ddc7-4209-87d8-2711cfdc3f70", + "metadata": {}, + "outputs": [], + "source": [ + "benchmarks_df = load_benchmark_metadata()\n", + "df = benchmarks_df[benchmarks_df[\"Benchmark\"] == \"pypsa-de-elec\"].copy()\n", + "\n", + "benchs_to_run = df[df[\"Instance\"] == \"2-1h\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "193dc7e9-e93d-4afe-8c2d-b1fa8341e586", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Allocated. Estimated runtime: 158.2h\n", + " VM 00: 1 instances, 158.2h\n", + "WARNING: existing yaml files found in ../infrastructure/benchmarks/20260415-pypsa-de-elec-2-1h-mosek-test\n", + "Created directory and files in ../infrastructure/benchmarks/20260415-pypsa-de-elec-2-1h-mosek-test\n", + "Run this campaign from the infrastructure/ directory using the command:\n", + "tofu apply -var-file benchmarks/20260415-pypsa-de-elec-2-1h-mosek-test/run.tfvars -state=states/20260415-pypsa-de-elec-2-1h-mosek-test.tfstate\n" + ] + } + ], + "source": [ + "# Create campaign: 1 instance per VM, latest solvers only\n", + "\n", + "vm_yamls = allocate_benchmarks(\n", + " benchs_to_run,\n", + " \"Num. variables\",\n", + " len(benchs_to_run),\n", + " machine_type=\"c4-highmem-8\", # NOTE: increased to highmem!\n", + " timeout_seconds=24 * 60 * 60, # NOTE: 24h timeout\n", + " solvers=\"gurobi mosek\", # TEST\n", + " years=[2025], # latest solvers only, so skip creating older conda envs\n", + ")\n", + "\n", + "create_benchmark_campaign(\n", + " \"20260415-pypsa-de-elec-2-1h-mosek-test\",\n", + " \"pypsa-de-elec-2-1h-mosek-test\",\n", + " vm_yamls,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "6d804230-1825-4eb0-a149-c5fa8c6cb510", + "metadata": {}, + "source": [ + "## Monitor runs\n", + "\n", + "To view running VMs:\n", + "\n", + "`gcloud compute instances list | sort | tee /dev/tty | grep benchmark-instance | grep -i running | wc -l`\n", + "\n", + "To SSH into a running VM and see what's happening:\n", + "\n", + "```\n", + "gcloud compute ssh projects/compute-app-427709/zones/us-central1-a/instances/benchmark-instance-pypsa-de-elec-2-1h-mosek-test-00\n", + "tail -f /var/log/startup-script.log\n", + "cat /solver-benchmark/results/benchmark_results.csv\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "35151866-190c-4a3a-a978-cb861f0ea91c", + "metadata": {}, + "source": [ + "# 20260415 Run pypsa-de-elec-xx-1h (2-through-20 nodes) with Mosek" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "33cb110e-9812-469f-bd09-380c60382734", + "metadata": {}, + "outputs": [], + "source": [ + "benchmarks_df = load_benchmark_metadata()\n", + "\n", + "df = benchmarks_df[benchmarks_df[\"Benchmark\"] == \"pypsa-de-elec\"].copy()\n", + "\n", + "# Extract nodes\n", + "nodes = df[\"Instance\"].str.split(\"-\").str[0].astype(int)\n", + "\n", + "# Build mask\n", + "mask = (\n", + " df[\"Instance\"].str.endswith(\"-1h\") # only 1h\n", + " & nodes.between(2, 20) # between 2 and 20\n", + " & (nodes % 2 == 0) # even only\n", + ")\n", + "\n", + "benchs_to_run = df[mask]" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "6b2a058f-9c70-4245-aca6-f90d956210a1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Allocated. Estimated runtime: 1070.7h\n", + " VM 00: 1 instances, 1070.7h\n", + " VM 01: 1 instances, 983.1h\n", + " VM 02: 1 instances, 880.9h\n", + " VM 03: 1 instances, 788.4h\n", + " VM 04: 1 instances, 678.9h\n", + " VM 05: 1 instances, 586.5h\n", + " VM 06: 1 instances, 486.7h\n", + " VM 07: 1 instances, 384.5h\n", + " VM 08: 1 instances, 267.7h\n", + " VM 09: 1 instances, 158.2h\n", + "Created directory and files in ../infrastructure/benchmarks/20260415-pypsa-de-elec-2-through-20-1h-mosek\n", + "Run this campaign from the infrastructure/ directory using the command:\n", + "tofu apply -var-file benchmarks/20260415-pypsa-de-elec-2-through-20-1h-mosek/run.tfvars -state=states/20260415-pypsa-de-elec-2-through-20-1h-mosek.tfstate\n" + ] + } + ], + "source": [ + "# Create campaign: 1 instance per VM, latest solvers only\n", + "\n", + "vm_yamls = allocate_benchmarks(\n", + " benchs_to_run,\n", + " \"Num. variables\",\n", + " len(benchs_to_run),\n", + " machine_type=\"c4-highmem-8\", # NOTE: increased to highmem!\n", + " timeout_seconds=24 * 60 * 60, # NOTE: 24h timeout\n", + " solvers=\"mosek\", # TEST\n", + " years=[2025], # latest solvers only, so skip creating older conda envs\n", + ")\n", + "\n", + "create_benchmark_campaign(\n", + " \"20260415-pypsa-de-elec-2-through-20-1h-mosek\",\n", + " \"pypsa-de-elec-2-through-20-1h-mosek\",\n", + " vm_yamls,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "5a88791a-c8fd-432b-9114-e9cf6de0f9f0", + "metadata": {}, + "source": [ + "## Monitor runs\n", + "\n", + "To view running VMs:\n", + "\n", + "`gcloud compute instances list | sort | tee /dev/tty | grep benchmark-instance | grep -i running | wc -l`\n", + "\n", + "To SSH into a running VM and see what's happening:\n", + "\n", + "```\n", + "gcloud compute ssh projects/compute-app-427709/zones/us-central1-a/instances/benchmark-instance-pypsa-de-elec-2-through-20-1h-mosek-xx\n", + "tail -f /var/log/startup-script.log\n", + "cat /solver-benchmark/results/benchmark_results.csv\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "26e5a1fe-52b0-413e-bf28-f2a1cd5873b2", + "metadata": {}, + "source": [ + "# 20260415 Run pypsa-de-elec-uc with increasing temporal resolution with Mosek" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0cb6d2e2-c45d-476e-8e26-9b72a91e942e", + "metadata": {}, + "outputs": [], + "source": [ + "benchmarks_df = load_benchmark_metadata()\n", + "\n", + "df = benchmarks_df[(benchmarks_df[\"Benchmark\"] == \"pypsa-de-elec-uc\")].copy()\n", + "\n", + "# Extract nodes\n", + "df[\"nodes\"] = df[\"Instance\"].map(lambda i: int(i.split(\"-\")[0]))\n", + "\n", + "# Extract resolution (e.g. \"168h\" -> 168)\n", + "df[\"resolution\"] = df[\"Instance\"].map(lambda i: int(i.split(\"-\")[-1].replace(\"h\", \"\")))\n", + "\n", + "# Filter\n", + "benchs_to_run = df[\n", + " (df[\"nodes\"] == 2) & (df[\"resolution\"].isin([3, 5, 8, 12, 24, 36, 48, 84, 168]))\n", + "]\n", + "\n", + "benchs_to_run[\"Instance\"].tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "354f6c9e-c1bd-4fbf-a46c-b2a2056adca0", + "metadata": {}, + "outputs": [], + "source": [ + "# Create campaign: 1 instance per VM, latest solvers only\n", + "\n", + "vm_yamls = allocate_benchmarks(\n", + " benchs_to_run,\n", + " \"Num. variables\",\n", + " len(benchs_to_run),\n", + " machine_type=\"c4-highmem-8\", # NOTE: increased to highmem!\n", + " timeout_seconds=24 * 60 * 60, # NOTE: 24h timeout\n", + " solvers=\"mosek\",\n", + " years=[2025], # latest solvers only, so skip creating older conda envs\n", + ")\n", + "\n", + "create_benchmark_campaign(\n", + " \"20260415-pypsa-de-elec-uc-2_nodes-scaling-mosek\",\n", + " \"pypsa-de-elec-uc-2_nodes-scaling-mosek\",\n", + " vm_yamls,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "94d4018b-528b-43b8-9eed-210244d450f4", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "63349265-4302-4bde-a9d3-deb3caa667bd", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "id": "90b9a292-62b7-4f9a-98b0-7a34a54c32ca", + "metadata": {}, + "source": [ + "## Inspect results\n", + "\n", + "To download results:\n", + "\n", + "`gsutil -m rsync -r gs://solver-benchmarks-testing/results ./results/gcp-results/`" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.12" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 0291e0b30d80ed0799f12a95ea1ad9c8f5e8ab0c Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 22 Apr 2026 12:10:37 +0200 Subject: [PATCH 26/38] Pre-commit --- notebooks/run_mosek.ipynb | 229 +++++++++++++++++++++++++++++++++++--- 1 file changed, 211 insertions(+), 18 deletions(-) diff --git a/notebooks/run_mosek.ipynb b/notebooks/run_mosek.ipynb index e5b7e762..4fa5d641 100644 --- a/notebooks/run_mosek.ipynb +++ b/notebooks/run_mosek.ipynb @@ -176,7 +176,7 @@ " len(benchs_to_run),\n", " machine_type=\"c4-highmem-8\", # NOTE: increased to highmem!\n", " timeout_seconds=24 * 60 * 60, # NOTE: 24h timeout\n", - " solvers=\"mosek\", # TEST\n", + " solvers=\"mosek\",\n", " years=[2025], # latest solvers only, so skip creating older conda envs\n", ")\n", "\n", @@ -217,10 +217,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "0cb6d2e2-c45d-476e-8e26-9b72a91e942e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "['2-3h', '2-24h', '2-48h', '2-168h', '2-5h', '2-8h', '2-12h', '2-36h', '2-84h']" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "benchmarks_df = load_benchmark_metadata()\n", "\n", @@ -242,10 +253,31 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "354f6c9e-c1bd-4fbf-a46c-b2a2056adca0", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Allocated. Estimated runtime: 60.8h\n", + " VM 00: 1 instances, 60.8h\n", + " VM 01: 1 instances, 43.3h\n", + " VM 02: 1 instances, 27.1h\n", + " VM 03: 1 instances, 18.1h\n", + " VM 04: 1 instances, 9.0h\n", + " VM 05: 1 instances, 6.0h\n", + " VM 06: 1 instances, 4.5h\n", + " VM 07: 1 instances, 2.6h\n", + " VM 08: 1 instances, 1.3h\n", + "WARNING: existing yaml files found in ../infrastructure/benchmarks/20260415-pypsa-de-elec-uc-2-nodes-scaling-mosek\n", + "Created directory and files in ../infrastructure/benchmarks/20260415-pypsa-de-elec-uc-2-nodes-scaling-mosek\n", + "Run this campaign from the infrastructure/ directory using the command:\n", + "tofu apply -var-file benchmarks/20260415-pypsa-de-elec-uc-2-nodes-scaling-mosek/run.tfvars -state=states/20260415-pypsa-de-elec-uc-2-nodes-scaling-mosek.tfstate\n" + ] + } + ], "source": [ "# Create campaign: 1 instance per VM, latest solvers only\n", "\n", @@ -260,39 +292,200 @@ ")\n", "\n", "create_benchmark_campaign(\n", - " \"20260415-pypsa-de-elec-uc-2_nodes-scaling-mosek\",\n", - " \"pypsa-de-elec-uc-2_nodes-scaling-mosek\",\n", + " \"20260415-pypsa-de-elec-uc-2-nodes-scaling-mosek\",\n", + " \"pypsa-de-elec-uc-2-nodes-scaling-mosek\",\n", " vm_yamls,\n", ")" ] }, + { + "cell_type": "markdown", + "id": "90b9a292-62b7-4f9a-98b0-7a34a54c32ca", + "metadata": {}, + "source": [ + "## Inspect results\n", + "\n", + "To download results:\n", + "\n", + "`gsutil -m rsync -r gs://solver-benchmarks-testing/results ./results/gcp-results/`" + ] + }, + { + "cell_type": "markdown", + "id": "f5817ffa-72bc-4dcb-bc87-d2f1b1b503fe", + "metadata": {}, + "source": [ + "# 20260422 Run pypsa-de-elec-xx-1h (2-through-20 nodes) with other commercial solvers" + ] + }, { "cell_type": "code", - "execution_count": null, - "id": "94d4018b-528b-43b8-9eed-210244d450f4", + "execution_count": 3, + "id": "43a8bbdc-00dd-4a10-994b-c71974e0e997", "metadata": {}, "outputs": [], - "source": [] + "source": [ + "benchmarks_df = load_benchmark_metadata()\n", + "\n", + "df = benchmarks_df[benchmarks_df[\"Benchmark\"] == \"pypsa-de-elec\"].copy()\n", + "\n", + "# Extract nodes\n", + "nodes = df[\"Instance\"].str.split(\"-\").str[0].astype(int)\n", + "\n", + "# Build mask\n", + "mask = (\n", + " df[\"Instance\"].str.endswith(\"-1h\") # only 1h\n", + " & nodes.between(2, 20) # between 2 and 20\n", + " & (nodes % 2 == 0) # even only\n", + ")\n", + "\n", + "benchs_to_run = df[mask]" + ] }, { "cell_type": "code", - "execution_count": null, - "id": "63349265-4302-4bde-a9d3-deb3caa667bd", + "execution_count": 4, + "id": "a5992094-55ef-4f5c-9462-95eb6c9555cf", "metadata": {}, - "outputs": [], - "source": [] + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Allocated. Estimated runtime: 1070.7h\n", + " VM 00: 1 instances, 1070.7h\n", + " VM 01: 1 instances, 983.1h\n", + " VM 02: 1 instances, 880.9h\n", + " VM 03: 1 instances, 788.4h\n", + " VM 04: 1 instances, 678.9h\n", + " VM 05: 1 instances, 586.5h\n", + " VM 06: 1 instances, 486.7h\n", + " VM 07: 1 instances, 384.5h\n", + " VM 08: 1 instances, 267.7h\n", + " VM 09: 1 instances, 158.2h\n", + "Created directory and files in ../infrastructure/benchmarks/20260422-pypsa-de-elec-2-through-20-1h-commercial\n", + "Run this campaign from the infrastructure/ directory using the command:\n", + "tofu apply -var-file benchmarks/20260422-pypsa-de-elec-2-through-20-1h-commercial/run.tfvars -state=states/20260422-pypsa-de-elec-2-through-20-1h-commercial.tfstate\n" + ] + } + ], + "source": [ + "# Create campaign: 1 instance per VM, latest solvers only\n", + "\n", + "vm_yamls = allocate_benchmarks(\n", + " benchs_to_run,\n", + " \"Num. variables\",\n", + " len(benchs_to_run),\n", + " machine_type=\"c4-highmem-8\", # NOTE: increased to highmem!\n", + " timeout_seconds=24 * 60 * 60, # NOTE: 24h timeout\n", + " solvers=\"cplex xpress knitro\",\n", + " years=[2025], # latest solvers only, so skip creating older conda envs\n", + ")\n", + "\n", + "create_benchmark_campaign(\n", + " \"20260422-pypsa-de-elec-2-through-20-1h-commercial\",\n", + " \"pypsa-de-elec-2-through-20-1h-commercial\",\n", + " vm_yamls,\n", + ")" + ] }, { "cell_type": "markdown", - "id": "90b9a292-62b7-4f9a-98b0-7a34a54c32ca", + "id": "b9d109b6-4bcc-4af5-a6ba-c1ea11b127b7", "metadata": {}, "source": [ - "## Inspect results\n", + "# 20260422 Run pypsa-de-elec-uc with increasing temporal resolution with other commercial solvers" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "14086c3a-c378-44c6-b409-07b0828ce573", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['2-3h', '2-24h', '2-48h', '2-168h', '2-5h', '2-8h', '2-12h', '2-36h', '2-84h']" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "benchmarks_df = load_benchmark_metadata()\n", "\n", - "To download results:\n", + "df = benchmarks_df[(benchmarks_df[\"Benchmark\"] == \"pypsa-de-elec-uc\")].copy()\n", "\n", - "`gsutil -m rsync -r gs://solver-benchmarks-testing/results ./results/gcp-results/`" + "# Extract nodes\n", + "df[\"nodes\"] = df[\"Instance\"].map(lambda i: int(i.split(\"-\")[0]))\n", + "\n", + "# Extract resolution (e.g. \"168h\" -> 168)\n", + "df[\"resolution\"] = df[\"Instance\"].map(lambda i: int(i.split(\"-\")[-1].replace(\"h\", \"\")))\n", + "\n", + "# Filter\n", + "benchs_to_run = df[\n", + " (df[\"nodes\"] == 2) & (df[\"resolution\"].isin([3, 5, 8, 12, 24, 36, 48, 84, 168]))\n", + "]\n", + "\n", + "benchs_to_run[\"Instance\"].tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "b4b0673b-99c7-4262-a9ea-b0b354956b86", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Allocated. Estimated runtime: 60.8h\n", + " VM 00: 1 instances, 60.8h\n", + " VM 01: 1 instances, 43.3h\n", + " VM 02: 1 instances, 27.1h\n", + " VM 03: 1 instances, 18.1h\n", + " VM 04: 1 instances, 9.0h\n", + " VM 05: 1 instances, 6.0h\n", + " VM 06: 1 instances, 4.5h\n", + " VM 07: 1 instances, 2.6h\n", + " VM 08: 1 instances, 1.3h\n", + "Created directory and files in ../infrastructure/benchmarks/20260422-pypsa-de-elec-uc-2-nodes-scaling-comm\n", + "Run this campaign from the infrastructure/ directory using the command:\n", + "tofu apply -var-file benchmarks/20260422-pypsa-de-elec-uc-2-nodes-scaling-comm/run.tfvars -state=states/20260422-pypsa-de-elec-uc-2-nodes-scaling-comm.tfstate\n" + ] + } + ], + "source": [ + "# Create campaign: 1 instance per VM, latest solvers only\n", + "\n", + "vm_yamls = allocate_benchmarks(\n", + " benchs_to_run,\n", + " \"Num. variables\",\n", + " len(benchs_to_run),\n", + " machine_type=\"c4-highmem-8\", # NOTE: increased to highmem!\n", + " timeout_seconds=24 * 60 * 60, # NOTE: 24h timeout\n", + " solvers=\"cplex xpress knitro\",\n", + " years=[2025], # latest solvers only, so skip creating older conda envs\n", + ")\n", + "\n", + "create_benchmark_campaign(\n", + " \"20260422-pypsa-de-elec-uc-2-nodes-scaling-comm\",\n", + " \"pypsa-de-elec-uc-2-nodes-scaling-comm\",\n", + " vm_yamls,\n", + ")" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e5302519-bf0d-477a-b1be-cf66c325b2c1", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { From 14197064cf2c6310ee5ebf7cf8ebf86e3ac0fb45 Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 22 Apr 2026 12:11:21 +0200 Subject: [PATCH 27/38] Fix handling of invalid solver runs: mark unknown termination as ER and ignore empty solutions --- runner/run_solver.py | 38 ++++++++++++++++++++++++-------------- 1 file changed, 24 insertions(+), 14 deletions(-) diff --git a/runner/run_solver.py b/runner/run_solver.py index 93dbb680..9efb050f 100644 --- a/runner/run_solver.py +++ b/runner/run_solver.py @@ -232,6 +232,8 @@ def get_milp_metrics(input_file, solver_result, solver_name): def get_reported_runtime(solver_name, solver_model) -> float | None: """Get the solving runtime as reported by the solver from the solver's Python object.""" + if solver_model is None: + return None try: match solver_name: case "highs": @@ -255,7 +257,7 @@ def get_reported_runtime(solver_name, solver_model) -> float | None: return None except Exception: print(f"ERROR obtaining reported runtime: {format_exc()}", file=sys.stderr) - return None + return None def run_highs_hipo_solver(input_file, solver_version, highs_variant: HighsVariant): @@ -428,10 +430,9 @@ def main(solver_name, input_file, solver_version): print(json.dumps(results)) return except ValueError as e: - # re-raise the error if it isn't expected. - # we want to continue only if the error is about invalid HighsVariant + # Re-raise the error if it isn't the expected invalid HighsVariant case if "is not a valid HighsVariant" not in str(e): - raise e + raise solver = get_solver(solver_name) @@ -447,15 +448,26 @@ def main(solver_name, input_file, solver_version): log_fn = logs_dir / f"{output_filename}.log" try: - # We measure runtime here and not of this entire script because lines like - # `import linopy` take a long (and varying) amount of time + # Measure only solver execution time, excluding import overhead start_time = perf_counter() solver_result = solver.solve_problem( - problem_fn=problem_file, solution_fn=solution_fn, log_fn=log_fn + problem_fn=problem_file, + solution_fn=solution_fn, + log_fn=log_fn, ) runtime = perf_counter() - start_time - if is_mip_problem(solver_result.solver_model, solver_name): + solver_model = solver_result.solver_model + termination_condition = solver_result.status.termination_condition.value + status_value = solver_result.status.status.value + objective = solver_result.solution.objective + + # Treat unclear termination conditions as failed/invalid runs + if termination_condition in {"unknown", "error", "failed", "aborted"}: + status_value = "ER" + objective = None + + if is_mip_problem(solver_model, solver_name): duality_gap, max_integrality_violation = get_milp_metrics( input_file, solver_result, solver_name ) @@ -465,12 +477,10 @@ def main(solver_name, input_file, solver_version): results = { "runtime": runtime, - "reported_runtime": get_reported_runtime( - solver_name, solver_result.solver_model - ), - "status": solver_result.status.status.value, - "condition": solver_result.status.termination_condition.value, - "objective": solver_result.solution.objective, + "reported_runtime": get_reported_runtime(solver_name, solver_model), + "status": status_value, + "condition": termination_condition, + "objective": objective, "duality_gap": duality_gap, "max_integrality_violation": max_integrality_violation, } From 31677d2f1cbeb8251dae3a8d82a97a5c6c82cf9e Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Tue, 5 May 2026 12:06:41 +0200 Subject: [PATCH 28/38] Modify mosek notebook --- ...sek.ipynb => run_commercial_solvers.ipynb} | 102 +++++++++++++----- 1 file changed, 76 insertions(+), 26 deletions(-) rename notebooks/{run_mosek.ipynb => run_commercial_solvers.ipynb} (72%) diff --git a/notebooks/run_mosek.ipynb b/notebooks/run_commercial_solvers.ipynb similarity index 72% rename from notebooks/run_mosek.ipynb rename to notebooks/run_commercial_solvers.ipynb index 4fa5d641..f4cc077a 100644 --- a/notebooks/run_mosek.ipynb +++ b/notebooks/run_commercial_solvers.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "id": "6b5c0f33-55da-4575-91cf-4f39d457be37", "metadata": {}, "outputs": [], @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 4, "id": "9f64b882-a617-40b1-83b8-0113396884ae", "metadata": {}, "outputs": [], @@ -435,30 +435,10 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": null, "id": "b4b0673b-99c7-4262-a9ea-b0b354956b86", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Allocated. Estimated runtime: 60.8h\n", - " VM 00: 1 instances, 60.8h\n", - " VM 01: 1 instances, 43.3h\n", - " VM 02: 1 instances, 27.1h\n", - " VM 03: 1 instances, 18.1h\n", - " VM 04: 1 instances, 9.0h\n", - " VM 05: 1 instances, 6.0h\n", - " VM 06: 1 instances, 4.5h\n", - " VM 07: 1 instances, 2.6h\n", - " VM 08: 1 instances, 1.3h\n", - "Created directory and files in ../infrastructure/benchmarks/20260422-pypsa-de-elec-uc-2-nodes-scaling-comm\n", - "Run this campaign from the infrastructure/ directory using the command:\n", - "tofu apply -var-file benchmarks/20260422-pypsa-de-elec-uc-2-nodes-scaling-comm/run.tfvars -state=states/20260422-pypsa-de-elec-uc-2-nodes-scaling-comm.tfstate\n" - ] - } - ], + "outputs": [], "source": [ "# Create campaign: 1 instance per VM, latest solvers only\n", "\n", @@ -480,11 +460,81 @@ ] }, { - "cell_type": "code", - "execution_count": null, + "cell_type": "markdown", "id": "e5302519-bf0d-477a-b1be-cf66c325b2c1", "metadata": {}, + "source": [ + "# 20260505 Run pypsa-de-sec-xx-1h (2-through-20 nodes) with other commercial solvers" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "ae3ec56b-e247-47e4-b5e5-eaab8744981e", + "metadata": {}, "outputs": [], + "source": [ + "benchmarks_df = load_benchmark_metadata()\n", + "\n", + "df = benchmarks_df[benchmarks_df[\"Benchmark\"] == \"pypsa-de-sec\"].copy()\n", + "\n", + "# Extract nodes\n", + "nodes = df[\"Instance\"].str.split(\"-\").str[0].astype(int)\n", + "\n", + "# Build mask\n", + "mask = (\n", + " df[\"Instance\"].str.endswith(\"-1h\") # only 1h\n", + " & nodes.between(2, 20) # between 2 and 20\n", + " & (nodes % 2 == 0) # even only\n", + ")\n", + "\n", + "benchs_to_run = df[mask]" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "24f6507f-40a2-499d-b268-49ab17b8b12f", + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "max() iterable argument is empty", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mValueError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[6]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m# Create campaign: 1 instance per VM, latest solvers only\u001b[39;00m\n\u001b[32m 2\u001b[39m \n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m vm_yamls = allocate_benchmarks(\n\u001b[32m 4\u001b[39m benchs_to_run,\n\u001b[32m 5\u001b[39m \u001b[33m\"Num. variables\"\u001b[39m,\n\u001b[32m 6\u001b[39m len(benchs_to_run),\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/solver-benchmark/runner/utils.py:255\u001b[39m, in \u001b[36mallocate_benchmarks\u001b[39m\u001b[34m(benchmarks_df, weight_col, num_vms, machine_type, zone, solvers, timeout_seconds, years)\u001b[39m\n\u001b[32m 245\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mallocate_benchmarks\u001b[39m(\n\u001b[32m 246\u001b[39m benchmarks_df: pd.DataFrame,\n\u001b[32m 247\u001b[39m weight_col: \u001b[38;5;28mstr\u001b[39m,\n\u001b[32m (...)\u001b[39m\u001b[32m 253\u001b[39m years: \u001b[38;5;28mlist\u001b[39m[\u001b[38;5;28mint\u001b[39m] = [\u001b[32m2020\u001b[39m, \u001b[32m2022\u001b[39m, \u001b[32m2023\u001b[39m, \u001b[32m2024\u001b[39m, \u001b[32m2025\u001b[39m],\n\u001b[32m 254\u001b[39m ) -> \u001b[38;5;28mlist\u001b[39m[\u001b[38;5;28mdict\u001b[39m]:\n\u001b[32m--> \u001b[39m\u001b[32m255\u001b[39m allocation, _ = \u001b[43mallocate_vms_greedy\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 256\u001b[39m \u001b[43m \u001b[49m\u001b[43mbenchmarks_df\u001b[49m\u001b[43m.\u001b[49m\u001b[43mindex\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbenchmarks_df\u001b[49m\u001b[43m[\u001b[49m\u001b[43mweight_col\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_vms\u001b[49m\n\u001b[32m 257\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 258\u001b[39m vm_yamls = []\n\u001b[32m 259\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m benchs \u001b[38;5;129;01min\u001b[39;00m allocation:\n", + "\u001b[36mFile \u001b[39m\u001b[32m~/solver-benchmark/runner/utils.py:239\u001b[39m, in \u001b[36mallocate_vms_greedy\u001b[39m\u001b[34m(instances, instance_weights, num_vms)\u001b[39m\n\u001b[32m 236\u001b[39m allocation[lightest_vm].append(b)\n\u001b[32m 237\u001b[39m weights[lightest_vm] += t\n\u001b[32m--> \u001b[39m\u001b[32m239\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mAllocated. Estimated runtime: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28;43mmax\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mweights\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;250m \u001b[39m/\u001b[38;5;250m \u001b[39m\u001b[32m3600\u001b[39m\u001b[38;5;132;01m:\u001b[39;00m\u001b[33m.1f\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33mh\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 240\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(num_vms):\n\u001b[32m 241\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33m VM \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;132;01m:\u001b[39;00m\u001b[33m02d\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlen\u001b[39m(allocation[i])\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m instances, \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mweights[i]\u001b[38;5;250m \u001b[39m/\u001b[38;5;250m \u001b[39m\u001b[32m3600\u001b[39m\u001b[38;5;132;01m:\u001b[39;00m\u001b[33m.1f\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33mh\u001b[39m\u001b[33m\"\u001b[39m)\n", + "\u001b[31mValueError\u001b[39m: max() iterable argument is empty" + ] + } + ], + "source": [ + "# Create campaign: 1 instance per VM, latest solvers only\n", + "\n", + "vm_yamls = allocate_benchmarks(\n", + " benchs_to_run,\n", + " \"Num. variables\",\n", + " len(benchs_to_run),\n", + " machine_type=\"c4-highmem-8\", # NOTE: increased to highmem!\n", + " timeout_seconds=24 * 60 * 60, # NOTE: 24h timeout\n", + " solvers=\"gurobi cplex xpress knitro mosek\",\n", + " years=[2025], # latest solvers only, so skip creating older conda envs\n", + ")\n", + "\n", + "create_benchmark_campaign(\n", + " \"20260505-pypsa-de-sec-2-nodes-scaling-comm\",\n", + " \"pypsa-de-sec-2-nodes-scaling-comm\",\n", + " vm_yamls,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "f0920d9b-2d88-4f31-8d19-d984c655d236", + "metadata": {}, "source": [] } ], From e2049bb600f816c5322454c530b6d7cc3d4e39fa Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 6 May 2026 11:24:25 +0200 Subject: [PATCH 29/38] Add pypsa-de-sec scaling benchmarks --- benchmarks/pypsa/metadata.yaml | 90 ++++++++++++++++++++++++++++++++++ results/metadata.yaml | 43 ---------------- 2 files changed, 90 insertions(+), 43 deletions(-) diff --git a/benchmarks/pypsa/metadata.yaml b/benchmarks/pypsa/metadata.yaml index c0a2f383..4954f061 100644 --- a/benchmarks/pypsa/metadata.yaml +++ b/benchmarks/pypsa/metadata.yaml @@ -1262,6 +1262,96 @@ benchmarks: Num. constraints: 677039 Num. variables: 321282 Num. nonzeros: 1603304 + - Name: 2-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-2-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: + Num. variables: + Num. nonzeros: + - Name: 4-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-4-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: + Num. variables: + Num. nonzeros: + - Name: 6-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-6-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 6 nodes + Realistic: false + Num. constraints: + Num. variables: + Num. nonzeros: + - Name: 8-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-8-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: + Num. variables: + Num. nonzeros: + - Name: 10-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-10-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 10 nodes + Realistic: true + Num. constraints: 23328888 + Num. variables: 10994701 + Num. nonzeros: 54427819 + - Name: 12-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-12-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 12 nodes + Realistic: true + Num. constraints: + Num. variables: + Num. nonzeros: + - Name: 14-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-14-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 14 nodes + Realistic: true + Num. constraints: + Num. variables: + Num. nonzeros: + - Name: 16-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-16-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 16 nodes + Realistic: true + Num. constraints: + Num. variables: + Num. nonzeros: + - Name: 18-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-18-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 18 nodes + Realistic: true + Num. constraints: + Num. variables: + Num. nonzeros: + - Name: 20-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-20-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 20 nodes + Realistic: true + Num. constraints: 45553984 + Num. variables: 21472540 + Num. nonzeros: 106717276 pypsa-de-sec-trex_copt: Short description: Sector-coupled PyPSA-Eur runs for Germany with cost-optimal transmission expansion. Modelling framework: PyPSA diff --git a/results/metadata.yaml b/results/metadata.yaml index 96f3f599..5adaa5f5 100644 --- a/results/metadata.yaml +++ b/results/metadata.yaml @@ -4098,49 +4098,6 @@ benchmarks: Num. constraints: 766338 Num. variables: 360533 Num. nonzeros: 1596484 - pypsa-de-sec: - Short description: Sector-coupled PyPSA-Eur runs for Germany without transmission - expansion. - Modelling framework: PyPSA - Model name: PyPSA-Eur - Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, - Open Energy Transition - License: CC BY 4.0 - Problem class: LP - Application: Infrastructure & Capacity Expansion - Sectoral focus: Sector-coupled - Sectors: Electric, Heating, Transport, Industry, Hydrogen, Biomass - Time horizon: Single period (2050) - MILP features: None - Sizes: - - Name: 10-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-10-168h.mps.gz - Temporal resolution: 168 hours - Spatial resolution: 10 nodes - Realistic: false - Num. constraints: 142147 - Num. variables: 67416 - Num. nonzeros: 332009 - - Name: 20-12h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-20-12h.mps.gz - Temporal resolution: 12 hours - Spatial resolution: 20 nodes - Realistic: false - Num. constraints: 3797984 - Num. variables: 1791010 - Num. nonzeros: 8932707 - - Name: 50-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-50-168h.mps.gz - Temporal resolution: 168 hours - Spatial resolution: 50 nodes - Realistic: false - Num. constraints: 677039 - Num. variables: 321282 - Num. nonzeros: 1603304 pypsa-de-sec-trex_copt: Short description: Sector-coupled PyPSA-Eur runs for Germany with cost-optimal transmission expansion. From 5bdf255c1de66d9c29609dd9dccb0d10ad203054 Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 6 May 2026 13:11:34 +0200 Subject: [PATCH 30/38] Categorize new pypsa benchmarks --- benchmarks/pypsa/metadata.yaml | 214 ++++++++++++------------ results/metadata.yaml | 290 +++++++++++++++++++++++++-------- 2 files changed, 328 insertions(+), 176 deletions(-) diff --git a/benchmarks/pypsa/metadata.yaml b/benchmarks/pypsa/metadata.yaml index 4954f061..424c3aa2 100644 --- a/benchmarks/pypsa/metadata.yaml +++ b/benchmarks/pypsa/metadata.yaml @@ -1263,92 +1263,98 @@ benchmarks: Num. variables: 321282 Num. nonzeros: 1603304 - Name: 2-1h - Size: M + Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-2-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 2 nodes Realistic: false - Num. constraints: - Num. variables: - Num. nonzeros: + Num. constraints: 4678043 + Num. variables: 2216368 + Num. nonzeros: 10513074 - Name: 4-1h - Size: M + Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-4-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 4 nodes Realistic: false - Num. constraints: - Num. variables: - Num. nonzeros: + Num. constraints: 9636397 + Num. variables: 4564134 + Num. nonzeros: 21900007 - Name: 6-1h - Size: M + Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-6-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 6 nodes Realistic: false - Num. constraints: - Num. variables: - Num. nonzeros: + Num. constraints: 14568486 + Num. variables: 6903154 + Num. nonzeros: 33460003 - Name: 8-1h - Size: M + Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-8-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 8 nodes Realistic: false - Num. constraints: - Num. variables: - Num. nonzeros: + Num. constraints: 19123880 + Num. variables: 9058202 + Num. nonzeros: 44092966 - Name: 10-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-10-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 10 nodes Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. Num. constraints: 23328888 Num. variables: 10994701 Num. nonzeros: 54427819 - Name: 12-1h - Size: M + Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-12-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 12 nodes Realistic: true - Num. constraints: - Num. variables: - Num. nonzeros: + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28234681 + Num. variables: 13359680 + Num. nonzeros: 65628075 - Name: 14-1h - Size: M + Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-14-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 14 nodes Realistic: true - Num. constraints: - Num. variables: - Num. nonzeros: + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 33087928 + Num. variables: 15663702 + Num. nonzeros: 77091272 - Name: 16-1h - Size: M + Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-16-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 16 nodes Realistic: true - Num. constraints: - Num. variables: - Num. nonzeros: + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 37529441 + Num. variables: 17766232 + Num. nonzeros: 87486821 - Name: 18-1h - Size: M + Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-18-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 18 nodes Realistic: true - Num. constraints: - Num. variables: - Num. nonzeros: + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 42172440 + Num. variables: 19956324 + Num. nonzeros: 98370872 - Name: 20-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-20-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 20 nodes Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. Num. constraints: 45553984 Num. variables: 21472540 Num. nonzeros: 106717276 @@ -1470,7 +1476,7 @@ benchmarks: Sizes: - Name: 1-1h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_1_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_1-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 1 nodes Realistic: @@ -1482,7 +1488,7 @@ benchmarks: Num. integer variables: 105120 - Name: 2-1h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 2 nodes Realistic: @@ -1494,7 +1500,7 @@ benchmarks: Num. integer variables: 210240 - Name: 3-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_3_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_3-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 3 nodes Realistic: @@ -1506,7 +1512,7 @@ benchmarks: Num. integer variables: 315360 - Name: 4-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 4 nodes Realistic: @@ -1518,7 +1524,7 @@ benchmarks: Num. integer variables: 420480 - Name: 5-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_5_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_5-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 5 nodes Realistic: @@ -1530,7 +1536,7 @@ benchmarks: Num. integer variables: 525600 - Name: 6-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 6 nodes Realistic: @@ -1542,7 +1548,7 @@ benchmarks: Num. integer variables: 630720 - Name: 7-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_7_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_7-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 7 nodes Realistic: @@ -1554,7 +1560,7 @@ benchmarks: Num. integer variables: 709560 - Name: 8-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 8 nodes Realistic: @@ -1566,7 +1572,7 @@ benchmarks: Num. integer variables: 788400 - Name: 9-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_9_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_9-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 9 nodes Realistic: @@ -1578,7 +1584,7 @@ benchmarks: Num. integer variables: 893520 - Name: 10-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 10 nodes Realistic: @@ -1590,7 +1596,7 @@ benchmarks: Num. integer variables: 998640 - Name: 11-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_11_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_11-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 11 nodes Realistic: @@ -1602,7 +1608,7 @@ benchmarks: Num. integer variables: 1077480 - Name: 12-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_12_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_12-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 12 nodes Realistic: @@ -1614,7 +1620,7 @@ benchmarks: Num. integer variables: 1156320 - Name: 13-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_13_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_13-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 13 nodes Realistic: @@ -1626,7 +1632,7 @@ benchmarks: Num. integer variables: 1208880 - Name: 14-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_14_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_14-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 14 nodes Realistic: @@ -1638,7 +1644,7 @@ benchmarks: Num. integer variables: 1287720 - Name: 15-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_15_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_15-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 15 nodes Realistic: @@ -1650,7 +1656,7 @@ benchmarks: Num. integer variables: 1340280 - Name: 16-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_16_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_16-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 16 nodes Realistic: @@ -1662,7 +1668,7 @@ benchmarks: Num. integer variables: 1445400 - Name: 17-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_17_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_17-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 17 nodes Realistic: @@ -1674,7 +1680,7 @@ benchmarks: Num. integer variables: 1471680 - Name: 18-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_18_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_18-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 18 nodes Realistic: @@ -1686,7 +1692,7 @@ benchmarks: Num. integer variables: 1524240 - Name: 19-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_19_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_19-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 19 nodes Realistic: @@ -1698,7 +1704,7 @@ benchmarks: Num. integer variables: 1603080 - Name: 20-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 20 nodes Realistic: @@ -1710,7 +1716,7 @@ benchmarks: Num. integer variables: 1655640 - Name: 2-3h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_2_3h_2050.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_2-3h.mps.gz Temporal resolution: 3 hour Spatial resolution: 2 nodes Realistic: @@ -1722,7 +1728,7 @@ benchmarks: Num. integer variables: 61320 - Name: 4-3h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_4_3h_2050.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_4-3h.mps.gz Temporal resolution: 3 hour Spatial resolution: 4 nodes Realistic: @@ -1734,7 +1740,7 @@ benchmarks: Num. integer variables: 113880 - Name: 6-3h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_6_3h_2050.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_6-3h.mps.gz Temporal resolution: 3 hour Spatial resolution: 6 nodes Realistic: @@ -1746,7 +1752,7 @@ benchmarks: Num. integer variables: 157680 - Name: 8-3h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_8_3h_2050.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_8-3h.mps.gz Temporal resolution: 3 hour Spatial resolution: 8 nodes Realistic: @@ -1758,7 +1764,7 @@ benchmarks: Num. integer variables: 201480 - Name: 10-3h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_10_3h_2050.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_10-3h.mps.gz Temporal resolution: 3 hour Spatial resolution: 10 nodes Realistic: @@ -1770,7 +1776,7 @@ benchmarks: Num. integer variables: 236520 - Name: 2-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_2_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 2 nodes Realistic: @@ -1782,7 +1788,7 @@ benchmarks: Num. integer variables: 8760 - Name: 4-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_4_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 4 nodes Realistic: @@ -1794,7 +1800,7 @@ benchmarks: Num. integer variables: 14235 - Name: 6-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_6_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 6 nodes Realistic: @@ -1806,7 +1812,7 @@ benchmarks: Num. integer variables: 19710 - Name: 8-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_8_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 8 nodes Realistic: @@ -1818,7 +1824,7 @@ benchmarks: Num. integer variables: 25185 - Name: 10-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_10_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 10 nodes Realistic: @@ -1830,7 +1836,7 @@ benchmarks: Num. integer variables: 29565 - Name: 12-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_12_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_12-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 12 nodes Realistic: @@ -1842,7 +1848,7 @@ benchmarks: Num. integer variables: 32850 - Name: 14-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_14_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_14-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 14 nodes Realistic: @@ -1854,7 +1860,7 @@ benchmarks: Num. integer variables: 36135 - Name: 16-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_16_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_16-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 16 nodes Realistic: @@ -1866,7 +1872,7 @@ benchmarks: Num. integer variables: 39420 - Name: 18-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_18_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_18-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 18 nodes Realistic: @@ -1878,7 +1884,7 @@ benchmarks: Num. integer variables: 42705 - Name: 20-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_20_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 20 nodes Realistic: @@ -1890,7 +1896,7 @@ benchmarks: Num. integer variables: 45990 - Name: 2-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 2 nodes Realistic: false @@ -1901,7 +1907,7 @@ benchmarks: Num. integer variables: 4392 - Name: 4-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 4 nodes Realistic: false @@ -1912,7 +1918,7 @@ benchmarks: Num. integer variables: 8784 - Name: 6-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 8 nodes Realistic: false @@ -1923,7 +1929,7 @@ benchmarks: Num. integer variables: 13176 - Name: 8-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 8 nodes Realistic: false @@ -1934,7 +1940,7 @@ benchmarks: Num. integer variables: 16470 - Name: 10-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 10 nodes Realistic: false @@ -1945,7 +1951,7 @@ benchmarks: Num. integer variables: 20862 - Name: 20-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 20 nodes Realistic: false @@ -1956,7 +1962,7 @@ benchmarks: Num. integer variables: 34587 - Name: 50-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_50_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_50-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 50 nodes Realistic: false @@ -1967,7 +1973,7 @@ benchmarks: Num. integer variables: 75213 - Name: 2-168h Size: S - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 2 nodes Realistic: false @@ -1978,7 +1984,7 @@ benchmarks: Num. integer variables: 1272 - Name: 4-168h Size: S - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 4 nodes Realistic: false @@ -1989,7 +1995,7 @@ benchmarks: Num. integer variables: 2544 - Name: 5-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_5_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_5-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2000,7 +2006,7 @@ benchmarks: Num. integer variables: 3180 - Name: 6-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 4 nodes Realistic: false @@ -2011,7 +2017,7 @@ benchmarks: Num. integer variables: 3816 - Name: 8-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 8 nodes Realistic: false @@ -2022,7 +2028,7 @@ benchmarks: Num. integer variables: 4770 - Name: 10-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 10 nodes Realistic: false @@ -2033,7 +2039,7 @@ benchmarks: Num. integer variables: 6042 - Name: 20-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 20 nodes Realistic: false @@ -2044,7 +2050,7 @@ benchmarks: Num. integer variables: 10017 - Name: 15-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_15_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_15-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2055,7 +2061,7 @@ benchmarks: Num. integer variables: 8109 - Name: 25-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_25_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_25-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2066,7 +2072,7 @@ benchmarks: Num. integer variables: 11925 - Name: 30-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_30_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_30-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2077,7 +2083,7 @@ benchmarks: Num. integer variables: 13992 - Name: 35-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_35_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_35-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2088,7 +2094,7 @@ benchmarks: Num. integer variables: 16377 - Name: 40-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_40_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_40-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2099,7 +2105,7 @@ benchmarks: Num. integer variables: 17967 - Name: 45-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_45_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_45-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2110,7 +2116,7 @@ benchmarks: Num. integer variables: 20193 - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_50_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_50-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 50 nodes Realistic: false @@ -2121,7 +2127,7 @@ benchmarks: Num. integer variables: 21783 - Name: 55-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_55_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_55-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2132,7 +2138,7 @@ benchmarks: Num. integer variables: 23373 - Name: 60-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_60_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_60-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2143,7 +2149,7 @@ benchmarks: Num. integer variables: 24645 - Name: 65-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_65_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_65-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2154,7 +2160,7 @@ benchmarks: Num. integer variables: 26712 - Name: 70-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_70_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_70-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2165,7 +2171,7 @@ benchmarks: Num. integer variables: 28461 - Name: 75-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_75_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_75-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2176,7 +2182,7 @@ benchmarks: Num. integer variables: 30528 - Name: 80-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_80_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_80-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2187,7 +2193,7 @@ benchmarks: Num. integer variables: 32118 - Name: 85-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_85_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_85-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2198,7 +2204,7 @@ benchmarks: Num. integer variables: 33708 - Name: 90-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_90_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_90-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2209,7 +2215,7 @@ benchmarks: Num. integer variables: 35457 - Name: 95-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_95_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_95-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -2220,7 +2226,7 @@ benchmarks: Num. integer variables: 37365 - Name: 100-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_100_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_100-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 100 nodes Realistic: false @@ -2231,7 +2237,7 @@ benchmarks: Num. integer variables: 39273 - Name: 2-5h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_5h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_5h.mps.gz Temporal resolution: 5 hours Spatial resolution: 2 nodes Realistic: false @@ -2242,7 +2248,7 @@ benchmarks: Num. integer variables: 42048 - Name: 2-8h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_8h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_8h.mps.gz Temporal resolution: 8 hours Spatial resolution: 2 nodes Realistic: false @@ -2253,7 +2259,7 @@ benchmarks: Num. integer variables: 26280 - Name: 2-12h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_12h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_12h.mps.gz Temporal resolution: 12 hours Spatial resolution: 2 nodes Realistic: false @@ -2264,7 +2270,7 @@ benchmarks: Num. integer variables: 17520 - Name: 2-36h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_36h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_36h.mps.gz Temporal resolution: 36 hours Spatial resolution: 2 nodes Realistic: false @@ -2275,7 +2281,7 @@ benchmarks: Num. integer variables: 5856 - Name: 2-84h Size: S - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_84h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_84h.mps.gz Temporal resolution: 84 hours Spatial resolution: 2 nodes Realistic: false @@ -2300,7 +2306,7 @@ benchmarks: Sizes: - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/milp_commercial_tests/pypsa-eur-elec-uc_50_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_50-168h.mps.gz Temporal resolution: 168 hours Spatial resolution: 50 nodes Realistic: false diff --git a/results/metadata.yaml b/results/metadata.yaml index 5adaa5f5..b93bd366 100644 --- a/results/metadata.yaml +++ b/results/metadata.yaml @@ -4098,6 +4098,151 @@ benchmarks: Num. constraints: 766338 Num. variables: 360533 Num. nonzeros: 1596484 + pypsa-de-sec: + Short description: Sector-coupled PyPSA-Eur runs for Germany without transmission + expansion. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, + Open Energy Transition + License: CC BY 4.0 + Problem class: LP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Sector-coupled + Sectors: Electric, Heating, Transport, Industry, Hydrogen, Biomass + Time horizon: Single period (2050) + MILP features: None + Sizes: + - Name: 10-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-10-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 142147 + Num. variables: 67416 + Num. nonzeros: 332009 + - Name: 20-12h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-20-12h.mps.gz + Temporal resolution: 12 hours + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 3797984 + Num. variables: 1791010 + Num. nonzeros: 8932707 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 677039 + Num. variables: 321282 + Num. nonzeros: 1603304 + - Name: 2-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-2-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 4678043 + Num. variables: 2216368 + Num. nonzeros: 10513074 + - Name: 4-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-4-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: 9636397 + Num. variables: 4564134 + Num. nonzeros: 21900007 + - Name: 6-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-6-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 6 nodes + Realistic: false + Num. constraints: 14568486 + Num. variables: 6903154 + Num. nonzeros: 33460003 + - Name: 8-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-8-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: 19123880 + Num. variables: 9058202 + Num. nonzeros: 44092966 + - Name: 10-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-10-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 10 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 23328888 + Num. variables: 10994701 + Num. nonzeros: 54427819 + - Name: 12-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-12-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 12 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28234681 + Num. variables: 13359680 + Num. nonzeros: 65628075 + - Name: 14-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-14-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 14 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 33087928 + Num. variables: 15663702 + Num. nonzeros: 77091272 + - Name: 16-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-16-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 16 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 37529441 + Num. variables: 17766232 + Num. nonzeros: 87486821 + - Name: 18-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-18-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 18 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 42172440 + Num. variables: 19956324 + Num. nonzeros: 98370872 + - Name: 20-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-20-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 20 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 45553984 + Num. variables: 21472540 + Num. nonzeros: 106717276 pypsa-de-sec-trex_copt: Short description: Sector-coupled PyPSA-Eur runs for Germany with cost-optimal transmission expansion. @@ -4222,7 +4367,7 @@ benchmarks: Sizes: - Name: 1-1h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_1_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_1-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 1 nodes Realistic: @@ -4234,7 +4379,7 @@ benchmarks: Num. integer variables: 105120 - Name: 2-1h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 2 nodes Realistic: @@ -4246,7 +4391,7 @@ benchmarks: Num. integer variables: 210240 - Name: 3-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_3_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_3-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 3 nodes Realistic: @@ -4258,7 +4403,7 @@ benchmarks: Num. integer variables: 315360 - Name: 4-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 4 nodes Realistic: @@ -4270,7 +4415,7 @@ benchmarks: Num. integer variables: 420480 - Name: 5-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_5_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_5-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 5 nodes Realistic: @@ -4282,7 +4427,7 @@ benchmarks: Num. integer variables: 525600 - Name: 6-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 6 nodes Realistic: @@ -4294,7 +4439,7 @@ benchmarks: Num. integer variables: 630720 - Name: 7-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_7_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_7-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 7 nodes Realistic: @@ -4306,7 +4451,7 @@ benchmarks: Num. integer variables: 709560 - Name: 8-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 8 nodes Realistic: @@ -4318,7 +4463,7 @@ benchmarks: Num. integer variables: 788400 - Name: 9-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_9_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_9-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 9 nodes Realistic: @@ -4330,7 +4475,7 @@ benchmarks: Num. integer variables: 893520 - Name: 10-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 10 nodes Realistic: @@ -4342,7 +4487,7 @@ benchmarks: Num. integer variables: 998640 - Name: 11-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_11_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_11-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 11 nodes Realistic: @@ -4354,7 +4499,7 @@ benchmarks: Num. integer variables: 1077480 - Name: 12-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_12_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_12-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 12 nodes Realistic: @@ -4366,7 +4511,7 @@ benchmarks: Num. integer variables: 1156320 - Name: 13-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_13_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_13-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 13 nodes Realistic: @@ -4378,7 +4523,7 @@ benchmarks: Num. integer variables: 1208880 - Name: 14-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_14_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_14-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 14 nodes Realistic: @@ -4390,7 +4535,7 @@ benchmarks: Num. integer variables: 1287720 - Name: 15-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_15_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_15-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 15 nodes Realistic: @@ -4402,7 +4547,7 @@ benchmarks: Num. integer variables: 1340280 - Name: 16-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_16_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_16-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 16 nodes Realistic: @@ -4414,7 +4559,7 @@ benchmarks: Num. integer variables: 1445400 - Name: 17-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_17_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_17-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 17 nodes Realistic: @@ -4426,7 +4571,7 @@ benchmarks: Num. integer variables: 1471680 - Name: 18-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_18_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_18-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 18 nodes Realistic: @@ -4438,7 +4583,7 @@ benchmarks: Num. integer variables: 1524240 - Name: 19-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_19_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_19-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 19 nodes Realistic: @@ -4450,7 +4595,7 @@ benchmarks: Num. integer variables: 1603080 - Name: 20-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 20 nodes Realistic: @@ -4462,7 +4607,7 @@ benchmarks: Num. integer variables: 1655640 - Name: 2-3h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_2_3h_2050.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_2-3h.mps.gz Temporal resolution: 3 hour Spatial resolution: 2 nodes Realistic: @@ -4474,7 +4619,7 @@ benchmarks: Num. integer variables: 61320 - Name: 4-3h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_4_3h_2050.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_4-3h.mps.gz Temporal resolution: 3 hour Spatial resolution: 4 nodes Realistic: @@ -4486,7 +4631,7 @@ benchmarks: Num. integer variables: 113880 - Name: 6-3h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_6_3h_2050.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_6-3h.mps.gz Temporal resolution: 3 hour Spatial resolution: 6 nodes Realistic: @@ -4498,7 +4643,7 @@ benchmarks: Num. integer variables: 157680 - Name: 8-3h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_8_3h_2050.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_8-3h.mps.gz Temporal resolution: 3 hour Spatial resolution: 8 nodes Realistic: @@ -4510,7 +4655,7 @@ benchmarks: Num. integer variables: 201480 - Name: 10-3h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-eur-elec-uc_10_3h_2050.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_10-3h.mps.gz Temporal resolution: 3 hour Spatial resolution: 10 nodes Realistic: @@ -4522,7 +4667,7 @@ benchmarks: Num. integer variables: 236520 - Name: 2-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_2_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 2 nodes Realistic: @@ -4534,7 +4679,7 @@ benchmarks: Num. integer variables: 8760 - Name: 4-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_4_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 4 nodes Realistic: @@ -4546,7 +4691,7 @@ benchmarks: Num. integer variables: 14235 - Name: 6-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_6_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 6 nodes Realistic: @@ -4558,7 +4703,7 @@ benchmarks: Num. integer variables: 19710 - Name: 8-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_8_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 8 nodes Realistic: @@ -4570,7 +4715,7 @@ benchmarks: Num. integer variables: 25185 - Name: 10-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_10_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 10 nodes Realistic: @@ -4582,7 +4727,7 @@ benchmarks: Num. integer variables: 29565 - Name: 12-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_12_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_12-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 12 nodes Realistic: @@ -4594,7 +4739,7 @@ benchmarks: Num. integer variables: 32850 - Name: 14-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_14_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_14-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 14 nodes Realistic: @@ -4606,7 +4751,7 @@ benchmarks: Num. integer variables: 36135 - Name: 16-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_16_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_16-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 16 nodes Realistic: @@ -4618,7 +4763,7 @@ benchmarks: Num. integer variables: 39420 - Name: 18-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_18_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_18-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 18 nodes Realistic: @@ -4630,7 +4775,7 @@ benchmarks: Num. integer variables: 42705 - Name: 20-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/pypsa-de-tests/pypsa-de-elec-uc_20_24H.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-24h.mps.gz Temporal resolution: 24 hour Spatial resolution: 20 nodes Realistic: @@ -4642,7 +4787,7 @@ benchmarks: Num. integer variables: 45990 - Name: 2-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 2 nodes Realistic: false @@ -4653,7 +4798,7 @@ benchmarks: Num. integer variables: 4392 - Name: 4-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 4 nodes Realistic: false @@ -4664,7 +4809,7 @@ benchmarks: Num. integer variables: 8784 - Name: 6-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 8 nodes Realistic: false @@ -4675,7 +4820,7 @@ benchmarks: Num. integer variables: 13176 - Name: 8-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 8 nodes Realistic: false @@ -4686,7 +4831,7 @@ benchmarks: Num. integer variables: 16470 - Name: 10-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 10 nodes Realistic: false @@ -4697,7 +4842,7 @@ benchmarks: Num. integer variables: 20862 - Name: 20-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 20 nodes Realistic: false @@ -4708,7 +4853,7 @@ benchmarks: Num. integer variables: 34587 - Name: 50-48h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_50_48h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_50-48h.mps.gz Temporal resolution: 48 hour Spatial resolution: 50 nodes Realistic: false @@ -4719,7 +4864,7 @@ benchmarks: Num. integer variables: 75213 - Name: 2-168h Size: S - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 2 nodes Realistic: false @@ -4730,7 +4875,7 @@ benchmarks: Num. integer variables: 1272 - Name: 4-168h Size: S - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_4_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 4 nodes Realistic: false @@ -4741,7 +4886,7 @@ benchmarks: Num. integer variables: 2544 - Name: 5-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_5_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_5-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4752,7 +4897,7 @@ benchmarks: Num. integer variables: 3180 - Name: 6-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_6_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 4 nodes Realistic: false @@ -4763,7 +4908,7 @@ benchmarks: Num. integer variables: 3816 - Name: 8-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_8_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 8 nodes Realistic: false @@ -4774,7 +4919,7 @@ benchmarks: Num. integer variables: 4770 - Name: 10-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_10_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 10 nodes Realistic: false @@ -4785,7 +4930,7 @@ benchmarks: Num. integer variables: 6042 - Name: 20-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_20_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 20 nodes Realistic: false @@ -4796,7 +4941,7 @@ benchmarks: Num. integer variables: 10017 - Name: 15-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_15_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_15-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4807,7 +4952,7 @@ benchmarks: Num. integer variables: 8109 - Name: 25-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_25_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_25-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4818,7 +4963,7 @@ benchmarks: Num. integer variables: 11925 - Name: 30-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_30_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_30-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4829,7 +4974,7 @@ benchmarks: Num. integer variables: 13992 - Name: 35-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_35_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_35-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4840,7 +4985,7 @@ benchmarks: Num. integer variables: 16377 - Name: 40-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_40_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_40-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4851,7 +4996,7 @@ benchmarks: Num. integer variables: 17967 - Name: 45-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_45_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_45-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4862,7 +5007,7 @@ benchmarks: Num. integer variables: 20193 - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_50_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_50-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 50 nodes Realistic: false @@ -4873,7 +5018,7 @@ benchmarks: Num. integer variables: 21783 - Name: 55-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_55_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_55-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4884,7 +5029,7 @@ benchmarks: Num. integer variables: 23373 - Name: 60-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_60_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_60-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4895,7 +5040,7 @@ benchmarks: Num. integer variables: 24645 - Name: 65-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_65_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_65-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4906,7 +5051,7 @@ benchmarks: Num. integer variables: 26712 - Name: 70-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_70_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_70-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4917,7 +5062,7 @@ benchmarks: Num. integer variables: 28461 - Name: 75-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_75_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_75-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4928,7 +5073,7 @@ benchmarks: Num. integer variables: 30528 - Name: 80-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_80_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_80-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4939,7 +5084,7 @@ benchmarks: Num. integer variables: 32118 - Name: 85-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_85_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_85-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4950,7 +5095,7 @@ benchmarks: Num. integer variables: 33708 - Name: 90-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_90_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_90-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4961,7 +5106,7 @@ benchmarks: Num. integer variables: 35457 - Name: 95-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_95_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_95-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 5 nodes Realistic: false @@ -4972,7 +5117,7 @@ benchmarks: Num. integer variables: 37365 - Name: 100-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_100_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_100-168h.mps.gz Temporal resolution: 168 hour Spatial resolution: 100 nodes Realistic: false @@ -4983,7 +5128,7 @@ benchmarks: Num. integer variables: 39273 - Name: 2-5h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_5h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_5h.mps.gz Temporal resolution: 5 hours Spatial resolution: 2 nodes Realistic: false @@ -4994,7 +5139,7 @@ benchmarks: Num. integer variables: 42048 - Name: 2-8h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_8h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_8h.mps.gz Temporal resolution: 8 hours Spatial resolution: 2 nodes Realistic: false @@ -5005,7 +5150,7 @@ benchmarks: Num. integer variables: 26280 - Name: 2-12h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_12h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_12h.mps.gz Temporal resolution: 12 hours Spatial resolution: 2 nodes Realistic: false @@ -5016,7 +5161,7 @@ benchmarks: Num. integer variables: 17520 - Name: 2-36h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_36h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_36h.mps.gz Temporal resolution: 36 hours Spatial resolution: 2 nodes Realistic: false @@ -5027,7 +5172,7 @@ benchmarks: Num. integer variables: 5856 - Name: 2-84h Size: S - URL: https://storage.googleapis.com/solver-benchmarks/tests/pypsa-de-milp-scaling/pypsa-de-elec-uc_2_84h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_84h.mps.gz Temporal resolution: 84 hours Spatial resolution: 2 nodes Realistic: false @@ -5053,7 +5198,7 @@ benchmarks: Sizes: - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/tests/milp_commercial_tests/pypsa-eur-elec-uc_50_168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_50-168h.mps.gz Temporal resolution: 168 hours Spatial resolution: 50 nodes Realistic: false @@ -5212,6 +5357,7 @@ benchmarks: as Realistic. Num. constraints: 18422757 Num. variables: 13134385 + Num. nonzeros: 41956094 Num. non-zeros: 41956094 SWITCH-China-open-model: Short description: A large-scale national energy system model of China built using From acb819f0b5a5275388f219a16071c3760bfe870d Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Tue, 26 May 2026 18:35:31 +0200 Subject: [PATCH 31/38] Fix is_mip_problem --- runner/run_solver.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/runner/run_solver.py b/runner/run_solver.py index 9efb050f..8f4b34b5 100644 --- a/runner/run_solver.py +++ b/runner/run_solver.py @@ -467,7 +467,13 @@ def main(solver_name, input_file, solver_version): status_value = "ER" objective = None - if is_mip_problem(solver_model, solver_name): + try: + is_mip = is_mip_problem(solver_model, solver_name) + except Exception: + print(f"ERROR checking MIP status: {format_exc()}", file=sys.stderr) + is_mip = False + + if is_mip: duality_gap, max_integrality_violation = get_milp_metrics( input_file, solver_result, solver_name ) From ab3b0766c4a33e6d1e27e170c927806b91735af1 Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 27 May 2026 12:17:54 +0200 Subject: [PATCH 32/38] Update pypsa metadata --- benchmarks/pypsa/metadata.yaml | 2188 ++++++++++++++-------------- benchmarks/spineopt/metadata.yaml | 21 +- results/metadata.yaml | 2203 +++++++++++++++-------------- 3 files changed, 2295 insertions(+), 2117 deletions(-) diff --git a/benchmarks/pypsa/metadata.yaml b/benchmarks/pypsa/metadata.yaml index 424c3aa2..67f149aa 100644 --- a/benchmarks/pypsa/metadata.yaml +++ b/benchmarks/pypsa/metadata.yaml @@ -13,16 +13,6 @@ benchmarks: Time horizon: Single period (2050) MILP features: None Sizes: - - Name: 50-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-50-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 50 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 22137355 - Num. variables: 10626468 - Num. nonzeros: 41991604 - Name: 50-3h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-50-3h.mps.gz @@ -126,8 +116,8 @@ benchmarks: Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) with cost-optimal transmission expansion. Modelling framework: PyPSA Model name: PyPSA-Eur - Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, Open Energy Transition License: CC BY 4.0 Problem class: LP Application: Infrastructure & Capacity Expansion @@ -192,8 +182,8 @@ benchmarks: Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) with dynamic fuel pricing and transmission expansion based on optimal volume increase. Modelling framework: PyPSA Model name: PyPSA-Eur - Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, Open Energy Transition License: CC BY 4.0 Problem class: LP Application: Infrastructure & Capacity Expansion @@ -225,8 +215,8 @@ benchmarks: Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) with dynamic fuel pricing and cost-optimal transmission expansion. Modelling framework: PyPSA Model name: PyPSA-Eur - Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, Open Energy Transition License: CC BY 4.0 Problem class: LP Application: Infrastructure & Capacity Expansion @@ -350,261 +340,786 @@ benchmarks: Num. constraints: 690537 Num. variables: 328924 Num. nonzeros: 1624296 - pypsa-de-elec: - Short description: Power-sector PyPSA-Eur overnight runs for Germany without transmission expansion. + pypsa-eur-elec-uc: # None of these problems have been used either for the scaling study in the State of Solvers report or for the website, but can be used for run v3 + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) without transmission expansion and including unit commitment. Modelling framework: PyPSA Model name: PyPSA-Eur Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, Open Energy Transition + Contributor(s)/Source: Daniele Lerede, Open Energy Transition License: CC BY 4.0 - Problem class: LP + Problem class: MILP Application: Infrastructure & Capacity Expansion Sectoral focus: Power-only Sectors: Electric Time horizon: Single period (2050) - MILP features: None + MILP features: Unit commitment Sizes: - - Name: 10-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-10-3h.mps.gz - Temporal resolution: 3 hours - Spatial resolution: 10 nodes - Realistic: false - Num. constraints: 1501029 - Num. variables: 703831 - Num. nonzeros: 2817460 + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28602269 + Num. variables: 14419506 + Num. nonzeros: 67396325 + Num. continuous variables: 11449866 + Num. integer variables: 2969640 - Name: 50-3h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-50-3h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-50-3h.mps.gz Temporal resolution: 3 hours Spatial resolution: 50 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 6123937 - Num. variables: 2879645 - Num. nonzeros: 11971163 - - Name: 2-1h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-2-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 2 nodes - Realistic: false - Num. constraints: 1165120 - Num. variables: 569341 - Num. nonzeros: 2133907 - - Name: 3-1h + Num. constraints: 9534669 + Num. variables: 4806866 + Num. nonzeros: 22479908 + Num. continuous variables: 3816986 + Num. integer variables: 989880 + - Name: 50-24h Size: M - Temporal resolution: 1 hour - Spatial resolution: 3 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes Realistic: false - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-3-1h.mps.gz - Num. constraints: 1533052 - Num. variables: 727118 - Num. nonzeros: 2859964 - - Name: 4-1h + Num. constraints: 1192594 + Num. variables: 601336 + Num. nonzeros: 2827078 + Num. continuous variables: 477601 + Num. integer variables: 123735 + - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-4-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 4 nodes - Realistic: false - Num. constraints: 2041145 - Num. variables: 963648 - Num. nonzeros: 3812907 - - Name: 5-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-5-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 2575524 - Num. variables: 1208941 - Num. nonzeros: 4817602 - - Name: 6-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-6-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 6 nodes - Realistic: false - Num. constraints: 2943457 - Num. variables: 1384151 - Num. nonzeros: 5498751 - - Name: 7-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-7-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 7 nodes - Realistic: false - Num. constraints: 3285110 - Num. variables: 1550601 - Num. nonzeros: 6127108 - - Name: 8-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-8-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 8 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes Realistic: false - Num. constraints: 3731883 - Num. variables: 1752091 - Num. nonzeros: 6956950 - - Name: 9-1h + Num. constraints: 173914 + Num. variables: 87784 + Num. nonzeros: 408597 + Num. continuous variables: 69817 + Num. integer variables: 17967 + - Name: 100-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-9-1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-100-1h.mps.gz Temporal resolution: 1 hour - Spatial resolution: 9 nodes - Realistic: false - Num. constraints: 4082296 - Num. variables: 1918541 - Num. nonzeros: 7629449 - - Name: 10-1h + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 51869560 + Num. variables: 26044544 + Num. nonzeros: 120588241 + Num. continuous variables: 20972504 + Num. integer variables: 5072040 + - Name: 100-3h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-10-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 10 nodes - Realistic: false - Num. constraints: 4502789 - Num. variables: 2111271 - Num. nonzeros: 8442185 - - Name: 11-1h + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 17290920 + Num. variables: 8682224 + Num. nonzeros: 40226481 + Num. continuous variables: 6991544 + Num. integer variables: 1690680 + - Name: 100-24h Size: L - Temporal resolution: 1 hour - Spatial resolution: 11 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes Realistic: false - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-11-1h.mps.gz - Num. constraints: 4835682 - Num. variables: 2268961 - Num. nonzeros: 9070231 - - Name: 12-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-12-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 12 nodes + Num. constraints: 2162765 + Num. variables: 1086209 + Num. nonzeros: 5063992 + Num. continuous variables: 874874 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes Realistic: false - Num. constraints: 5221135 - Num. variables: 2444171 - Num. nonzeros: 9778117 - - Name: 13-1h + Num. constraints: 315413 + Num. variables: 158633 + Num. nonzeros: 732787 + Num. continuous variables: 127946 + Num. integer variables: 30687 + pypsa-eur-elec-trex_vopt-uc: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) with transmission expansion based on optimal volume increase and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-13-1h.mps.gz - Num. constraints: 5536508 + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-50-1h.mps.gz Temporal resolution: 1 hour - Spatial resolution: 13 nodes - Realistic: false - Num. variables: 2601861 - Num. nonzeros: 10397638 - - Name: 14-1h + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28602269 + Num. variables: 14419506 + Num. nonzeros: 67396325 + Num. continuous variables: 11449866 + Num. integer variables: 2969640 + - Name: 50-3h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-14-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 14 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9534669 + Num. variables: 4806866 + Num. nonzeros: 22479908 + Num. continuous variables: 3816986 + Num. integer variables: 989880 + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes Realistic: false - Num. constraints: 6053365 - Num. variables: 2838393 - Num. nonzeros: 11376001 - - Name: 15-1h - Size: L - Temporal resolution: 1 hour - Spatial resolution: 15 nodes + Num. constraints: 1192594 + Num. variables: 601336 + Num. nonzeros: 2827078 + Num. continuous variables: 477601 + Num. integer variables: 123735 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes Realistic: false - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-15-1h.mps.gz - Num. constraints: 6359974 - Num. variables: 2978561 - Num. nonzeros: 11934995 - - Name: 16-1h + Num. constraints: 173914 + Num. variables: 87784 + Num. nonzeros: 408597 + Num. continuous variables: 69817 + Num. integer variables: 17967 + - Name: 100-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-16-1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-100-1h.mps.gz Temporal resolution: 1 hour - Spatial resolution: 16 nodes - Realistic: false - Num. constraints: 6754193 - Num. variables: 3171294 - Num. nonzeros: 12684994 - - Name: 17-1h + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 51869560 + Num. variables: 26044544 + Num. nonzeros: 120588241 + Num. continuous variables: 20972504 + Num. integer variables: 5072040 + - Name: 100-3h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-17-1h.mps.gz - Num. constraints: 7183446 - Temporal resolution: 1 hour - Spatial resolution: 17 nodes - Realistic: false - Num. variables: 3364024 - Num. nonzeros: 13550014 - - Name: 18-1h + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 17290920 + Num. variables: 8682224 + Num. nonzeros: 40226481 + Num. continuous variables: 6991544 + Num. integer variables: 1690680 + - Name: 100-24h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-18-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 18 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes Realistic: false - Num. constraints: 7568897 - Num. variables: 3539233 - Num. nonzeros: 14248409 - - Name: 19-1h - Size: L - Temporal resolution: 1 hour - Spatial resolution: 19 nodes + Num. constraints: 2162765 + Num. variables: 1086209 + Num. nonzeros: 5063992 + Num. continuous variables: 874874 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes Realistic: false - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-19-1h.mps.gz - Num. constraints: 7928072 - Num. variables: 3714444 - Num. nonzeros: 14956181 - - Name: 20-1h + Num. constraints: 315413 + Num. variables: 158633 + Num. nonzeros: 732787 + Num. continuous variables: 127946 + Num. integer variables: 30687 + pypsa-eur-elec-trex_copt-uc: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) with cost-optimal transmission expansion and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-20-1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-50-1h.mps.gz Temporal resolution: 1 hour - Spatial resolution: 20 nodes + Spatial resolution: 50 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 8208403 - Num. variables: 3854613 - Num. nonzeros: 15540441 - - Name: 21-1h + Num. constraints: 28602597 + Num. variables: 14419670 + Num. nonzeros: 69972093 + Num. continuous variables: 11450030 + Num. integer variables: 2969640 + - Name: 50-3h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-21-1h.mps.gz - Num. constraints: 8795338 - Temporal resolution: 1 hour - Spatial resolution: 21 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. variables: 4108664 - Num. nonzeros: 16763529 - - Name: 22-1h + Num. constraints: 9534997 + Num. variables: 4807030 + Num. nonzeros: 23338716 + Num. continuous variables: 3817150 + Num. integer variables: 989880 + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1192922 + Num. variables: 601500 + Num. nonzeros: 2934716 + Num. continuous variables: 477765 + Num. integer variables: 123735 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 174242 + Num. variables: 87948 + Num. nonzeros: 424507 + Num. continuous variables: 69981 + Num. integer variables: 17967 + - Name: 100-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-22-1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-100-1h.mps.gz Temporal resolution: 1 hour - Spatial resolution: 22 nodes + Spatial resolution: 100 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 9066911 - Num. variables: 4240074 - Num. nonzeros: 17322007 - - Name: 23-1h + Num. constraints: 51870114 + Num. variables: 26044821 + Num. nonzeros: 125117715 + Num. continuous variables: 20972781 + Num. integer variables: 5072040 + - Name: 100-3h Size: L - Temporal resolution: 1 hour - Spatial resolution: 23 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-23-1h.mps.gz - Num. constraints: 9434848 - Num. variables: 4415286 - Num. nonzeros: 18132555 - - Name: 24-1h + Num. constraints: 17291474 + Num. variables: 8682501 + Num. nonzeros: 41736675 + Num. continuous variables: 6991821 + Num. integer variables: 1690680 + - Name: 100-24h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-24-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 24 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 2163319 + Num. variables: 1086486 + Num. nonzeros: 5253251 + Num. continuous variables: 875151 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 315967 + Num. variables: 158910 + Num. nonzeros: 760742 + Num. continuous variables: 128223 + Num. integer variables: 30687 + pypsa-eur-elec-uc-dfp: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) with dynamic fuel pricing and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 9802781 - Num. variables: 4581736 - Num. nonzeros: 18700792 - - Name: 25-1h + Num. constraints: 28602269 + Num. variables: 14419506 + Num. nonzeros: 67396325 + Num. continuous variables: 11449866 + Num. integer variables: 2969640 + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9534669 + Num. variables: 4806866 + Num. nonzeros: 22479908 + Num. continuous variables: 3816986 + Num. integer variables: 989880 + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1192594 + Num. variables: 601336 + Num. nonzeros: 2827078 + Num. continuous variables: 477601 + Num. integer variables: 123735 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 173914 + Num. variables: 87784 + Num. nonzeros: 408597 + Num. continuous variables: 69817 + Num. integer variables: 17967 + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 51869560 + Num. variables: 26044544 + Num. nonzeros: 120588241 + Num. continuous variables: 20972504 + Num. integer variables: 5072040 + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 17290920 + Num. variables: 8682224 + Num. nonzeros: 40226481 + Num. continuous variables: 6991544 + Num. integer variables: 1690680 + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 2162765 + Num. variables: 1086209 + Num. nonzeros: 5063992 + Num. continuous variables: 874874 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 315413 + Num. variables: 158633 + Num. nonzeros: 732787 + Num. continuous variables: 127946 + Num. integer variables: 30687 + pypsa-eur-elec-trex_vopt-uc-dfp: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) with dynamic fuel pricing, transmission expansion based on optimal volume increase, and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28602597 + Num. variables: 14419670 + Num. nonzeros: 69972093 + Num. continuous variables: 11450030 + Num. integer variables: 2969640 + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9534997 + Num. variables: 4807030 + Num. nonzeros: 23338716 + Num. continuous variables: 3817150 + Num. integer variables: 989880 + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1192922 + Num. variables: 601500 + Num. nonzeros: 2934716 + Num. continuous variables: 477765 + Num. integer variables: 123735 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 174242 + Num. variables: 87948 + Num. nonzeros: 424507 + Num. continuous variables: 69981 + Num. integer variables: 17967 + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 51870114 + Num. variables: 26044821 + Num. nonzeros: 125117715 + Num. continuous variables: 20972781 + Num. integer variables: 5072040 + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 17291474 + Num. variables: 8682501 + Num. nonzeros: 41736675 + Num. continuous variables: 6991821 + Num. integer variables: 1690680 + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 2163319 + Num. variables: 1086486 + Num. nonzeros: 5253251 + Num. continuous variables: 875151 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 315967 + Num. variables: 158910 + Num. nonzeros: 760742 + Num. continuous variables: 128223 + Num. integer variables: 30687 + pypsa-eur-elec-trex_copt-uc-dfp: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) with dynamic fuel pricing, cost-optimal transmission expansion, and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28602597 + Num. variables: 14419670 + Num. nonzeros: 69972093 + Num. continuous variables: 11450030 + Num. integer variables: 2969640 + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9534997 + Num. variables: 4807030 + Num. nonzeros: 23338716 + Num. continuous variables: 3817150 + Num. integer variables: 989880 + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1192922 + Num. variables: 601500 + Num. nonzeros: 2934716 + Num. continuous variables: 477765 + Num. integer variables: 123735 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 174242 + Num. variables: 87948 + Num. nonzeros: 424507 + Num. continuous variables: 69981 + Num. integer variables: 17967 + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 51870114 + Num. variables: 26044821 + Num. nonzeros: 125117715 + Num. continuous variables: 20972781 + Num. integer variables: 5072040 + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 17291474 + Num. variables: 8682501 + Num. nonzeros: 41736675 + Num. continuous variables: 6991821 + Num. integer variables: 1690680 + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 2163319 + Num. variables: 1086486 + Num. nonzeros: 5253251 + Num. continuous variables: 875151 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 315967 + Num. variables: 158910 + Num. continuous variables: 128223 + Num. integer variables: 30687 + Num. nonzeros: 1624296 + pypsa-de-elec: + Short description: Power-sector PyPSA-Eur overnight runs for Germany without transmission expansion. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, Open Energy Transition + License: CC BY 4.0 + Problem class: LP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: None + Sizes: + - Name: 10-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-10-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 1501029 + Num. variables: 703831 + Num. nonzeros: 2817460 + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 6123937 + Num. variables: 2879645 + Num. nonzeros: 11971163 + - Name: 2-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-2-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 1165120 + Num. variables: 569341 + Num. nonzeros: 2133907 + - Name: 4-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-4-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: 2041145 + Num. variables: 963648 + Num. nonzeros: 3812907 + - Name: 6-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-6-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 6 nodes + Realistic: false + Num. constraints: 2943457 + Num. variables: 1384151 + Num. nonzeros: 5498751 + - Name: 8-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-8-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: 3731883 + Num. variables: 1752091 + Num. nonzeros: 6956950 + - Name: 10-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-10-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 4502789 + Num. variables: 2111271 + Num. nonzeros: 8442185 + - Name: 12-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-12-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 12 nodes + Realistic: false + Num. constraints: 5221135 + Num. variables: 2444171 + Num. nonzeros: 9778117 + - Name: 14-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-14-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 14 nodes + Realistic: false + Num. constraints: 6053365 + Num. variables: 2838393 + Num. nonzeros: 11376001 + - Name: 16-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-16-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 16 nodes + Realistic: false + Num. constraints: 6754193 + Num. variables: 3171294 + Num. nonzeros: 12684994 + - Name: 18-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-18-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 18 nodes + Realistic: false + Num. constraints: 7568897 + Num. variables: 3539233 + Num. nonzeros: 14248409 + - Name: 20-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-20-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 20 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 8208403 + Num. variables: 3854613 + Num. nonzeros: 15540441 + - Name: 22-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-22-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 22 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9066911 + Num. variables: 4240074 + Num. nonzeros: 17322007 + - Name: 24-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-25-1h.mps.gz - Num. constraints: 10118152 + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-24-1h.mps.gz Temporal resolution: 1 hour - Spatial resolution: 25 nodes + Spatial resolution: 24 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. variables: 4739425 - Num. nonzeros: 19354461 + Num. constraints: 9802781 + Num. variables: 4581736 + Num. nonzeros: 18700792 - Name: 26-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-26-1h.mps.gz @@ -615,16 +1130,6 @@ benchmarks: Num. constraints: 10459811 Num. variables: 4897118 Num. nonzeros: 19922369 - - Name: 27-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-27-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 27 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 10775184 - Num. variables: 5054808 - Num. nonzeros: 20567343 - Name: 28-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-28-1h.mps.gz @@ -635,16 +1140,6 @@ benchmarks: Num. constraints: 11134357 Num. variables: 5212498 Num. nonzeros: 21598028 - - Name: 29-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-29-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 29 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 11589892 - Num. variables: 5413989 - Num. nonzeros: 22253091 - Name: 30-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-30-1h.mps.gz @@ -655,16 +1150,6 @@ benchmarks: Num. constraints: 11843941 Num. variables: 5554157 Num. nonzeros: 22592234 - - Name: 31-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-31-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 31 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 12001636 - Num. variables: 5641768 - Num. nonzeros: 23055356 - Name: 32-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-32-1h.mps.gz @@ -675,16 +1160,6 @@ benchmarks: Num. constraints: 12404607 Num. variables: 5825737 Num. nonzeros: 23726812 - - Name: 33-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-33-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 33 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 12719982 - Num. variables: 5974668 - Num. nonzeros: 24530912 - Name: 34-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-34-1h.mps.gz @@ -695,16 +1170,6 @@ benchmarks: Num. constraints: 12991559 Num. variables: 6106080 Num. nonzeros: 25044646 - - Name: 35-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-35-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 35 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 13534692 - Num. variables: 6351370 - Num. nonzeros: 25945319 - Name: 36-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-36-1h.mps.gz @@ -715,16 +1180,6 @@ benchmarks: Num. constraints: 13718665 Num. variables: 6438980 Num. nonzeros: 26676672 - - Name: 37-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-37-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 37 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 13911394 - Num. variables: 6552868 - Num. nonzeros: 27050356 - Name: 38-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-38-1h.mps.gz @@ -735,16 +1190,6 @@ benchmarks: Num. constraints: 14410731 Num. variables: 6771880 Num. nonzeros: 27800922 - - Name: 39-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-39-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 39 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 14612224 - Num. variables: 6868250 - Num. nonzeros: 27877704 - Name: 40-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-40-1h.mps.gz @@ -1084,7 +1529,7 @@ benchmarks: Modelling framework: PyPSA Model name: PyPSA-Eur Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, Open Energy Transition License: CC BY 4.0 Problem class: LP Application: Infrastructure & Capacity Expansion @@ -1155,7 +1600,7 @@ benchmarks: Modelling framework: PyPSA Model name: PyPSA-Eur Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, Open Energy Transition License: CC BY 4.0 Problem class: LP Application: Infrastructure & Capacity Expansion @@ -1426,610 +1871,93 @@ benchmarks: - Name: 10-24h Size: M URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-trex_vopt-10-24h.mps.gz - Temporal resolution: 24 hours - Spatial resolution: 10 nodes - Realistic: false - Num. constraints: 973111 - Num. variables: 459030 - Num. nonzeros: 2306551 - - Name: 20-12h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-trex_vopt-20-12h.mps.gz - Temporal resolution: 12 hours - Spatial resolution: 20 nodes - Realistic: false - Num. constraints: 3798134 - Num. variables: 1791085 - Num. nonzeros: 9016077 - - Name: 50-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-trex_vopt-50-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 50 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 111090778 - Num. variables: 52371864 - Num. nonzeros: 264794044 - - Name: 50-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-trex_vopt-50-168h.mps.gz - Temporal resolution: 168 hours - Spatial resolution: 50 nodes - Realistic: false - Num. constraints: 677311 - Num. variables: 321418 - Num. nonzeros: 1616084 - pypsa-de-elec-uc: - Short description: - Modelling framework: PyPSA - Model name: - Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition - License: CC BY 4.0 - Problem class: MILP - Application: - Sectoral focus: - Sectors: Electric - Time horizon: - MILP features: Unit commitment - Sizes: - - Name: 1-1h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_1-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 1 nodes - Realistic: - Realistic motivation: - Num. constraints: 674540 - Num. variables: 359129 - Num. nonzeros: 1645530 - Num. continuous variables: 254009 - Num. integer variables: 105120 - - Name: 2-1h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 2 nodes - Realistic: - Realistic motivation: - Num. constraints: 1480480 - Num. variables: 779577 - Num. nonzeros: 3552845 - Num. continuous variables: 569337 - Num. integer variables: 210240 - - Name: 3-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_3-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 3 nodes - Realistic: - Realistic motivation: - Num. constraints: 2260134 - Num. variables: 1182502 - Num. nonzeros: 5425187 - Num. continuous variables: 867142 - Num. integer variables: 315360 - - Name: 4-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 4 nodes - Realistic: - Realistic motivation: - Num. constraints: 3004748 - Num. variables: 1567907 - Num. nonzeros: 7228305 - Num. continuous variables: 1147427 - Num. integer variables: 420480 - - Name: 5-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_5-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 5 nodes - Realistic: - Realistic motivation: - Num. constraints: 3775648 - Num. variables: 1962075 - Num. nonzeros: 9081990 - Num. continuous variables: 1436475 - Num. integer variables: 525600 - - Name: 6-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 6 nodes - Realistic: - Realistic motivation: - Num. constraints: 4397622 - Num. variables: 2294920 - Num. nonzeros: 10639005 - Num. continuous variables: 1664200 - Num. integer variables: 630720 - - Name: 7-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_7-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 7 nodes - Realistic: - Realistic motivation: - Num. constraints: 4931993 - Num. variables: 2583965 - Num. nonzeros: 11880468 - Num. continuous variables: 1874405 - Num. integer variables: 709560 - - Name: 8-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 8 nodes - Realistic: - Realistic motivation: - Num. constraints: 5536442 - Num. variables: 2890529 - Num. nonzeros: 13262956 - Num. continuous variables: 2102129 - Num. integer variables: 788400 - - Name: 9-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_9-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 9 nodes - Realistic: - Realistic motivation: - Num. constraints: 6079576 - Num. variables: 3179618 - Num. nonzeros: 14706245 - Num. continuous variables: 2286098 - Num. integer variables: 893520 - - Name: 10-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 10 nodes - Realistic: - Realistic motivation: - Num. constraints: 6754110 - Num. variables: 3529983 - Num. nonzeros: 16394847 - Num. continuous variables: 2531343 - Num. integer variables: 998640 - - Name: 11-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_11-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 11 nodes - Realistic: - Realistic motivation: - Num. constraints: 7192121 - Num. variables: 3775228 - Num. nonzeros: 17478319 - Num. continuous variables: 2697748 - Num. integer variables: 1077480 - - Name: 12-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_12-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 12 nodes - Realistic: - Realistic motivation: - Num. constraints: 7726494 - Num. variables: 4038081 - Num. nonzeros: 18738097 - Num. continuous variables: 2881761 - Num. integer variables: 1156320 - - Name: 13-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_13-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 13 nodes - Realistic: - Realistic motivation: - Num. constraints: 8173262 - Num. variables: 4283326 - Num. nonzeros: 19707964 - Num. continuous variables: 3074446 - Num. integer variables: 1208880 - - Name: 14-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_14-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 14 nodes - Realistic: - Realistic motivation: - Num. constraints: 8821517 - Num. variables: 4607457 - Num. nonzeros: 21194355 - Num. continuous variables: 3319737 - Num. integer variables: 1287720 - - Name: 15-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_15-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 15 nodes - Realistic: - Realistic motivation: - Num. constraints: 9198203 - Num. variables: 4808900 - Num. nonzeros: 22016088 - Num. continuous variables: 3468620 - Num. integer variables: 1340280 - - Name: 16-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_16-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 16 nodes - Realistic: - Realistic motivation: - Num. constraints: 9828941 - Num. variables: 5141791 - Num. nonzeros: 23607501 - Num. continuous variables: 3696391 - Num. integer variables: 1445400 - - Name: 17-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_17-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 17 nodes - Realistic: - Realistic motivation: - Num. constraints: 10284468 - Num. variables: 5369516 - Num. nonzeros: 24498778 - Num. continuous variables: 3897836 - Num. integer variables: 1471680 - - Name: 18-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_18-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 18 nodes - Realistic: - Realistic motivation: - Num. constraints: 10836358 - Num. variables: 5649801 - Num. nonzeros: 25625798 - Num. continuous variables: 4125561 - Num. integer variables: 1524240 - - Name: 19-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_19-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 19 nodes - Realistic: - Realistic motivation: - Num. constraints: 11248089 - Num. variables: 5877570 - Num. nonzeros: 26701992 - Num. continuous variables: 4274490 - Num. integer variables: 1603080 - - Name: 20-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 20 nodes - Realistic: - Realistic motivation: - Num. constraints: 11694859 - Num. variables: 6122815 - Num. nonzeros: 27714822 - Num. continuous variables: 4467175 - Num. integer variables: 1655640 - - Name: 2-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_2-3h.mps.gz - Temporal resolution: 3 hour - Spatial resolution: 2 nodes - Realistic: - Realistic motivation: - Num. constraints: 426361 - Num. variables: 219025 - Num. nonzeros: 1053656 - Num. continuous variables: 157705 - Num. integer variables: 61320 - - Name: 4-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_4-3h.mps.gz - Temporal resolution: 3 hour - Spatial resolution: 4 nodes - Realistic: - Realistic motivation: - Num. constraints: 864391 - Num. variables: 435123 - Num. nonzeros: 2121711 - Num. continuous variables: 321243 - Num. integer variables: 113880 - - Name: 6-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_6-3h.mps.gz - Temporal resolution: 3 hour - Spatial resolution: 6 nodes - Realistic: - Realistic motivation: - Num. constraints: 1238184 - Num. variables: 619104 - Num. nonzeros: 3014142 - Num. continuous variables: 461424 - Num. integer variables: 157680 - - Name: 8-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_8-3h.mps.gz - Temporal resolution: 3 hour - Spatial resolution: 8 nodes - Realistic: - Realistic motivation: - Num. constraints: 1574011 - Num. variables: 785562 - Num. nonzeros: 3830823 - Num. continuous variables: 584082 - Num. integer variables: 201480 - - Name: 10-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_10-3h.mps.gz - Temporal resolution: 3 hour - Spatial resolution: 10 nodes - Realistic: - Realistic motivation: - Num. constraints: 1874795 - Num. variables: 934500 - Num. nonzeros: 4548359 - Num. continuous variables: 697980 - Num. integer variables: 236520 - - Name: 2-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 2 nodes - Realistic: - Realistic motivation: - Num. constraints: 61725 - Num. variables: 32510 - Num. nonzeros: 148762 - Num. continuous variables: 23750 - Num. integer variables: 8760 - - Name: 4-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 4 nodes - Realistic: - Realistic motivation: - Num. constraints: 108111 - Num. variables: 54428 - Num. nonzeros: 266481 - Num. continuous variables: 40193 - Num. integer variables: 14235 - - Name: 6-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 6 nodes - Realistic: - Realistic motivation: - Num. constraints: 154864 - Num. variables: 77444 - Num. nonzeros: 378742 - Num. continuous variables: 57734 - Num. integer variables: 19710 - - Name: 8-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 8 nodes - Realistic: - Realistic motivation: - Num. constraints: 196866 - Num. variables: 98267 - Num. nonzeros: 481527 - Num. continuous variables: 73082 - Num. integer variables: 25185 - - Name: 10-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 10 nodes - Realistic: - Realistic motivation: - Num. constraints: 234485 - Num. variables: 116900 - Num. nonzeros: 571917 - Num. continuous variables: 87335 - Num. integer variables: 29565 - - Name: 12-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_12-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 12 nodes - Realistic: - Realistic motivation: - Num. constraints: 272833 - Num. variables: 135533 - Num. nonzeros: 658690 - Num. continuous variables: 102683 - Num. integer variables: 32850 - - Name: 14-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_14-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 14 nodes - Realistic: - Realistic motivation: - Num. constraints: 310086 - Num. variables: 153436 - Num. nonzeros: 742937 - Num. continuous variables: 117301 - Num. integer variables: 36135 - - Name: 16-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_16-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 16 nodes - Realistic: - Realistic motivation: - Num. constraints: 348805 - Num. variables: 172437 - Num. nonzeros: 829709 - Num. continuous variables: 133017 - Num. integer variables: 39420 - - Name: 18-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_18-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 18 nodes - Realistic: - Realistic motivation: - Num. constraints: 383138 - Num. variables: 189610 - Num. nonzeros: 903358 - Num. continuous variables: 146905 - Num. integer variables: 42705 - - Name: 20-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 20 nodes - Realistic: - Realistic motivation: - Num. constraints: 421853 - Num. variables: 208243 - Num. nonzeros: 1000706 - Num. continuous variables: 162253 - Num. integer variables: 45990 - - Name: 2-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-48h.mps.gz - Temporal resolution: 48 hour - Spatial resolution: 2 nodes - Realistic: false - Num. constraints: 30967 - Num. variables: 16312 - Num. nonzeros: 74521 - Num. continuous variables: 11920 - Num. integer variables: 4392 - - Name: 4-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-48h.mps.gz - Temporal resolution: 48 hour - Spatial resolution: 4 nodes - Realistic: false - Num. constraints: 62837 - Num. variables: 32800 - Num. nonzeros: 151586 - Num. continuous variables: 24016 - Num. integer variables: 8784 - - Name: 6-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-48h.mps.gz - Temporal resolution: 48 hour - Spatial resolution: 8 nodes - Realistic: false - Num. constraints: 91968 - Num. variables: 48010 - Num. nonzeros: 223164 - Num. continuous variables: 34834 - Num. integer variables: 13176 - - Name: 8-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-48h.mps.gz - Temporal resolution: 48 hour - Spatial resolution: 8 nodes - Realistic: false - Num. constraints: 115778 - Num. variables: 60471 - Num. nonzeros: 278340 - Num. continuous variables: 44001 - Num. integer variables: 16470 - - Name: 10-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-48h.mps.gz - Temporal resolution: 48 hour + Temporal resolution: 24 hours Spatial resolution: 10 nodes Realistic: false - Num. constraints: 141243 - Num. variables: 73848 - Num. nonzeros: 344054 - Num. continuous variables: 52986 - Num. integer variables: 20862 - - Name: 20-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-48h.mps.gz - Temporal resolution: 48 hour + Num. constraints: 973111 + Num. variables: 459030 + Num. nonzeros: 2306551 + - Name: 20-12h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-trex_vopt-20-12h.mps.gz + Temporal resolution: 12 hours Spatial resolution: 20 nodes Realistic: false - Num. constraints: 244564 - Num. variables: 128108 - Num. nonzeros: 582592 - Num. continuous variables: 93521 - Num. integer variables: 34587 - - Name: 50-48h + Num. constraints: 3798134 + Num. variables: 1791085 + Num. nonzeros: 9016077 + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-trex_vopt-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 111090778 + Num. variables: 52371864 + Num. nonzeros: 264794044 + - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_50-48h.mps.gz - Temporal resolution: 48 hour + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-trex_vopt-50-168h.mps.gz + Temporal resolution: 168 hours Spatial resolution: 50 nodes Realistic: false - Num. constraints: 539166 - Num. variables: 282837 - Num. nonzeros: 1283717 - Num. continuous variables: 207624 - Num. integer variables: 75213 - - Name: 2-168h - Size: S - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 2 nodes - Realistic: false - Num. constraints: 8997 - Num. variables: 4742 - Num. nonzeros: 21482 - Num. continuous variables: 3470 - Num. integer variables: 1272 - - Name: 4-168h - Size: S - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 4 nodes - Realistic: false - Num. constraints: 18247 - Num. variables: 9530 - Num. nonzeros: 43694 - Num. continuous variables: 6986 - Num. integer variables: 2544 - - Name: 5-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_5-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 22931 - Num. variables: 11927 - Num. nonzeros: 54912 - Num. continuous variables: 8747 - Num. integer variables: 3180 - - Name: 6-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 4 nodes - Realistic: false - Num. constraints: 26708 - Num. variables: 13950 - Num. nonzeros: 64322 - Num. continuous variables: 10134 - Num. integer variables: 3816 - - Name: 8-168h + Num. constraints: 677311 + Num. variables: 321418 + Num. nonzeros: 1616084 + pypsa-de-elec-uc: + Short description: Power-sector PyPSA-Eur overnight runs for Germany (year 2050) without transmission expansion and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 10-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-10-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 10 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 6754110 + Num. variables: 3529983 + Num. nonzeros: 16394847 + Num. continuous variables: 2531343 + Num. integer variables: 998640 + - Name: 10-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-10-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 10 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 2251470 + Num. variables: 1176760 + Num. nonzeros: 5467835 + Num. continuous variables: 843880 + Num. integer variables: 332880 + - Name: 10-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 8 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-10-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 10 nodes Realistic: false - Num. constraints: 33618 - Num. variables: 17571 - Num. nonzeros: 80252 - Num. continuous variables: 12801 - Num. integer variables: 4770 + Num. constraints: 281565 + Num. variables: 147193 + Num. nonzeros: 686752 + Num. continuous variables: 105583 + Num. integer variables: 41610 - Name: 10-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-168h.mps.gz - Temporal resolution: 168 hour + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-10-168h.mps.gz + Temporal resolution: 168 hours Spatial resolution: 10 nodes Realistic: false Num. constraints: 41013 @@ -2037,10 +1965,46 @@ benchmarks: Num. nonzeros: 99178 Num. continuous variables: 15416 Num. integer variables: 6042 + - Name: 20-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-20-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 20 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 11694859 + Num. variables: 6122815 + Num. nonzeros: 27714822 + Num. continuous variables: 4467175 + Num. integer variables: 1655640 + Skip because: TO + - Name: 20-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-20-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 20 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 3898459 + Num. variables: 2041117 + Num. nonzeros: 9244348 + Num. continuous variables: 1489237 + Num. integer variables: 551880 + - Name: 20-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-20-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 487534 + Num. variables: 255325 + Num. nonzeros: 1162574 + Num. continuous variables: 186340 + Num. integer variables: 68985 - Name: 20-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-168h.mps.gz - Temporal resolution: 168 hour + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-20-168h.mps.gz + Temporal resolution: 168 hours Spatial resolution: 20 nodes Realistic: false Num. constraints: 71014 @@ -2048,76 +2012,48 @@ benchmarks: Num. nonzeros: 168132 Num. continuous variables: 27221 Num. integer variables: 10017 - - Name: 15-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_15-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 55853 - Num. variables: 29241 - Num. nonzeros: 133399 - Num. continuous variables: 21132 - Num. integer variables: 8109 - - Name: 25-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_25-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 87292 - Num. variables: 45659 - Num. nonzeros: 205603 - Num. continuous variables: 33734 - Num. integer variables: 11925 - - Name: 30-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_30-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 101449 - Num. variables: 53126 - Num. nonzeros: 238546 - Num. continuous variables: 39134 - Num. integer variables: 13992 - - Name: 35-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_35-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 116403 - Num. variables: 61069 - Num. nonzeros: 275551 - Num. continuous variables: 44692 - Num. integer variables: 16377 - - Name: 40-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_40-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 128749 - Num. variables: 67633 - Num. nonzeros: 306366 - Num. continuous variables: 49666 - Num. integer variables: 17967 - - Name: 45-168h + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 25781277 + Num. variables: 13516004 + Num. nonzeros: 60976098 + Num. continuous variables: 9915644 + Num. integer variables: 3600360 + Skip because: TO + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 8594157 + Num. variables: 4505738 + Num. nonzeros: 20341458 + Num. continuous variables: 3305618 + Num. integer variables: 1200120 + Skip because: TO + - Name: 50-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_45-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes Realistic: false - Num. constraints: 144020 - Num. variables: 75577 - Num. nonzeros: 341664 - Num. continuous variables: 55384 - Num. integer variables: 20193 + Num. constraints: 1074792 + Num. variables: 563657 + Num. nonzeros: 2560928 + Num. continuous variables: 413642 + Num. integer variables: 150015 + Skip because: TO - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_50-168h.mps.gz - Temporal resolution: 168 hour + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-50-168h.mps.gz + Temporal resolution: 168 hours Spatial resolution: 50 nodes Realistic: false Num. constraints: 156576 @@ -2125,109 +2061,48 @@ benchmarks: Num. nonzeros: 370792 Num. continuous variables: 60464 Num. integer variables: 21783 - - Name: 55-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_55-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 169301 - Num. variables: 88760 - Num. nonzeros: 398729 - Num. continuous variables: 65387 - Num. integer variables: 23373 - - Name: 60-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_60-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 179417 - Num. variables: 94264 - Num. nonzeros: 423671 - Num. continuous variables: 69619 - Num. integer variables: 24645 - - Name: 65-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_65-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 194960 - Num. variables: 102263 - Num. nonzeros: 459387 - Num. continuous variables: 75551 - Num. integer variables: 26712 - - Name: 70-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_70-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 206771 - Num. variables: 108666 - Num. nonzeros: 484576 - Num. continuous variables: 80205 - Num. integer variables: 28461 - - Name: 75-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_75-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 220612 - Num. variables: 115921 - Num. nonzeros: 517702 - Num. continuous variables: 85393 - Num. integer variables: 30528 - - Name: 80-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_80-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 233386 - Num. variables: 122699 - Num. nonzeros: 550421 - Num. continuous variables: 90581 - Num. integer variables: 32118 - - Name: 85-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_85-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 244833 - Num. variables: 128786 - Num. nonzeros: 574813 - Num. continuous variables: 95078 - Num. integer variables: 33708 - - Name: 90-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_90-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 257924 - Num. variables: 135774 - Num. nonzeros: 603416 - Num. continuous variables: 100317 - Num. integer variables: 35457 - - Name: 95-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_95-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 269956 - Num. variables: 142126 - Num. nonzeros: 635740 - Num. continuous variables: 104761 - Num. integer variables: 37365 + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 46683175 + Num. variables: 24544950 + Num. nonzeros: 109602873 + Num. continuous variables: 18053790 + Num. integer variables: 6491160 + Skip because: TO + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 15561815 + Num. variables: 8182388 + Num. nonzeros: 36567903 + Num. continuous variables: 6018668 + Num. integer variables: 2163720 + Skip because: TO + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 1946220 + Num. variables: 1023645 + Num. nonzeros: 4608334 + Num. continuous variables: 753180 + Num. integer variables: 270465 + Skip because: TO - Name: 100-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_100-168h.mps.gz - Temporal resolution: 168 hour + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-100-168h.mps.gz + Temporal resolution: 168 hours Spatial resolution: 100 nodes Realistic: false Num. constraints: 283572 @@ -2235,9 +2110,21 @@ benchmarks: Num. nonzeros: 667792 Num. continuous variables: 110159 Num. integer variables: 39273 + - Name: 2-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 426361 + Num. variables: 219025 + Num. nonzeros: 1053656 + Num. continuous variables: 157705 + Num. integer variables: 61320 + Skip because: TO - Name: 2-5h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_5h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-5h.mps.gz Temporal resolution: 5 hours Spatial resolution: 2 nodes Realistic: false @@ -2248,7 +2135,7 @@ benchmarks: Num. integer variables: 42048 - Name: 2-8h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_8h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-8h.mps.gz Temporal resolution: 8 hours Spatial resolution: 2 nodes Realistic: false @@ -2259,7 +2146,7 @@ benchmarks: Num. integer variables: 26280 - Name: 2-12h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_12h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-12h.mps.gz Temporal resolution: 12 hours Spatial resolution: 2 nodes Realistic: false @@ -2270,7 +2157,7 @@ benchmarks: Num. integer variables: 17520 - Name: 2-36h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_36h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-36h.mps.gz Temporal resolution: 36 hours Spatial resolution: 2 nodes Realistic: false @@ -2281,7 +2168,7 @@ benchmarks: Num. integer variables: 5856 - Name: 2-84h Size: S - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_84h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-84h.mps.gz Temporal resolution: 84 hours Spatial resolution: 2 nodes Realistic: false @@ -2290,8 +2177,8 @@ benchmarks: Num. nonzeros: 42698 Num. continuous variables: 6850 Num. integer variables: 2520 - pypsa-eur-elec-uc: - Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year 2050) without transmission expansion and including unit commitment. + pypsa-de-elec-trex_vopt-uc: + Short description: Power-sector PyPSA-Eur overnight runs for Germany (year 2050) with transmission expansion based on optimal volume increase and including unit commitment. Modelling framework: PyPSA Model name: PyPSA-Eur Version: @@ -2304,14 +2191,193 @@ benchmarks: Time horizon: Single period (2050) MILP features: Unit commitment Sizes: + - Name: 10-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-10-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 10 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 6754110 + Num. variables: 3529983 + Num. nonzeros: 16394847 + Num. continuous variables: 2531343 + Num. integer variables: 998640 + - Name: 10-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-10-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 10 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 2251470 + Num. variables: 1176760 + Num. nonzeros: 5467835 + Num. continuous variables: 843880 + Num. integer variables: 332880 + - Name: 10-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-10-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 281565 + Num. variables: 147193 + Num. nonzeros: 686752 + Num. continuous variables: 105583 + Num. integer variables: 41610 + - Name: 10-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-10-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 41013 + Num. variables: 21458 + Num. nonzeros: 99178 + Num. continuous variables: 15416 + Num. integer variables: 6042 + - Name: 20-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-20-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 20 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 11694859 + Num. variables: 6122815 + Num. nonzeros: 27714822 + Num. continuous variables: 4467175 + Num. integer variables: 1655640 + Skip because: TO + - Name: 20-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-20-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 20 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 3898459 + Num. variables: 2041117 + Num. nonzeros: 9244348 + Num. continuous variables: 1489237 + Num. integer variables: 551880 + - Name: 20-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-20-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 487534 + Num. variables: 255325 + Num. nonzeros: 1162574 + Num. continuous variables: 186340 + Num. integer variables: 68985 + - Name: 20-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-20-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 71014 + Num. variables: 37238 + Num. nonzeros: 168132 + Num. continuous variables: 27221 + Num. integer variables: 10017 + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 25781277 + Num. variables: 13516004 + Num. nonzeros: 60976098 + Num. continuous variables: 9915644 + Num. integer variables: 3600360 + Skip because: TO + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 8594157 + Num. variables: 4505738 + Num. nonzeros: 20341458 + Num. continuous variables: 3305618 + Num. integer variables: 1200120 + Skip because: TO + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1074792 + Num. variables: 563657 + Num. nonzeros: 2560928 + Num. continuous variables: 413642 + Num. integer variables: 150015 - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_50-168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-50-168h.mps.gz Temporal resolution: 168 hours Spatial resolution: 50 nodes Realistic: false - Num. constraints: 173914 - Num. variables: 87784 - Num. nonzeros: 408597 - Num. continuous variables: 69817 - Num. integer variables: 17967 + Num. constraints: 156576 + Num. variables: 82247 + Num. nonzeros: 370792 + Num. continuous variables: 60464 + Num. integer variables: 21783 + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 46683175 + Num. variables: 24544950 + Num. nonzeros: 109602873 + Num. continuous variables: 18053790 + Num. integer variables: 6491160 + Skip because: TO + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 15561815 + Num. variables: 8182388 + Num. nonzeros: 36567903 + Num. continuous variables: 6018668 + Num. integer variables: 2163720 + Skip because: TO + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 1946220 + Num. variables: 1023645 + Num. nonzeros: 4608334 + Num. continuous variables: 753180 + Num. integer variables: 270465 + Skip because: TO + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 283572 + Num. variables: 149432 + Num. nonzeros: 667792 + Num. continuous variables: 110159 + Num. integer variables: 39273 diff --git a/benchmarks/spineopt/metadata.yaml b/benchmarks/spineopt/metadata.yaml index ec363bb6..0e674e9c 100644 --- a/benchmarks/spineopt/metadata.yaml +++ b/benchmarks/spineopt/metadata.yaml @@ -14,13 +14,14 @@ benchmarks: Time horizon: Multi-stage (12 representative days) MILP features: None Sizes: - - Name: 30-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/spineopt-eu-pathway-planning-30-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 30 nodes - Realistic: true - Realistic motivation: Highly detailed sector, spatial, and temporal resolution over the considered three milestone years to allow the benchmark to be defined as Realistic. - Num. constraints: 18422757 - Num. variables: 13134385 - Num. non-zeros: 41956094 + - Name: 30-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/spineopt-eu-pathway-planning-30-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 30 nodes + Realistic: true + Realistic motivation: Highly detailed sector, spatial, and temporal resolution over the considered three milestone years to allow the benchmark to be defined as Realistic. + Num. constraints: 18422757 + Num. variables: 13134385 + Num. nonzeros: 41956094 + Num. non-zeros: 41956094 diff --git a/results/metadata.yaml b/results/metadata.yaml index b93bd366..22854fc5 100644 --- a/results/metadata.yaml +++ b/results/metadata.yaml @@ -2808,17 +2808,6 @@ benchmarks: Time horizon: Single period (2050) MILP features: None Sizes: - - Name: 50-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-50-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 50 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered - time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 22137355 - Num. variables: 10626468 - Num. nonzeros: 41991604 - Name: 50-3h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-50-3h.mps.gz @@ -2929,8 +2918,9 @@ benchmarks: 2050) with cost-optimal transmission expansion. Modelling framework: PyPSA Model name: PyPSA-Eur - Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, + Open Energy Transition License: CC BY 4.0 Problem class: LP Application: Infrastructure & Capacity Expansion @@ -3001,8 +2991,9 @@ benchmarks: volume increase. Modelling framework: PyPSA Model name: PyPSA-Eur - Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, + Open Energy Transition License: CC BY 4.0 Problem class: LP Application: Infrastructure & Capacity Expansion @@ -3036,8 +3027,9 @@ benchmarks: 2050) with dynamic fuel pricing and cost-optimal transmission expansion. Modelling framework: PyPSA Model name: PyPSA-Eur - Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, + Open Energy Transition License: CC BY 4.0 Problem class: LP Application: Infrastructure & Capacity Expansion @@ -3168,292 +3160,836 @@ benchmarks: Num. constraints: 690537 Num. variables: 328924 Num. nonzeros: 1624296 - pypsa-de-elec: - Short description: Power-sector PyPSA-Eur overnight runs for Germany without transmission - expansion. + pypsa-eur-elec-uc: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year + 2050) without transmission expansion and including unit commitment. Modelling framework: PyPSA Model name: PyPSA-Eur Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, - Open Energy Transition + Contributor(s)/Source: Daniele Lerede, Open Energy Transition License: CC BY 4.0 - Problem class: LP + Problem class: MILP Application: Infrastructure & Capacity Expansion Sectoral focus: Power-only Sectors: Electric Time horizon: Single period (2050) - MILP features: None + MILP features: Unit commitment Sizes: - - Name: 10-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-10-3h.mps.gz - Temporal resolution: 3 hours - Spatial resolution: 10 nodes - Realistic: false - Num. constraints: 1501029 - Num. variables: 703831 - Num. nonzeros: 2817460 + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28602269 + Num. variables: 14419506 + Num. nonzeros: 67396325 + Num. continuous variables: 11449866 + Num. integer variables: 2969640 - Name: 50-3h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-50-3h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-50-3h.mps.gz Temporal resolution: 3 hours Spatial resolution: 50 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 6123937 - Num. variables: 2879645 - Num. nonzeros: 11971163 - - Name: 2-1h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-2-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 2 nodes - Realistic: false - Num. constraints: 1165120 - Num. variables: 569341 - Num. nonzeros: 2133907 - - Name: 3-1h + Num. constraints: 9534669 + Num. variables: 4806866 + Num. nonzeros: 22479908 + Num. continuous variables: 3816986 + Num. integer variables: 989880 + - Name: 50-24h Size: M - Temporal resolution: 1 hour - Spatial resolution: 3 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes Realistic: false - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-3-1h.mps.gz - Num. constraints: 1533052 - Num. variables: 727118 - Num. nonzeros: 2859964 - - Name: 4-1h + Num. constraints: 1192594 + Num. variables: 601336 + Num. nonzeros: 2827078 + Num. continuous variables: 477601 + Num. integer variables: 123735 + - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-4-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 4 nodes - Realistic: false - Num. constraints: 2041145 - Num. variables: 963648 - Num. nonzeros: 3812907 - - Name: 5-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-5-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 2575524 - Num. variables: 1208941 - Num. nonzeros: 4817602 - - Name: 6-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-6-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 6 nodes - Realistic: false - Num. constraints: 2943457 - Num. variables: 1384151 - Num. nonzeros: 5498751 - - Name: 7-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-7-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 7 nodes - Realistic: false - Num. constraints: 3285110 - Num. variables: 1550601 - Num. nonzeros: 6127108 - - Name: 8-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-8-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 8 nodes - Realistic: false - Num. constraints: 3731883 - Num. variables: 1752091 - Num. nonzeros: 6956950 - - Name: 9-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-9-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 9 nodes - Realistic: false - Num. constraints: 4082296 - Num. variables: 1918541 - Num. nonzeros: 7629449 - - Name: 10-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-10-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 10 nodes - Realistic: false - Num. constraints: 4502789 - Num. variables: 2111271 - Num. nonzeros: 8442185 - - Name: 11-1h - Size: L - Temporal resolution: 1 hour - Spatial resolution: 11 nodes - Realistic: false - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-11-1h.mps.gz - Num. constraints: 4835682 - Num. variables: 2268961 - Num. nonzeros: 9070231 - - Name: 12-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-12-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 12 nodes - Realistic: false - Num. constraints: 5221135 - Num. variables: 2444171 - Num. nonzeros: 9778117 - - Name: 13-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-13-1h.mps.gz - Num. constraints: 5536508 - Temporal resolution: 1 hour - Spatial resolution: 13 nodes - Realistic: false - Num. variables: 2601861 - Num. nonzeros: 10397638 - - Name: 14-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-14-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 14 nodes - Realistic: false - Num. constraints: 6053365 - Num. variables: 2838393 - Num. nonzeros: 11376001 - - Name: 15-1h - Size: L - Temporal resolution: 1 hour - Spatial resolution: 15 nodes - Realistic: false - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-15-1h.mps.gz - Num. constraints: 6359974 - Num. variables: 2978561 - Num. nonzeros: 11934995 - - Name: 16-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-16-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 16 nodes - Realistic: false - Num. constraints: 6754193 - Num. variables: 3171294 - Num. nonzeros: 12684994 - - Name: 17-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-17-1h.mps.gz - Num. constraints: 7183446 - Temporal resolution: 1 hour - Spatial resolution: 17 nodes - Realistic: false - Num. variables: 3364024 - Num. nonzeros: 13550014 - - Name: 18-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-18-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 18 nodes - Realistic: false - Num. constraints: 7568897 - Num. variables: 3539233 - Num. nonzeros: 14248409 - - Name: 19-1h - Size: L - Temporal resolution: 1 hour - Spatial resolution: 19 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes Realistic: false - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-19-1h.mps.gz - Num. constraints: 7928072 - Num. variables: 3714444 - Num. nonzeros: 14956181 - - Name: 20-1h + Num. constraints: 173914 + Num. variables: 87784 + Num. nonzeros: 408597 + Num. continuous variables: 69817 + Num. integer variables: 17967 + - Name: 100-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-20-1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-100-1h.mps.gz Temporal resolution: 1 hour - Spatial resolution: 20 nodes + Spatial resolution: 100 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 8208403 - Num. variables: 3854613 - Num. nonzeros: 15540441 - - Name: 21-1h + Num. constraints: 51869560 + Num. variables: 26044544 + Num. nonzeros: 120588241 + Num. continuous variables: 20972504 + Num. integer variables: 5072040 + - Name: 100-3h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-21-1h.mps.gz - Num. constraints: 8795338 - Temporal resolution: 1 hour - Spatial resolution: 21 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. variables: 4108664 - Num. nonzeros: 16763529 - - Name: 22-1h + Num. constraints: 17290920 + Num. variables: 8682224 + Num. nonzeros: 40226481 + Num. continuous variables: 6991544 + Num. integer variables: 1690680 + - Name: 100-24h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-22-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 22 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered - time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 9066911 - Num. variables: 4240074 - Num. nonzeros: 17322007 - - Name: 23-1h + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 2162765 + Num. variables: 1086209 + Num. nonzeros: 5063992 + Num. continuous variables: 874874 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 315413 + Num. variables: 158633 + Num. nonzeros: 732787 + Num. continuous variables: 127946 + Num. integer variables: 30687 + pypsa-eur-elec-trex_vopt-uc: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year + 2050) with transmission expansion based on optimal volume increase and including + unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-1h Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-50-1h.mps.gz Temporal resolution: 1 hour - Spatial resolution: 23 nodes + Spatial resolution: 50 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-23-1h.mps.gz - Num. constraints: 9434848 - Num. variables: 4415286 - Num. nonzeros: 18132555 - - Name: 24-1h + Num. constraints: 28602269 + Num. variables: 14419506 + Num. nonzeros: 67396325 + Num. continuous variables: 11449866 + Num. integer variables: 2969640 + - Name: 50-3h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-24-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 24 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 9802781 - Num. variables: 4581736 - Num. nonzeros: 18700792 - - Name: 25-1h + Num. constraints: 9534669 + Num. variables: 4806866 + Num. nonzeros: 22479908 + Num. continuous variables: 3816986 + Num. integer variables: 989880 + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1192594 + Num. variables: 601336 + Num. nonzeros: 2827078 + Num. continuous variables: 477601 + Num. integer variables: 123735 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 173914 + Num. variables: 87784 + Num. nonzeros: 408597 + Num. continuous variables: 69817 + Num. integer variables: 17967 + - Name: 100-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-25-1h.mps.gz - Num. constraints: 10118152 + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-100-1h.mps.gz Temporal resolution: 1 hour - Spatial resolution: 25 nodes + Spatial resolution: 100 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. variables: 4739425 - Num. nonzeros: 19354461 - - Name: 26-1h + Num. constraints: 51869560 + Num. variables: 26044544 + Num. nonzeros: 120588241 + Num. continuous variables: 20972504 + Num. integer variables: 5072040 + - Name: 100-3h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-26-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 26 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 10459811 - Num. variables: 4897118 - Num. nonzeros: 19922369 - - Name: 27-1h + Num. constraints: 17290920 + Num. variables: 8682224 + Num. nonzeros: 40226481 + Num. continuous variables: 6991544 + Num. integer variables: 1690680 + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 2162765 + Num. variables: 1086209 + Num. nonzeros: 5063992 + Num. continuous variables: 874874 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 315413 + Num. variables: 158633 + Num. nonzeros: 732787 + Num. continuous variables: 127946 + Num. integer variables: 30687 + pypsa-eur-elec-trex_copt-uc: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year + 2050) with cost-optimal transmission expansion and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28602597 + Num. variables: 14419670 + Num. nonzeros: 69972093 + Num. continuous variables: 11450030 + Num. integer variables: 2969640 + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9534997 + Num. variables: 4807030 + Num. nonzeros: 23338716 + Num. continuous variables: 3817150 + Num. integer variables: 989880 + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1192922 + Num. variables: 601500 + Num. nonzeros: 2934716 + Num. continuous variables: 477765 + Num. integer variables: 123735 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 174242 + Num. variables: 87948 + Num. nonzeros: 424507 + Num. continuous variables: 69981 + Num. integer variables: 17967 + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 51870114 + Num. variables: 26044821 + Num. nonzeros: 125117715 + Num. continuous variables: 20972781 + Num. integer variables: 5072040 + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 17291474 + Num. variables: 8682501 + Num. nonzeros: 41736675 + Num. continuous variables: 6991821 + Num. integer variables: 1690680 + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 2163319 + Num. variables: 1086486 + Num. nonzeros: 5253251 + Num. continuous variables: 875151 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 315967 + Num. variables: 158910 + Num. nonzeros: 760742 + Num. continuous variables: 128223 + Num. integer variables: 30687 + pypsa-eur-elec-uc-dfp: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year + 2050) with dynamic fuel pricing and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28602269 + Num. variables: 14419506 + Num. nonzeros: 67396325 + Num. continuous variables: 11449866 + Num. integer variables: 2969640 + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9534669 + Num. variables: 4806866 + Num. nonzeros: 22479908 + Num. continuous variables: 3816986 + Num. integer variables: 989880 + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1192594 + Num. variables: 601336 + Num. nonzeros: 2827078 + Num. continuous variables: 477601 + Num. integer variables: 123735 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 173914 + Num. variables: 87784 + Num. nonzeros: 408597 + Num. continuous variables: 69817 + Num. integer variables: 17967 + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 51869560 + Num. variables: 26044544 + Num. nonzeros: 120588241 + Num. continuous variables: 20972504 + Num. integer variables: 5072040 + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 17290920 + Num. variables: 8682224 + Num. nonzeros: 40226481 + Num. continuous variables: 6991544 + Num. integer variables: 1690680 + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 2162765 + Num. variables: 1086209 + Num. nonzeros: 5063992 + Num. continuous variables: 874874 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc-dfp-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 315413 + Num. variables: 158633 + Num. nonzeros: 732787 + Num. continuous variables: 127946 + Num. integer variables: 30687 + pypsa-eur-elec-trex_vopt-uc-dfp: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year + 2050) with dynamic fuel pricing, transmission expansion based on optimal volume + increase, and including unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28602597 + Num. variables: 14419670 + Num. nonzeros: 69972093 + Num. continuous variables: 11450030 + Num. integer variables: 2969640 + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9534997 + Num. variables: 4807030 + Num. nonzeros: 23338716 + Num. continuous variables: 3817150 + Num. integer variables: 989880 + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1192922 + Num. variables: 601500 + Num. nonzeros: 2934716 + Num. continuous variables: 477765 + Num. integer variables: 123735 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 174242 + Num. variables: 87948 + Num. nonzeros: 424507 + Num. continuous variables: 69981 + Num. integer variables: 17967 + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 51870114 + Num. variables: 26044821 + Num. nonzeros: 125117715 + Num. continuous variables: 20972781 + Num. integer variables: 5072040 + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 17291474 + Num. variables: 8682501 + Num. nonzeros: 41736675 + Num. continuous variables: 6991821 + Num. integer variables: 1690680 + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 2163319 + Num. variables: 1086486 + Num. nonzeros: 5253251 + Num. continuous variables: 875151 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_vopt-uc-dfp-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 315967 + Num. variables: 158910 + Num. nonzeros: 760742 + Num. continuous variables: 128223 + Num. integer variables: 30687 + pypsa-eur-elec-trex_copt-uc-dfp: + Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year + 2050) with dynamic fuel pricing, cost-optimal transmission expansion, and including + unit commitment. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition + License: CC BY 4.0 + Problem class: MILP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: Unit commitment + Sizes: + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28602597 + Num. variables: 14419670 + Num. nonzeros: 69972093 + Num. continuous variables: 11450030 + Num. integer variables: 2969640 + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9534997 + Num. variables: 4807030 + Num. nonzeros: 23338716 + Num. continuous variables: 3817150 + Num. integer variables: 989880 + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1192922 + Num. variables: 601500 + Num. nonzeros: 2934716 + Num. continuous variables: 477765 + Num. integer variables: 123735 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 174242 + Num. variables: 87948 + Num. nonzeros: 424507 + Num. continuous variables: 69981 + Num. integer variables: 17967 + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 51870114 + Num. variables: 26044821 + Num. nonzeros: 125117715 + Num. continuous variables: 20972781 + Num. integer variables: 5072040 + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 17291474 + Num. variables: 8682501 + Num. nonzeros: 41736675 + Num. continuous variables: 6991821 + Num. integer variables: 1690680 + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 2163319 + Num. variables: 1086486 + Num. nonzeros: 5253251 + Num. continuous variables: 875151 + Num. integer variables: 211335 + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-trex_copt-uc-dfp-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 315967 + Num. variables: 158910 + Num. continuous variables: 128223 + Num. integer variables: 30687 + Num. nonzeros: 1624296 + pypsa-de-elec: + Short description: Power-sector PyPSA-Eur overnight runs for Germany without transmission + expansion. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, + Open Energy Transition + License: CC BY 4.0 + Problem class: LP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only + Sectors: Electric + Time horizon: Single period (2050) + MILP features: None + Sizes: + - Name: 10-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-10-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 1501029 + Num. variables: 703831 + Num. nonzeros: 2817460 + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 6123937 + Num. variables: 2879645 + Num. nonzeros: 11971163 + - Name: 2-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-2-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 1165120 + Num. variables: 569341 + Num. nonzeros: 2133907 + - Name: 4-1h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-4-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: 2041145 + Num. variables: 963648 + Num. nonzeros: 3812907 + - Name: 6-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-6-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 6 nodes + Realistic: false + Num. constraints: 2943457 + Num. variables: 1384151 + Num. nonzeros: 5498751 + - Name: 8-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-8-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: 3731883 + Num. variables: 1752091 + Num. nonzeros: 6956950 + - Name: 10-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-10-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 4502789 + Num. variables: 2111271 + Num. nonzeros: 8442185 + - Name: 12-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-12-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 12 nodes + Realistic: false + Num. constraints: 5221135 + Num. variables: 2444171 + Num. nonzeros: 9778117 + - Name: 14-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-14-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 14 nodes + Realistic: false + Num. constraints: 6053365 + Num. variables: 2838393 + Num. nonzeros: 11376001 + - Name: 16-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-16-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 16 nodes + Realistic: false + Num. constraints: 6754193 + Num. variables: 3171294 + Num. nonzeros: 12684994 + - Name: 18-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-18-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 18 nodes + Realistic: false + Num. constraints: 7568897 + Num. variables: 3539233 + Num. nonzeros: 14248409 + - Name: 20-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-20-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 20 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 8208403 + Num. variables: 3854613 + Num. nonzeros: 15540441 + - Name: 22-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-22-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 22 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9066911 + Num. variables: 4240074 + Num. nonzeros: 17322007 + - Name: 24-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-24-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 24 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 9802781 + Num. variables: 4581736 + Num. nonzeros: 18700792 + - Name: 26-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-27-1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-26-1h.mps.gz Temporal resolution: 1 hour - Spatial resolution: 27 nodes + Spatial resolution: 26 nodes Realistic: true Realistic motivation: Sufficient spatial and temporal resolution over the considered time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 10775184 - Num. variables: 5054808 - Num. nonzeros: 20567343 + Num. constraints: 10459811 + Num. variables: 4897118 + Num. nonzeros: 19922369 - Name: 28-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-28-1h.mps.gz @@ -3465,17 +4001,6 @@ benchmarks: Num. constraints: 11134357 Num. variables: 5212498 Num. nonzeros: 21598028 - - Name: 29-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-29-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 29 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered - time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 11589892 - Num. variables: 5413989 - Num. nonzeros: 22253091 - Name: 30-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-30-1h.mps.gz @@ -3487,17 +4012,6 @@ benchmarks: Num. constraints: 11843941 Num. variables: 5554157 Num. nonzeros: 22592234 - - Name: 31-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-31-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 31 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered - time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 12001636 - Num. variables: 5641768 - Num. nonzeros: 23055356 - Name: 32-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-32-1h.mps.gz @@ -3509,17 +4023,6 @@ benchmarks: Num. constraints: 12404607 Num. variables: 5825737 Num. nonzeros: 23726812 - - Name: 33-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-33-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 33 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered - time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 12719982 - Num. variables: 5974668 - Num. nonzeros: 24530912 - Name: 34-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-34-1h.mps.gz @@ -3531,17 +4034,6 @@ benchmarks: Num. constraints: 12991559 Num. variables: 6106080 Num. nonzeros: 25044646 - - Name: 35-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-35-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 35 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered - time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 13534692 - Num. variables: 6351370 - Num. nonzeros: 25945319 - Name: 36-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-36-1h.mps.gz @@ -3553,17 +4045,6 @@ benchmarks: Num. constraints: 13718665 Num. variables: 6438980 Num. nonzeros: 26676672 - - Name: 37-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-37-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 37 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered - time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 13911394 - Num. variables: 6552868 - Num. nonzeros: 27050356 - Name: 38-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-38-1h.mps.gz @@ -3575,17 +4056,6 @@ benchmarks: Num. constraints: 14410731 Num. variables: 6771880 Num. nonzeros: 27800922 - - Name: 39-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-39-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 39 nodes - Realistic: true - Realistic motivation: Sufficient spatial and temporal resolution over the considered - time horizon to allow the benchmark to be defined as Realistic. - Num. constraints: 14612224 - Num. variables: 6868250 - Num. nonzeros: 27877704 - Name: 40-1h Size: L URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-40-1h.mps.gz @@ -3954,7 +4424,8 @@ benchmarks: Modelling framework: PyPSA Model name: PyPSA-Eur Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, + Open Energy Transition License: CC BY 4.0 Problem class: LP Application: Infrastructure & Capacity Expansion @@ -4029,7 +4500,8 @@ benchmarks: Modelling framework: PyPSA Model name: PyPSA-Eur Version: - Contributor(s)/Source: Daniele Lerede, Open Energy Transition + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, + Open Energy Transition License: CC BY 4.0 Problem class: LP Application: Infrastructure & Capacity Expansion @@ -4352,586 +4824,110 @@ benchmarks: Num. variables: 321418 Num. nonzeros: 1616084 pypsa-de-elec-uc: - Short description: + Short description: Power-sector PyPSA-Eur overnight runs for Germany (year 2050) + without transmission expansion and including unit commitment. Modelling framework: PyPSA - Model name: + Model name: PyPSA-Eur Version: Contributor(s)/Source: Daniele Lerede, Open Energy Transition License: CC BY 4.0 Problem class: MILP - Application: - Sectoral focus: + Application: Infrastructure & Capacity Expansion + Sectoral focus: Power-only Sectors: Electric - Time horizon: + Time horizon: Single period (2050) MILP features: Unit commitment Sizes: - - Name: 1-1h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_1-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 1 nodes - Realistic: - Realistic motivation: - Num. constraints: 674540 - Num. variables: 359129 - Num. nonzeros: 1645530 - Num. continuous variables: 254009 - Num. integer variables: 105120 - - Name: 2-1h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 2 nodes - Realistic: - Realistic motivation: - Num. constraints: 1480480 - Num. variables: 779577 - Num. nonzeros: 3552845 - Num. continuous variables: 569337 - Num. integer variables: 210240 - - Name: 3-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_3-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 3 nodes - Realistic: - Realistic motivation: - Num. constraints: 2260134 - Num. variables: 1182502 - Num. nonzeros: 5425187 - Num. continuous variables: 867142 - Num. integer variables: 315360 - - Name: 4-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 4 nodes - Realistic: - Realistic motivation: - Num. constraints: 3004748 - Num. variables: 1567907 - Num. nonzeros: 7228305 - Num. continuous variables: 1147427 - Num. integer variables: 420480 - - Name: 5-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_5-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 5 nodes - Realistic: - Realistic motivation: - Num. constraints: 3775648 - Num. variables: 1962075 - Num. nonzeros: 9081990 - Num. continuous variables: 1436475 - Num. integer variables: 525600 - - Name: 6-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 6 nodes - Realistic: - Realistic motivation: - Num. constraints: 4397622 - Num. variables: 2294920 - Num. nonzeros: 10639005 - Num. continuous variables: 1664200 - Num. integer variables: 630720 - - Name: 7-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_7-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 7 nodes - Realistic: - Realistic motivation: - Num. constraints: 4931993 - Num. variables: 2583965 - Num. nonzeros: 11880468 - Num. continuous variables: 1874405 - Num. integer variables: 709560 - - Name: 8-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 8 nodes - Realistic: - Realistic motivation: - Num. constraints: 5536442 - Num. variables: 2890529 - Num. nonzeros: 13262956 - Num. continuous variables: 2102129 - Num. integer variables: 788400 - - Name: 9-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_9-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 9 nodes - Realistic: - Realistic motivation: - Num. constraints: 6079576 - Num. variables: 3179618 - Num. nonzeros: 14706245 - Num. continuous variables: 2286098 - Num. integer variables: 893520 - Name: 10-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-10-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 10 nodes - Realistic: - Realistic motivation: + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. Num. constraints: 6754110 Num. variables: 3529983 Num. nonzeros: 16394847 Num. continuous variables: 2531343 Num. integer variables: 998640 - - Name: 11-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_11-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 11 nodes - Realistic: - Realistic motivation: - Num. constraints: 7192121 - Num. variables: 3775228 - Num. nonzeros: 17478319 - Num. continuous variables: 2697748 - Num. integer variables: 1077480 - - Name: 12-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_12-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 12 nodes - Realistic: - Realistic motivation: - Num. constraints: 7726494 - Num. variables: 4038081 - Num. nonzeros: 18738097 - Num. continuous variables: 2881761 - Num. integer variables: 1156320 - - Name: 13-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_13-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 13 nodes - Realistic: - Realistic motivation: - Num. constraints: 8173262 - Num. variables: 4283326 - Num. nonzeros: 19707964 - Num. continuous variables: 3074446 - Num. integer variables: 1208880 - - Name: 14-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_14-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 14 nodes - Realistic: - Realistic motivation: - Num. constraints: 8821517 - Num. variables: 4607457 - Num. nonzeros: 21194355 - Num. continuous variables: 3319737 - Num. integer variables: 1287720 - - Name: 15-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_15-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 15 nodes - Realistic: - Realistic motivation: - Num. constraints: 9198203 - Num. variables: 4808900 - Num. nonzeros: 22016088 - Num. continuous variables: 3468620 - Num. integer variables: 1340280 - - Name: 16-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_16-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 16 nodes - Realistic: - Realistic motivation: - Num. constraints: 9828941 - Num. variables: 5141791 - Num. nonzeros: 23607501 - Num. continuous variables: 3696391 - Num. integer variables: 1445400 - - Name: 17-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_17-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 17 nodes - Realistic: - Realistic motivation: - Num. constraints: 10284468 - Num. variables: 5369516 - Num. nonzeros: 24498778 - Num. continuous variables: 3897836 - Num. integer variables: 1471680 - - Name: 18-1h + - Name: 10-3h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_18-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 18 nodes - Realistic: - Realistic motivation: - Num. constraints: 10836358 - Num. variables: 5649801 - Num. nonzeros: 25625798 - Num. continuous variables: 4125561 - Num. integer variables: 1524240 - - Name: 19-1h - Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_19-1h.mps.gz - Temporal resolution: 1 hour - Spatial resolution: 19 nodes - Realistic: - Realistic motivation: - Num. constraints: 11248089 - Num. variables: 5877570 - Num. nonzeros: 26701992 - Num. continuous variables: 4274490 - Num. integer variables: 1603080 + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-10-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 10 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 2251470 + Num. variables: 1176760 + Num. nonzeros: 5467835 + Num. continuous variables: 843880 + Num. integer variables: 332880 + - Name: 10-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-10-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 281565 + Num. variables: 147193 + Num. nonzeros: 686752 + Num. continuous variables: 105583 + Num. integer variables: 41610 + - Name: 10-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-10-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 41013 + Num. variables: 21458 + Num. nonzeros: 99178 + Num. continuous variables: 15416 + Num. integer variables: 6042 - Name: 20-1h Size: L - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-1h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-20-1h.mps.gz Temporal resolution: 1 hour Spatial resolution: 20 nodes - Realistic: - Realistic motivation: + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. Num. constraints: 11694859 Num. variables: 6122815 Num. nonzeros: 27714822 Num. continuous variables: 4467175 Num. integer variables: 1655640 - - Name: 2-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_2-3h.mps.gz - Temporal resolution: 3 hour - Spatial resolution: 2 nodes - Realistic: - Realistic motivation: - Num. constraints: 426361 - Num. variables: 219025 - Num. nonzeros: 1053656 - Num. continuous variables: 157705 - Num. integer variables: 61320 - - Name: 4-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_4-3h.mps.gz - Temporal resolution: 3 hour - Spatial resolution: 4 nodes - Realistic: - Realistic motivation: - Num. constraints: 864391 - Num. variables: 435123 - Num. nonzeros: 2121711 - Num. continuous variables: 321243 - Num. integer variables: 113880 - - Name: 6-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_6-3h.mps.gz - Temporal resolution: 3 hour - Spatial resolution: 6 nodes - Realistic: - Realistic motivation: - Num. constraints: 1238184 - Num. variables: 619104 - Num. nonzeros: 3014142 - Num. continuous variables: 461424 - Num. integer variables: 157680 - - Name: 8-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_8-3h.mps.gz - Temporal resolution: 3 hour - Spatial resolution: 8 nodes - Realistic: - Realistic motivation: - Num. constraints: 1574011 - Num. variables: 785562 - Num. nonzeros: 3830823 - Num. continuous variables: 584082 - Num. integer variables: 201480 - - Name: 10-3h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_10-3h.mps.gz - Temporal resolution: 3 hour - Spatial resolution: 10 nodes - Realistic: - Realistic motivation: - Num. constraints: 1874795 - Num. variables: 934500 - Num. nonzeros: 4548359 - Num. continuous variables: 697980 - Num. integer variables: 236520 - - Name: 2-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 2 nodes - Realistic: - Realistic motivation: - Num. constraints: 61725 - Num. variables: 32510 - Num. nonzeros: 148762 - Num. continuous variables: 23750 - Num. integer variables: 8760 - - Name: 4-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 4 nodes - Realistic: - Realistic motivation: - Num. constraints: 108111 - Num. variables: 54428 - Num. nonzeros: 266481 - Num. continuous variables: 40193 - Num. integer variables: 14235 - - Name: 6-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 6 nodes - Realistic: - Realistic motivation: - Num. constraints: 154864 - Num. variables: 77444 - Num. nonzeros: 378742 - Num. continuous variables: 57734 - Num. integer variables: 19710 - - Name: 8-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 8 nodes - Realistic: - Realistic motivation: - Num. constraints: 196866 - Num. variables: 98267 - Num. nonzeros: 481527 - Num. continuous variables: 73082 - Num. integer variables: 25185 - - Name: 10-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 10 nodes - Realistic: - Realistic motivation: - Num. constraints: 234485 - Num. variables: 116900 - Num. nonzeros: 571917 - Num. continuous variables: 87335 - Num. integer variables: 29565 - - Name: 12-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_12-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 12 nodes - Realistic: - Realistic motivation: - Num. constraints: 272833 - Num. variables: 135533 - Num. nonzeros: 658690 - Num. continuous variables: 102683 - Num. integer variables: 32850 - - Name: 14-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_14-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 14 nodes - Realistic: - Realistic motivation: - Num. constraints: 310086 - Num. variables: 153436 - Num. nonzeros: 742937 - Num. continuous variables: 117301 - Num. integer variables: 36135 - - Name: 16-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_16-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 16 nodes - Realistic: - Realistic motivation: - Num. constraints: 348805 - Num. variables: 172437 - Num. nonzeros: 829709 - Num. continuous variables: 133017 - Num. integer variables: 39420 - - Name: 18-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_18-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 18 nodes - Realistic: - Realistic motivation: - Num. constraints: 383138 - Num. variables: 189610 - Num. nonzeros: 903358 - Num. continuous variables: 146905 - Num. integer variables: 42705 - - Name: 20-24h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-24h.mps.gz - Temporal resolution: 24 hour - Spatial resolution: 20 nodes - Realistic: - Realistic motivation: - Num. constraints: 421853 - Num. variables: 208243 - Num. nonzeros: 1000706 - Num. continuous variables: 162253 - Num. integer variables: 45990 - - Name: 2-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-48h.mps.gz - Temporal resolution: 48 hour - Spatial resolution: 2 nodes - Realistic: false - Num. constraints: 30967 - Num. variables: 16312 - Num. nonzeros: 74521 - Num. continuous variables: 11920 - Num. integer variables: 4392 - - Name: 4-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-48h.mps.gz - Temporal resolution: 48 hour - Spatial resolution: 4 nodes - Realistic: false - Num. constraints: 62837 - Num. variables: 32800 - Num. nonzeros: 151586 - Num. continuous variables: 24016 - Num. integer variables: 8784 - - Name: 6-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-48h.mps.gz - Temporal resolution: 48 hour - Spatial resolution: 8 nodes - Realistic: false - Num. constraints: 91968 - Num. variables: 48010 - Num. nonzeros: 223164 - Num. continuous variables: 34834 - Num. integer variables: 13176 - - Name: 8-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-48h.mps.gz - Temporal resolution: 48 hour - Spatial resolution: 8 nodes - Realistic: false - Num. constraints: 115778 - Num. variables: 60471 - Num. nonzeros: 278340 - Num. continuous variables: 44001 - Num. integer variables: 16470 - - Name: 10-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-48h.mps.gz - Temporal resolution: 48 hour - Spatial resolution: 10 nodes - Realistic: false - Num. constraints: 141243 - Num. variables: 73848 - Num. nonzeros: 344054 - Num. continuous variables: 52986 - Num. integer variables: 20862 - - Name: 20-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-48h.mps.gz - Temporal resolution: 48 hour + Skip because: TO + - Name: 20-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-20-3h.mps.gz + Temporal resolution: 3 hours Spatial resolution: 20 nodes - Realistic: false - Num. constraints: 244564 - Num. variables: 128108 - Num. nonzeros: 582592 - Num. continuous variables: 93521 - Num. integer variables: 34587 - - Name: 50-48h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_50-48h.mps.gz - Temporal resolution: 48 hour - Spatial resolution: 50 nodes - Realistic: false - Num. constraints: 539166 - Num. variables: 282837 - Num. nonzeros: 1283717 - Num. continuous variables: 207624 - Num. integer variables: 75213 - - Name: 2-168h - Size: S - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 2 nodes - Realistic: false - Num. constraints: 8997 - Num. variables: 4742 - Num. nonzeros: 21482 - Num. continuous variables: 3470 - Num. integer variables: 1272 - - Name: 4-168h - Size: S - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_4-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 4 nodes - Realistic: false - Num. constraints: 18247 - Num. variables: 9530 - Num. nonzeros: 43694 - Num. continuous variables: 6986 - Num. integer variables: 2544 - - Name: 5-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_5-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 22931 - Num. variables: 11927 - Num. nonzeros: 54912 - Num. continuous variables: 8747 - Num. integer variables: 3180 - - Name: 6-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_6-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 4 nodes - Realistic: false - Num. constraints: 26708 - Num. variables: 13950 - Num. nonzeros: 64322 - Num. continuous variables: 10134 - Num. integer variables: 3816 - - Name: 8-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_8-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 8 nodes - Realistic: false - Num. constraints: 33618 - Num. variables: 17571 - Num. nonzeros: 80252 - Num. continuous variables: 12801 - Num. integer variables: 4770 - - Name: 10-168h + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 3898459 + Num. variables: 2041117 + Num. nonzeros: 9244348 + Num. continuous variables: 1489237 + Num. integer variables: 551880 + - Name: 20-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_10-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 10 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-20-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 20 nodes Realistic: false - Num. constraints: 41013 - Num. variables: 21458 - Num. nonzeros: 99178 - Num. continuous variables: 15416 - Num. integer variables: 6042 + Num. constraints: 487534 + Num. variables: 255325 + Num. nonzeros: 1162574 + Num. continuous variables: 186340 + Num. integer variables: 68985 - Name: 20-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_20-168h.mps.gz - Temporal resolution: 168 hour + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-20-168h.mps.gz + Temporal resolution: 168 hours Spatial resolution: 20 nodes Realistic: false Num. constraints: 71014 @@ -4939,76 +4935,50 @@ benchmarks: Num. nonzeros: 168132 Num. continuous variables: 27221 Num. integer variables: 10017 - - Name: 15-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_15-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 55853 - Num. variables: 29241 - Num. nonzeros: 133399 - Num. continuous variables: 21132 - Num. integer variables: 8109 - - Name: 25-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_25-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 87292 - Num. variables: 45659 - Num. nonzeros: 205603 - Num. continuous variables: 33734 - Num. integer variables: 11925 - - Name: 30-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_30-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 101449 - Num. variables: 53126 - Num. nonzeros: 238546 - Num. continuous variables: 39134 - Num. integer variables: 13992 - - Name: 35-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_35-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 116403 - Num. variables: 61069 - Num. nonzeros: 275551 - Num. continuous variables: 44692 - Num. integer variables: 16377 - - Name: 40-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_40-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 128749 - Num. variables: 67633 - Num. nonzeros: 306366 - Num. continuous variables: 49666 - Num. integer variables: 17967 - - Name: 45-168h + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 25781277 + Num. variables: 13516004 + Num. nonzeros: 60976098 + Num. continuous variables: 9915644 + Num. integer variables: 3600360 + Skip because: TO + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 8594157 + Num. variables: 4505738 + Num. nonzeros: 20341458 + Num. continuous variables: 3305618 + Num. integer variables: 1200120 + Skip because: TO + - Name: 50-24h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_45-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes Realistic: false - Num. constraints: 144020 - Num. variables: 75577 - Num. nonzeros: 341664 - Num. continuous variables: 55384 - Num. integer variables: 20193 + Num. constraints: 1074792 + Num. variables: 563657 + Num. nonzeros: 2560928 + Num. continuous variables: 413642 + Num. integer variables: 150015 + Skip because: TO - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_50-168h.mps.gz - Temporal resolution: 168 hour + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-50-168h.mps.gz + Temporal resolution: 168 hours Spatial resolution: 50 nodes Realistic: false Num. constraints: 156576 @@ -5016,109 +4986,50 @@ benchmarks: Num. nonzeros: 370792 Num. continuous variables: 60464 Num. integer variables: 21783 - - Name: 55-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_55-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 169301 - Num. variables: 88760 - Num. nonzeros: 398729 - Num. continuous variables: 65387 - Num. integer variables: 23373 - - Name: 60-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_60-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 179417 - Num. variables: 94264 - Num. nonzeros: 423671 - Num. continuous variables: 69619 - Num. integer variables: 24645 - - Name: 65-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_65-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 194960 - Num. variables: 102263 - Num. nonzeros: 459387 - Num. continuous variables: 75551 - Num. integer variables: 26712 - - Name: 70-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_70-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 206771 - Num. variables: 108666 - Num. nonzeros: 484576 - Num. continuous variables: 80205 - Num. integer variables: 28461 - - Name: 75-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_75-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 220612 - Num. variables: 115921 - Num. nonzeros: 517702 - Num. continuous variables: 85393 - Num. integer variables: 30528 - - Name: 80-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_80-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 233386 - Num. variables: 122699 - Num. nonzeros: 550421 - Num. continuous variables: 90581 - Num. integer variables: 32118 - - Name: 85-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_85-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 244833 - Num. variables: 128786 - Num. nonzeros: 574813 - Num. continuous variables: 95078 - Num. integer variables: 33708 - - Name: 90-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_90-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes - Realistic: false - Num. constraints: 257924 - Num. variables: 135774 - Num. nonzeros: 603416 - Num. continuous variables: 100317 - Num. integer variables: 35457 - - Name: 95-168h - Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_95-168h.mps.gz - Temporal resolution: 168 hour - Spatial resolution: 5 nodes + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 46683175 + Num. variables: 24544950 + Num. nonzeros: 109602873 + Num. continuous variables: 18053790 + Num. integer variables: 6491160 + Skip because: TO + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 15561815 + Num. variables: 8182388 + Num. nonzeros: 36567903 + Num. continuous variables: 6018668 + Num. integer variables: 2163720 + Skip because: TO + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes Realistic: false - Num. constraints: 269956 - Num. variables: 142126 - Num. nonzeros: 635740 - Num. continuous variables: 104761 - Num. integer variables: 37365 + Num. constraints: 1946220 + Num. variables: 1023645 + Num. nonzeros: 4608334 + Num. continuous variables: 753180 + Num. integer variables: 270465 + Skip because: TO - Name: 100-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_100-168h.mps.gz - Temporal resolution: 168 hour + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-100-168h.mps.gz + Temporal resolution: 168 hours Spatial resolution: 100 nodes Realistic: false Num. constraints: 283572 @@ -5126,9 +5037,21 @@ benchmarks: Num. nonzeros: 667792 Num. continuous variables: 110159 Num. integer variables: 39273 + - Name: 2-3h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 426361 + Num. variables: 219025 + Num. nonzeros: 1053656 + Num. continuous variables: 157705 + Num. integer variables: 61320 + Skip because: TO - Name: 2-5h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_5h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-5h.mps.gz Temporal resolution: 5 hours Spatial resolution: 2 nodes Realistic: false @@ -5139,7 +5062,7 @@ benchmarks: Num. integer variables: 42048 - Name: 2-8h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_8h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-8h.mps.gz Temporal resolution: 8 hours Spatial resolution: 2 nodes Realistic: false @@ -5150,7 +5073,7 @@ benchmarks: Num. integer variables: 26280 - Name: 2-12h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_12h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-12h.mps.gz Temporal resolution: 12 hours Spatial resolution: 2 nodes Realistic: false @@ -5161,7 +5084,7 @@ benchmarks: Num. integer variables: 17520 - Name: 2-36h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_36h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-36h.mps.gz Temporal resolution: 36 hours Spatial resolution: 2 nodes Realistic: false @@ -5172,7 +5095,7 @@ benchmarks: Num. integer variables: 5856 - Name: 2-84h Size: S - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc_2_84h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-uc-2-84h.mps.gz Temporal resolution: 84 hours Spatial resolution: 2 nodes Realistic: false @@ -5181,9 +5104,10 @@ benchmarks: Num. nonzeros: 42698 Num. continuous variables: 6850 Num. integer variables: 2520 - pypsa-eur-elec-uc: - Short description: Power-sector PyPSA-Eur overnight runs for all Europe (year - 2050) without transmission expansion and including unit commitment. + pypsa-de-elec-trex_vopt-uc: + Short description: Power-sector PyPSA-Eur overnight runs for Germany (year 2050) + with transmission expansion based on optimal volume increase and including unit + commitment. Modelling framework: PyPSA Model name: PyPSA-Eur Version: @@ -5196,17 +5120,204 @@ benchmarks: Time horizon: Single period (2050) MILP features: Unit commitment Sizes: + - Name: 10-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-10-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 10 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 6754110 + Num. variables: 3529983 + Num. nonzeros: 16394847 + Num. continuous variables: 2531343 + Num. integer variables: 998640 + - Name: 10-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-10-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 10 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 2251470 + Num. variables: 1176760 + Num. nonzeros: 5467835 + Num. continuous variables: 843880 + Num. integer variables: 332880 + - Name: 10-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-10-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 281565 + Num. variables: 147193 + Num. nonzeros: 686752 + Num. continuous variables: 105583 + Num. integer variables: 41610 + - Name: 10-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-10-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 41013 + Num. variables: 21458 + Num. nonzeros: 99178 + Num. continuous variables: 15416 + Num. integer variables: 6042 + - Name: 20-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-20-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 20 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 11694859 + Num. variables: 6122815 + Num. nonzeros: 27714822 + Num. continuous variables: 4467175 + Num. integer variables: 1655640 + Skip because: TO + - Name: 20-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-20-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 20 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 3898459 + Num. variables: 2041117 + Num. nonzeros: 9244348 + Num. continuous variables: 1489237 + Num. integer variables: 551880 + - Name: 20-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-20-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 487534 + Num. variables: 255325 + Num. nonzeros: 1162574 + Num. continuous variables: 186340 + Num. integer variables: 68985 + - Name: 20-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-20-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 71014 + Num. variables: 37238 + Num. nonzeros: 168132 + Num. continuous variables: 27221 + Num. integer variables: 10017 + - Name: 50-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-50-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 25781277 + Num. variables: 13516004 + Num. nonzeros: 60976098 + Num. continuous variables: 9915644 + Num. integer variables: 3600360 + Skip because: TO + - Name: 50-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-50-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 50 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 8594157 + Num. variables: 4505738 + Num. nonzeros: 20341458 + Num. continuous variables: 3305618 + Num. integer variables: 1200120 + Skip because: TO + - Name: 50-24h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-50-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 1074792 + Num. variables: 563657 + Num. nonzeros: 2560928 + Num. continuous variables: 413642 + Num. integer variables: 150015 - Name: 50-168h Size: M - URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-eur-elec-uc_50-168h.mps.gz + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-50-168h.mps.gz Temporal resolution: 168 hours Spatial resolution: 50 nodes Realistic: false - Num. constraints: 173914 - Num. variables: 87784 - Num. nonzeros: 408597 - Num. continuous variables: 69817 - Num. integer variables: 17967 + Num. constraints: 156576 + Num. variables: 82247 + Num. nonzeros: 370792 + Num. continuous variables: 60464 + Num. integer variables: 21783 + - Name: 100-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-100-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 46683175 + Num. variables: 24544950 + Num. nonzeros: 109602873 + Num. continuous variables: 18053790 + Num. integer variables: 6491160 + Skip because: TO + - Name: 100-3h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-100-3h.mps.gz + Temporal resolution: 3 hours + Spatial resolution: 100 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 15561815 + Num. variables: 8182388 + Num. nonzeros: 36567903 + Num. continuous variables: 6018668 + Num. integer variables: 2163720 + Skip because: TO + - Name: 100-24h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-100-24h.mps.gz + Temporal resolution: 24 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 1946220 + Num. variables: 1023645 + Num. nonzeros: 4608334 + Num. continuous variables: 753180 + Num. integer variables: 270465 + Skip because: TO + - Name: 100-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-elec-trex_vopt-uc-100-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 100 nodes + Realistic: false + Num. constraints: 283572 + Num. variables: 149432 + Num. nonzeros: 667792 + Num. continuous variables: 110159 + Num. integer variables: 39273 DCOPF-Carolinas_2M: Short description: A tailored version of the DC optimal power flow (DC OPF) model configured for a two-month horizon with hourly resolution, using 2021 as the From b7ec85a7320f680746a85d49c44b97417b0990ec Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 27 May 2026 12:25:34 +0200 Subject: [PATCH 33/38] Add pypsa_de_sec_scaling results --- notebooks/run_commercial_solvers.ipynb | 172 ++++++++++++++++++++++++- results/pypsa_de_sec_scaling.csv | 52 ++++++++ 2 files changed, 222 insertions(+), 2 deletions(-) create mode 100644 results/pypsa_de_sec_scaling.csv diff --git a/notebooks/run_commercial_solvers.ipynb b/notebooks/run_commercial_solvers.ipynb index f4cc077a..6ffe189c 100644 --- a/notebooks/run_commercial_solvers.ipynb +++ b/notebooks/run_commercial_solvers.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 3, + "execution_count": 1, "id": "6b5c0f33-55da-4575-91cf-4f39d457be37", "metadata": {}, "outputs": [], @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 2, "id": "9f64b882-a617-40b1-83b8-0113396884ae", "metadata": {}, "outputs": [], @@ -535,6 +535,174 @@ "cell_type": "markdown", "id": "f0920d9b-2d88-4f31-8d19-d984c655d236", "metadata": {}, + "source": [ + "# 20260526 Run pypsa-de-sec-xx-1h (2-through-20 nodes) with CPLEX" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "d16f3bdb-c259-4d36-ab3a-91705f82ed44", + "metadata": {}, + "outputs": [], + "source": [ + "benchmarks_df = load_benchmark_metadata()\n", + "\n", + "df = benchmarks_df[benchmarks_df[\"Benchmark\"] == \"pypsa-de-sec\"].copy()\n", + "\n", + "# Extract nodes\n", + "nodes = df[\"Instance\"].str.split(\"-\").str[0].astype(int)\n", + "\n", + "# Build mask\n", + "mask = (\n", + " df[\"Instance\"].str.endswith(\"-1h\") # only 1h\n", + " & nodes.between(2, 20) # between 2 and 20\n", + " & (nodes % 2 == 0) # even only\n", + ")\n", + "\n", + "benchs_to_run = df[mask]" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "a2684fb4-3141-46f4-b011-5e331bdface1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Allocated. Estimated runtime: 5964.6h\n", + " VM 00: 1 instances, 5964.6h\n", + " VM 01: 1 instances, 5543.4h\n", + " VM 02: 1 instances, 4935.1h\n", + " VM 03: 1 instances, 4351.0h\n", + " VM 04: 1 instances, 3711.0h\n", + " VM 05: 1 instances, 3054.1h\n", + " VM 06: 1 instances, 2516.2h\n", + " VM 07: 1 instances, 1917.5h\n", + " VM 08: 1 instances, 1267.8h\n", + " VM 09: 1 instances, 615.7h\n", + "Created directory and files in ../infrastructure/benchmarks/20260526-pypsa-de-sec-2-nodes-scaling-cplex\n", + "Run this campaign from the infrastructure/ directory using the command:\n", + "tofu apply -var-file benchmarks/20260526-pypsa-de-sec-2-nodes-scaling-cplex/run.tfvars -state=states/20260526-pypsa-de-sec-2-nodes-scaling-cplex.tfstate\n" + ] + } + ], + "source": [ + "# Create campaign: 1 instance per VM, latest solvers only\n", + "\n", + "vm_yamls = allocate_benchmarks(\n", + " benchs_to_run,\n", + " \"Num. variables\",\n", + " len(benchs_to_run),\n", + " machine_type=\"c4-highmem-8\", # NOTE: increased to highmem!\n", + " timeout_seconds=24 * 60 * 60, # NOTE: 24h timeout\n", + " solvers=\"cplex\",\n", + " years=[2025], # latest solvers only, so skip creating older conda envs\n", + ")\n", + "\n", + "create_benchmark_campaign(\n", + " \"20260526-pypsa-de-sec-2-nodes-scaling-cplex\",\n", + " \"pypsa-de-sec-2-nodes-scaling-cplex\",\n", + " vm_yamls,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "0a455f96-3f9f-4dd6-b1b4-dccce98ef01f", + "metadata": {}, + "source": [ + "# 20260526 Run pypsa-de-elec-uc with increasing temporal resolution with CPLEX" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "21b264c1-5580-4862-a0f1-e0233940783c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['2-3h', '2-5h', '2-8h', '2-12h', '2-36h', '2-84h']" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "benchmarks_df = load_benchmark_metadata()\n", + "\n", + "df = benchmarks_df[(benchmarks_df[\"Benchmark\"] == \"pypsa-de-elec-uc\")].copy()\n", + "\n", + "# Extract nodes\n", + "df[\"nodes\"] = df[\"Instance\"].map(lambda i: int(i.split(\"-\")[0]))\n", + "\n", + "# Extract resolution (e.g. \"168h\" -> 168)\n", + "df[\"resolution\"] = df[\"Instance\"].map(lambda i: int(i.split(\"-\")[-1].replace(\"h\", \"\")))\n", + "\n", + "# Filter\n", + "benchs_to_run = df[\n", + " (df[\"nodes\"] == 2) & (df[\"resolution\"].isin([3, 5, 8, 12, 24, 36, 48, 84, 168]))\n", + "]\n", + "\n", + "benchs_to_run[\"Instance\"].tolist()" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "0e6dabb3-f9fd-4703-be00-89c84b23c2e5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Allocated. Estimated runtime: 60.8h\n", + " VM 00: 1 instances, 60.8h\n", + " VM 01: 1 instances, 43.3h\n", + " VM 02: 1 instances, 27.1h\n", + " VM 03: 1 instances, 18.1h\n", + " VM 04: 1 instances, 6.0h\n", + " VM 05: 1 instances, 2.6h\n", + "Created directory and files in ../infrastructure/benchmarks/20260527-pypsa-de-elec-uc-2-nodes-scaling-cplex\n", + "Run this campaign from the infrastructure/ directory using the command:\n", + "tofu apply -var-file benchmarks/20260527-pypsa-de-elec-uc-2-nodes-scaling-cplex/run.tfvars -state=states/20260527-pypsa-de-elec-uc-2-nodes-scaling-cplex.tfstate\n" + ] + } + ], + "source": [ + "# Create campaign: 1 instance per VM, latest solvers only\n", + "\n", + "vm_yamls = allocate_benchmarks(\n", + " benchs_to_run,\n", + " \"Num. variables\",\n", + " len(benchs_to_run),\n", + " machine_type=\"c4-highmem-8\", # NOTE: increased to highmem!\n", + " timeout_seconds=24 * 60 * 60, # NOTE: 24h timeout\n", + " solvers=\"cplex\",\n", + " years=[2025], # latest solvers only, so skip creating older conda envs\n", + ")\n", + "\n", + "create_benchmark_campaign(\n", + " \"20260527-pypsa-de-elec-uc-2-nodes-scaling-cplex\",\n", + " \"pypsa-de-elec-uc-2-nodes-scaling-cplex\",\n", + " vm_yamls,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "abce8c86-a98d-4a1e-b51d-8267ea38f55d", + "metadata": {}, + "outputs": [], "source": [] } ], diff --git a/results/pypsa_de_sec_scaling.csv b/results/pypsa_de_sec_scaling.csv new file mode 100644 index 00000000..40d57942 --- /dev/null +++ b/results/pypsa_de_sec_scaling.csv @@ -0,0 +1,52 @@ +Benchmark,Size,Solver,Solver Version,Solver Release Year,Status,Termination Condition,Runtime (s),Memory Usage (MB),Objective Value,Max Integrality Violation,Duality Gap,Reported Runtime (s),Timeout,Hostname,Run ID,Timestamp,VM Instance Type,VM Zone,Solver benchmark version,source_file +pypsa-de-sec,10-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-05,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:36.756689,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,12-1h,cplex,22.1.2.0,2025.0,TO,Timeout,86400.0,54967.244,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:15:17.749824,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv +pypsa-de-sec,14-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-03,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:25:47.881753,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,16-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-02,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:27:04.292393,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,18-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-01,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:42.256031,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,2-1h,cplex,22.1.2.0,2025.0,ok,optimal,327.11078384099994,9780.04,81991355803.35603,,,1779820314.736293,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-09,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:27.004465,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,20-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-00,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:25:57.350154,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,4-1h,cplex,22.1.2.0,2025.0,ok,optimal,1293.265115611,18820.084,81361050890.15439,,,1779821261.054553,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-08,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:07.124782,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,6-1h,cplex,22.1.2.0,2025.0,ok,optimal,2702.861934856,28499.224,81691415830.01482,,,1779822733.623625,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-07,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:27:09.947771,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,8-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-06,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:17.691916,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,10-1h,gurobi,12.0.3,2025.0,ok,optimal,3034.276458015,17471.36,80979054873.21349,,,2924.318405151367,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:31.004845,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv +pypsa-de-sec,12-1h,gurobi,12.0.3,2025.0,ok,optimal,3849.128472506,21594.5,81317358533.02264,,,3738.9135749340057,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:49.295503,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv +pypsa-de-sec,14-1h,gurobi,12.0.3,2025.0,TO,Timeout,86400.0,25681.856,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:44.785351,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv +pypsa-de-sec,16-1h,gurobi,12.0.3,2025.0,ok,optimal,8425.818834536,30735.452,81179624001.90094,,,8269.615338802338,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:05.498242,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv +pypsa-de-sec,18-1h,gurobi,12.0.3,2025.0,ok,optimal,9427.601518542,35111.06,82041908816.75323,,,9242.105520009996,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:08:10.480803,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv +pypsa-de-sec,2-1h,gurobi,12.0.3,2025.0,ok,optimal,175.92564876,4026.056,81991354939.73016,,,158.60687589645386,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:18.339745,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv +pypsa-de-sec,20-1h,gurobi,12.0.3,2025.0,ok,optimal,12415.836522898,39582.048,81010407181.47525,,,12202.232421875,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:10:20.245339,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv +pypsa-de-sec,4-1h,gurobi,12.0.3,2025.0,TO,Timeout,86400.0,7478.872,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:40.227328,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv +pypsa-de-sec,6-1h,gurobi,12.0.3,2025.0,ok,optimal,2718.511145352,10290.176,88087103696.09189,,,2660.9890389442444,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:35.497215,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv +pypsa-de-sec,8-1h,gurobi,12.0.3,2025.0,ok,optimal,1805.921619992,13502.388,81207139140.78223,,,1718.9438378810885,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:08:31.940514,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv +pypsa-de-sec,10-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.132,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:07:55.501524,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv +pypsa-de-sec,12-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.256,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 10:18:45.530086,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv +pypsa-de-sec,14-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.316,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:12:14.129553,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv +pypsa-de-sec,16-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.3,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:32:43.551780,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv +pypsa-de-sec,18-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.388,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:51:06.791248,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv +pypsa-de-sec,2-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.472,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:18:13.638427,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv +pypsa-de-sec,20-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.296,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 12:43:11.625282,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv +pypsa-de-sec,4-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.472,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:30:52.620828,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv +pypsa-de-sec,6-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.356,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:39:54.763920,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv +pypsa-de-sec,8-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,201.908,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:47:52.813710,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv +pypsa-de-sec,10-1h,mosek,11.1.10,2025.0,ok,optimal,2068.240135631,42764.54,80979047668.74982,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:07:56.226400,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv +pypsa-de-sec,12-1h,mosek,11.1.10,2025.0,ok,optimal,2678.401065715996,51576.784,81317354023.55574,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 10:18:46.258599,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv +pypsa-de-sec,14-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:12:14.769535,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv +pypsa-de-sec,16-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:32:44.236533,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv +pypsa-de-sec,18-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:51:07.559331,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv +pypsa-de-sec,2-1h,mosek,11.1.10,2025.0,ok,optimal,160.9836342210001,9138.904,81991361997.05534,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:18:14.260741,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv +pypsa-de-sec,20-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 12:43:12.339881,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv +pypsa-de-sec,4-1h,mosek,11.1.10,2025.0,ok,optimal,438.13928924700303,17866.356,81361103217.84616,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:30:53.268249,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv +pypsa-de-sec,6-1h,mosek,11.1.10,2025.0,ok,optimal,945.4233290040002,24702.644,81691414720.69237,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:39:55.451775,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv +pypsa-de-sec,8-1h,mosek,11.1.10,2025.0,ok,optimal,1362.923344621,36381.8,81207138264.10797,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:47:53.567357,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv +pypsa-de-sec,10-1h,xpress,9.8.0,2025.0,ER,,,5516.28,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:07:49.318348,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv +pypsa-de-sec,12-1h,xpress,9.8.0,2025.0,ER,,,6523.008,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 10:18:41.499252,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv +pypsa-de-sec,14-1h,xpress,9.8.0,2025.0,ER,,,7650.204,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:12:01.529566,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv +pypsa-de-sec,16-1h,xpress,9.8.0,2025.0,ER,,,8675.116,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:32:26.254455,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv +pypsa-de-sec,18-1h,xpress,9.8.0,2025.0,ER,,,9742.032,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:50:47.591424,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv +pypsa-de-sec,2-1h,xpress,9.8.0,2025.0,ER,,,1198.028,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:18:12.492816,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv +pypsa-de-sec,20-1h,xpress,9.8.0,2025.0,ER,,,10672.748,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 12:42:48.486868,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv +pypsa-de-sec,4-1h,xpress,9.8.0,2025.0,ER,,,2273.184,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:30:50.898236,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv +pypsa-de-sec,6-1h,xpress,9.8.0,2025.0,ER,,,3400.596,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:39:52.423200,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv +pypsa-de-sec,8-1h,xpress,9.8.0,2025.0,ER,,,4431.42,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:47:48.470811,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv +reference-benchmark,reference,highs-binary,1.10.0,,OK,Optimal,197.69941712799996,,2813303766.2,,,,,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-09,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:35:12.613897,c4-highmem-8,us-central1-a,acb819f, From 2f820226614b4d5c4b364659b3e69ac141bf092d Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 27 May 2026 12:25:50 +0200 Subject: [PATCH 34/38] Add metadata snippet for pypsa-de-sec --- notebooks/metadata-pypsa-de-sec.yaml | 146 +++++++++++++++++++++++++++ 1 file changed, 146 insertions(+) create mode 100644 notebooks/metadata-pypsa-de-sec.yaml diff --git a/notebooks/metadata-pypsa-de-sec.yaml b/notebooks/metadata-pypsa-de-sec.yaml new file mode 100644 index 00000000..1e867532 --- /dev/null +++ b/notebooks/metadata-pypsa-de-sec.yaml @@ -0,0 +1,146 @@ +benchmarks: + pypsa-de-sec: + Short description: Sector-coupled PyPSA-Eur runs for Germany without transmission + expansion. + Modelling framework: PyPSA + Model name: PyPSA-Eur + Version: + Contributor(s)/Source: Daniele Lerede, Open Energy Transition; Fabrizio Finozzi, + Open Energy Transition + License: CC BY 4.0 + Problem class: LP + Application: Infrastructure & Capacity Expansion + Sectoral focus: Sector-coupled + Sectors: Electric, Heating, Transport, Industry, Hydrogen, Biomass + Time horizon: Single period (2050) + MILP features: None + Sizes: + - Name: 10-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-10-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 10 nodes + Realistic: false + Num. constraints: 142147 + Num. variables: 67416 + Num. nonzeros: 332009 + - Name: 20-12h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-20-12h.mps.gz + Temporal resolution: 12 hours + Spatial resolution: 20 nodes + Realistic: false + Num. constraints: 3797984 + Num. variables: 1791010 + Num. nonzeros: 8932707 + - Name: 50-168h + Size: M + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-50-168h.mps.gz + Temporal resolution: 168 hours + Spatial resolution: 50 nodes + Realistic: false + Num. constraints: 677039 + Num. variables: 321282 + Num. nonzeros: 1603304 + - Name: 2-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-2-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 2 nodes + Realistic: false + Num. constraints: 4678043 + Num. variables: 2216368 + Num. nonzeros: 10513074 + - Name: 4-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-4-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 4 nodes + Realistic: false + Num. constraints: 9636397 + Num. variables: 4564134 + Num. nonzeros: 21900007 + - Name: 6-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-6-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 6 nodes + Realistic: false + Num. constraints: 14568486 + Num. variables: 6903154 + Num. nonzeros: 33460003 + - Name: 8-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-8-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 8 nodes + Realistic: false + Num. constraints: 19123880 + Num. variables: 9058202 + Num. nonzeros: 44092966 + - Name: 10-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-10-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 10 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 23328888 + Num. variables: 10994701 + Num. nonzeros: 54427819 + - Name: 12-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-12-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 12 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 28234681 + Num. variables: 13359680 + Num. nonzeros: 65628075 + - Name: 14-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-14-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 14 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 33087928 + Num. variables: 15663702 + Num. nonzeros: 77091272 + - Name: 16-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-16-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 16 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 37529441 + Num. variables: 17766232 + Num. nonzeros: 87486821 + - Name: 18-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-18-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 18 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 42172440 + Num. variables: 19956324 + Num. nonzeros: 98370872 + - Name: 20-1h + Size: L + URL: https://storage.googleapis.com/solver-benchmarks/instances/pypsa-de-sec-20-1h.mps.gz + Temporal resolution: 1 hour + Spatial resolution: 20 nodes + Realistic: true + Realistic motivation: Sufficient spatial and temporal resolution over the considered + time horizon to allow the benchmark to be defined as Realistic. + Num. constraints: 45553984 + Num. variables: 21472540 + Num. nonzeros: 106717276 From 237a674c2f15e4da4c993fc626969be815432191 Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Wed, 27 May 2026 12:27:49 +0200 Subject: [PATCH 35/38] Update run_commercial_solvers notebook --- notebooks/run_commercial_solvers.ipynb | 215 ++++--------------------- 1 file changed, 27 insertions(+), 188 deletions(-) diff --git a/notebooks/run_commercial_solvers.ipynb b/notebooks/run_commercial_solvers.ipynb index 6ffe189c..1c282786 100644 --- a/notebooks/run_commercial_solvers.ipynb +++ b/notebooks/run_commercial_solvers.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": null, "id": "6b5c0f33-55da-4575-91cf-4f39d457be37", "metadata": {}, "outputs": [], @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": null, "id": "9f64b882-a617-40b1-83b8-0113396884ae", "metadata": {}, "outputs": [], @@ -38,7 +38,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "579b0223-ddc7-4209-87d8-2711cfdc3f70", "metadata": {}, "outputs": [], @@ -51,23 +51,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "193dc7e9-e93d-4afe-8c2d-b1fa8341e586", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Allocated. Estimated runtime: 158.2h\n", - " VM 00: 1 instances, 158.2h\n", - "WARNING: existing yaml files found in ../infrastructure/benchmarks/20260415-pypsa-de-elec-2-1h-mosek-test\n", - "Created directory and files in ../infrastructure/benchmarks/20260415-pypsa-de-elec-2-1h-mosek-test\n", - "Run this campaign from the infrastructure/ directory using the command:\n", - "tofu apply -var-file benchmarks/20260415-pypsa-de-elec-2-1h-mosek-test/run.tfvars -state=states/20260415-pypsa-de-elec-2-1h-mosek-test.tfstate\n" - ] - } - ], + "outputs": [], "source": [ "# Create campaign: 1 instance per VM, latest solvers only\n", "\n", @@ -118,7 +105,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "33cb110e-9812-469f-bd09-380c60382734", "metadata": {}, "outputs": [], @@ -142,31 +129,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "6b2a058f-9c70-4245-aca6-f90d956210a1", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Allocated. Estimated runtime: 1070.7h\n", - " VM 00: 1 instances, 1070.7h\n", - " VM 01: 1 instances, 983.1h\n", - " VM 02: 1 instances, 880.9h\n", - " VM 03: 1 instances, 788.4h\n", - " VM 04: 1 instances, 678.9h\n", - " VM 05: 1 instances, 586.5h\n", - " VM 06: 1 instances, 486.7h\n", - " VM 07: 1 instances, 384.5h\n", - " VM 08: 1 instances, 267.7h\n", - " VM 09: 1 instances, 158.2h\n", - "Created directory and files in ../infrastructure/benchmarks/20260415-pypsa-de-elec-2-through-20-1h-mosek\n", - "Run this campaign from the infrastructure/ directory using the command:\n", - "tofu apply -var-file benchmarks/20260415-pypsa-de-elec-2-through-20-1h-mosek/run.tfvars -state=states/20260415-pypsa-de-elec-2-through-20-1h-mosek.tfstate\n" - ] - } - ], + "outputs": [], "source": [ "# Create campaign: 1 instance per VM, latest solvers only\n", "\n", @@ -217,21 +183,10 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": null, "id": "0cb6d2e2-c45d-476e-8e26-9b72a91e942e", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['2-3h', '2-24h', '2-48h', '2-168h', '2-5h', '2-8h', '2-12h', '2-36h', '2-84h']" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "benchmarks_df = load_benchmark_metadata()\n", "\n", @@ -253,31 +208,10 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": null, "id": "354f6c9e-c1bd-4fbf-a46c-b2a2056adca0", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Allocated. Estimated runtime: 60.8h\n", - " VM 00: 1 instances, 60.8h\n", - " VM 01: 1 instances, 43.3h\n", - " VM 02: 1 instances, 27.1h\n", - " VM 03: 1 instances, 18.1h\n", - " VM 04: 1 instances, 9.0h\n", - " VM 05: 1 instances, 6.0h\n", - " VM 06: 1 instances, 4.5h\n", - " VM 07: 1 instances, 2.6h\n", - " VM 08: 1 instances, 1.3h\n", - "WARNING: existing yaml files found in ../infrastructure/benchmarks/20260415-pypsa-de-elec-uc-2-nodes-scaling-mosek\n", - "Created directory and files in ../infrastructure/benchmarks/20260415-pypsa-de-elec-uc-2-nodes-scaling-mosek\n", - "Run this campaign from the infrastructure/ directory using the command:\n", - "tofu apply -var-file benchmarks/20260415-pypsa-de-elec-uc-2-nodes-scaling-mosek/run.tfvars -state=states/20260415-pypsa-de-elec-uc-2-nodes-scaling-mosek.tfstate\n" - ] - } - ], + "outputs": [], "source": [ "# Create campaign: 1 instance per VM, latest solvers only\n", "\n", @@ -320,7 +254,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": null, "id": "43a8bbdc-00dd-4a10-994b-c71974e0e997", "metadata": {}, "outputs": [], @@ -344,31 +278,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "a5992094-55ef-4f5c-9462-95eb6c9555cf", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Allocated. Estimated runtime: 1070.7h\n", - " VM 00: 1 instances, 1070.7h\n", - " VM 01: 1 instances, 983.1h\n", - " VM 02: 1 instances, 880.9h\n", - " VM 03: 1 instances, 788.4h\n", - " VM 04: 1 instances, 678.9h\n", - " VM 05: 1 instances, 586.5h\n", - " VM 06: 1 instances, 486.7h\n", - " VM 07: 1 instances, 384.5h\n", - " VM 08: 1 instances, 267.7h\n", - " VM 09: 1 instances, 158.2h\n", - "Created directory and files in ../infrastructure/benchmarks/20260422-pypsa-de-elec-2-through-20-1h-commercial\n", - "Run this campaign from the infrastructure/ directory using the command:\n", - "tofu apply -var-file benchmarks/20260422-pypsa-de-elec-2-through-20-1h-commercial/run.tfvars -state=states/20260422-pypsa-de-elec-2-through-20-1h-commercial.tfstate\n" - ] - } - ], + "outputs": [], "source": [ "# Create campaign: 1 instance per VM, latest solvers only\n", "\n", @@ -399,21 +312,10 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "id": "14086c3a-c378-44c6-b409-07b0828ce573", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['2-3h', '2-24h', '2-48h', '2-168h', '2-5h', '2-8h', '2-12h', '2-36h', '2-84h']" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "benchmarks_df = load_benchmark_metadata()\n", "\n", @@ -469,7 +371,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "ae3ec56b-e247-47e4-b5e5-eaab8744981e", "metadata": {}, "outputs": [], @@ -493,24 +395,10 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": null, "id": "24f6507f-40a2-499d-b268-49ab17b8b12f", "metadata": {}, - "outputs": [ - { - "ename": "ValueError", - "evalue": "max() iterable argument is empty", - "output_type": "error", - "traceback": [ - "\u001b[31m---------------------------------------------------------------------------\u001b[39m", - "\u001b[31mValueError\u001b[39m Traceback (most recent call last)", - "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[6]\u001b[39m\u001b[32m, line 3\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;66;03m# Create campaign: 1 instance per VM, latest solvers only\u001b[39;00m\n\u001b[32m 2\u001b[39m \n\u001b[32m----> \u001b[39m\u001b[32m3\u001b[39m vm_yamls = allocate_benchmarks(\n\u001b[32m 4\u001b[39m benchs_to_run,\n\u001b[32m 5\u001b[39m \u001b[33m\"Num. variables\"\u001b[39m,\n\u001b[32m 6\u001b[39m len(benchs_to_run),\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/solver-benchmark/runner/utils.py:255\u001b[39m, in \u001b[36mallocate_benchmarks\u001b[39m\u001b[34m(benchmarks_df, weight_col, num_vms, machine_type, zone, solvers, timeout_seconds, years)\u001b[39m\n\u001b[32m 245\u001b[39m \u001b[38;5;28;01mdef\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34mallocate_benchmarks\u001b[39m(\n\u001b[32m 246\u001b[39m benchmarks_df: pd.DataFrame,\n\u001b[32m 247\u001b[39m weight_col: \u001b[38;5;28mstr\u001b[39m,\n\u001b[32m (...)\u001b[39m\u001b[32m 253\u001b[39m years: \u001b[38;5;28mlist\u001b[39m[\u001b[38;5;28mint\u001b[39m] = [\u001b[32m2020\u001b[39m, \u001b[32m2022\u001b[39m, \u001b[32m2023\u001b[39m, \u001b[32m2024\u001b[39m, \u001b[32m2025\u001b[39m],\n\u001b[32m 254\u001b[39m ) -> \u001b[38;5;28mlist\u001b[39m[\u001b[38;5;28mdict\u001b[39m]:\n\u001b[32m--> \u001b[39m\u001b[32m255\u001b[39m allocation, _ = \u001b[43mallocate_vms_greedy\u001b[49m\u001b[43m(\u001b[49m\n\u001b[32m 256\u001b[39m \u001b[43m \u001b[49m\u001b[43mbenchmarks_df\u001b[49m\u001b[43m.\u001b[49m\u001b[43mindex\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mbenchmarks_df\u001b[49m\u001b[43m[\u001b[49m\u001b[43mweight_col\u001b[49m\u001b[43m]\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnum_vms\u001b[49m\n\u001b[32m 257\u001b[39m \u001b[43m \u001b[49m\u001b[43m)\u001b[49m\n\u001b[32m 258\u001b[39m vm_yamls = []\n\u001b[32m 259\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m benchs \u001b[38;5;129;01min\u001b[39;00m allocation:\n", - "\u001b[36mFile \u001b[39m\u001b[32m~/solver-benchmark/runner/utils.py:239\u001b[39m, in \u001b[36mallocate_vms_greedy\u001b[39m\u001b[34m(instances, instance_weights, num_vms)\u001b[39m\n\u001b[32m 236\u001b[39m allocation[lightest_vm].append(b)\n\u001b[32m 237\u001b[39m weights[lightest_vm] += t\n\u001b[32m--> \u001b[39m\u001b[32m239\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33mAllocated. Estimated runtime: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28;43mmax\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mweights\u001b[49m\u001b[43m)\u001b[49m\u001b[38;5;250m \u001b[39m/\u001b[38;5;250m \u001b[39m\u001b[32m3600\u001b[39m\u001b[38;5;132;01m:\u001b[39;00m\u001b[33m.1f\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33mh\u001b[39m\u001b[33m\"\u001b[39m)\n\u001b[32m 240\u001b[39m \u001b[38;5;28;01mfor\u001b[39;00m i \u001b[38;5;129;01min\u001b[39;00m \u001b[38;5;28mrange\u001b[39m(num_vms):\n\u001b[32m 241\u001b[39m \u001b[38;5;28mprint\u001b[39m(\u001b[33mf\u001b[39m\u001b[33m\"\u001b[39m\u001b[33m VM \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mi\u001b[38;5;132;01m:\u001b[39;00m\u001b[33m02d\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mlen\u001b[39m(allocation[i])\u001b[38;5;132;01m}\u001b[39;00m\u001b[33m instances, \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mweights[i]\u001b[38;5;250m \u001b[39m/\u001b[38;5;250m \u001b[39m\u001b[32m3600\u001b[39m\u001b[38;5;132;01m:\u001b[39;00m\u001b[33m.1f\u001b[39m\u001b[38;5;132;01m}\u001b[39;00m\u001b[33mh\u001b[39m\u001b[33m\"\u001b[39m)\n", - "\u001b[31mValueError\u001b[39m: max() iterable argument is empty" - ] - } - ], + "outputs": [], "source": [ "# Create campaign: 1 instance per VM, latest solvers only\n", "\n", @@ -541,7 +429,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": null, "id": "d16f3bdb-c259-4d36-ab3a-91705f82ed44", "metadata": {}, "outputs": [], @@ -565,31 +453,10 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": null, "id": "a2684fb4-3141-46f4-b011-5e331bdface1", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Allocated. Estimated runtime: 5964.6h\n", - " VM 00: 1 instances, 5964.6h\n", - " VM 01: 1 instances, 5543.4h\n", - " VM 02: 1 instances, 4935.1h\n", - " VM 03: 1 instances, 4351.0h\n", - " VM 04: 1 instances, 3711.0h\n", - " VM 05: 1 instances, 3054.1h\n", - " VM 06: 1 instances, 2516.2h\n", - " VM 07: 1 instances, 1917.5h\n", - " VM 08: 1 instances, 1267.8h\n", - " VM 09: 1 instances, 615.7h\n", - "Created directory and files in ../infrastructure/benchmarks/20260526-pypsa-de-sec-2-nodes-scaling-cplex\n", - "Run this campaign from the infrastructure/ directory using the command:\n", - "tofu apply -var-file benchmarks/20260526-pypsa-de-sec-2-nodes-scaling-cplex/run.tfvars -state=states/20260526-pypsa-de-sec-2-nodes-scaling-cplex.tfstate\n" - ] - } - ], + "outputs": [], "source": [ "# Create campaign: 1 instance per VM, latest solvers only\n", "\n", @@ -620,21 +487,10 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": null, "id": "21b264c1-5580-4862-a0f1-e0233940783c", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "['2-3h', '2-5h', '2-8h', '2-12h', '2-36h', '2-84h']" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "benchmarks_df = load_benchmark_metadata()\n", "\n", @@ -656,27 +512,10 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": null, "id": "0e6dabb3-f9fd-4703-be00-89c84b23c2e5", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Allocated. Estimated runtime: 60.8h\n", - " VM 00: 1 instances, 60.8h\n", - " VM 01: 1 instances, 43.3h\n", - " VM 02: 1 instances, 27.1h\n", - " VM 03: 1 instances, 18.1h\n", - " VM 04: 1 instances, 6.0h\n", - " VM 05: 1 instances, 2.6h\n", - "Created directory and files in ../infrastructure/benchmarks/20260527-pypsa-de-elec-uc-2-nodes-scaling-cplex\n", - "Run this campaign from the infrastructure/ directory using the command:\n", - "tofu apply -var-file benchmarks/20260527-pypsa-de-elec-uc-2-nodes-scaling-cplex/run.tfvars -state=states/20260527-pypsa-de-elec-uc-2-nodes-scaling-cplex.tfstate\n" - ] - } - ], + "outputs": [], "source": [ "# Create campaign: 1 instance per VM, latest solvers only\n", "\n", From e4715ae522034d86ab36c65d9ec160a79371fdae Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Thu, 28 May 2026 09:43:41 +0200 Subject: [PATCH 36/38] Add CPLEX results for pypsa-de-sec --- results/pypsa_de_sec_scaling.csv | 68 ++++++++++++++------------------ 1 file changed, 29 insertions(+), 39 deletions(-) diff --git a/results/pypsa_de_sec_scaling.csv b/results/pypsa_de_sec_scaling.csv index 40d57942..6805a1b8 100644 --- a/results/pypsa_de_sec_scaling.csv +++ b/results/pypsa_de_sec_scaling.csv @@ -1,52 +1,42 @@ Benchmark,Size,Solver,Solver Version,Solver Release Year,Status,Termination Condition,Runtime (s),Memory Usage (MB),Objective Value,Max Integrality Violation,Duality Gap,Reported Runtime (s),Timeout,Hostname,Run ID,Timestamp,VM Instance Type,VM Zone,Solver benchmark version,source_file pypsa-de-sec,10-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-05,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:36.756689,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,12-1h,cplex,22.1.2.0,2025.0,TO,Timeout,86400.0,54967.244,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:15:17.749824,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv -pypsa-de-sec,14-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-03,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:25:47.881753,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,16-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-02,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:27:04.292393,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,18-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-01,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:42.256031,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,2-1h,cplex,22.1.2.0,2025.0,ok,optimal,327.11078384099994,9780.04,81991355803.35603,,,1779820314.736293,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-09,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:27.004465,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,20-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-00,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:25:57.350154,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,4-1h,cplex,22.1.2.0,2025.0,ok,optimal,1293.265115611,18820.084,81361050890.15439,,,1779821261.054553,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-08,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:07.124782,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,6-1h,cplex,22.1.2.0,2025.0,ok,optimal,2702.861934856,28499.224,81691415830.01482,,,1779822733.623625,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-07,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:27:09.947771,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,8-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-06,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:17.691916,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,10-1h,gurobi,12.0.3,2025.0,ok,optimal,3034.276458015,17471.36,80979054873.21349,,,2924.318405151367,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:31.004845,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv -pypsa-de-sec,12-1h,gurobi,12.0.3,2025.0,ok,optimal,3849.128472506,21594.5,81317358533.02264,,,3738.9135749340057,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:49.295503,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv -pypsa-de-sec,14-1h,gurobi,12.0.3,2025.0,TO,Timeout,86400.0,25681.856,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:44.785351,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv -pypsa-de-sec,16-1h,gurobi,12.0.3,2025.0,ok,optimal,8425.818834536,30735.452,81179624001.90094,,,8269.615338802338,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:05.498242,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv -pypsa-de-sec,18-1h,gurobi,12.0.3,2025.0,ok,optimal,9427.601518542,35111.06,82041908816.75323,,,9242.105520009996,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:08:10.480803,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv -pypsa-de-sec,2-1h,gurobi,12.0.3,2025.0,ok,optimal,175.92564876,4026.056,81991354939.73016,,,158.60687589645386,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:18.339745,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv -pypsa-de-sec,20-1h,gurobi,12.0.3,2025.0,ok,optimal,12415.836522898,39582.048,81010407181.47525,,,12202.232421875,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:10:20.245339,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv -pypsa-de-sec,4-1h,gurobi,12.0.3,2025.0,TO,Timeout,86400.0,7478.872,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:40.227328,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv -pypsa-de-sec,6-1h,gurobi,12.0.3,2025.0,ok,optimal,2718.511145352,10290.176,88087103696.09189,,,2660.9890389442444,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:35.497215,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv -pypsa-de-sec,8-1h,gurobi,12.0.3,2025.0,ok,optimal,1805.921619992,13502.388,81207139140.78223,,,1718.9438378810885,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:08:31.940514,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv +pypsa-de-sec,10-1h,gurobi,12.0.3,2025.0,ok,optimal,3034.276458015,17471.36,80979054873.2135,,,2924.31840515137,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:31.004845,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv pypsa-de-sec,10-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.132,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:07:55.501524,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv +pypsa-de-sec,10-1h,mosek,11.1.10,2025.0,ok,optimal,2068.240135631,42764.54,80979047668.7498,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:07:56.226400,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv +pypsa-de-sec,12-1h,cplex,22.1.2.0,2025.0,TO,Timeout,86400.0,54983.24,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-04,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:19.087341,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,12-1h,gurobi,12.0.3,2025.0,ok,optimal,3849.128472506,21594.5,81317358533.0226,,,3738.91357493401,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:49.295503,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv pypsa-de-sec,12-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.256,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 10:18:45.530086,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv +pypsa-de-sec,12-1h,mosek,11.1.10,2025.0,ok,optimal,2678.401065716,51576.784,81317354023.5557,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 10:18:46.258599,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv +pypsa-de-sec,14-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-03,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:25:47.881753,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,14-1h,gurobi,12.0.3,2025.0,TO,Timeout,86400.0,25681.856,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:44.785351,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv pypsa-de-sec,14-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.316,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:12:14.129553,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv +pypsa-de-sec,14-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:12:14.769535,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv +pypsa-de-sec,16-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-02,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:27:04.292393,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,16-1h,gurobi,12.0.3,2025.0,ok,optimal,8425.818834536,30735.452,81179624001.9009,,,8269.61533880234,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:05.498242,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv pypsa-de-sec,16-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.3,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:32:43.551780,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv +pypsa-de-sec,16-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:32:44.236533,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv +pypsa-de-sec,18-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-01,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:42.256031,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,18-1h,gurobi,12.0.3,2025.0,ok,optimal,9427.601518542,35111.06,82041908816.7532,,,9242.10552001,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:08:10.480803,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv pypsa-de-sec,18-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.388,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:51:06.791248,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv +pypsa-de-sec,18-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:51:07.559331,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv +pypsa-de-sec,2-1h,cplex,22.1.2.0,2025.0,ok,optimal,327.11078384099994,9780.04,81991355803.35603,,,1779820314.736293,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-09,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:27.004465,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,2-1h,gurobi,12.0.3,2025.0,ok,optimal,175.92564876,4026.056,81991354939.7302,,,158.606875896454,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:18.339745,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv pypsa-de-sec,2-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.472,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:18:13.638427,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv +pypsa-de-sec,2-1h,mosek,11.1.10,2025.0,ok,optimal,160.983634221,9138.904,81991361997.0553,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:18:14.260741,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv +pypsa-de-sec,20-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-00,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:25:57.350154,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,20-1h,gurobi,12.0.3,2025.0,ok,optimal,12415.836522898,39582.048,81010407181.4753,,,12202.232421875,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:10:20.245339,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv pypsa-de-sec,20-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.296,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 12:43:11.625282,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv +pypsa-de-sec,20-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 12:43:12.339881,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv +pypsa-de-sec,4-1h,cplex,22.1.2.0,2025.0,ok,optimal,1293.265115611,18820.084,81361050890.15439,,,1779821261.054553,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-08,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:07.124782,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,4-1h,gurobi,12.0.3,2025.0,TO,Timeout,86400.0,7478.872,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:40.227328,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv pypsa-de-sec,4-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.472,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:30:52.620828,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv +pypsa-de-sec,4-1h,mosek,11.1.10,2025.0,ok,optimal,438.139289247003,17866.356,81361103217.8462,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:30:53.268249,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv +pypsa-de-sec,6-1h,cplex,22.1.2.0,2025.0,ok,optimal,2702.861934856,28499.224,81691415830.01482,,,1779822733.623625,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-07,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:27:09.947771,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,6-1h,gurobi,12.0.3,2025.0,ok,optimal,2718.511145352,10290.176,88087103696.0919,,,2660.98903894424,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:35.497215,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv pypsa-de-sec,6-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.356,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:39:54.763920,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv +pypsa-de-sec,6-1h,mosek,11.1.10,2025.0,ok,optimal,945.423329004,24702.644,81691414720.6924,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:39:55.451775,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv +pypsa-de-sec,8-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-06,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:17.691916,c4-highmem-8,us-central1-a,acb819f, +pypsa-de-sec,8-1h,gurobi,12.0.3,2025.0,ok,optimal,1805.921619992,13502.388,81207139140.7822,,,1718.94383788109,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:08:31.940514,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv pypsa-de-sec,8-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,201.908,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:47:52.813710,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv -pypsa-de-sec,10-1h,mosek,11.1.10,2025.0,ok,optimal,2068.240135631,42764.54,80979047668.74982,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:07:56.226400,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv -pypsa-de-sec,12-1h,mosek,11.1.10,2025.0,ok,optimal,2678.401065715996,51576.784,81317354023.55574,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 10:18:46.258599,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv -pypsa-de-sec,14-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:12:14.769535,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv -pypsa-de-sec,16-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:32:44.236533,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv -pypsa-de-sec,18-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:51:07.559331,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv -pypsa-de-sec,2-1h,mosek,11.1.10,2025.0,ok,optimal,160.9836342210001,9138.904,81991361997.05534,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:18:14.260741,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv -pypsa-de-sec,20-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 12:43:12.339881,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv -pypsa-de-sec,4-1h,mosek,11.1.10,2025.0,ok,optimal,438.13928924700303,17866.356,81361103217.84616,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:30:53.268249,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv -pypsa-de-sec,6-1h,mosek,11.1.10,2025.0,ok,optimal,945.4233290040002,24702.644,81691414720.69237,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:39:55.451775,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv -pypsa-de-sec,8-1h,mosek,11.1.10,2025.0,ok,optimal,1362.923344621,36381.8,81207138264.10797,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:47:53.567357,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv -pypsa-de-sec,10-1h,xpress,9.8.0,2025.0,ER,,,5516.28,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:07:49.318348,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv -pypsa-de-sec,12-1h,xpress,9.8.0,2025.0,ER,,,6523.008,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 10:18:41.499252,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv -pypsa-de-sec,14-1h,xpress,9.8.0,2025.0,ER,,,7650.204,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:12:01.529566,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv -pypsa-de-sec,16-1h,xpress,9.8.0,2025.0,ER,,,8675.116,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:32:26.254455,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv -pypsa-de-sec,18-1h,xpress,9.8.0,2025.0,ER,,,9742.032,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:50:47.591424,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv -pypsa-de-sec,2-1h,xpress,9.8.0,2025.0,ER,,,1198.028,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:18:12.492816,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv -pypsa-de-sec,20-1h,xpress,9.8.0,2025.0,ER,,,10672.748,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 12:42:48.486868,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv -pypsa-de-sec,4-1h,xpress,9.8.0,2025.0,ER,,,2273.184,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:30:50.898236,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv -pypsa-de-sec,6-1h,xpress,9.8.0,2025.0,ER,,,3400.596,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:39:52.423200,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv -pypsa-de-sec,8-1h,xpress,9.8.0,2025.0,ER,,,4431.42,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:47:48.470811,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv +pypsa-de-sec,8-1h,mosek,11.1.10,2025.0,ok,optimal,1362.923344621,36381.8,81207138264.108,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:47:53.567357,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv reference-benchmark,reference,highs-binary,1.10.0,,OK,Optimal,197.69941712799996,,2813303766.2,,,,,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-09,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:35:12.613897,c4-highmem-8,us-central1-a,acb819f, From 65bc51217ab464e0b8f7e398952f6ce7c9edf58d Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Thu, 28 May 2026 10:10:33 +0200 Subject: [PATCH 37/38] Add cplex run for pypsa-de-elec --- notebooks/run_commercial_solvers.ipynb | 85 +++++++++++++++++++++++++- 1 file changed, 82 insertions(+), 3 deletions(-) diff --git a/notebooks/run_commercial_solvers.ipynb b/notebooks/run_commercial_solvers.ipynb index 1c282786..6c4f0b63 100644 --- a/notebooks/run_commercial_solvers.ipynb +++ b/notebooks/run_commercial_solvers.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "6b5c0f33-55da-4575-91cf-4f39d457be37", "metadata": {}, "outputs": [], @@ -19,7 +19,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "9f64b882-a617-40b1-83b8-0113396884ae", "metadata": {}, "outputs": [], @@ -536,10 +536,89 @@ ")" ] }, + { + "cell_type": "markdown", + "id": "abce8c86-a98d-4a1e-b51d-8267ea38f55d", + "metadata": {}, + "source": [ + "# 20260526 Run pypsa-de-elec-uc with increasing temporal resolution with CPLEX" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "5dbc83d2-166d-40f5-8ded-5153f4b6a680", + "metadata": {}, + "outputs": [], + "source": [ + "benchmarks_df = load_benchmark_metadata()\n", + "\n", + "df = benchmarks_df[benchmarks_df[\"Benchmark\"] == \"pypsa-de-elec\"].copy()\n", + "\n", + "# Extract nodes\n", + "nodes = df[\"Instance\"].str.split(\"-\").str[0].astype(int)\n", + "\n", + "# Build mask\n", + "mask = (\n", + " df[\"Instance\"].str.endswith(\"-1h\") # only 1h\n", + " & nodes.between(2, 20) # between 2 and 20\n", + " & (nodes % 2 == 0) # even only\n", + ")\n", + "\n", + "benchs_to_run = df[mask]" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "035ef41f-370d-4e94-89ab-76fe0d29afa1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Allocated. Estimated runtime: 1070.7h\n", + " VM 00: 1 instances, 1070.7h\n", + " VM 01: 1 instances, 983.1h\n", + " VM 02: 1 instances, 880.9h\n", + " VM 03: 1 instances, 788.4h\n", + " VM 04: 1 instances, 678.9h\n", + " VM 05: 1 instances, 586.5h\n", + " VM 06: 1 instances, 486.7h\n", + " VM 07: 1 instances, 384.5h\n", + " VM 08: 1 instances, 267.7h\n", + " VM 09: 1 instances, 158.2h\n", + "Created directory and files in ../infrastructure/benchmarks/20260428-pypsa-de-elec-2-through-20-1h-cplex\n", + "Run this campaign from the infrastructure/ directory using the command:\n", + "tofu apply -var-file benchmarks/20260428-pypsa-de-elec-2-through-20-1h-cplex/run.tfvars -state=states/20260428-pypsa-de-elec-2-through-20-1h-cplex.tfstate\n" + ] + } + ], + "source": [ + "# Create campaign: 1 instance per VM, latest solvers only\n", + "\n", + "vm_yamls = allocate_benchmarks(\n", + " benchs_to_run,\n", + " \"Num. variables\",\n", + " len(benchs_to_run),\n", + " machine_type=\"c4-highmem-8\", # NOTE: increased to highmem!\n", + " timeout_seconds=24 * 60 * 60, # NOTE: 24h timeout\n", + " solvers=\"cplex\",\n", + " years=[2025], # latest solvers only, so skip creating older conda envs\n", + ")\n", + "\n", + "create_benchmark_campaign(\n", + " \"20260428-pypsa-de-elec-2-through-20-1h-cplex\",\n", + " \"pypsa-de-elec-2-through-20-1h-cplex\",\n", + " vm_yamls,\n", + ")" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "abce8c86-a98d-4a1e-b51d-8267ea38f55d", + "id": "ca834cc9-7db2-4c1c-b5ec-80f8b9d0e611", "metadata": {}, "outputs": [], "source": [] From 57e0c6c80e12dd6b1db51f82edefed33d5f6125c Mon Sep 17 00:00:00 2001 From: Daniele Lerede Date: Sun, 31 May 2026 12:47:47 +0200 Subject: [PATCH 38/38] Remove results --- results/pypsa_de_elec_scaling.csv | 104 ------------------------------ results/pypsa_de_sec_scaling.csv | 42 ------------ 2 files changed, 146 deletions(-) delete mode 100644 results/pypsa_de_elec_scaling.csv delete mode 100644 results/pypsa_de_sec_scaling.csv diff --git a/results/pypsa_de_elec_scaling.csv b/results/pypsa_de_elec_scaling.csv deleted file mode 100644 index dce0acb3..00000000 --- a/results/pypsa_de_elec_scaling.csv +++ /dev/null @@ -1,104 +0,0 @@ -Benchmark,Size,Solver,Solver Version,Solver Release Year,Status,Termination Condition,Runtime (s),Memory Usage (MB),Objective Value,Max Integrality Violation,Duality Gap,Reported Runtime (s),Timeout,Hostname,Run ID,Timestamp,VM Instance Type,VM Zone,Solver benchmark version,bench-size,solver-version -pypsa-de-elec,6-1h,cbc,2.10.12,2024.0,ok,optimal,34388.135925135,2060.52,5581029701.026979,,,,86400.0,benchmark-instance-all-pypsa-de-sizes-01,20260211-all-pypsa-de-sizes,2026-02-11 08:19:59.710747,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-6-1h,cbc-2.10.12 -pypsa-de-elec,6-1h,gurobi,13.0.0,2025.0,ok,optimal,61.90503111400176,3985.364,5581029701.026955,,,49.25709509849548,86400.0,benchmark-instance-all-pypsa-de-sizes-01,20260211-all-pypsa-de-sizes,2026-02-11 17:57:41.028638,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-6-1h,gurobi-13.0.0 -pypsa-de-elec,6-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,928.050612893996,3082.216,5581029701.1,,,928.050612893996,86400.0,benchmark-instance-all-pypsa-de-sizes-01,20260211-all-pypsa-de-sizes,2026-02-11 18:02:35.966182,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-6-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,6-1h,highs-ipm,1.12.0-hipo,2025.0,ok,Optimal,5965.8083586280045,2206.776,5581029701.1,,,5965.8083586280045,86400.0,benchmark-instance-all-pypsa-de-sizes-01,20260211-all-pypsa-de-sizes,2026-02-11 18:18:04.798186,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-6-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,6-1h,highs,1.12.0,2025.0,ok,optimal,2348.6846046520004,4254.792,5581029701.026957,,,2334.228264808655,86400.0,benchmark-instance-all-pypsa-de-sizes-01,20260211-all-pypsa-de-sizes,2026-02-11 20:01:08.227392,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-6-1h,highs-1.12.0 -pypsa-de-elec,10-1h,cbc,2.10.12,2024.0,TO,Timeout,86400.0,1016.872,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-10,20260211-all-pypsa-de-sizes,2026-02-11 08:20:15.384050,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-10-1h,cbc-2.10.12 -pypsa-de-elec,10-1h,gurobi,13.0.0,2025.0,ok,optimal,123.32176071499998,6719.304,5604910226.575356,,,106.9966161251068,86400.0,benchmark-instance-all-pypsa-de-sizes-10,20260211-all-pypsa-de-sizes,2026-02-12 08:23:55.229394,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-10-1h,gurobi-13.0.0 -pypsa-de-elec,10-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,2188.0691172500083,4695.212,5604910226.8,,,2188.0691172500083,86400.0,benchmark-instance-all-pypsa-de-sizes-10,20260211-all-pypsa-de-sizes,2026-02-12 08:29:25.431160,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-10-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,10-1h,highs-ipm,1.12.0-hipo,2025.0,ok,Optimal,14982.669633359008,3399.82,5604910226.7,,,14982.669633359008,86400.0,benchmark-instance-all-pypsa-de-sizes-10,20260211-all-pypsa-de-sizes,2026-02-12 09:05:54.220548,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-10-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,10-1h,highs,1.12.0,2025.0,ok,optimal,28396.892154706,6195.704,5604910226.575394,,,28376.772412776947,86400.0,benchmark-instance-all-pypsa-de-sizes-10,20260211-all-pypsa-de-sizes,2026-02-12 13:18:47.784222,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-10-1h,highs-1.12.0 -pypsa-de-elec,12-1h,cbc,2.10.12,2024.0,TO,Timeout,86400.0,1156.228,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-09,20260211-all-pypsa-de-sizes,2026-02-11 08:20:29.231258,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-12-1h,cbc-2.10.12 -pypsa-de-elec,12-1h,gurobi,13.0.0,2025.0,ok,optimal,244.084601317998,7433.272,5579931177.958483,,,222.56578302383423,86400.0,benchmark-instance-all-pypsa-de-sizes-09,20260211-all-pypsa-de-sizes,2026-02-12 08:24:42.441338,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-12-1h,gurobi-13.0.0 -pypsa-de-elec,12-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,3101.0934809259925,5646.6,5579931178.0,,,3101.0934809259925,86400.0,benchmark-instance-all-pypsa-de-sizes-09,20260211-all-pypsa-de-sizes,2026-02-12 08:32:44.076321,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-12-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,12-1h,highs-ipm,1.12.0-hipo,2025.0,ok,Optimal,23755.258798849,3901.372,5579931178.4,,,23755.258798849,86400.0,benchmark-instance-all-pypsa-de-sizes-09,20260211-all-pypsa-de-sizes,2026-02-12 09:24:25.928275,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-12-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,12-1h,highs,1.12.0,2025.0,ok,optimal,35800.618903511,7083.692,5579931177.958408,,,35774.65293550491,86400.0,benchmark-instance-all-pypsa-de-sizes-09,20260211-all-pypsa-de-sizes,2026-02-12 16:03:56.801819,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-12-1h,highs-1.12.0 -pypsa-de-elec,22-1h,cbc,2.10.12,2024.0,TO,Timeout,86400.0,1932.012,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-04,20260211-all-pypsa-de-sizes,2026-02-11 08:20:58.930832,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-22-1h,cbc-2.10.12 -pypsa-de-elec,22-1h,gurobi,13.0.0,2025.0,ok,optimal,800.6825062029966,12875.216,5641816137.268106,,,762.6371541023254,86400.0,benchmark-instance-all-pypsa-de-sizes-04,20260211-all-pypsa-de-sizes,2026-02-12 08:25:08.198206,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-22-1h,gurobi-13.0.0 -pypsa-de-elec,22-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,19585.029967351,10464.452,5641816137.5,,,19585.029967351,86400.0,benchmark-instance-all-pypsa-de-sizes-04,20260211-all-pypsa-de-sizes,2026-02-12 08:42:37.578854,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-22-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,22-1h,highs-ipm,1.12.0-hipo,2025.0,TO,Timeout,86400.0,163.152,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-04,20260211-all-pypsa-de-sizes,2026-02-12 14:12:36.706535,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-22-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,22-1h,highs,1.12.0,2025.0,TO,Timeout,86400.0,6983.928,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-04,20260211-all-pypsa-de-sizes,2026-02-13 14:16:10.087338,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-22-1h,highs-1.12.0 -pypsa-de-elec,24-1h,cbc,2.10.12,2024.0,TO,Timeout,86400.0,2074.74,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-03,20260211-all-pypsa-de-sizes,2026-02-11 08:19:50.187698,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-24-1h,cbc-2.10.12 -pypsa-de-elec,24-1h,gurobi,13.0.0,2025.0,ok,optimal,961.2848026749998,12581.02,5875329037.188736,,,924.586422920227,86400.0,benchmark-instance-all-pypsa-de-sizes-03,20260211-all-pypsa-de-sizes,2026-02-12 08:23:38.216120,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-24-1h,gurobi-13.0.0 -pypsa-de-elec,24-1h,highs-hipo,1.12.0-hipo,2025.0,TO,Timeout,86400.0,163.7,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-03,20260211-all-pypsa-de-sizes,2026-02-12 08:43:35.091327,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-24-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,24-1h,highs-ipm,1.12.0-hipo,2025.0,TO,Timeout,86400.0,164.064,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-03,20260211-all-pypsa-de-sizes,2026-02-13 08:46:51.121331,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-24-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,24-1h,highs,1.12.0,2025.0,TO,Timeout,86400.0,7547.708,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-03,20260211-all-pypsa-de-sizes,2026-02-14 08:50:04.933968,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-24-1h,highs-1.12.0 -pypsa-de-elec,18-1h,cbc,2.10.12,2024.0,TO,Timeout,86400.0,1618.428,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-06,20260211-all-pypsa-de-sizes,2026-02-11 08:20:05.874071,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-18-1h,cbc-2.10.12 -pypsa-de-elec,18-1h,gurobi,13.0.0,2025.0,ok,optimal,582.1776982760057,10066.972,5584278920.592205,,,555.4677090644836,86400.0,benchmark-instance-all-pypsa-de-sizes-06,20260211-all-pypsa-de-sizes,2026-02-12 08:23:47.981854,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-18-1h,gurobi-13.0.0 -pypsa-de-elec,18-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,13084.017939457,8416.988,5584278920.6,,,13084.017939457,86400.0,benchmark-instance-all-pypsa-de-sizes-06,20260211-all-pypsa-de-sizes,2026-02-12 08:37:01.343575,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-18-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,18-1h,highs-ipm,1.12.0-hipo,2025.0,ok,Optimal,60396.643254604,5875.832,5584278920.6,,,60396.643254604,86400.0,benchmark-instance-all-pypsa-de-sizes-06,20260211-all-pypsa-de-sizes,2026-02-12 12:18:15.406638,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-18-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,18-1h,highs,1.12.0,2025.0,TO,Timeout,86400.0,5844.004,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-06,20260211-all-pypsa-de-sizes,2026-02-13 05:07:59.870654,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-18-1h,highs-1.12.0 -pypsa-de-elec,14-1h,cbc,2.10.12,2024.0,TO,Timeout,86400.0,1321.076,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-08,20260211-all-pypsa-de-sizes,2026-02-11 08:20:32.615487,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-14-1h,cbc-2.10.12 -pypsa-de-elec,14-1h,gurobi,13.0.0,2025.0,ok,optimal,354.4832985000103,7725.868,5564719659.820969,,,329.1589732170105,86400.0,benchmark-instance-all-pypsa-de-sizes-08,20260211-all-pypsa-de-sizes,2026-02-12 08:24:47.226345,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-14-1h,gurobi-13.0.0 -pypsa-de-elec,14-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,5582.226984919005,6498.94,5564719659.9,,,5582.226984919005,86400.0,benchmark-instance-all-pypsa-de-sizes-08,20260211-all-pypsa-de-sizes,2026-02-12 08:34:52.521092,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-14-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,14-1h,highs-ipm,1.12.0-hipo,2025.0,ok,Optimal,39380.282044716994,4673.372,5564719659.9,,,39380.282044716994,86400.0,benchmark-instance-all-pypsa-de-sizes-08,20260211-all-pypsa-de-sizes,2026-02-12 10:11:40.648642,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-14-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,14-1h,highs,1.12.0,2025.0,TO,Timeout,86400.0,4712.008,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-08,20260211-all-pypsa-de-sizes,2026-02-12 21:11:52.842517,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-14-1h,highs-1.12.0 -pypsa-de-elec,20-1h,cbc,2.10.12,2024.0,TO,Timeout,86400.0,1749.428,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-05,20260211-all-pypsa-de-sizes,2026-02-11 08:20:01.138677,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-20-1h,cbc-2.10.12 -pypsa-de-elec,20-1h,gurobi,13.0.0,2025.0,ok,optimal,669.5658989580115,10996.932,5687597243.944315,,,635.2816421985626,86400.0,benchmark-instance-all-pypsa-de-sizes-05,20260211-all-pypsa-de-sizes,2026-02-12 08:24:12.825632,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-20-1h,gurobi-13.0.0 -pypsa-de-elec,20-1h,highs-hipo,1.12.0-hipo,2025.0,TO,Timeout,86400.0,163.984,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-05,20260211-all-pypsa-de-sizes,2026-02-12 08:39:34.849020,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-20-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,20-1h,highs-ipm,1.12.0-hipo,2025.0,TO,Timeout,86400.0,163.224,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-05,20260211-all-pypsa-de-sizes,2026-02-13 08:43:21.932132,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-20-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,20-1h,highs,1.12.0,2025.0,TO,Timeout,86400.0,6314.652,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-05,20260211-all-pypsa-de-sizes,2026-02-14 08:47:06.345524,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-20-1h,highs-1.12.0 -pypsa-de-elec,8-1h,cbc,2.10.12,2024.0,ok,optimal,78033.73853447601,2593.776,5580341993.5133705,,,,86400.0,benchmark-instance-all-pypsa-de-sizes-00,20260211-all-pypsa-de-sizes,2026-02-11 08:20:05.740070,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-8-1h,cbc-2.10.12 -pypsa-de-elec,8-1h,gurobi,13.0.0,2025.0,ok,optimal,142.2919295120082,5360.108,5580341993.513432,,,127.08679699897766,86400.0,benchmark-instance-all-pypsa-de-sizes-00,20260211-all-pypsa-de-sizes,2026-02-12 06:05:07.596703,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-8-1h,gurobi-13.0.0 -pypsa-de-elec,8-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,1865.1131199029917,3890.424,5580341993.6,,,1865.1131199029917,86400.0,benchmark-instance-all-pypsa-de-sizes-00,20260211-all-pypsa-de-sizes,2026-02-12 06:11:22.529444,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-8-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,8-1h,highs-ipm,1.12.0-hipo,2025.0,ok,Optimal,9171.22723044199,2793.316,5580341993.8,,,9171.22723044199,86400.0,benchmark-instance-all-pypsa-de-sizes-00,20260211-all-pypsa-de-sizes,2026-02-12 06:42:28.389854,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-8-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,8-1h,highs,1.12.0,2025.0,ok,optimal,7876.733186073005,5289.272,5580341993.513327,,,7858.679272651672,86400.0,benchmark-instance-all-pypsa-de-sizes-00,20260211-all-pypsa-de-sizes,2026-02-12 09:18:57.667026,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-8-1h,highs-1.12.0 -pypsa-de-elec,16-1h,cbc,2.10.12,2024.0,TO,Timeout,86400.0,1457.776,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-07,20260211-all-pypsa-de-sizes,2026-02-11 08:20:05.147918,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-16-1h,cbc-2.10.12 -pypsa-de-elec,16-1h,gurobi,13.0.0,2025.0,ok,optimal,380.10657700100273,8863.824,5611433768.102741,,,356.6353838443756,86400.0,benchmark-instance-all-pypsa-de-sizes-07,20260211-all-pypsa-de-sizes,2026-02-12 08:23:44.537974,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-16-1h,gurobi-13.0.0 -pypsa-de-elec,16-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,2804.807741265992,7198.828,5611433768.2,,,2804.807741265992,86400.0,benchmark-instance-all-pypsa-de-sizes-07,20260211-all-pypsa-de-sizes,2026-02-12 08:33:38.373160,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-16-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,16-1h,highs-ipm,1.12.0-hipo,2025.0,ok,Optimal,41190.598322827005,5074.74,5611433768.1,,,41190.598322827005,86400.0,benchmark-instance-all-pypsa-de-sizes-07,20260211-all-pypsa-de-sizes,2026-02-12 09:20:23.864594,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-16-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,16-1h,highs,1.12.0,2025.0,TO,Timeout,86400.0,5231.644,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-07,20260211-all-pypsa-de-sizes,2026-02-12 20:50:01.480890,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-16-1h,highs-1.12.0 -pypsa-de-elec,26-1h,cbc,2.10.12,2024.0,TO,Timeout,86400.0,2204.336,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-02,20260211-all-pypsa-de-sizes,2026-02-11 08:19:43.577670,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-26-1h,cbc-2.10.12 -pypsa-de-elec,26-1h,gurobi,13.0.0,2025.0,ok,optimal,1265.2214993840023,14391.66,5592911695.719318,,,1227.112237930298,86400.0,benchmark-instance-all-pypsa-de-sizes-02,20260211-all-pypsa-de-sizes,2026-02-12 08:23:21.115472,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-26-1h,gurobi-13.0.0 -pypsa-de-elec,26-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,17238.591846983996,11772.652,5592911695.7,,,17238.591846983996,86400.0,benchmark-instance-all-pypsa-de-sizes-02,20260211-all-pypsa-de-sizes,2026-02-12 08:48:14.028442,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-26-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,26-1h,highs-ipm,1.12.0-hipo,2025.0,TO,Timeout,86400.0,163.076,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-02,20260211-all-pypsa-de-sizes,2026-02-12 13:38:44.213721,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-26-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,26-1h,highs,1.12.0,2025.0,TO,Timeout,86400.0,8010.668,,,,86400.0,86400.0,benchmark-instance-all-pypsa-de-sizes-02,20260211-all-pypsa-de-sizes,2026-02-13 13:41:54.022023,c4-standard-8,us-central1-a,7b54a96,pypsa-de-elec-26-1h,highs-1.12.0 -pypsa-de-elec,32-1h,gurobi,13.0.0,2025.0,ok,optimal,1334.43468184,15934.484,6001000116.38625,,,1280.634698867798,86400.0,benchmark-instance-more-pypsa-de-sizes-02,20260216-more-pypsa-de-sizes,2026-02-16 19:01:58.600300,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-32-1h,gurobi-13.0.0 -pypsa-de-elec,32-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,10242.493040009,14355.424,6001000116.4,,,10242.493040009,86400.0,benchmark-instance-more-pypsa-de-sizes-02,20260216-more-pypsa-de-sizes,2026-02-16 19:29:06.989284,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-32-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,36-1h,gurobi,13.0.0,2025.0,ok,optimal,1902.13960068,17222.768,5582545917.211121,,,1851.0188648700716,86400.0,benchmark-instance-more-pypsa-de-sizes-00,20260216-more-pypsa-de-sizes,2026-02-16 19:01:36.464849,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-36-1h,gurobi-13.0.0 -pypsa-de-elec,36-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,41258.344584945,16393.028,5582545917.2,,,41258.344584945,86400.0,benchmark-instance-more-pypsa-de-sizes-00,20260216-more-pypsa-de-sizes,2026-02-16 19:37:24.166071,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-36-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,30-1h,gurobi,13.0.0,2025.0,ok,optimal,1177.178299913,15897.028,6028239537.211144,,,1125.581913948059,86400.0,benchmark-instance-more-pypsa-de-sizes-03,20260216-more-pypsa-de-sizes,2026-02-16 19:01:59.234439,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-30-1h,gurobi-13.0.0 -pypsa-de-elec,30-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,23323.961776753,13571.74,6028239537.2,,,23323.961776753,86400.0,benchmark-instance-more-pypsa-de-sizes-03,20260216-more-pypsa-de-sizes,2026-02-16 19:26:10.226150,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-30-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,28-1h,gurobi,13.0.0,2025.0,ok,optimal,1216.890080896,15843.304,5723040376.738932,,,1169.365050792694,86400.0,benchmark-instance-more-pypsa-de-sizes-04,20260216-more-pypsa-de-sizes,2026-02-16 19:02:19.715007,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-28-1h,gurobi-13.0.0 -pypsa-de-elec,28-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,29633.322487094,13188.688,5723040376.8,,,29633.322487094,86400.0,benchmark-instance-more-pypsa-de-sizes-04,20260216-more-pypsa-de-sizes,2026-02-16 19:27:05.012765,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-28-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,34-1h,gurobi,13.0.0,2025.0,ok,optimal,1768.2912007690002,17418.94,5612617031.70125,,,1713.4435489177704,86400.0,benchmark-instance-more-pypsa-de-sizes-01,20260216-more-pypsa-de-sizes,2026-02-16 19:01:43.941391,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-34-1h,gurobi-13.0.0 -pypsa-de-elec,34-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,22588.351812842,15363.54,5612617031.7,,,22588.351812842,86400.0,benchmark-instance-more-pypsa-de-sizes-01,20260216-more-pypsa-de-sizes,2026-02-16 19:35:46.489042,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-34-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,40-1h,gurobi,13.0.0,2025.0,ok,optimal,1678.951971464,19150.396,5735217560.829243,,,1610.5714199543,86400.0,benchmark-instance-more-pypsa-de-sizes-00,20260217-more-pypsa-de-sizes,2026-02-17 17:19:28.852327,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-40-1h,gurobi-13.0.0 -pypsa-de-elec,40-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,64162.390513894,18226.608,5735217560.8,,,64162.390513894,86400.0,benchmark-instance-more-pypsa-de-sizes-00,20260217-more-pypsa-de-sizes,2026-02-17 17:52:30.093927,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-40-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,38-1h,gurobi,13.0.0,2025.0,ok,optimal,2104.797180521,19562.64,5782822646.652212,,,2039.286581993103,86400.0,benchmark-instance-more-pypsa-de-sizes-01,20260217-more-pypsa-de-sizes,2026-02-17 17:19:00.003171,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-38-1h,gurobi-13.0.0 -pypsa-de-elec,38-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,40117.336971626,17138.764,5782822646.7,,,40117.336971626,86400.0,benchmark-instance-more-pypsa-de-sizes-01,20260217-more-pypsa-de-sizes,2026-02-17 17:58:53.162715,c4-standard-8,us-central1-a,0a76d2f,pypsa-de-elec-38-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,4-1h,cbc,2.10.12,2024.0,ok,optimal,8172.813326618,1535.592,5688124913.361465,,,,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260226-all-pypsa-de-small-sizes,2026-02-26 11:30:01.521394,c4-standard-8,us-central1-a,7441595,pypsa-de-elec-4-1h,cbc-2.10.12 -pypsa-de-elec,4-1h,gurobi,12.0.0,2024.0,ok,optimal,35.05122691200086,2890.756,5688124913.361586,,,26.286163091659542,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260226-all-pypsa-de-small-sizes,2026-02-26 13:50:10.716101,c4-standard-8,us-central1-a,7441595,pypsa-de-elec-4-1h,gurobi-12.0.0 -pypsa-de-elec,4-1h,highs,1.9.0,2024.0,ok,optimal,1482.844697239001,2827.836,5688124913.361519,,,1469.2357683181765,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260226-all-pypsa-de-small-sizes,2026-02-26 13:50:58.927681,c4-standard-8,us-central1-a,7441595,pypsa-de-elec-4-1h,highs-1.9.0 -pypsa-de-elec,4-1h,gurobi,13.0.0,2025.0,ok,optimal,34.74196311199921,3014.716,5688124913.361586,,,26.090747117996216,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260226-all-pypsa-de-small-sizes,2026-02-26 14:16:25.993772,c4-standard-8,us-central1-a,7441595,pypsa-de-elec-4-1h,gurobi-13.0.0 -pypsa-de-elec,4-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,345.58819953999955,2033.904,5688124913.4,,,345.58819953999955,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260226-all-pypsa-de-small-sizes,2026-02-26 14:20:53.338890,c4-standard-8,us-central1-a,7441595,pypsa-de-elec-4-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,4-1h,highs-ipm,1.12.0-hipo,2025.0,ok,Optimal,2803.243807908,1517.104,5688124914.5,,,2803.243807908,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260226-all-pypsa-de-small-sizes,2026-02-26 14:26:39.716803,c4-standard-8,us-central1-a,7441595,pypsa-de-elec-4-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,4-1h,highs,1.12.0,2025.0,ok,optimal,709.638722398,2946.692,5688124913.361504,,,700.0740356445312,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260226-all-pypsa-de-small-sizes,2026-02-26 15:13:23.770576,c4-standard-8,us-central1-a,7441595,pypsa-de-elec-4-1h,highs-1.12.0 -pypsa-de-elec,2-1h,cbc,2.10.12,2024.0,ok,optimal,1237.209031631,879.56,5028012092.233746,,,,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260303-all-pypsa-de-small-sizes,2026-03-03 10:20:46.322200,c4-standard-8,us-central1-a,8b506ef,pypsa-de-elec-2-1h,cbc-2.10.12 -pypsa-de-elec,2-1h,gurobi,12.0.0,2024.0,ok,optimal,15.89182442099991,1961.844,5028012092.23378,,,10.761950016021729,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260303-all-pypsa-de-small-sizes,2026-03-03 10:45:19.716497,c4-standard-8,us-central1-a,8b506ef,pypsa-de-elec-2-1h,gurobi-12.0.0 -pypsa-de-elec,2-1h,highs,1.9.0,2024.0,ok,optimal,591.79568006,1776.204,5028012092.233778,,,584.3673112392426,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260303-all-pypsa-de-small-sizes,2026-03-03 10:45:43.370124,c4-standard-8,us-central1-a,8b506ef,pypsa-de-elec-2-1h,highs-1.9.0 -pypsa-de-elec,2-1h,gurobi,13.0.0,2025.0,ok,optimal,15.858991769999648,1987.588,5028012092.23378,,,10.850291967391968,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260303-all-pypsa-de-small-sizes,2026-03-03 10:56:13.137230,c4-standard-8,us-central1-a,8b506ef,pypsa-de-elec-2-1h,gurobi-13.0.0 -pypsa-de-elec,2-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,194.748873173,1278.044,5028012093.2,,,194.748873173,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260303-all-pypsa-de-small-sizes,2026-03-03 11:00:15.646915,c4-standard-8,us-central1-a,8b506ef,pypsa-de-elec-2-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,2-1h,highs-ipm,1.12.0-hipo,2025.0,ok,Optimal,653.5403878530001,902.804,5028012094.2,,,653.5403878530001,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260303-all-pypsa-de-small-sizes,2026-03-03 11:03:31.177347,c4-standard-8,us-central1-a,8b506ef,pypsa-de-elec-2-1h,highs-ipm-1.12.0-hipo -pypsa-de-elec,2-1h,highs,1.12.0,2025.0,ok,optimal,158.42257273199994,1803.016,5028012092.23374,,,153.22866368293762,86400.0,benchmark-instance-all-pypsa-de-small-sizes-00,20260303-all-pypsa-de-small-sizes,2026-03-03 11:14:25.531047,c4-standard-8,us-central1-a,8b506ef,pypsa-de-elec-2-1h,highs-1.12.0 -pypsa-de-elec,50-1h,gurobi,13.0.0,2025.0,ok,optimal,2219.41786044,22753.548,5857734444.784203,,,2148.49488902092,86400.0,benchmark-instance-rerun-pypsa-de-elec-00,20260309-rerun-pypsa-de-elec,2026-03-09 09:09:17.491815,c4-standard-8,us-central1-a,3febeb1,pypsa-de-elec-50-1h,gurobi-13.0.0 -pypsa-de-elec,50-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,82444.270975886,22516.952,5857734444.8,,,82444.270975886,86400.0,benchmark-instance-rerun-pypsa-de-elec-00,20260309-rerun-pypsa-de-elec,2026-03-09 09:50:51.124695,c4-standard-8,us-central1-a,3febeb1,pypsa-de-elec-50-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,46-1h,gurobi,13.0.0,2025.0,ok,optimal,2902.8841025720003,22154.064,5917979974.745945,,,2827.263153076172,86400.0,benchmark-instance-rerun-pypsa-de-elec-02,20260309-rerun-pypsa-de-elec,2026-03-09 09:10:18.460060,c4-standard-8,us-central1-a,3febeb1,pypsa-de-elec-46-1h,gurobi-13.0.0 -pypsa-de-elec,46-1h,highs-hipo,1.12.0-hipo,2025.0,TO,Timeout,86400.0,162.956,,,,86400.0,86400.0,benchmark-instance-rerun-pypsa-de-elec-02,20260309-rerun-pypsa-de-elec,2026-03-09 10:03:54.383258,c4-standard-8,us-central1-a,3febeb1,pypsa-de-elec-46-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,42-1h,gurobi,13.0.0,2025.0,ok,optimal,2028.676402009,19602.984,5749160043.049845,,,1967.4023489952087,86400.0,benchmark-instance-rerun-pypsa-de-elec-04,20260309-rerun-pypsa-de-elec,2026-03-09 09:09:54.538438,c4-standard-8,us-central1-a,3febeb1,pypsa-de-elec-42-1h,gurobi-13.0.0 -pypsa-de-elec,42-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,11722.8042276,18556.548,5749160043.1,,,11722.8042276,86400.0,benchmark-instance-rerun-pypsa-de-elec-04,20260309-rerun-pypsa-de-elec,2026-03-09 09:48:01.832482,c4-standard-8,us-central1-a,3febeb1,pypsa-de-elec-42-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,48-1h,gurobi,13.0.0,2025.0,ok,optimal,2725.495404748,22582.436,5848327279.1154,,,2652.450573921204,86400.0,benchmark-instance-rerun-pypsa-de-elec-01,20260309-rerun-pypsa-de-elec,2026-03-09 09:10:03.583126,c4-standard-8,us-central1-a,3febeb1,pypsa-de-elec-48-1h,gurobi-13.0.0 -pypsa-de-elec,48-1h,highs-hipo,1.12.0-hipo,2025.0,TO,Timeout,86400.0,162.912,,,,86400.0,86400.0,benchmark-instance-rerun-pypsa-de-elec-01,20260309-rerun-pypsa-de-elec,2026-03-09 10:00:10.746105,c4-standard-8,us-central1-a,3febeb1,pypsa-de-elec-48-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,44-1h,gurobi,13.0.0,2025.0,ok,optimal,2034.408106167,20855.596,5727328303.781166,,,1966.1743788719175,86400.0,benchmark-instance-rerun-pypsa-de-elec-03,20260309-rerun-pypsa-de-elec,2026-03-09 09:09:31.266124,c4-standard-8,us-central1-a,3febeb1,pypsa-de-elec-44-1h,gurobi-13.0.0 -pypsa-de-elec,44-1h,highs-hipo,1.12.0-hipo,2025.0,ok,Optimal,39463.809106969,20073.136,5727328303.9,,,39463.809106969,86400.0,benchmark-instance-rerun-pypsa-de-elec-03,20260309-rerun-pypsa-de-elec,2026-03-09 09:48:06.088162,c4-standard-8,us-central1-a,3febeb1,pypsa-de-elec-44-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,60-1h,gurobi,13.0.0,2025.0,ok,optimal,3784.128262258,26938.652,6127933083.006441,,,3691.609978914261,86400.0,benchmark-instance-52-60-pypsa-de-elec-00,20260311-52-60-pypsa-de-elec,2026-03-11 19:00:04.340615,c4-standard-8,us-central1-a,1ab32c7,pypsa-de-elec-60-1h,gurobi-13.0.0 -pypsa-de-elec,60-1h,highs-hipo,1.12.0-hipo,2025.0,TO,Timeout,86400.0,163.952,,,,86400.0,86400.0,benchmark-instance-52-60-pypsa-de-elec-00,20260311-52-60-pypsa-de-elec,2026-03-11 20:08:21.134432,c4-standard-8,us-central1-a,1ab32c7,pypsa-de-elec-60-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,56-1h,gurobi,13.0.0,2025.0,ok,optimal,2872.010146226,25910.216,6092020540.4389305,,,2785.689731836319,86400.0,benchmark-instance-52-60-pypsa-de-elec-02,20260311-52-60-pypsa-de-elec,2026-03-11 19:00:10.090691,c4-standard-8,us-central1-a,1ab32c7,pypsa-de-elec-56-1h,gurobi-13.0.0 -pypsa-de-elec,56-1h,highs-hipo,1.12.0-hipo,2025.0,TO,Timeout,86400.0,163.216,,,,86400.0,86400.0,benchmark-instance-52-60-pypsa-de-elec-02,20260311-52-60-pypsa-de-elec,2026-03-11 19:53:04.575664,c4-standard-8,us-central1-a,1ab32c7,pypsa-de-elec-56-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,58-1h,gurobi,13.0.0,2025.0,ok,optimal,3418.599062741,27504.66,5920480515.130768,,,3329.0237081050877,86400.0,benchmark-instance-52-60-pypsa-de-elec-01,20260311-52-60-pypsa-de-elec,2026-03-11 19:00:08.611946,c4-standard-8,us-central1-a,1ab32c7,pypsa-de-elec-58-1h,gurobi-13.0.0 -pypsa-de-elec,58-1h,highs-hipo,1.12.0-hipo,2025.0,TO,Timeout,86400.0,163.256,,,,86400.0,86400.0,benchmark-instance-52-60-pypsa-de-elec-01,20260311-52-60-pypsa-de-elec,2026-03-11 20:02:14.410334,c4-standard-8,us-central1-a,1ab32c7,pypsa-de-elec-58-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,52-1h,gurobi,13.0.0,2025.0,ok,optimal,3837.48265023,23747.724,5902473613.10276,,,3756.52106499672,86400.0,benchmark-instance-52-60-pypsa-de-elec-04,20260311-52-60-pypsa-de-elec,2026-03-11 19:00:03.453299,c4-standard-8,us-central1-a,1ab32c7,pypsa-de-elec-52-1h,gurobi-13.0.0 -pypsa-de-elec,52-1h,highs-hipo,1.12.0-hipo,2025.0,warning,Solve error,38171.122424796,23429.876,,,,38171.122424796,86400.0,benchmark-instance-52-60-pypsa-de-elec-04,20260311-52-60-pypsa-de-elec,2026-03-11 20:08:59.150745,c4-standard-8,us-central1-a,1ab32c7,pypsa-de-elec-52-1h,highs-hipo-1.12.0-hipo -pypsa-de-elec,54-1h,gurobi,13.0.0,2025.0,ok,optimal,2650.113477335,24263.972,5859658863.737078,,,2565.0844888687134,86400.0,benchmark-instance-52-60-pypsa-de-elec-03,20260311-52-60-pypsa-de-elec,2026-03-11 19:00:19.015753,c4-standard-8,us-central1-a,1ab32c7,pypsa-de-elec-54-1h,gurobi-13.0.0 -pypsa-de-elec,54-1h,highs-hipo,1.12.0-hipo,2025.0,TO,Timeout,86400.0,163.46,,,,86400.0,86400.0,benchmark-instance-52-60-pypsa-de-elec-03,20260311-52-60-pypsa-de-elec,2026-03-11 19:49:39.476274,c4-standard-8,us-central1-a,1ab32c7,pypsa-de-elec-54-1h,highs-hipo-1.12.0-hipo diff --git a/results/pypsa_de_sec_scaling.csv b/results/pypsa_de_sec_scaling.csv deleted file mode 100644 index 6805a1b8..00000000 --- a/results/pypsa_de_sec_scaling.csv +++ /dev/null @@ -1,42 +0,0 @@ -Benchmark,Size,Solver,Solver Version,Solver Release Year,Status,Termination Condition,Runtime (s),Memory Usage (MB),Objective Value,Max Integrality Violation,Duality Gap,Reported Runtime (s),Timeout,Hostname,Run ID,Timestamp,VM Instance Type,VM Zone,Solver benchmark version,source_file -pypsa-de-sec,10-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-05,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:36.756689,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,10-1h,gurobi,12.0.3,2025.0,ok,optimal,3034.276458015,17471.36,80979054873.2135,,,2924.31840515137,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:31.004845,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv -pypsa-de-sec,10-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.132,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:07:55.501524,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv -pypsa-de-sec,10-1h,mosek,11.1.10,2025.0,ok,optimal,2068.240135631,42764.54,80979047668.7498,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:07:56.226400,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-05-result.csv -pypsa-de-sec,12-1h,cplex,22.1.2.0,2025.0,TO,Timeout,86400.0,54983.24,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-04,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:19.087341,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,12-1h,gurobi,12.0.3,2025.0,ok,optimal,3849.128472506,21594.5,81317358533.0226,,,3738.91357493401,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:49.295503,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv -pypsa-de-sec,12-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.256,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 10:18:45.530086,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv -pypsa-de-sec,12-1h,mosek,11.1.10,2025.0,ok,optimal,2678.401065716,51576.784,81317354023.5557,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 10:18:46.258599,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-04-result.csv -pypsa-de-sec,14-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-03,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:25:47.881753,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,14-1h,gurobi,12.0.3,2025.0,TO,Timeout,86400.0,25681.856,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:44.785351,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv -pypsa-de-sec,14-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.316,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:12:14.129553,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv -pypsa-de-sec,14-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:12:14.769535,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-03-result.csv -pypsa-de-sec,16-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-02,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:27:04.292393,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,16-1h,gurobi,12.0.3,2025.0,ok,optimal,8425.818834536,30735.452,81179624001.9009,,,8269.61533880234,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:05.498242,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv -pypsa-de-sec,16-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.3,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:32:43.551780,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv -pypsa-de-sec,16-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:32:44.236533,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-02-result.csv -pypsa-de-sec,18-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-01,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:42.256031,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,18-1h,gurobi,12.0.3,2025.0,ok,optimal,9427.601518542,35111.06,82041908816.7532,,,9242.10552001,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:08:10.480803,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv -pypsa-de-sec,18-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.388,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:51:06.791248,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv -pypsa-de-sec,18-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 11:51:07.559331,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-01-result.csv -pypsa-de-sec,2-1h,cplex,22.1.2.0,2025.0,ok,optimal,327.11078384099994,9780.04,81991355803.35603,,,1779820314.736293,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-09,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:27.004465,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,2-1h,gurobi,12.0.3,2025.0,ok,optimal,175.92564876,4026.056,81991354939.7302,,,158.606875896454,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:18.339745,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv -pypsa-de-sec,2-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.472,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:18:13.638427,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv -pypsa-de-sec,2-1h,mosek,11.1.10,2025.0,ok,optimal,160.983634221,9138.904,81991361997.0553,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:18:14.260741,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-09-result.csv -pypsa-de-sec,20-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-00,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:25:57.350154,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,20-1h,gurobi,12.0.3,2025.0,ok,optimal,12415.836522898,39582.048,81010407181.4753,,,12202.232421875,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:10:20.245339,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv -pypsa-de-sec,20-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.296,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 12:43:11.625282,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv -pypsa-de-sec,20-1h,mosek,11.1.10,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 12:43:12.339881,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-00-result.csv -pypsa-de-sec,4-1h,cplex,22.1.2.0,2025.0,ok,optimal,1293.265115611,18820.084,81361050890.15439,,,1779821261.054553,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-08,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:07.124782,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,4-1h,gurobi,12.0.3,2025.0,TO,Timeout,86400.0,7478.872,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:40.227328,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv -pypsa-de-sec,4-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.472,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:30:52.620828,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv -pypsa-de-sec,4-1h,mosek,11.1.10,2025.0,ok,optimal,438.139289247003,17866.356,81361103217.8462,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-20 09:30:53.268249,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-08-result.csv -pypsa-de-sec,6-1h,cplex,22.1.2.0,2025.0,ok,optimal,2702.861934856,28499.224,81691415830.01482,,,1779822733.623625,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-07,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:27:09.947771,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,6-1h,gurobi,12.0.3,2025.0,ok,optimal,2718.511145352,10290.176,88087103696.0919,,,2660.98903894424,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:07:35.497215,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv -pypsa-de-sec,6-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,202.356,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:39:54.763920,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv -pypsa-de-sec,6-1h,mosek,11.1.10,2025.0,ok,optimal,945.423329004,24702.644,81691414720.6924,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 10:39:55.451775,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-07-result.csv -pypsa-de-sec,8-1h,cplex,22.1.2.0,2025.0,OOM,Out of Memory,,,,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-06,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:26:17.691916,c4-highmem-8,us-central1-a,acb819f, -pypsa-de-sec,8-1h,gurobi,12.0.3,2025.0,ok,optimal,1805.921619992,13502.388,81207139140.7822,,,1718.94383788109,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:08:31.940514,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv -pypsa-de-sec,8-1h,knitro,15.1.0,2025.0,ER,Error,86400.0,201.908,,,,86400.0,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:47:52.813710,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv -pypsa-de-sec,8-1h,mosek,11.1.10,2025.0,ok,optimal,1362.923344621,36381.8,81207138264.108,,,,86400.0,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06,20260519-pypsa-de-sec-2-nodes-scaling-comm,2026-05-19 09:47:53.567357,c4-highmem-8,us-central1-a,5bdf255,benchmark-instance-pypsa-de-sec-2-nodes-scaling-comm-06-result.csv -reference-benchmark,reference,highs-binary,1.10.0,,OK,Optimal,197.69941712799996,,2813303766.2,,,,,benchmark-instance-pypsa-de-sec-2-nodes-scaling-cplex-09,20260526-pypsa-de-sec-2-nodes-scaling-cplex,2026-05-26 18:35:12.613897,c4-highmem-8,us-central1-a,acb819f,