Skip to main content

DynaSchedBench

PyPI latest Python Docs Website License

DynaSchedBench accompanies the ICML 2026 paper DynaSchedBench: Calibrated Dynamic Scheduling Benchmarks and Observability Paradox in LLM-based Scheduling Agents. It provides calibrated benchmark generation for Dynamic Flexible Job Shop Scheduling, an event-driven simulator, a unified single-agent environment, trajectory-based evaluation, visualization tools, and lightweight scheduling baselines.

Official website: dsbx7.github.io.

Highlights

  • Sequential Event-Space Calibrator (SESC) for calibrated dynamic event streams.
  • Schedule Stress Index (SSI) for stratifying instance difficulty.
  • Event-driven dynamic scheduling simulator with explicit state snapshots.
  • Unified single-agent environment for heuristic, RL, and LLM schedulers.
  • Reproducible generator for Dynamic Flexible Job Shop Scheduling instances.
  • Trajectory metrics, hard-constraint checks, and visual diagnostics.
  • Support for evaluating observability levels and reasoning strategies in LLM-based scheduling agents.
  • Lightweight dsbx-* command-line tools for generation, simulation, evaluation, visualization, and agent rollouts.
  • Research assets kept separate from the PyPI wheel for fast installation.

Installation

Install the public package:

pip install dsbx

Install from source for development:

git clone https://github.com/dsbx7/DynaSchedBench.git
cd DynaSchedBench
python -m pip install -e .[dev,docs]

Quickstart

from pathlib import Path

from dsbx.Agents import SPTAgent
from dsbx.Env import DynaSchedEnv
from dsbx.Eval.Metrics import evaluate_trajectory
from dsbx.Gen import load_input_model

model = load_input_model(Path("docs/examples/minimal_input_model.json"))
env = DynaSchedEnv(model)
agent = SPTAgent()

obs = env.reset()
done = False

while not done:
    legal_actions = env.legal_actions()
    if not legal_actions:
        obs = env.advance_if_idle()
        continue

    action = agent.act(obs, legal_actions, env)
    obs, reward, done, info = env.step(action)

metrics = evaluate_trajectory(env.get_trajectory())
print(metrics)

Command Line

dsbx-gen --help
dsbx-agent --help
dsbx-eval --help
dsbx-vis --help
dsbx-sim --help

A typical workflow is:

dsbx-gen gen -i docs/examples/minimal_input_model.json -o runs/minimal
dsbx-agent run -d runs/minimal -o runs/minimal/spt -a spt
dsbx-eval from-trajectory -t runs/minimal/spt/trajectory_light.jsonl
dsbx-vis gantt -t runs/minimal/spt/trajectory_light.jsonl -o runs/minimal/spt/gantt.pdf

Repository Layout

src/dsbx/            # Release Python package
docs/                # Sphinx and Read the Docs documentation
data/                # Benchmark data and generated instance collections
tests/               # Release and package guard tests

Documentation

The documentation is maintained with Sphinx and Read the Docs. It includes quickstart material, CLI references, benchmark notes, release instructions, and API pages generated from docstrings.

Citation

@inproceedings{dynaschedbench2026,
  title = {DynaSchedBench: Calibrated Dynamic Scheduling Benchmarks and Observability Paradox in LLM-based Scheduling Agents},
  author = {Shijie Cao and Yuan Yuan and Jing Liu},
  booktitle = {Proceedings of the 43rd International Conference on Machine Learning},
  year = {2026}
}

License

DynaSchedBench is released under the Apache License 2.0.

Metadata

Release files for dsbx 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dsbx 0.4.0
File Size Uploaded Provenance Actions
dsbx-0.4.0.tar.gz 478.0 kB Without provenance Details for dsbx-0.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dsbx 0.4.0
File Interpreter ABI Platform Actions
dsbx-0.4.0-py3-none-any.whl Python 3 none any Details for dsbx-0.4.0-py3-none-any.whl

Total release size: 1.0 MB

Release files / dsbx-0.4.0.tar.gz

Download URL dsbx-0.4.0.tar.gz
Size 478.0 kB
Tags Source
SHA-256 checksum
How to use checksums
26e7da44c8b331f0aa9f148f68c3cc3ddf0dc8925d07a2fc6b26ba83b0ba5f84
BLAKE2b-256 checksum
How to use checksums
ec85610c9e75b36e1a5681e72cf847e1f13f6af68927ff8883ab084f0a234568
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / dsbx-0.4.0-py3-none-any.whl

Download URL dsbx-0.4.0-py3-none-any.whl
Size 545.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d4639de70016597d764c6eafba48f030dd06b1f0a13ee6879ce44e16c6be95ce
BLAKE2b-256 checksum
How to use checksums
d8e024b2a894725eb942c3066fceae0cddf38fc1b536dd9fc8999b9e6777ea47
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for dsbx 0.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page