Skip to main content

Experiment management and benchmark tools for mathematical optimization

Project description

JijBench: An Experiment and Benchmark Management Library for Mathematical Optimization

JijBench is a Python library designed for developers working on research and development or proof-of-concept experiments using mathematical optimization. Positioned similarly to mlflow in the machine learning field, JijBench provides features such as saving optimization results, automatically computing benchmark metrics, and offering visualization tools for the results.

Primarily supporting Ising optimization problems, JijBench plans to extend its support to a wide range of optimization problems, such as MIP solvers, in the future.

Installation

JijBench can be easily installed using pip.

pip install jijbench

Documentation and Support

Tutorials and sample code will be provided in the future. Stay tuned!

How to Contribute

Development Environment Policy:
Our policy is to establish a simple development environment that allows everyone to easily contribute to the project. With this in mind, we carefully select the necessary commands for setting up the environment to be as minimal as possible. Based on this policy, we have adopted an environment using poetry in this project.

Setup environment with poetry

1: Setup poetry

pip install -U pip
pip install poetry
poetry self add "poetry-dynamic-versioning[plugin]"
poetry install

2: Setup pre-commit

In this project, we use pre-commit hooks to help maintain code quality. This ensures that predefined checks and formatting are automatically executed before each commit.

pre-commit was installed by the above command poetry install. So, next enable the pre-commit hooks by running the following command in the project's root directory:

pre-commit install

Notes on Using pre-commit:
With pre-commit enabled, predefined checks and formatting will be automatically executed before each commit. If any errors are detected during this process, the commit will be aborted. You will not be able to commit until the errors are resolved, so please fix the errors and try committing again.

You may need run black and isort before commit.

python -m isort ./jijbench
python -m black ./jijbench

3: Check tests

poetry shell
python -m pytest tests

When you want add a dependency

Standard dependency

poetry add ...

Depencency for test

poetry add ... -G tests

Depencency for dev

poetry add ... -G dev

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jijbench-0.4.6.tar.gz (3.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

jijbench-0.4.6-py3-none-any.whl (5.1 MB view details)

Uploaded Python 3

File details

Details for the file jijbench-0.4.6.tar.gz.

File metadata

  • Download URL: jijbench-0.4.6.tar.gz
  • Upload date:
  • Size: 3.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.1 CPython/3.10.10 Linux/5.15.0-1034-azure

File hashes

Hashes for jijbench-0.4.6.tar.gz
Algorithm Hash digest
SHA256 5e8397f852b4848096fb55fb8f33cf53d40895d3e8ca0c168e27bb008dbedf7a
MD5 b7a1fbe2a9f65ccacff7b3a4915df322
BLAKE2b-256 879c4ef91713657e170267ed4dcd956b43df311a4f692e2b58aefee1cb43490b

See more details on using hashes here.

File details

Details for the file jijbench-0.4.6-py3-none-any.whl.

File metadata

  • Download URL: jijbench-0.4.6-py3-none-any.whl
  • Upload date:
  • Size: 5.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.1 CPython/3.10.10 Linux/5.15.0-1034-azure

File hashes

Hashes for jijbench-0.4.6-py3-none-any.whl
Algorithm Hash digest
SHA256 9a4c53cfdfe8213832952d73e9b32f7acd10d82c895c8dcf6ff8aba33dd04556
MD5 7a9637ade9c007403cf382d212ed4dd7
BLAKE2b-256 df5fd8a0e7446d18ea7713983bde3a1e9bb45bfb08d49043c841af6f432d2ff1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page