Numerical Model Predictive Control: Optimize states or Optimize control input?

82 Views Asked by At

I have read a number of different sources on numerical model predictive control. Something that comes up is if you optimize over states or optimize over controls. I have seen videos where people talk about optimizing over the states and not the controls. To be more clear they basically search over the state space with the constraint that a control input can be found to reach the next state.

This leads to some oddities though that I don't understand, in particular when optimizing over states how do you enforce the constraint that you can find a control signal which produces the given state? Doesn't it amount to the same thing as optimizing over controls?

1

There are 1 best solutions below

0
On

Lets assume we have a predictive control cost function like: $$J(x_k,u_k) = \sum_{i=0}^N x_{i|k}^TQx_{i|k} + u_{i|k}^TRu_{i|k}$$ where $x$ is the state, $u_k$ the input and $z_{i|k}$ means the value of $z_{k+i}$ predicted from time instance $z_k$. Furthermore, and correct me if im wrong, I assume you mean with "optimize over the state" means computing the optimal $x_k$ that minimizes the $J$ and satisfies the constraints. Given that the state is physically controlled by the input, finding the optimal state is perfectly possible on paper (which is likely equal to 0), but the controller must then use the inverted model to compute the optimal input that steers the state to the optimal state in one step. Whether this model is realistically invertible (non-minimal phase zeros or non-causal as the model is strictly proper) is a problematic issue.

Optimizing the control, so computing the optimal $u_k$ that minimizes the cost function and satisfies constraints is the most logical route (at least, that is how I have learned cost function based optimal control methods). This is because the control signal can be freely chosen, as long as it satisfies the constraints. Given that the state is a function of the control, the state is somewhat automatically optimized in this cost function as well. However, unlike optimizing the state, if the state cannot be steered towards the optimal state in one step due to constraints, the optimal input is the one that minimizes the state, but not nullifies it.

I hope this clarifies a bit.