Discrete Control Set MPC
MPC problems with discrete control sets are problems in which some or all manipulated
variables belong to discrete sets. To handle these cases, for a given manipulated variable,
Type field of the corresponding
ManipulatedVariables structure in the
'binary'— Restrict the manipulated variable to be either 0 or 1.
'integer'— Restrict the manipulated variable to be an integer.
Vector containing a discrete set of possible values — Restrict the manipulated variable to the specified values, for example
By default, the type is set to
'continuous', indicating that
the manipulated variable is continuous.
You can simulate the discrete control set linear MPC controller in:
When simulating multiple controllers using
mpcmoveMultiple or the
Multiple MPC Controllers block, all candidate controllers must use the same
manipulated variable type configuration.
Code generation from a controller with discrete control sets is supported in both MATLAB and Simulink.
A new built-in mixed-integer quadratic programming (MIQP) solver is used to solve the
discrete control set MPC problem. You can use the new property
Optimizer.MixedIntegerOptions of the
mpc object to
customize the options for this solver (like for example number of iterations and constraints
- Solve a Discrete Set MPC Problem in MATLAB
- Solve a Discrete Set MPC Problem in Simulink
- Surge Tank Control Using Discrete Control Set MPC