Complexity Reduction of Explicit Model Predictive Control via Combining Separator Function and Binary Search Trees

: The explicit Model Predictive Control (MPC) has emerged as a powerful technique to solve the optimization problem offline for embedded applications where computations is performed online. Despite practical obstacles in implementation of explicit model predictive control (MPC), the main drawbacks of MPC, namely the need to solve a mathematical program on line to compute the control action are removed. This paper addresses complexity of explicit model predictive control (MPC) in terms of online evaluation and memory requirement. Complexity reduction approaches for explicit MPC has recently been emerged as techniques to enhance applicability of MPC. Individual deployment of the approaches has not had enough effect on complexity reduction. In this paper, merging the approaches based on complexity reduction is addressed. The binary search tree and complexity reduction via separation are efficient methods which can be confined to small problems, but merging them can result in significant effect and expansion of its applicability. The simulation tests show proposed approach significantly outperforms previous methods


Introduction
Model predictive control is an optimization-based control policy which is able to handle constrained multivariable systems. The ability to solve the mp-QP problem in embedded applications often poses a crucial issue where sampling period is small and storage limitation exists. In the last decade embedded Model Predictive Control (MPC) has become increasingly important in many engineering fields, like automotive, aerospace and power systems. MPC is the accepted control technique for constrained multi-variable systems which are controlled in the receding horizon strategy [1]. Implementation of a typical MPC approach requires to online solve an optimization problem based on system model at each sampling time. A constrained finite-horizon optimal control problem must be solved at each time step, making the online implementation of MPC in embedded boards a challenge [2]. One way to avoid the online solution is to represent the solution explicitly via reformulation of the MPC problem into an equivalent multi-parametric quadratic programming (mp-QP) problem. Traditionally, the optimal solution is obtained either by an iterative numerical procedure (referred to as implicit MPC), or by evaluating the explicit representation of the MPC feedback law, which is obtained off-line using parametric programming (referred to as explicit MPC). Both approaches have their pros and cons. Implicit MPC requires more computational resources, but is able to handle large systems. Explicit MPC, on the other hand, requires less online computation, but the off-line construction of the feedback law scales badly with increasing dimensionality of the problem. Moreover, the memory footprint of the explicit solutions can easily violate limits of the available memory storage [3].
Explicit MPC drastically reduces the computational load by pre-solving off-line the QP and converting the MPC law into a continuous and piecewise affine (PWA) function of the parameter vector. When an explicit MPC controller is executed one needs to identify which polyhedron region the measured state lies in, and then compute the control actions using the corresponding affine control law [4]. Although successfully applied in several practical applications, especially to automotive systems [5] and power converters [6], explicit MPC tends to generate a large set of controller gains. The number of gains depends roughly exponentially on the number of constraints included in the MPC optimization problem. To simplify the complexity of explicit MPC controllers, approximate explicit MPC techniques were addressed recently [7] to [9]. In [10], authors adopted a special class of basic functions, the canonical piecewiseaffine (PWA) functions described in [11], to approximate a given linear MPC controller and impose constraints in the approximation procedure so as to be able to analyze closedloop stability properties using PWA Lyapunov functions. In [12] and [13], complexity reduction is carried out via replacing original function with a simpler equivalent function that the replacement result in removing saturated regions and the corresponding optimal control actions attaining a saturated value. In [14] another efficient approach was presented which is based on a data structure for representation of PWA functions to minimize the time needed to evaluate the function. It also reduces storage requirements by this data structure. This approach has offered significant computational advantages [15] because evaluation time is proportional to logarithm of the number regions in the PWA functions that it allows faster evaluation and subsequently real implementation. However, the approach can be confined to small problems.
In this paper, a novel unified method is proposed that it is based on merging the two approaches [14] and [13]. Individual deployment of the mentioned approaches can be prohibitive for implementation of large problems, then to get rid of the obstacle, unifying the approaches is proposed. The idea is composed of two steps. The first step is to removing saturated regions via separator function. The second one is to represent the unsaturated regions and corresponding control actions using search binary tree. The extensive problems demonstrate Merits of the proposed approach especially in implementation.

Explicit MPC Problem Statement
Consider the linear time-invariant system model Subject to the constraints in which ∈ , ∈ and ∈ are the state, input and output vector respectively. ≤ , ≤ and ≤ are bounds on states, inputs and outputs respectively.
In the following, we concentrate on the constrained finite time optimal control problem of the form: Subject to Where # ≽ 0, ≻ 0 and ! ≽ 0 are penalty matrices such that the problem (3) is strictly convex. The optimization problem (3) can be rewritten as the QP problem of the form: Subject to denote the vector of optimization problem and -∈ * , / ∈ 6 * , 0 ∈ 6 and 1 ∈ 6 * are real matrices which can be obtained from # , and P. We assume that (5b) does not contain any redundant constraints [14].
Theorem 1 [16]. Consider the multi-parametric quadratic program (5) and let -≻ 0 . Then the set of feasible parameters 7 is convex, the optimizer , : 7 → * is continuous and piecewise affine, and the optimal solution * : 7 → is convex and piecewise quadratic. In [16] it was shown that the optimal state-feedback piecewise affine MPC control law can be represented explicitly as follows: where . ∈ × and / ∈ are, respectively, real matrices and vectors of the MPC controller. , C = 1, … , E F are critical regions, and E F denotes the total number of critical regions.
In [17] and [18], straightforward implementation of piecewise affine function (6) in the order 1GH was reported. Objective of this paper is to find an alternative representation for (6) so that complexity of the implementation i.e. memory requirement and computational time, can be further reduced.

Complexity Reduction via Elimination of Saturated Regions
Partition of regions { , … . , A } can be classified into two types of regions. First of the partition is the regions which their associated control actions can be saturated at the maximal or minimal values i.e. respectively or . The remains of regions { , … . , A } are called unsaturated regions. With this classification, (6) can be rewritten as follows: Where J K and J K denote saturated regions and I J K denotes unsaturated regions. In the section, the main challenge is to find a separator to make regions J K and J K distinct such that the separator consumes less memory and computation effort. In [13], authors have shown that there is such as separator function which separates the regions of J K and J K as: Indeed, the separation is performed based on sign of the separator function M : ⟶ such that if the sign is positive and the measured state does not lie in the unsaturated regions I J K then the measured state lies in the regions which their associated control actions are . Otherwise, associated control actions are . Note that first searching through regions I J K is performed and then sign of separator function is checked, provided that measured state does not lie in I J K .
In [13], a polynomial function is introduced as separator function that its coefficients are determined such that it makes the regions J K and J K distinct.
Therefore, instead of evaluation of the saturated regions, only sign of the separator is determined. Then, the saturated regions and their associated control actions are removed that result in complexity reduction in computation time and memory requirement. However, the success of this approach depends mainly on two factors: 1) tightness of input constraints 2) selection of the lower input penalty in (3) and (4) that leads to the fact that the approach is not general.

Complexity Reduction via Binary Search Tree
The approach proposed in previous section can remove the saturated regions which the number of them is problemdependent and maybe is not large. Then, it always cannot have a large effect on complexity reduction all the time. On the other hand, the number of unsaturated regions is also large.
To increase complexity reduction, the other efficient methods can be employed. This section addresses the approach search tree and its impact on complexity reduction.
The evaluation of PWA functions plays an important role in implementation of explicit MPC. In [14] a binary search tree is constructed on the basis of the hyper planes defining the convex polyhedral regions. The main idea is to evaluate less number of the hyper planes that result in reduction of 1) computation time and 2) storage requirement. This approach results in an efficient online evaluation complexity which is logarithmic in the number of regions E F in the best case, with a balanced search tree. This approach results in an efficient online evaluation complexity which is logarithmic in the number of regions E F in the best case, with a balanced search tree.
Consider  Figure 1 for an example of a simple search tree.
Lemma 1 [14]: if C ∈ b ∩ b Y and C ∉ b ∪ Y , then is split into two full-dimensional polyhedrons by hyper plane Y i.e., This approach leads to an efficient online evaluation complexity which is logarithmic in the number of regions E F in the best case, with a balanced search tree These hyper planes is used as separating variables in the nodes of the tree to split the partitioned space in a way that the number of candidate affine functions decreases as much as possible from the current to the next level of the tree [19].

Construction of Binary Search Tree Based on Unsaturated Regions
Due to the fact that the approach search tree is almost confined to small systems, it cannot be used as an efficient general method. On the other hand, mere deployment of the method removing saturated regions also cannot efficiently reduce complexity. Therefore, combining these approached can have larger effect on complexity reduction than utilizing them individually.
In order to implement the combined approaches, first all saturated regions are removed that a separator function is replaced. The second step is to construct a binary search tree over the unsaturated regions and corresponding control actions. Execution of the first step leads to reduction of the number of regions and subsequently evaluation time and storage requirement. Execution of the second step leads to 1) construction of a tree which naturally reduces complexity and 2) the constructed tree which deals with a less number of regions. The main idea is to combine the binary search tree and the approach removing saturated regions, that a tree was constructed only over the unsaturated regions. The construction resulted in a tree which has a depth 4 , and consists of 72 nodes. Sixty eight unique hyper planes occur in the tree. It is clear that implementation of the tree has less complexity in terms of memory reduction and computation time. Table 1 presents the comparison between the proposed approach and the algorithms proposed by [8] in terms of the required storage and FLOPS in order to compute the control input. The comparison shows merit of the proposed approach in terms of memory requirement and computation time. On the other hand, the generality of the approach is more than the methods presented in [13] and [14] that provides an efficient implementation of MPC.

Conclusions
This paper addressed the important aspects of implementation of explicit MPC in terms of memory requirement and computation time. The approaches search binary tree and removing saturated regions via separator function were investigated as the two important approach in implementation of explicit MPC, and their impact on complexity reduction were highlighted. We have described a unified approach which without difficulty combines the approaches search tree and complexity reduction via removing saturated regions such that first, the saturated regions have been removed, and then a tree over the unsaturated regions has been constructed. Merits of the proposed approach and its impact on complexity reduction were demonstrated in a numerical study. The comparative study shows merit of the proposed approach in terms of memory requirement and computation time. On the other hand, the generality of the approach is more than the methods presented in [13] and [14] that provides an efficient implementation of MPC.