Skip to content
Technology How it works Breeder — Hyperion Burner — Aegis Burner — MetroVolt AI-Native Architecture Magnets Fuel cycle Safety Roadmap
Solutions AI & Data Centers Defense & Government Grid & Baseload Neutron Detection Quantum
Learn Technical Library
Proof Publications Whitepapers Technical Library Open Science & Reproducibility The Honest Gates
Company About / Mission Leadership Environment Health & Safety Investors Careers Press Contact
3D Model
AI Architecture › L3 · Twin Modeling & AI
L3 · Twin Modeling & AI

Hard and Soft Constraints in MPC

How Kronos encodes physical limits as hard constraints and performance preferences as soft penalties, with slack variables that keep the optimizer feasible.

THE STACK · click to jumpL7Ecosystem & StrategyL6Experience & VisualizationL5Applications & CopilotsL4OrchestrationL3Twin Modeling & AIL2Data FabricL1Control PlaneL0Foundation▲tlmctl▼L3 · TWIN MODELING & AIThe KRONOS-CTRL digital twin and its predictive shadow.1KRONOS-CTRL Twinlive plant state2GNNscoupled subsystems3PINNsphysics-constrained4Anomaly Ensemblesdrift & fault detection5MPCreceding-horizon control6Predictive Shadowruns seconds aheadMACHINE TIEState estimate descends to L1 control; alerts rise to L4 / L5.KRONOS FUSION ENERGYAI-NATIVE S.M.A.R.T. GENERATORTWIN MODELING & AISHEET 05REV. 2026-08L3 · AI-NATIVE STACK
L3 · Twin Modeling & AI — its place in the stack (left, click any layer) and its internal components (right). Telemetry rises; control descends.

Two kinds of constraint

MPC distinguishes constraints that must never be violated from those it merely prefers to respect. Actuator limits (a coil cannot exceed its current rating; a heating system cannot exceed its power) are hard; the optimizer physically cannot request more. Safety-envelope state constraints (stay below a strain limit, keep an MHD margin) are also treated as hard, but the future state is predicted by a model that can be wrong, so enforcing them naively can make the problem infeasible.

Slack for feasibility

Kronos softens the state constraints with slack variables that are heavily penalized. The optimizer strongly avoids the slack, so under normal conditions the constraint holds exactly; but if a disturbance pushes the predicted trajectory against a limit, the problem stays feasible and MPC returns the least-violating plan rather than failing to return anything, which for a real-time controller would be the worst outcome.

python
# soft state constraints via penalized slack
minimize J(x,u) + sum_k rho * ||s_k||^2 + sum_k gamma * ||s_k||_1
s.t.  x_k in X_safe  +/-  s_k       # slack relaxes state bound
      s_k >= 0
      u_k in U (hard),  du_k in dU (hard)   # actuator limits never slacked

Actuator constraints are never slacked, they are physical. The L1-negotiated command boundary guarantees that whatever MPC requests is clamped to what the hardware can actually do, so even a bug in the optimizer cannot command an out-of-range actuator move.

Priority ordering

When multiple soft constraints tension, Kronos orders them by safety relevance through the penalty weights: a stability-margin or strain constraint carries a far larger penalty than a shape-tracking preference, so the optimizer sacrifices performance to protect the machine. This ordering is part of the certified envelope definition, not tuned ad hoc, so the controller's priorities under stress are known in advance.

Content reviewed August 2026 · design-and-simulation stage