Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
d749e85
code: initial changes to run_solver.py to include hipo
finozzifa Feb 24, 2026
10d7dbd
code: new set_solver_options
finozzifa Feb 24, 2026
0fa9a43
code: new changes for run_solver.py
finozzifa Feb 24, 2026
b5047ce
include pre-commit
finozzifa Feb 24, 2026
bf52db6
code: changes to run_solver.py
finozzifa Feb 24, 2026
869cb3e
code: include new seed_options
finozzifa Feb 24, 2026
12aa41c
code: include new seed_options
finozzifa Feb 24, 2026
248b064
code: add crossover choose
finozzifa Feb 25, 2026
fe0ad68
code: modify run_solver.py
finozzifa Feb 25, 2026
ad2a0f2
code: modify run_solver.py
finozzifa Feb 25, 2026
1bdfd17
code: new update
finozzifa Feb 25, 2026
e1b375e
doc: add documentation on top of script
finozzifa Feb 25, 2026
46131da
doc: update readme
finozzifa Feb 25, 2026
67e7181
merge from main
finozzifa Feb 25, 2026
64374c2
code: update run_benchmarks.py
finozzifa Feb 25, 2026
ac125ac
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 25, 2026
0507bcb
code: new unfinished changes
finozzifa Feb 26, 2026
7d287ca
code: update variable names
finozzifa Feb 26, 2026
6fec43d
Merge branch 'issue_435_run_solver_hipo' of https://github.com/open-e…
finozzifa Feb 26, 2026
3586495
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Feb 26, 2026
4caec81
code: new updated changes
finozzifa Feb 26, 2026
9435dd1
Merge branch 'issue_435_run_solver_hipo' of https://github.com/open-e…
finozzifa Feb 26, 2026
0f46dfc
code: re-insert try-catch block
finozzifa Feb 27, 2026
876deb1
Merge branch 'main' of https://github.com/open-energy-transition/solv…
finozzifa Feb 27, 2026
61c2a43
code: updates to run_benchmarks.py
finozzifa Feb 28, 2026
e177822
code: updates to run_benchmarks.py
finozzifa Feb 28, 2026
868c31d
code: unit tests get_conda_package_versions
finozzifa Mar 1, 2026
ca27dc4
code: unit tests get_conda_package_versions
finozzifa Mar 1, 2026
19cd463
code: docstring and numpydoc to run_benchmarks.py
finozzifa Mar 2, 2026
4c818d1
code: add docstring numpydoc for benchmark_solver
finozzifa Mar 2, 2026
7f66052
code: ignore unit tests for Streamlit App
finozzifa Mar 2, 2026
d52a99e
code: new changes to run_benchmarks.py
finozzifa Mar 2, 2026
99f2eb3
code: re-factor benchmark_solver
finozzifa Mar 2, 2026
5eb7247
doc: add numpydoc docstring
finozzifa Mar 2, 2026
9a7ee28
code: add unit tests for new methods
finozzifa Mar 2, 2026
ffd2b5e
code: add unit tests for new methods
finozzifa Mar 2, 2026
d0b4a78
Merge branch 'main' of https://github.com/open-energy-transition/solv…
finozzifa Mar 3, 2026
c1dea82
code: split function
finozzifa Mar 3, 2026
5662f1f
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 3, 2026
0d1ca60
code: add unit test for _split_highs_solver_name
finozzifa Mar 4, 2026
489f996
code: add unit test for _split_highs_solver_name
finozzifa Mar 4, 2026
5dd9523
code: add unit test for _split_highs_solver_name
finozzifa Mar 4, 2026
3a239fa
code: new changes
finozzifa Mar 4, 2026
f70597c
code: correct solver_name
finozzifa Mar 4, 2026
2b5dc3f
code: re-introduce print
finozzifa Mar 4, 2026
2beb8f7
code: pre-commit
finozzifa Mar 4, 2026
d4b5daa
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 4, 2026
0f3b373
Merge branch 'issue_435_run_solver_hipo' of https://github.com/open-e…
finozzifa Mar 4, 2026
7ab9793
code: remove .format
finozzifa Mar 4, 2026
05b8c06
code: modified command
finozzifa Mar 4, 2026
0ede762
code: modify parse_solver_results
finozzifa Mar 5, 2026
48d4dcd
code: modify benchmark_solver
finozzifa Mar 5, 2026
64a010f
code: modify benchmark_solver
finozzifa Mar 5, 2026
a76861b
code: new attempt
finozzifa Mar 5, 2026
4d0e913
code: new attempt
finozzifa Mar 5, 2026
b045bf9
[pre-commit.ci] auto fixes from pre-commit.com hooks
pre-commit-ci[bot] Mar 5, 2026
9126e4e
code: update run_solver.py
finozzifa Mar 5, 2026
7730856
Merge branch 'issue_435_run_solver_hipo' of https://github.com/open-e…
finozzifa Mar 5, 2026
30f56aa
code: remove cbc from solvers to run
finozzifa Mar 5, 2026
93f17af
code: remove unnecessary TODO
finozzifa Mar 5, 2026
e5286b7
code: restore benchmark_results.csv
finozzifa Mar 5, 2026
600cba3
code: introduce benchmark-2026.yaml environment file
finozzifa Mar 5, 2026
959901b
code: introduce benchmark-2026.yaml environment file
finozzifa Mar 5, 2026
1a853b2
code: modify benchmark-2026.yaml
finozzifa Mar 5, 2026
b1eaef4
code: new version
finozzifa Mar 5, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pytest.ini
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
[pytest]
norecursedirs = pocs
addopts = --ignore=tests/test_run_benchmarks.py
32 changes: 23 additions & 9 deletions runner/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,24 +85,38 @@ python run_benchmarks.py ../results/metadata.yaml 2024 --run_id "debug-run-001"
Use `run_solver.py` to test a single solver on a single benchmark problem. This is useful for debugging:

```bash
python run_solver.py <solver_name> <input_file> <solver_version>
python runner/run_solver.py \
--solver_name <solver_name> \
--solver_version <solver_version> \
--input_file <input_file> \
--highs_solver_variant <highs_solver_variant> \
--hipo_block_size <hipo_block_size>
```

**Arguments:**
- `solver_name` - Solver name (highs, scip, cbc, gurobi, glpk)
- `input_file` - Path to benchmark problem file (.lp or .mps)
- `solver_version` - Solver version string (e.g., 1.10.0)
- `solver_name` - Name of the solver to run (e.g., `highs`, `glpk`, `gurobi`, `scip`, `cbc`, `cplex`, `knitro`, `xpress`).
- `solver_version` - Version of the solver to use.
- `input_file` - Path to the input problem file (e.g., `.mps`, `.lp`).
- `highs_solver_variant` - Variant of HiGHS to run (`hipo`, `ipm`, `ipx`, `pdlp`, `simplex` - default: `simplex`). Only for HiGHS.
- `hipo_block_size` - Block size for HiPO variant of HiGHS (default: `128`). Only for HiGHS with `hipo` solver variant.

**Examples:**

```bash
# Test HiGHS
conda activate benchmark-2024
python run_solver.py highs ./benchmarks/pypsa-eur-elec-op-2-1h.lp 1.10.0
# Test HiGHS (simplex variant)
conda activate benchmark-2025
python runner/run_solver.py \
--solver_name highs \
--solver_version 1.13.2.dev1 \
--input_file ./benchmarks/pypsa-eur-elec-op-2-1h.lp \
--highs_solver_variant simplex

# Test SCIP
conda activate benchmark-2024
python run_solver.py scip ./benchmarks/pypsa-eur-elec-op-2-1h.lp 9.2.2
conda activate benchmark-2025
python runner/run_solver.py \
--solver_name scip \
--solver_version 9.2.2 \
--input_file ./benchmarks/pypsa-eur-elec-op-2-1h.lp
```

**Output:**
Expand Down
2 changes: 1 addition & 1 deletion runner/benchmark_all.sh
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ for year in "${years[@]}"; do
solver_args="--solvers ${solvers_override}"
echo "Using solver override: ${solvers_override}"
else
solver_args="--solvers gurobi highs-hipo highs-ipm highs scip cbc glpk"
solver_args="--solvers gurobi highs-hipo highs-ipm highs scip glpk"
Comment thread
finozzifa marked this conversation as resolved.
fi

# Overwrite results for the first year, append thereafter
Expand Down
19 changes: 19 additions & 0 deletions runner/envs/benchmark-2026.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: benchmark-2026
channels:
- conda-forge/label/dev
- conda-forge
- https://conda.anaconda.org/gurobi
- nodefaults
dependencies:
- python>=3.12
- pip
- psutil>=5.9
- requests>=2.32
- linopy>=0.6.4
- coin-or-cbc==2.10.12
- scip==10.0.0
- pyscipopt==5.7.1
- gurobi==13.0.0

# Install highspy from conda-forge dev label
- highspy==1.13.2.dev1
Loading
Loading