Command-Line Interface
DynaSchedBench exposes five release commands. The PyPI project name is dsbx,
the Python import name is dsbx, and command names always use the
dsbx- prefix.
Command |
Purpose |
|---|---|
|
Generate and inspect dynamic scheduling instances. |
|
Run agents on generated instances. |
|
Evaluate trajectories and validate instances. |
|
Plot schedules, metrics, and event timelines. |
|
Export simulator snapshots without running an agent. |
dsbx-gen
Use dsbx-gen to create concrete dynamic scheduling instances from input-model
JSON files.
Generate One Instance
dsbx-gen gen \
-i docs/examples/minimal_input_model.json \
-o runs/minimal \
--max-calib-steps 5
Key options:
-i, --input: required input-model JSON file.-o, --output: output directory. If omitted,outputs.pathfrom the model may be used.--max-calib-steps: sequential calibration budget.--use-moo: use NSGA-II MOO calibration.--use-hybrid: use hybrid sequential plus MOO calibration.--auto: let the calibration advisor choose mode and step budget.--compare-to: compare twofinal_metrics.jsonfiles.--log-level:DEBUG,INFO,WARNING, orERROR.
Generate A Batch
dsbx-gen gen-batch \
-i path/to/batch_input_model.json \
-o runs/batch \
--max-calib-steps 25
Batch generation expands list-valued target fields. It writes one instance
directory per expanded configuration plus summary.csv and instance_space.png.
Replay A Pareto Solution
dsbx-gen replay \
-i path/to/input_model.json \
-p runs/hybrid/pareto_info.json \
--list
dsbx-gen replay \
-i path/to/input_model.json \
-p runs/hybrid/pareto_info.json \
--solution-id 0 \
-o runs/replayed_solution_0
Replay regenerates events from a saved Pareto decision vector without rerunning the full MOO or hybrid search.
dsbx-agent
Use dsbx-agent to run schedulers on generated instances. The input is a
generated instance directory, not the original input-model JSON file.
dsbx-agent run \
-d runs/minimal \
-o runs/minimal/spt \
-a spt \
--random-seed 42
Common options:
-d, --dir: generated instance directory fromdsbx-gen gen.-o, --output: output directory for trajectories, metrics, and plots.-a, --agent: agent name such asspt,random, orpdr:SPT:LIT.--save-trajectory / --no-save-trajectory: writetrajectory.json.--save-trajectory-light / --no-save-trajectory-light: streamtrajectory_light.jsonl.--max-steps: safety bound on decision steps.--random-seed: seed for stochastic agents and tie-breaking.
Discover agents:
dsbx-agent list-agents
dsbx-agent agent-help pdr
dsbx-agent agent-help ga
dsbx-agent agent-help llm-scheduler
Typical output files:
trajectory.json: full trajectory when enabled.trajectory_light.jsonl: streaming summary trajectory.metrics.json: scalar metrics.gantt.pdf: default Gantt chart.agent-specific logs and debug artifacts.
dsbx-eval
Use dsbx-eval for trajectory metrics, event validation, schedule feasibility,
and LLM debug views.
Evaluate A Trajectory
dsbx-eval from-trajectory \
-t runs/minimal/spt/trajectory_light.jsonl \
-o runs/minimal/spt/metrics_recomputed.json
Useful options:
--show-violations / --hide-violations: print hard-constraint violations.--fail-on-violation: exit non-zero when violations are found.--warm: ignore an initial warm-up period for time-series metrics.--warmup-ratio: warm-up fraction, default0.3.
Validate Events
dsbx-eval check-events \
-c runs/minimal/input_model.json \
-e runs/minimal/events.jsonl \
--strict-events \
--fail-on-error
This checks input-model consistency, event references, ordering, and optional strict event constraints.
Check A Schedule
dsbx-eval check-schedule \
-t runs/minimal/spt/trajectory_light.jsonl \
--fail-on-violation
This command checks hard scheduling constraints on an agent rollout.
Debug LLM Runs
dsbx-eval debug-llmscheduler \
-t runs/llm/trajectory_light.jsonl \
-e runs/minimal/events.jsonl \
-l runs/llm/main.log \
-o runs/llm/llmscheduler_debug.jsonl
dsbx-eval debug-llmcoder \
-t runs/llmcoder/trajectory_light.jsonl \
-e runs/minimal/events.jsonl \
--coder-trajectory runs/llmcoder/coder_trajectory.jsonl \
-l runs/llmcoder/main.log \
-o runs/llmcoder/llmcoder_debug.json
dsbx-vis
Use dsbx-vis to turn event streams and trajectories into diagnostics.
dsbx-vis gantt \
-t runs/minimal/spt/trajectory_light.jsonl \
-o runs/minimal/spt/gantt.pdf
dsbx-vis job-gantt \
-t runs/minimal/spt/trajectory_light.jsonl \
-o runs/minimal/spt/job_gantt.pdf
dsbx-vis metrics-summary \
-t runs/minimal/spt/trajectory_light.jsonl \
-o runs/minimal/spt/metrics_summary.pdf
dsbx-vis metric-curve \
-t runs/minimal/spt/trajectory_light.jsonl \
-m wip \
-o runs/minimal/spt/wip.pdf
dsbx-vis events-timeline \
-e runs/minimal/events.jsonl \
-o runs/minimal/events_timeline.png
List supported time-series metric names:
dsbx-vis metrics-list
Most trajectory-based plotting commands support --warm and --warmup-ratio.
Gantt commands also support chunked PDFs:
dsbx-vis gantt \
-t runs/minimal/spt/trajectory_light.jsonl \
--chunk 100 \
-o runs/minimal/spt/gantt_chunked.pdf
For interactive inspection:
dsbx-vis gantt-inspect \
-t runs/minimal/spt/trajectory_light.jsonl \
-s runs/minimal/static_jobs.json \
-e runs/minimal/events.jsonl
dsbx-sim
dsbx-sim exports simulator state snapshots from an input model. It applies
events up to the requested time but does not run a scheduling algorithm.
dsbx-sim snapshot \
-c docs/examples/minimal_input_model.json \
-t 50 \
-o runs/minimal_snapshot_t50.json
Options:
-c, --config: required input-model JSON file.-t, --time: decision time to inspect.-o, --out: optional output JSON path. Without-o, the snapshot is printed to stdout.