Trajectories, transients, and the bottleneck cycle
An assembly cell finishes a unit, the authorization card returns, and the next kit is released: a one-shot schedule closed into a loop. Its long-run beat is an eigenvalue: the maximum cycle mean.
Tropical multiplication accumulates lag around the loop. The worst cycle sets the beat. The long-run cadence is the maximum cycle mean.
Picture a small assembly cell building a two-module product. Each arc weight is an availability lag: S→A = 3 means the material released at S is staged and ready for A three time units later; A→D = 6 covers whatever that handoff involves — transport, curing, inspection. The fork at A is two component streams from the same firing (one piece bound for C, one for D), never a route choice; where two arcs enter a node they are synchronization constraints — C and D each wait for both of their components before firing.
The curved arc T→S closes the loop: completing a unit frees an authorization card that travels back (2 time units), and the next kit is released only when a card arrives — the pull rule of a CONWIP/kanban cell. Each of the nine arcs holds one item in flight (the card, kits in staging, components in transit, finished modules) — one token per arc, in the language of timed event graphs — so the cell runs as a nine-slot pipeline. A node value xj(k) is the time of the k-th firing of stage j. With several kits in flight, the k-th firings of different stages generally belong to different production waves — the Semantics view unpacks this. This kind of graph is a timed event graph: the choice-free subclass of Petri nets, which is exactly what makes its timing dynamics max-plus linear (the paper's Petri-net appendix, Appendix D, develops the correspondence).
The default start x(0) = 0 reads as a fully loaded cell: every stage fired at time 0, one token already in flight on every arc. Weights are fixed to the paper's values in this view — edit them in the Sensitivity view.