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