open-energy-transition / solver-benchmark

A benchmark of (MI)LP solvers on energy modelling problems
GNU Affero General Public License v3.0
2 stars 1 forks source link

Solver Benchmark Website

This repository contains code for benchmarking LP/MILP solvers, and an interactive website for analyzing the results.

Initial Setup

Before you begin, make sure your development environment includes Python.

Preferred use:

We use Python virtual environments to manage the dependencies for each component of this project. This is how to create a virtual environment:

python -m venv venv

This is how to activate one:

Development

We use the ruff code linter and formatter, and GitHub Actions runs various pre-commit checks to ensure code and files are clean.

You can install a git pre-commit that will ensure that your changes are formatted and no lint issues are detected before creating new commits:

pip install pre-commit
pre-commit install

If you want to skip these pre-commit steps for a particular commit, you can run:

git commit --no-verify

Run Project

Remember to activate the appropriate virtual environment before running the runner or the website.

  1. Run Benchmark Runner

    python runner/run_benchmarks.py

    The app will save the runtime and memory consumption into a CSV file.

  2. Run Website

    streamlit run website/app.py

    The website will be running on: http://localhost:8501