Formats¶
Every artifact is JSON validated by a pydantic model with extra="forbid"; the normative description of each
format is the docstring of the module that owns it, rendered in the API reference.
These pages are the guided tour.
| Page | Covers |
|---|---|
| Layouts, naming and pins | classic and collection trees, mamut-collection.json, file names, sha256-pinned sidecar references |
| Static instances | CVRP and VRPTW .vrp.json, embedded versus slim (collection) instances, arc-cost sources, metadata |
| Time-dependent instances | the td block and its three travel models, ATF sidecars, IGP profiles, road graphs and traffic overlays, the piecewise-linear primitive |
| Distances and geo sidecars | the distance matrix and the map-drawing sidecar |
| Solutions, BKS and optimality | solution files, BKS files, the checker statuses, optimality metadata |
CVRPLIB .vrp export |
the classic-format export contract shared by the CLI, the workbench and the website |
| Release archives | per-family zip archives and snapshot-manifest.json |
Common rules, everywhere:
- Canonical JSON. Sorted keys, deterministic serialization; gzip sidecars are written with
mtime=0. - Sha256 pins hash the uncompressed canonical bytes, so
.jsonand.json.gzforms of a sidecar share one pin. - The checker's cost is the stored cost. Solutions carry
cost: nullor the checker's value; nothing else. - Formats are tagged and versioned (
format,format_version) so readers can refuse what they do not know.