Receding Horizon and Real-Time Feasibility
MPC re-solves every cycle; Kronos chooses horizon length and solver so the plan is both far-sighted enough and fast enough for the control cadence.
Choosing the horizon
The prediction horizon N must be long enough to see a disturbance coming and act before a constraint binds, but every extra step costs solve time. Kronos sizes the horizon to the dominant dynamics of each control problem: shape control needs a horizon covering the coil and current-profile response; plug-density control needs to cover the ambipolar-potential response time. The horizon is expressed in twin steps, aligned to the 50-100 ms shadow so the controller sees exactly as far as the twin can faithfully predict.
Warm starting and real-time iteration
Because the problem changes only slightly cycle to cycle, Kronos warm-starts each solve from the previous solution shifted by one step. Combined with a real-time-iteration scheme, taking one Newton-type step per cycle rather than solving to full convergence, this keeps the per-cycle cost bounded and predictable, which is what a real-time controller requires.
- Horizon aligned to the 50-100 ms predictive shadow
- Warm start: shift previous solution, re-solve incrementally
- Real-time iteration: bounded per-cycle compute, deterministic latency
- Surrogate dynamics: PINN/neural-operator f_twin keeps each rollout cheap
Feasibility guarantees come from the terminal set: if each cycle can steer the horizon into a known safe terminal region, the receding-horizon scheme remains recursively feasible, it will always have a safe plan next cycle. This is the theoretical backbone that lets Kronos trust MPC to stay in the envelope indefinitely, not just for one horizon.
If a solve ever fails to complete in time, MPC does not stall: it applies the remaining valid moves from the previous plan (a feasible fallback the terminal set guarantees exists) while flagging the miss. Persistent misses trigger a controlled ramp toward a safe state. The deterministic behavior under compute pressure is designed, not incidental.