DOCS / OPERATE
Documentation.
Install, configure, and operate Arclane. Same tokens as the rest of the site, a separate subdomain candidate as the docs grow.
Getting started
Reference
Operations
The instance format
An instance is stops, depots, and vehicles. Times are minutes from midnight; demand and capacity share one unit.
{
"stops": [
{ "id": 0, "x": 18.7, "y": 52.9, "demand": 2,
"tw_start": 485, "tw_end": 605, "service": 6 }
],
"depots": [ { "id": 0, "x": 30, "y": 40 } ],
"vehicles": [ { "id": 0, "depot": 0, "capacity": 40,
"shift_start": 480, "shift_end": 960 } ],
"speed": 1.0
}
Generate a sample with cargo run -p arclane-cli -- gen --stops 180.
Plan & replan API
Three endpoints. Post an instance, get a plan; post a delta, get a diff; ask any stop why.
| method | path | does |
|---|---|---|
| POST | /plan | Solve an instance. Returns runs, unassigned stops, and metrics. |
| POST | /replan | Re-solve with completed stops locked. Returns a per-driver diff. |
| GET | /explain/:stop | Return the reason code for a stop, assigned or not. |
curl -s localhost:8080/plan \
-H 'content-type: application/json' \
--data @morning-run.json | jq '.metrics'
# { "vehicles_used": 13, "unassigned": 0, "distance": 1149 }
Reason codes
- CAPACITY_EXCEEDED
- every reachable vehicle is full
- WINDOW_INFEASIBLE
- cannot arrive before the window closes
- SHIFT_OVERRUN
- breaks a driver's duty limit
- SKILL_MISSING
- no in-service vehicle carries the skill