← Max-plus cadence (landing page)

Cyclic Schedules and the Max-Plus Eigenvalue

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.

View
Initial vector x(0)
Custom x(0)
Playback
Speed
Chart

The cell behind the graph

  • S release — a kit of raw material enters the cell
  • A, B fabrication — each firing makes a matched pair of components
  • C, D module assembly — each joins one A-side and one B-side component
  • T final assembly — joins the C-module and the D-module into a unit

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).

Event times xi(k)

State at step k

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.

Legend
Orange arc — binding predecessor (Trajectory) / critical cycle (Sensitivity)
Dashed orange — co-critical cycle (tied at λ)
Node number — firing time xi(k)
Arc badge (Semantics) — how the event index advances across that arc
Chart series — one per node: distinct color, marker, and dash; labeled at line end
λ(w) plot — dots mark breakpoints where the critical cycle switches