gbd-tools

Management of Benchmark Instances and Instance Attributes

https://github.com/udopia/gbd

Science Score: 77.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    3 of 10 committers (30.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.0%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Management of Benchmark Instances and Instance Attributes

Basic Info
Statistics
  • Stars: 20
  • Watchers: 2
  • Forks: 7
  • Open Issues: 1
  • Releases: 14
Created over 7 years ago · Last pushed 10 months ago
Metadata Files
Readme License Citation

README.md

Global Benchmark Database (GBD)

DOI

GBD is a comprehensive suite of tools for provisioning and sustainably maintaining benchmark instances and their metadata for empirical research on hard algorithmic problem classes. For an introduction to the GBD concept, the underlying data model, and specific use cases, please refer to our 2024 SAT Tool Paper.

GBD contributes data to your algorithmic evaluations

GBD provides benchmark instance identifiers, feature extractors, and instance transformers for hard algorithmic problem domains, now including propositional satisfiability (SAT) and optimization (MaxSAT), and pseudo-Boolean optimization (PBO).

GBD solves several problems

  • benchmark instance identification
  • identification of equivalence classes of benchmark instances
  • distribution of benchmark instances and benchmark metadata
  • initialization and maintenance of instance feature databases
  • transformation algorithms for benchmark instances

GBD provides an extensible set of problem domains, feature extractors, and instance transformers. For a description of those currently supported, see the GBDC documentation. GBDC is a Python extension module for GBD's performance-critical code (written in C++), maintained in a separate repository.

Installation and Configuration

  • Run pip install gbd-tools
  • Run pip install gbdc (optional, installation of extension module gbdc)
  • Obtain a GBD database, e.g. download https://benchmark-database.de/getdatabase/meta.db.
  • Configure your environment by registering paths to databases like this export GBD_DB=path/to/database1:path/to/database2.
  • Test the command line interface with the gbd info and gbd --help commands.

GBD Interfaces

GBD provides the command-line tool gbd, the web interface gbd serve, and the Python interface gbd_core.api.GBD.

GBD Command-Line Interface

Central commands in gbd are those for data access gbd get and database initialization gbd init. See gbd --help for more commands. Once a database is registered in the environment variable GBD_DB, the gbd get command can be used to access data. See gbd get --help for more information. gbd init provides access to registered feature extractors, such as those provided by the gdbc extension module. All initialization routines can be run in parallel, and resource limits can be set per process. See gbd init --help for more information.

GBD Server

The GBD server can be started locally with gbd serve. Our instance of the GBD server is hosted at https://benchmark-database.de/. You can download benchmark instances and prebuilt feature databases from there.

GBD Python Interface

The GBD Python interface is used by all programs in the GBD ecosystem. Important here is the query command, which returns GBD data in the form of a Pandas dataframe for further analysis, as shown in the following example.

Python from gbd_core.api import GBD with GBD(['path/to/database1', 'path/to/database2', ..] as gbd: df = gbd.query("family = hardware-bmc", resolve=['verified-result', 'runtime-kissat'])

Scripts and use cases of GBD's Python interface are available on https://udopia.github.io/gbdeval/. The evaluation demo demonstrates portfolio analysis and subsequent category-wise performance evaluation using the 2023 SAT competition data. The prediction demo demonstrates category prediction from instance features and subsequent feature importance evaluation.

Owner

  • Name: Markus Iser
  • Login: Udopia
  • Kind: user
  • Location: Karlsruhe
  • Company: Karlsruhe Institute of Technology

Automated Reasoning and Optimization, Meta Algorithmics, Explainable Artificial Intelligence, Algorithm Visualization and Sonification

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Iser"
  given-names: "Markus"
  orcid: "https://orcid.org/0000-0003-2904-232X"
- family-names: "Jabs"
  given-names: "Christoph"
  orcid: "https://orcid.org/0000-0003-3532-696X"
title: "GBD Tools"
version: 4.7.0
doi: 10.5281/zenodo.10213944
date-released: 2023-11-28
url: "https://github.com/Udopia/gbd"

GitHub Events

Total
  • Watch event: 2
  • Push event: 6
  • Pull request review event: 1
  • Pull request event: 5
  • Fork event: 1
Last Year
  • Watch event: 2
  • Push event: 6
  • Pull request review event: 1
  • Pull request event: 5
  • Fork event: 1

Committers

Last synced: almost 3 years ago

All Time
  • Total Commits: 1,039
  • Total Committers: 10
  • Avg Commits per committer: 103.9
  • Development Distribution Score (DDS): 0.566
Top Committers
Name Email Commits
Markus Iser m****r@k****u 451
Luca l****r@y****m 285
Luca Springer u****v@s****u 207
Markus Iser 2****r@g****m 47
Luca Springer 3****r@u****m 23
Martin Heil m****n@s****e 15
Elizaveta Danilova u****v@s****u 8
Administrator e****m@s****e 1
i12admin i****n@i****e 1
The Codacy Badger b****r@c****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 7
  • Total pull requests: 27
  • Average time to close issues: 17 days
  • Average time to close pull requests: 6 days
  • Total issue authors: 3
  • Total pull request authors: 5
  • Average comments per issue: 1.43
  • Average comments per pull request: 0.11
  • Merged pull requests: 22
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 7
  • Average time to close issues: 7 days
  • Average time to close pull requests: 3 days
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Jakob-Bach (4)
  • SimuIacron (2)
  • chrjabs (1)
Pull Request Authors
  • Weitspringer (14)
  • fata-cmd (6)
  • chrjabs (6)
  • FreGeh (4)
  • Udopia (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 1,011 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 4
    (may contain duplicates)
  • Total versions: 284
  • Total maintainers: 2
pypi.org: gbd-tools

GBD Tools: Maintenance and Distribution of Benchmark Instances and their Attributes

  • Versions: 199
  • Dependent Packages: 0
  • Dependent Repositories: 3
  • Downloads: 982 Last month
Rankings
Downloads: 7.5%
Dependent repos count: 9.0%
Dependent packages count: 10.1%
Average: 11.6%
Forks count: 15.3%
Stargazers count: 16.0%
Maintainers (1)
Last synced: 7 months ago
pypi.org: global-benchmark-database-tool

Superseded by: gbd-tools

  • Versions: 85
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 29 Last month
Rankings
Dependent packages count: 10.1%
Downloads: 14.1%
Forks count: 15.3%
Average: 15.4%
Stargazers count: 16.0%
Dependent repos count: 21.6%
Maintainers (2)
Last synced: 6 months ago

Dependencies

setup.py pypi
  • flask *
  • flask_limiter *
  • iteration_utilities *
  • matplotlib *
  • mip *
  • numpy *
  • pandas *
  • pebble *
  • piskle *
  • setuptools *
  • sklearn *
  • tatsu *
  • waitress *
  • wheel *
.github/workflows/docker-image.yml actions
  • actions/checkout v1 composite
.github/workflows/gh-pages-apidoc.yml actions
  • actions/checkout master composite
  • actions/setup-python v2 composite
  • peaceiris/actions-gh-pages v3 composite
docker/docker-compose.yml docker
  • udopia/gbd latest
  • udopia/nginx latest
pyproject.toml pypi
  • flask *
  • pandas *
  • pebble *
  • tatsu *
  • waitress *