Reduce explicit MPC controller complexity and memory requirements
attempts to reduce the number of piecewise affine (PWA) regions in an explicit MPC
controller by merging regions that have identical controller gains and whose union
is a convex set. Reducing the number of PWA regions reduces memory requirements of
the controller. This command returns a reduced controller,
EMPCreduced = simplify(
applies the reduction to the explicit MPC controller
rather than returning a new controller object. You can use this syntax with any of
the previous reduction options.
EMPCobj— Explicit MPC controller
Explicit MPC controller to reduce, specified as an Explicit MPC controller
generateExplicitMPC to create
an explicit MPC controller.
uniteeps— Tolerance for joining regions
Tolerance for joining PWA regions, specified as a positive scalar.
r— Minimum Chebyshev radius
Minimum Chebyshev radius for retaining PWA regions, specified as a
nonnegative scalar. When you use the
simplify keeps only the regions whose Chebyshev
radius is larger than
r. The default value is 0, which
causes all regions to be retained.
index— Indices of PWA regions to retain
1:nr(default) | vector
Indices of PWA regions to retain, specified as a vector. The default value
nr is the number of
PWA regions in
EMPCobj. Thus, by default, all regions
are retained. You can obtain a sequence of regions to retain by performing
EMPCobj and recording the indices of
regions actually encountered.
EMPCreduced— Reduced MPC controller
Reduced MPC controller, returned as an Explicit MPC controller object.