This paper studies the design of efficient model predictive controllers for fast-sampling linear time-invariant systems subject to input constraints to track a set of periodic references. The problem is decomposed into a steady-state subproblem that determines the optimal asymptotic operating point and a transient subproblem that drives the given plant to this operating point. While the transient subproblem is a small-sized quadratic program, the steady-state subproblem can easily involve hundreds of variables and constraints. The decomposition allows these two subproblems of very different computational complexities to be solved in parallel with different sampling rates. Moreover, a receding horizon approach is adopted for the steady-state subproblem to spread the optimization over time in an efficient manner, making its solution possible for fast-sampling systems. Besides the conventional formulation based on the control inputs as variables, a parameterization using a dynamic policy on the inputs is introduced, which further reduces the online computational requirements. Both proposed algorithms possess nice convergence properties, which are also verified with computer simulations.

1. Introduction

One of the most attractive features of model predictive control (MPC) is its ability to handle constraints [1]. Many other control techniques are conservative in handling constraints, or even try to avoid activating them, thus, sacrificing the best performance that is achievable. MPC, on the contrary, tends to make the closed-loop system operate near its limits and hence produces far better performance. This property of MPC gives it the strength in practice, leading to a wide acceptance by the industry.

A very good example of system operating near its limits is a plant being driven by periodic signals to track periodic references. Under this situation, some of the system constraints will be activated repeatedly, and the optimal operating control signal is far from trivial. Just clipping the control signal to fit into the system constraints produces inferior performance typically. And the loss being considered here is not just a transient loss due to sudden disturbances, but indeed a steady-state loss due to a suboptimal operating point. Therefore, the loss is on long term and severe.

On the other hand, the successful real-life applications of MPC are mostly on systems with slower dynamics such as industrial and chemical processes [2]. The reason is simply that MPC requires a constrained optimization to be carried out online in a receding horizon fashion [3, 4]. Therefore, to apply MPC to fast-sampling systems, the computational power needed will be substantial. In any case, because of its great success in slow-sampling systems, the trend to extend MPC to fast-sampling systems is inevitable, and many recent researches have been carried out to develop efficient methods to implement MPC in such cases. While some of these works focus on unloading the computational burdens [5ā€“9], others emphasize on code optimization [10ā€“12] and new algorithmic paradigms [13ā€“17].

If MPC is applied to the tracking of periodic signals in a receding horizon fashion, the horizon length will be related to the period length, and a long period will imply an online optimization problem of many variables and constraints. For a fast-sampling system, it is essentially an attempt to solve a very big computational problem within a very small time frame. In this paper, we shall analyze the structure of this problem and then propose two efficient algorithms for the task. They aim to make the application of MPC to a fast-sampling system possible by a slight sacrifice on the transient performance, but the optimal or near-optimal steady-state performance of periodic tracking will be maintained.

In Section 2, the mathematical formation of the problem will be presented. The two algorithms, one based on the concept of receding horizon quadratic programming and the other based on the idea of dynamic MPC policy, will be presented in Sections 3 and 4, respectively. A comment on the actual implementation will be given in Section 5, followed by some computer simulations in Section 6 to illustrate several aspects of the proposed algorithms. Finally, Section 7 concludes the paper.

To avoid cumbersome notations like š‘¢(š‘˜āˆ£š‘˜),š‘¢(š‘˜+1āˆ£š‘˜),ā€¦,š‘¢(š‘˜+š‘š‘¢āˆ’1āˆ£š‘˜), the MPC algorithms in this paper will only be presented as if the current time is š‘˜=0, and we shall write š‘¢(0),š‘¢(1),ā€¦,š‘¢(š‘š‘¢āˆ’1) instead. The reader is asked to bear in mind that the algorithm is actually to be implemented in a receding horizon fashion.

2. Problem Formulation

Consider a linear time-invariant plant subject to a periodic disturbance:š‘„+=š“š‘„+šµ1š‘¤+šµ2š‘¢,(1)š‘¦=š¶š‘„+š·1š‘¤+š·2š‘¢,(2)š‘„(0)=š‘„0,(3) where the superscript + denotes the time-shift operator, that is, š‘„+(š‘˜)=š‘„(š‘˜+1),(4) and the disturbance š‘¤ is measurable and periodic with period š‘š‘. The control objective is to construct a control signal š‘¢ such that the plant output š‘¦ will track a specific periodic reference š‘Ÿ of the same period š‘š‘ asymptotically with satisfactory transient performance. The control input š‘¢ is also required to satisfy some linear inequality constraints (e.g., to be within certain bounds). The reference š‘Ÿ is not necessarily fixed but may be different for different disturbance š‘¤. (For that reason, it may be more appropriate to call š‘¤ an exogenous signal rather than a disturbance).

The algorithms developed in this paper are motivated by the following situations: (1)the period š‘š‘ is very long compared with the typical transient behaviours of the closed-loop system; (2)the linear inequality constraints on š‘¢ are persistently active, that is, for any given Ģƒš‘˜, there exists a Ģƒš‘˜š‘˜> such that š‘¢(š‘˜) will meet at least one of the associated linear equality constraints; (3)there is not sufficient computational power to solve the associated quadratic program completely within one sampling interval unless both the control horizon and the prediction horizon are much shorter than š‘š‘.

As a matter of fact, without the above considerations and restrictions, the problem is not very challenging and can be tackled with standard MPC approaches for linear systems.

The underlying idea of the approach proposed in this paper is that since the transient behaviour of the closed-loop system is expected to be much shorter than the period š‘š‘, we should decompose the original control problem into two: one we call the steady-state subproblem and the other we call the transient subproblem. Hence, the transient subproblem can be solved with a control horizon and a prediction horizon much shorter than š‘š‘. While the steady-state subproblem is still very computationally intensive and cannot be solved within one sampling interval, it is not really urgent compared with the transient subproblem, and its computation can be spread over several sampling intervals. Indeed, the two subproblems need not be synchronized even though the transient subproblem depends on the solution to the steady-state subproblem due to the coupled input constraints. The former will utilize the latter whenever the latter is updated and made available to the former. It is only that the transient control will try to make the plant output š‘¦ track a suboptimal reference if the optimal steady-state control is not available in time.

Now let us present the detailed mathematical formulation of our proposed method. Naturally, since both š‘¤ and š‘Ÿ are periodic with period š‘š‘, the solution š‘¢ should also be periodic of the same period asymptotically, that is, there should exist a periodic signal š‘¢š‘ (š‘˜) such that limš‘˜ā†’āˆžī€·š‘¢(š‘˜)āˆ’š‘¢š‘ ī€ø(š‘˜)=0.(5) Let š‘„š‘  and š‘¦š‘  be the corresponding asymptotic solutions of š‘„ and š‘¦, and they obviously satisfy the dynamics inherited from (1) and (2):š‘„+š‘ =š“š‘„š‘ +šµ1š‘¤+šµ2š‘¢š‘ ,š‘¦š‘ =š¶š‘„š‘ +š·1š‘¤+š·2š‘¢š‘ ,š‘„š‘ (0)=š‘„š‘ ī€·š‘š‘ī€ø.(6) Ideally, we want š‘¦š‘ =š‘Ÿ but this might not be achievable when š‘¢š‘  is required to satisfy the specific linear inequality constraints. Therefore, following the spirit of MPC, we shall find š‘¢š‘ , such thatš½š‘ =ī“š‘˜š‘’š‘ (š‘˜)Tš‘„š‘’š‘ (š‘˜)(7) is minimized for some positive definite matrix š‘„, where š‘’š‘ (š‘˜) is the asymptotic tracking error defined byš‘’š‘ =š‘¦š‘ āˆ’š‘Ÿ,(8) and the summation in (7) is over one period of the signals. This is what we call the steady-state subproblem. In Sections 3 and 4 below, we shall present two different approaches to this steady-state subproblem, with an emphasis on their computational efficiencies.

Once the steady-state signals are known, the transient signals defined by š‘¢š‘”=š‘¢āˆ’š‘¢š‘ ,š‘„š‘”=š‘„āˆ’š‘„š‘ ,š‘¦š‘”=š‘¦āˆ’š‘¦š‘ ,(9) satisfy the dynamicsš‘„+š‘”=š“š‘„š‘”+šµ2š‘¢š‘”,š‘¦š‘”=š¶š‘„š‘”+š·2š‘¢š‘”,š‘„š‘”(0)=š‘„0āˆ’š‘„š‘ (0),(10) derived from (1)ā€“(3), subject to the original linear inequality constraints being applied to š‘¢š‘”(š‘˜)+š‘¢š‘ (š‘˜). Since the control horizon and the prediction horizon for this transient subproblem are allowed to be much shorter than š‘š‘, it can be tackled with existing MPC algorithms.

It is important to note that in this steady-state/transient decomposition, the steady-state control š‘¢š‘  is actually a feedforward control signal determined from š‘¤ and š‘Ÿ, whereas the transient control š‘¢š‘” is a feedback control signal depending on š‘„. As an unstable plant can only be stabilized by feedback, but the main interest of the current paper is the computational complexity of the steady-state subproblem, we shall not discuss in depth the stabilization issue, which has been studied quite extensively in the MPC literature. Typically, stabilizability of a constrained system using MPC would be cast as the feasibility of an associated optimization problem. For the numerical example in Section 6, we shall conveniently pick a plant where š“ is already stable, and hence the following quadratic cost may be adopted for the transient subproblem:š½š‘”=š‘š‘¢āˆ’1ī“š‘˜=0ī€·š‘¦š‘”(š‘˜)Tš‘„š‘¦š‘”(š‘˜)+š‘¢š‘”(š‘˜)Tš‘…š‘¢š‘”ī€ø(š‘˜)+š‘„š‘”ī€·š‘š‘¢ī€øTš‘ƒš‘‡š‘„š‘”ī€·š‘š‘¢ī€ø,(11) where š‘š‘¢ is the control horizon with š‘š‘¢ā‰Ŗš‘š‘, š‘„ and š‘… are chosen positive definite matrices, and š‘ƒš‘‡ is the (weighted) observability gramian obtained from the Lyapunov equationš“Tš‘ƒš‘‡š“āˆ’š‘ƒš‘‡+š¶Tš‘„š¶=0.(12) The minimization of š½š‘” is simply a standard quadratic program over š‘¢š‘”(0),š‘¢š‘”(1),ā€¦,š‘¢š‘”(š‘š‘¢āˆ’1) for a given š‘„š‘”(0). The situation will be more complicated when š“ is not stable, but one well-known approach is to force the unstable modes to zero at the end of the finite horizon [18].

Remark 1. Essentially, the choice of the cost function (11) with š‘ƒš‘‡ from (12) for a stable š“ means that the projected control action after the finite horizon is set to zero, that is, š‘¢š‘”(š‘˜)=0 for š‘˜ā‰„š‘š‘¢ since the ā€œtailā€ of the quadratic cost is then given by āˆžī“š‘˜=š‘š‘¢š‘¦š‘”(š‘˜)Tš‘„š‘¦š‘”(š‘˜)=āˆžī“š‘˜=š‘š‘¢š‘„š‘”(š‘˜)Tš¶Tš‘„š¶š‘„š‘”(š‘˜)=š‘„š‘”ī€·š‘š‘¢ī€øTš‘ƒš‘‡š‘„š‘”ī€·š‘š‘¢ī€ø.(13) This terminal policy is valid because the steady-state subproblem has already required that š‘¢š‘  satisfies the linear inequality constraints imposed on š‘¢. Hence, š½š‘” is obviously a Lyapunov function which will be further decreased by the receding horizon implementation when the future control š‘¢š‘”(š‘š‘¢) turns into an optimization variable from zero.

Remark 2. We have deliberately omitted the š‘…-matrix in the steady-state cost š½š‘  in (7). The reason is simply that we want to recover the standard linear solution (for perfect asymptotic tracking) as long as š‘¢š‘  does not hit any constraint.

3. Steady-State Subproblem: A Receding Horizon Quadratic Programming Approach

When the periodic disturbance š‘¤ is perfectly known, the steady-state subproblem is also a conceptually simple (but computationally high-dimensional) quadratic program. One way to know š‘¤ is simply to monitor and record it over one full period. This, however, does not work well if š‘¤ is subject to sudden changes. For example, the plant to be considered in our simulations in Section 6 is a power quality device called Unified Power Quality Conditioner [19], where š‘¤ consists of the supply voltage and the load current of the power system, and both may change abruptly if there are supply voltage sags/swells and variations in the load demands. Indeed, the main motivation of the receding horizon approach in MPC is that things never turn out as expected and the control signal should adapt in an autonomous manner. If the suddenly changed disturbance š‘¤ can be known precisely only after one full period of observation, the transient response of the steady-state subproblem (not to be confused with the transient subproblem described in Section 2) will be unsatisfactory.

One way to overcome this is to introduce an exogenous model for the signals š‘¤ and š‘Ÿ, as adopted in [19]. Specifically, we construct a state-space model:š‘£+=š“š‘£š‘£,(14)š‘¤=š¶š‘¤š‘£,(15)š‘Ÿ=š¶š‘Ÿš‘£,(16) and assume that both š‘¤ and š‘Ÿ are generated from this model. Since š‘¤ and š‘Ÿ are periodic with period š‘š‘, we haveš“š‘š‘š‘£=š¼.(17) One simple (but not the only) way to construct š“š‘£, as demonstrated similarly in [19] in the continuous-time case, is to make š“š‘£ a block-diagonal matrix with each block taking the form: ī‚øī€·cosš‘›šœ”š‘‡š‘ ī€øī€·āˆ’sinš‘›šœ”š‘‡š‘ ī€øī€·sinš‘›šœ”š‘‡š‘ ī€øī€·cosš‘›šœ”š‘‡š‘ ī€øī‚¹,(18) where š‘› is an integer, š‘‡š‘  is the sampling time and šœ”š‘‡š‘ Ć—š‘š‘=2šœ‹. Then the matrices š¶š‘¤ and š¶š‘Ÿ are just to sum up their respective odd components of š‘£. This essentially performs a Fourier decomposition of the signals š‘¤ and š‘Ÿ, and hence their approximations by š¶š‘¤š‘£ and š¶š‘Ÿš‘£ will be arbitrarily good when more and more harmonics are included in the model.

Based on the exogenous model (14)ā€“(17), an observer can be easily constructed to generate (an estimate of) š‘£ from the measurements of š‘¤ and š‘Ÿ. From š‘£(0), the model (14)ā€“(17) can then generate predictions of š‘¤(0),š‘¤(1),ā€¦,š‘¤(š‘š‘āˆ’1) and š‘Ÿ(0),š‘Ÿ(1),ā€¦,š‘Ÿ(š‘š‘āˆ’1), and these can be used to find š‘¢š‘ (0),š‘¢š‘ (1),ā€¦,š‘¢š‘ (š‘š‘āˆ’1) by the quadratic program. The use of the exogenous model (14)ā€“(17) typically allows the changed š‘¤ and š‘Ÿ to be identified much sooner than the end of one full period.

The quadratic program for the steady-state subproblem can be written as follows:minš®š‘ (0)š½š‘ ,š½š‘ ī‚ƒš®āˆ¶=š‘ ī‚„(0)š‘£(0)Tī‚øš…š‡š…Tš†ī‚¹ī‚ƒš®š‘ ī‚„,š®(0)š‘£(0)š‘ āŽ”āŽ¢āŽ¢āŽ£š‘¢(0)āˆ¶=š‘ š‘¢(0)š‘ ā‹®š‘¢(1)š‘ ī€·š‘š‘ī€øāŽ¤āŽ„āŽ„āŽ¦,āˆ’1(19)subjecttoššTš‘—š®š‘ (0)ā‰¤š›š‘—,š‘—=1,2,ā€¦,š‘š‘š,(20) where š‘š‘š is the total number of linear inequality constraints. Note that since we assume only input but not state constraints for our original problem, (20) does not depend on š‘£(0) and, hence, the feasibility of any š®š‘ (0) remains the same even if there is an abrupt change in š‘£(0) (i.e., if š‘£(0) is different from the predicted value from (14) and š‘£(āˆ’1)). Furthermore, the active set of constraints remains the same.

Definition 3. The active set š’œ(š®š‘ (0)) of any feasible š®š‘ (0) satisfying (20) is the subset of {1,2,ā€¦,š‘š‘š} such that š‘—āˆˆš’œ(š®š‘ (0)) if and only if ššTš‘—š®š‘ (0)=š›š‘—.

Next, we present a one-step active set algorithm to solve the quadratic program (19)-(20) partially.

Algorithm 4. Given an initial feasible š®š‘ (0) and a working set š’²0āŠ‚š’œ(š®š‘ (0)). Let the set of working constraints ššTš‘—š®š‘ (0)ā‰¤š›š‘—,š‘—āˆˆš’²0,(21) be represented by š€0š®š‘ (0)ā‰¤š›0,(22) where the inequality sign applies componentwise, that is, each row of š€0, š›0 represents a working constraint in (21). (1)Compute the gradient š 0=š‡š®š‘ (0)+š…š‘£(0),(23) and the null space of š€0, denoted š™0 by š€0š™0=0.(24) If š™T0š 0ā‰ˆ0, go to stepā€‰ā€‰(5). (2)Compute a search direction š°0=š™0īš°0, where ī€·š™T0š‡š™0ī€øīš°0+š™T0š 0=0.(25)(3)Let š›¼0=minī€·š®š‘—āˆˆš’œš‘ ī€ø(0)ā§µš’²0s.t.ššTš‘—š°0>0.š›š‘—āˆ’ššTš‘—š®š‘ (0)ššTš‘—š°0.(26)(4)If š›¼0ā‰„1, go to stepā€‰ā€‰(5). Otherwise, update š®š‘ (0) to š®āˆ—š‘ (0) by š®āˆ—š‘ (0)=š®š‘ (0)+š›¼0š°0,(27) and add a (blocking) constraint to š’²0 to form a new working set š’²āˆ—0 according to the method described in Remark 7 below. Quit. (5)Update š®š‘ (0) to š®āˆ—š‘ (0) by š®āˆ—š‘ (0)=š®š‘ (0)+š°0.(28) Compute the Lagrange multiplier šœ†0 from š€T0šœ†0+š 0=0(29) to see whether any component of šœ†0 is negative. If yes, remove one of the constraints corresponding to a negative component of šœ†0 from š’²0 to form a new working set š’²āˆ—0 according to the method described in Remark 7 below. Quit.

Algorithm 4 can be interpreted as follows. It solves the equality-constrained quadratic program:minš®ā€²š‘ (0)š½ī…žš‘ ,š½ī…žš‘ ī‚øš®āˆ¶=ī…žš‘ ī‚¹(0)š‘£(0)Tī‚øš…š‡š…Tš†š®ī‚¹ī‚øī…žš‘ ī‚¹(0)š‘£(0)subjecttoššTš‘—š®ī…žš‘ (0)=š›š‘—,š‘—āˆˆš’²0,,(30) and then searches along the directionš°0=š®ī…žš‘ (0)āˆ’š®š‘ (0),(31) until it is either blocked by a constraint not in š’²0 (stepā€‰ā€‰(4)) or the optimal š®ī…žš‘ (0) is reached (stepā€‰ā€‰(5)). This is indeed a single step of the standard active set method (the null-space approach) for quadratic programming [20, 21] except for the modifications that will be detailed in Remark 7 below. In other words, if we apply Algorithm 4 repeatedly to the new š®āˆ—š‘ (0), š’²āˆ—(0), it will converge to the solution of the original inequality-constrained quadratic program (19)-(20) within a finite number of steps, and the cost function š½š‘  is strictly decreasing. However, here we only apply a single step of the active set method due to the limited computational power available within one sampling interval. Furthermore, we do not even assume that the single step of computation can be completed within š‘‡š‘ . Let š‘š‘Žš‘‡š‘  be the time required or allowed to carry out Algorithm 4. To complete the original quadratic program (19)-(20) in a receding horizon fashion, we need to forward š®āˆ—š‘ (0), š’²āˆ—(0) to š®š‘ (š‘š‘Ž), š’²(š‘š‘Ž) by rotating the components of š®āˆ—š‘ (0) by an amount of š‘š‘Ž since it is supposed to be periodic:āŽ”āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ£š‘¢š‘ ī€·š‘š‘Žī€øš‘¢š‘ ī€·š‘š‘Žī€øā‹®š‘¢+1š‘ ī€·š‘š‘ī€øš‘¢āˆ’1š‘ ī€·š‘š‘ī€øš‘¢š‘ ī€·š‘š‘ī€øā‹®š‘¢+1š‘ ī€·š‘š‘Ž+š‘š‘ī€øāŽ¤āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ¦=āŽ”āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ£š‘¢āˆ’1āˆ—š‘ ī€·š‘š‘Žī€øš‘¢āˆ—š‘ ī€·š‘š‘Žī€øā‹®š‘¢+1āˆ—š‘ ī€·š‘š‘ī€øš‘¢āˆ’1āˆ—š‘ š‘¢(0)āˆ—š‘ ā‹®š‘¢(1)āˆ—š‘ ī€·š‘š‘Žī€øāŽ¤āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ¦āˆ’1.(32) Obviously, Algorithm 4 will then continue to solve an equivalent quadratic program as long as š‘£ strictly follows the exogenous dynamics (14). Hence we have the following convergence result.

Proposition 5. Algorithm 4 together with the rotation of the components of š®āˆ—š‘ (0) in (32) will solve the quadratic program (19)-(20) in finite time as long as š‘£(š‘˜) satisfies the exogenous dynamics (14).

Proof. From the argument above it is easy to see that as long as š‘£(š‘˜) follows the dynamics (14), the algorithm is consistently solving essentially the same quadratic program. So it remains to check that the convergence proof of the standard active set algorithm remains valid despite the modifications we shall detail in Remark 7, which is indeed the case.

Of course, the most interesting feature of the receding horizon approach is that the solution will adapt autonomously to the new quadratic program if there is an abrupt change in š‘£. Since constraint (20) is independent of š‘£, an abrupt change in š‘£ will not destroy the feasibility of the previously determined š®š‘  and the working set š’² determined previously also remains a valid subset of the active set. Hence, the receding horizon active set method will continue to work even though the objective function (19) has changed. However, if it is necessary to include not only control but also state constraints into the original problem formulation, we shall then require a quadratic programming algorithm (other than the active set method in its simplest form) that does not assume the initial guess to be feasible.

Remark 6. There could be two possible ways to arrange the steps in Algorithm 4. One is to update the working set š’² followed by š®š‘ , and the other is to update š®š‘  followed by the working set š’². In the receding horizon framework, it might seem at first glance that the first choice is the right one, since we shall then avoid basing the optimization of š®š‘  on an ā€œoutdatedā€ working set if š‘£ happens to have changed. However, it turns out that the first choice is actually undesirable. One well-known ā€œweaknessā€ of the active set method is that it is not so easy to remove a constraint once it enters the working set š’². This becomes even more a concern in the receding horizon framework. If š‘£ has changed, and so has the objective function (19), the original stationary š®āˆ—š‘  obtained in stepā€‰ā€‰(5) may no longer be stationary, and it will require at least an additional iteration to identify the new stationary point before we can decide whether any constraint can be dropped from the working set or not. This will seriously slow down the transient response of the steady-state subproblem. Indeed, once š‘£ has changed, many of the constraints in the previous working set are no longer sensible, and it will be wiser to drop them hastily rather than being too cautious only to find much later that the constraints should still be dropped eventually.

Remark 7. One key element in the active set method of the quadratic program is to add or drop a constraint to or from the working set š’². The constraint being added belongs to the blocking set ā„¬, defined as those constraints corresponding to the minimum š›¼0 in (26). Physically, they are the constraints that will be first encountered when we try to move š®š‘ (0) to š®ī…žš‘ (0) in (31). The constraint being dropped belongs to the set ā„’, defined as those constraints corresponding to a negative component of the Lagrange multiplier in (29). The active set method will converge in finite time no matter which constraint in ā„¬ will be added or which constraint in ā„’ will be dropped. One standard and popular choice in the conventional active set method is that the one in ā„’ corresponding to the most negative component of šœ† will be dropped, whereas the choice from ā„¬ will be arbitrary. This is a very natural choice when there is no other consideration.
However, in the receding horizon framework, one other (and in fact important) consideration emerges, which is the execution time of the control input(s) associated with a constraint. Specifically, if Algorithm 4 takes time š‘š‘Žš‘‡š‘  to carry out, then š’²āˆ—0 updated in the current iteration will be used to optimize š®š‘ (š‘š‘Ž) in the next iteration, š®š‘ ī€·š‘š‘Žī€øāŽ”āŽ¢āŽ¢āŽ¢āŽ£š‘¢āˆ¶=š‘ ī€·š‘š‘Žī€øš‘¢š‘ ī€·š‘š‘Žī€øā‹®š‘¢+1š‘ ī€·š‘š‘Ž+š‘š‘ī€øāŽ¤āŽ„āŽ„āŽ„āŽ¦āˆ’1,(33) but the outcome of that optimization is ready only at š‘˜=2š‘š‘Ž, based on which the transient control š‘¢š‘” is computed. Suppose that the transient subproblem takes one sampling interval to solve, then the transient subproblem at š‘˜=2š‘š‘Ž will update š‘¢(2š‘š‘Ž+1)=š‘¢š‘ (2š‘š‘Ž+1)+š‘¢š‘”(2š‘š‘Ž+1) (see Section 5 below for a more detailed discussion). Hence, the ā€œtime priorityā€ of š‘¢š‘  is 2š‘š‘Ž+1,2š‘š‘Ž+2,ā€¦,š‘š‘āˆ’1,0,1,ā€¦,2š‘š‘Ž and from this argument, we choose to drop the constraint in ā„’ that is associated with the first š‘¢š‘  in this sequence or to add the constraint in ā„¬ that is associated with the last š‘¢š‘  in this sequence (of course the most negative Lagrange multiplier can still be used as the second criterion if two constraints in ā„’ happen to have the same urgency). The proposal here aims to assign most freedom to the most urgent control input in the optimization, which makes sense in the receding horizon framework since the less urgent inputs may be reoptimized later.

Remark 8. Basically, the approach proposed in this section is to spread the original quadratic program over many intervals, so that each interval only carries out one iteration of the algorithm, and also to ensure that the quadratic program being solved is consistent when the prediction of the exogenous model is valid, but will migrate to a new quadratic program when there is a change in š‘£(š‘˜). It is worth mentioning that the original standard MPC is a static controller by nature, since the true solution of a complete quadratic program is independent of the MPCā€™s decisions in the past (past decisions can help to speed up the computations but will not affect the solution), but by spreading the algorithm over several intervals, it is turned into a dynamic controller with internal state š®š‘ (š‘˜),š’²(š‘˜).

4. Steady-State Subproblem: A Dynamic Policy Approach

The approach proposed in Section 3 optimizes š®š‘ . Consequently, the number of (scalar) variables being optimized is proportional to š‘š‘. To further cut down the computations required, this section proposes another approach based on the idea of a dynamic policy, inspired by the works of [13, 22, 23]. This approach optimizes a smaller number of variables typically, and the number is independent from š‘š‘, although the number of linear inequality constraints remains the same. In return, the optimization result is expected to be slightly inferior to that of Section 3 due to the reduction of variables (degree of freedom). However, it should be noted that the number of optimized variables in this second approach is adjustable based upon the designerā€™s wish.

The central idea of the dynamic policy approach [13, 22, 23] is that instead of optimizing the control input directly, we generate the control input by a dynamic system of which the initial system state is optimized. This is similar to what we have done to š‘¤ and š‘Ÿ in Section 3. Specifically, we assume š‘¢š‘  is also generated from a state-space model: Ģ‚š‘£+Ģ‚š‘£Ģ‚š‘¢=š“š‘£,(34)š‘ Ģ‚š‘£Ģ‚=š¶š‘£,(35) whereš“š‘š‘Ģ‚š‘£=š¼.(36) This state-space model is designed a priori but the initial state Ģ‚š‘£(0) will be optimized online. Obviously, the quadratic program (19)-(20) becomesĢ‚š‘£min(0)īš½š‘ ,īš½š‘ ī‚ƒĢ‚ī‚„āˆ¶=š‘£(0)š‘£(0)Tīƒ¬īš‡īš…īš…Tš†īƒ­ī‚ƒĢ‚ī‚„,Ģ‚ššš‘£(0)š‘£(0)(37)subjecttoTš‘—Ģ‚š‘£(0)ā‰¤š›š‘—,š‘—=1,2,ā€¦,š‘š‘š,(38) whereīīš’Ŗš‡=Tš‡īīīĢ‚ššš’Ŗ,š…=š…š’Ŗ,š‘—=ššš‘—īš’Ŗ,š‘—=1,2,ā€¦,š‘š‘š,(39) and īš’Ŗ is the observability matrixīāŽ”āŽ¢āŽ¢āŽ¢āŽ£š¶Ģ‚š‘£š¶Ģ‚š‘£š“Ģ‚š‘£ā‹®š¶Ģ‚š‘£š“š’Ŗāˆ¶=š‘š‘āˆ’1Ģ‚š‘£āŽ¤āŽ„āŽ„āŽ„āŽ¦.(40) The number of variables in this new quadratic program is the dimension of Ģ‚š‘£(0), denoted by š‘›Ģ‚š‘£. If š“Ģ‚š‘£ is constructed from the method of Fourier decomposition described in Section 3, Shannonā€™s sampling theorem implies that a sufficiently large but finite š‘›Ģ‚š‘£ will guarantee a full reconstruction of the original optimization variable š®š‘ (0). On the other hand, a smaller š‘›Ģ‚š‘£ restricts the search to a lower dimensional subspace of š®š‘ (0) and hence the optimization is easier but suboptimal.

One natural choice of the dynamics š“Ģ‚š‘£ is to make š“Ģ‚š‘£=š“š‘£ in the exogenous model (14)ā€“(17). Of course, it should be noted that constrained control is generally a nonlinear problem, and therefore the number of harmonics to be included in š‘¢š‘  may exceed that of š‘¤ and š‘Ÿ in order to achieve the true optimal performance. However, we could have over-designed the exogenous model (14)ā€“(17) to include more harmonics in š“š‘£ than necessary for š‘¤ and š‘Ÿ, thus making the choice š“Ģ‚š‘£=š“š‘£ here not so conservative. The simulation results in Section 6 will demonstrate both cases.

It remains to choose the matrix š¶Ģ‚š‘£ in (35). The one we suggest here is based on the linear servomechanism theory [24ā€“26], which solves the linear version of our problem when there is no input constraint. Essentially, when there is no constraint, perfect asymptotic tracking (i.e., š‘¦š‘ =š‘Ÿ or š‘’š‘ =0) can be achieved by solving the regulator equation:š‘‹š“š‘£=š“š‘‹+šµ1š¶š‘¤+šµ2š¶š‘ˆ,š‘Ÿ=š¶š‘‹+š·1š¶š‘¤+š·2š‘ˆ,(41) for the matrices š‘‹, š‘ˆ, and then letš‘¢š‘ =š‘ˆš‘£,(42) which also impliesš‘„š‘ =š‘‹š‘£.(43) Therefore, to recover the optimal (or perfect) solution in the linear case when š‘¢š‘  does not hit any constraint, the state-space model of š‘¢š‘  may be chosen asĢƒš‘£+=š“š‘£Ģƒš‘¢š‘£,š‘ Ģƒ=š‘ˆš‘£.(44) However, this state-space model is not guaranteed to be observable. When it is not, the resulting īš‡ in (37) will become semidefinite instead of strictly positive definite. To overcome this, we suggest to perform an orthogonal state transformationī‚ƒāˆ—Ģ‚š‘£ī‚„Ģƒ=š‘‡š‘£,(45) to bring (44) to the Kalman decomposition formī‚ƒāˆ—Ģ‚š‘£ī‚„+=ī‚ƒĢ‚š‘£āˆ—Ģ‚š‘£ī‚„,š‘¢āˆ—āˆ—0š“ī‚„ī‚ƒš‘ =ī€ŗĢ‚š‘£ī€»ī‚ƒāˆ—Ģ‚š‘£ī‚„,0š¶(46) and hence obtain a reduced-order model to become (34)-(35). It is easy to verify that š“š‘š‘Ģ‚š‘£=š¼ since ī‚ƒĢ‚š‘£ī‚„āˆ—āˆ—0š“(47) is upper block-triangular and ī‚ƒĢ‚š‘£ī‚„āˆ—āˆ—0š“š‘š‘=ī€·š‘‡š“š‘£š‘‡āˆ’1ī€øš‘š‘=š‘‡š“š‘š‘š‘£š‘‡āˆ’1=š¼.(48)

Certainly, the discussion above only provides a suggestion of how to choose the state-space model for š‘¢š‘ , which we shall also adopt for our simulations in Section 6, but, in general, the designer should feel free to employ any valid state-space model to suit his problem.

Remark 9. Having reparameterized the quadratic program in terms of Ģ‚š‘£(0) rather than š®š‘ (0), we can apply a similar version of Algorithm 4 to (37)-(38). In other words, it is not necessary to solve the quadratic program completely within one sampling interval. Instead of rotating the components of š®āˆ—š‘ (0) to obtain š®š‘ (š‘š‘Ž), we obtain Ģ‚š‘£(š‘š‘Ž) by š“š‘š‘ŽĢ‚š‘£Ģ‚š‘£āˆ—(0).

5. Implementation Issues and Impacts on Transient Performance

Before we present the simulation results, let us comment on the impact of computational delay on the transient subproblem in Section 2. First of all, we assume that the transient quadratic program can be solved completely within one sampling interval. Therefore, despite the way we presented the cost function š½š‘” in (11), in actual implementation we shall optimize š‘¢š‘”(1),š‘¢š‘”(2),ā€¦,š‘¢š‘”(š‘š‘¢) based on š‘„š‘”(1) at time š‘˜=0, instead of š‘¢š‘”(0),š‘¢š‘”(1),ā€¦,š‘¢š‘”(š‘š‘¢āˆ’1) based on š‘„š‘”(0). The unknown š‘„š‘”(1) can be projected from the known variables and system dynamics. After the optimization is carried out to obtain š‘¢š‘”(1),š‘¢š‘”(2),ā€¦,š‘¢š‘”(š‘š‘¢), the control input to be executed at š‘˜=1 will be š‘¢(1)=š‘¢š‘ (1)+š‘¢š‘”(1). Bear in mind that all these calculations can only be based on the best knowledge of the signals at š‘˜=0.

Figure 1 summarizes how the unknown variables can be computed from the known variables. The variables in each layer are derived from those variables directly below them, but in actual implementation it is sometimes possible to derive explicit formulas to compute the upper layer from the lower layer bypassing the intermediate layer, thus not requiring those intermediate calculations online. The variable on top is the control action š‘¢(1), computed from the variables of the steady-state subproblem on the left, and those of the transient subproblem on the right, separated by a solid line. The variables in the bottom layer, š‘£(0) is provided by the observer described in Section 3, š‘„(0) is a measurement of the current plant state, and š‘¢(0) is the control input calculated by the algorithm at š‘˜=āˆ’1. Note that to compute š‘¢š‘”(1), the values of š‘¢š‘ (1),š‘¢š‘ (2),ā€¦,š‘¢š‘ (š‘š‘¢) are needed to form the constraints for the transient quadratic program since the original linear inequality constraints apply to š‘¢(š‘˜)=š‘¢š‘ (š‘˜)+š‘¢š‘”(š‘˜). On the other hand, š‘„š‘ (1) can be written as a linear function of š‘£(1) and š®š‘ (1) (or Ģ‚š‘£(1)) explicitly. Finally, the steady-state subproblem requires a computational time of š‘š‘Žš‘‡š‘ , implying that the solution š®š‘ (0) provided by the steady-state subproblem at š‘˜=0 is based on a measurement of š‘£(š‘˜) at some š‘˜ between āˆ’2š‘š‘Ž+1 and āˆ’š‘š‘Ž. So in the worst case, š‘¢(1) is based on some information as old as š‘£(āˆ’2š‘š‘Ž+1), which corresponds to a worst-case delay of 2š‘š‘Žš‘‡š‘ . For instance, if š‘š‘Ž=1, the control š‘¢(š‘˜) is computed from a measurement of š‘„(š‘˜āˆ’1), š‘£(š‘˜āˆ’1), and š‘£(š‘˜āˆ’2).

Remark 10. Although we said in Section 2 that the transient subproblem was not the main interest of this paper, it is an ideal vehicle to demonstrate the power of MPC since the ā€œuseful freedomā€ of š‘¢š‘”(š‘˜) may have been totally consumed by š‘¢š‘ (š‘”) when the latter hits a constraint. For example, the simulations to be discussed in Section 6 have the constraint ||||=||š‘¢š‘¢(š‘˜)š‘ (š‘˜)+š‘¢š‘”||(š‘˜)ā‰¤1.(49) If š‘¢š‘ (š‘˜) already saturates at Ā±1, one side of š‘¢š‘”(š‘˜) is lost but that could be the only side to make the reduction of š½š‘” possible, thus forcing š‘¢š‘”(š‘˜) to zero. So the input constraint does not only restrict the magnitude, but also the time instant to apply the transient control š‘¢š‘”. Such problem is extremely difficult for conventional control techniques.

6. Simulation Results

In this section we use an example to demonstrate the performance of our algorithms by computer simulations. The plant is borrowed from [19] and represents a power quality device called Unified Power Quality Conditioner (UPQC), which has the following continuous-time state-space model: Ģ‡š‘„=š“š‘„+šµ1š‘¤+šµ2š‘¢,š‘¦=š¶š‘„+š·1š‘¤+š·2āŽ”āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ£š‘¢,š“=āˆ’š‘…š‘™šæš‘™00āˆ’1šæš‘™āˆ’1šæš‘™0āˆ’š‘…sešæse0āˆ’1šæse000āˆ’š‘…shšæsh0āˆ’1šæsh1š¶se1š¶se1000š¶sh01š¶shāŽ¤āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ¦,šµ001=āŽ”āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ£1šæš‘™00000000āˆ’1š¶shāŽ¤āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ¦,šµ2=āŽ”āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ£V00dc2šæse00Vdc2šæshāŽ¤āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ¦,ī‚ƒī‚„,š·0000š¶=00001100001=ī‚ƒī‚„0000,š·2=ī‚ƒī‚„.0000(50) The exogenous input š‘¤ is composed of the supply voltage and the load current, which are periodic at 50ā€‰Hz but may consist of higher-order harmonics. The plant output š‘¦ is composed of the load voltage and the supply current, which will be made to track designated pure sine waves of 50ā€‰Hz. The control input š‘¢ is composed of two switching signals across the voltage source inverters (VSIs), both of which are required to satisfy the bounds āˆ’1ā‰¤š‘¢ā‰¤1. The general control objective is to maintain š‘¦ to the desired waveforms despite possible fluctuations in š‘¤ like supply voltage sags/swells or load demand changes. To apply the MPC algorithms proposed, we obtain a discrete-time version of the above state-space model by applying a sampling interval of š‘‡š‘ =0.2ms (i.e., 100 samples per period). Small-sized quadratic programs (such as our transient subproblem) can possibly be solved within such a short time thanks to the state-of-the-art code optimization [12], which reports sampling rates in the range of kHz, but to solve a big quadratic program like our steady-state subproblem we shall resort to the technique of Algorithm 4. Note that in our formulation, the transient subproblem and the steady-state subproblem can be solved in parallel. Although the optimization of š‘¢š‘” depends on š‘¢š‘ , the transient control š‘¢š‘”(š‘˜+1) is computed from š®š‘ (š‘˜) which is made available by the steady-state subproblem in the previous step. So it is independent of the current steady-state subproblem being solved.

As typical in a power system, we assume only odd harmonics in the supply voltage and the load current. Hence we can reduce the computations in the steady-state subproblem by the following easy modifications from the standard algorithms presented in Sections 3 and 4; š‘š‘ may be chosen to represent half of the period instead of the whole period, satisfyingš‘„š‘ (0)=āˆ’š‘„š‘ ī€·š‘š‘ī€ø,(51) instead of (6), andš“š‘š‘š‘£š“=āˆ’š¼,š‘š‘Ģ‚š‘£=āˆ’š¼,(52) instead of (17) and (36), with šœ”š‘‡š‘ Ć—š‘š‘=šœ‹ instead of 2šœ‹. The rotation operation in (32) should also becomeāŽ”āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ£š‘¢š‘ ī€·š‘š‘Žī€øš‘¢š‘ ī€·š‘š‘Žī€øā‹®š‘¢+1š‘ ī€·š‘š‘ī€øš‘¢āˆ’1š‘ ī€·š‘š‘ī€øš‘¢š‘ ī€·š‘š‘ī€øā‹®š‘¢+1š‘ ī€·š‘š‘Ž+š‘š‘ī€øāŽ¤āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ¦=āŽ”āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ¢āŽ£š‘¢āˆ’1āˆ—š‘ ī€·š‘š‘Žī€øš‘¢āˆ—š‘ ī€·š‘š‘Žī€øā‹®š‘¢+1āˆ—š‘ ī€·š‘š‘ī€øāˆ’1āˆ’š‘¢āˆ—š‘ (0)āˆ’š‘¢āˆ—š‘ ā‹®(1)āˆ’š‘¢āˆ—š‘ ī€·š‘š‘Žī€øāŽ¤āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ„āŽ¦āˆ’1.(53) This cuts down half of the scalar variables as well as constraints in the quadratic program.

The model parameters of the UPQC used in our simulations are summarized in Table 1 for the circuit components and Table 2 for the line and VSI impedances. They are the same as those values in [19], except for Vdc which we have changed from 400ā€‰V to 320ā€‰V so as to produce a saturated control š‘¢ more easily. Note that Vdc is the DC-link voltage, which determines how big a fluctuation in the supply voltage or load current the UPQC can handle. In other words, saturation occurs when the UPQC is trying to deal with an unexpected voltage sag/swell or load demand that is beyond its designed capability.

The simulation scenario is summarized in Figure 2. Both the supply voltage and the load current consist of odd harmonics up to the 9th order. Despite the harmonics, it is desirable to regulate the load voltage to a fixed pure sine wave, whereas the supply current should also be purely sinusoidal, but its magnitude and phase are selected to maintain a power factor of unity and to match the supply active power to the active power demanded by the load, which means the reference of this supply current is š‘¤-dependent. The waveforms of both š‘¤ and š‘Ÿ are shown in Figure 2. The simulation scenario is designed such that the steady-state control š‘¢š‘  is not saturated at the beginning. At š‘”=0.5s, a voltage sag occurs which reduces the supply voltage to 10% of its original value. The UPQC is expected to keep the load voltage unchanged but (gradually) increase the supply current so as to retain the original active power. This will drive š‘¢š‘  into a slightly saturated situation. At š‘”=1.0s, the load demand increases, causing the reference of the supply current to increase again, and š‘¢š‘  will become deeply saturated. At š‘”=1.5s, the voltage sag is cleared and the supply voltage returns to its starting value, but the (new) load demand remains. Although the load demand is still higher than its initial value, the š‘¢š‘  required will just be within the bounds of Ā±1, thus leaving the saturation region to return to the linear region. So, in short, š‘¢š‘  is expected to experience ā€œlinear ā†’ slightly saturated ā†’ deeply saturated ā†’linear but nearly saturatedā€ in this simulation scenario.

To evaluate the performance of our algorithms, we compare them to two other cases. In the first case, instead of Algorithm 4, the complete quadratic program is solved in each iteration of the steady-state subproblem every š‘š‘Ž-sampling intervals. We call this case the complete QP, and it serves to indicate how much transient performance has been sacrificed (in theory) by spreading the quadratic program over a number of iterations. In the second case, the constraints are totally ignored, such that the optimal š®š‘ (0) in the steady-state subproblem is supposed to beš®š‘ (āŽ”āŽ¢āŽ¢āŽ¢āŽ£š‘ˆ0)=š‘ˆš“š‘£ā‹®š‘ˆš“š‘š‘š‘£āˆ’1āŽ¤āŽ„āŽ„āŽ„āŽ¦š‘£(0),(54) where š‘ˆ is the solution to the regulator equation (41). The transient subproblem can also be solved byš‘¢š‘”=š¹š‘„š‘”,(55) where š¹ is the optimal state-feedback gain minimizing the transient quadratic cost āˆžī“š‘˜=0ī€·š‘¦š‘”(š‘˜)Tš‘„š‘¦š‘”(š‘˜)+š‘¢š‘”(š‘˜)Tš‘…š‘¢š‘”(ī€øš‘˜).(56) However, the combined input š‘¢ is still clipped at Ā±1. We label this control law the multivariable regulator (MVR) following the linear servomechanism theory. This case serves to indicate how bad the quadratic cost š½š‘  can be if a linear control law is used without taking the constraints into consideration.

Note that in both cases, the computational delays discussed in Section 5 will be in force, where š‘¢(š‘˜+1) instead of š‘¢(š‘˜) will be optimized and the steady-state control š®š‘  is only updated every š‘š‘Ž-sampling intervals. In reality, of course the MVR should involve negligible computational delay, whereas the complete QP should need a longer time to solve than Algorithm 4, but we are merely using their associated quadratic costs here to analyze the behaviours of our algorithms.

Figure 3 plots the steady-state cost š½š‘  of our first approach in Section 3 based on receding horizon quadratic programming together with the costs in the other two cases. š‘š‘Ž is assumed to be 3 in this simulation. The transient subproblem has a control horizon of š‘š‘¢=5, corresponding to 10 scalar variables and 20 scalar inequality constraints. On the other hand, the steady-state subproblem has š‘š‘=50 corresponding to 100 variables and 200 constraints. As shown in Figure 3, all š½š‘  are zero prior to š‘”=0.5s and should also settle down to zero after š‘”=1.5s. It is observed that the transient response of our š½š‘  is pretty close to that of the complete QP during the transitions from ā€œlinearā€ to ā€œslightly saturated" and from ā€œslightly saturated" to ā€œdeeply saturated,ā€ but is poorer when it tries to return from ā€œdeeply saturatedā€ to ā€œlinear.ā€ This can probably be attributed to the weakness of the active set method in removing a constraint from the working set as discussed in Remark 6. Figure 3 also indicates that the MVR settles down to a much higher š½š‘  value when a saturation occurs, due to its ignorance of the control constraints. The exact values of š½š‘  just prior to š‘”=1.0s and š‘”=1.5s are summarized in Table 3, which are about 6-7 times the š½š‘  values of our algorithm.

Figure 4 zooms into the first component of the control input š‘¢. The top two plots draw attentions to the steady-state control š‘¢š‘  (š‘¢ is essentially š‘¢š‘  just prior to š‘”=1.0s and š‘”=1.5s). It is observed that the differences in š‘¢š‘  between MVR and MPC are very subtle. Compared with the MVR, the MPC š‘¢š‘  merely reaches and leaves its limit (+1 here) at very slightly different time instants and also produces some ā€œoptimized ripplesā€ of less than 0.25% around that limit instead of a ā€œflatā€ value as adopted in the clipped linear control law, but by doing these little things the MPC manages to bring š½š‘  down by almost one order of magnitude. This demonstrates how nontrivial the optimal š‘¢š‘  can be. We can also see from the plots that only one constraint is active in the ā€œslightly saturatedā€ situation whereas multiple constraints are active in the ā€œdeeply saturatedā€ saturation. On the other hand, the bottom two plots in Figure 4 illustrates our discussion in Remark 10. The plots clearly show that during certain moments of the transient stages (š‘”>1.0s and š‘”>1.5s), the transient control š‘¢š‘” is ā€œdisabledā€ due to the saturation of the steady-state control š‘¢š‘ . Note that we are labeling the dashed blue curve as ā€œš‘¢š‘  used to compute š‘¢š‘”ā€ since it is slightly different from the actual š‘¢š‘ . For instance, š‘¢š‘”(š‘˜+1) is computed from the knowledge of š‘¢š‘  at time š‘˜, which is not exactly the same as š‘¢š‘ (š‘˜+1). Obviously, š‘¢š‘” is not just disabled whenever š‘¢š‘  saturates. It happens only when the desired direction of š‘¢š‘” violates the active constraint.

Next, let us look at the performance of our second MPC approach in Section 4 based on dynamic policy. Odd harmonics up to the 9th order are included in š“Ģ‚š‘£ resulting in a total of š‘›Ģ‚š‘£=20 variables. See Table 3. Since the number of variables is much lower than that of the first approach, we assume š‘š‘Ž=1 here, that is, one iteration of Algorithm 4 (equivalent version) is carried out in each sampling interval, whereas the transient subproblem is solved completely within each sampling interval. The transient performance of š½š‘  is plotted in Figure 5. Note that the MVR curve exhibits a slightly different transient from Figure 3 since their š‘š‘Ž values are different. The dynamic policy approach clearly shows a faster transient response than the receding horizon quadratic programming approach, not only because of a smaller š‘š‘Ž but also a smaller-sized quadratic program overall. However, the drawback is a slightly suboptimal š½š‘ , as indicated in Table 3.

As mentioned in Section 4, it is possible to over-design š“š‘£, and hence š“Ģ‚š‘£, so that the optimal š½š‘  in this second MPC method will approach the first MPC method. For example, although we only have odd harmonics up to the 9th order in š‘¤, we may include odd harmonics up to the 29th order in š“š‘£ and š“Ģ‚š‘£. The results are also recorded in Table 3, and we see that this š½š‘  value is very close to the optimal one in the first method.

7. Conclusions

To apply MPC to fast-sampling systems with input constraints for the tracking of periodic references, efficient algorithms to reduce online computational burdens are necessary. We have decomposed the tracking problem into a computationally complex steady-state subproblem and a computationally simple transient subproblem, and then proposed two approaches to solve the former. The first approach, based on the concept of receding horizon quadratic programming, spreads the optimization over several sampling intervals, thus reducing the computational burdens at the price of a slower transient response. The second approach, based on the idea of a dynamic policy on the control input, further reduces the online computations at the price of a slightly suboptimal asymptotic performance. Despite the limitations, these approaches make the application of MPC to fast-sampling systems possible. Their transient behaviours and steady-state optimality have been analyzed via computer simulations, which have also demonstrated that the steady-state subproblem and the transient subproblem can be solved in parallel with different sampling rates. When the methods proposed in this paper are combined with modern code optimizations, the applicability of MPC to the servomechanism of fast-sampling constrained systems will be greatly enhanced.


This work is supported by HKU CRCG 201008159001.