← All tutorials · Twinworks

Tutorial 9 of 9

Plan transport routes with the transport planner

Intermediate 8 min

Build a shared-vehicle route plan from the factory model, see queue waits on a narrow aisle and vehicle utilisation, export the tables as CSV and write the estimated travel times back to the transport stations in one undoable step.

The shared vehicles tutorial models forklift trips as stations with a loaded travel time and an empty return. Where do those times come from when several trucks share the same aisle? The Transport planner in the workspace answers that from the model itself and runs entirely in your browser.

1. Open the planner

Open the Shared forklift fleet template (/app#template=shared-forklifts) and choose Analyze → Transport planner…. The planner reads the model:

  • Fleet: Vehicles comes from the resource pool of the transport stations (2 forklifts), Depot is where all vehicles start (Press outfeed), and Planning window (min) is the period over which moves are requested (60).
  • Routes: one row per transport station. Forklift: press to store picks up at Press outfeed and delivers to High-bay store, about 29 moves per hour (what the press can produce); Forklift: weld to store starts at Weld outfeed with 24 moves per hour.
  • Route segments: one two-way segment per route with the station's current loaded travel time and Capacity 1.

Press Run planner. With these starting segments nobody queues: Moves 53, Total queue wait 0 s, Fleet utilisation 73.8 %, and the estimated times match the model.

2. Add a shared aisle

Both trucks really drive through one narrow aisle in front of the store. Model it with a route point:

  1. In the first segment row, open To and choose New route point…. Name it Aisle and press OK.
  2. Set the travel times: Press outfeed ↔ Aisle 15 s, and in the second row choose To Aisle (route point) with 25 s.
  3. Press + Add segment and set Aisle (route point) ↔ High-bay store, 30 s, Capacity 1.

Press Run planner again. Now the trucks meet in the aisle: Total queue wait 968.5 s, Fleet utilisation 83.9 %, and the sentence under the figures names the culprit — Vehicles queued longest on Aisle ↔ High-bay store: 968.5 s in total. The table Queue waits on shared segments shows 104 traversals of that segment, 55 of which had to wait.

Estimated travel times per transport station turns this into model times: Forklift: press to store needs 55.2 s loaded (46.7 s in the model) and 49.6 s empty; Forklift: weld to store 62.5 s loaded and 66.2 s empty. Loaded travel runs from pickup to delivery including the queue on the way; empty travel is the drive to the next pickup, which the model counts as empty return. Vehicle utilisation lists the busy time of each truck, and Show all 53 moves opens the move list with routes and waits.

Try a capacity of 2 on the aisle segment: the queue wait drops to 0 s — a wider aisle removes the conflict, a third truck (Vehicles 3) does not.

3. Apply, export and compare

  • Apply estimated travel times writes the loaded time into each transport station's cycle time (the triangular shape is kept and scaled) and the empty time into Empty return time. It is one step: Edit → Undo or Ctrl+Z restores the old times.
  • Moves (CSV), Segments (CSV) and Stations (CSV) download the three tables.
  • The planner settings are saved in the scenario with the project, so the route network is there the next time you open the planner. Reset to the model starts again from the model's defaults.

Run the experiment again (Simulate → Run experiment (replications)): throughput stays at about 43.8 good parts/h because the Weld cell is still the bottleneck, but the mean lead time grows from about 509 s to 516 s. Clone the scenario first if you want to compare both versions side by side.

The planner assumes identical vehicles, first-come-first-served requests at an even rate and the shortest uncongested path; it does not re-route around traffic or model loading, charging and breakdowns. The same scheduler is available as the Material Transport Scheduler tool for scripts and AI agents.

Next: Automate with the API / MCP.

Ready to try it?

Launch Twinworks →