MPC Fundamentals Figure 1-2(b)shows MPCs previous"moves, uk-41, .,lk-1, as filled circles. As is usually the case. a"zero-order hold receives each move from mPc and sends that value to the plant continuously until the next sampling instant- note the resulting step-wise variations MPC must now calculate the current move, uk. It does so in two phases 1 Estimation. In order to make an intelligent move, MPC needs to know the current state of the system. This includes the true value of the controlled variable, Jk, and any this MPC uses all past and current measurements and the models uy, dompli internal plant variables that influence the future trend, yk+1,.,jk+P. To accomplish →j,and=→y. For details, see Chapter4,“ Disturbance detection and 2 Optimization. Values of setpoints, measured disturbances, and constraints are specified over a finite "horizon"of future sampling instants, k+1,k+2.,k+P, where P(a finite integer 2 1)is the"prediction horizon"-see Figure 1-2 (a). MPC then computes the M moves ulk,a4+1,…a+Ml, where a(≥1,≤P) is the“ control horizon”- see Figure 1-2 b). In our hypothetical example, P=9 and M=4 Suppose that the optimal sequence of moves is the series of four open circles in Figure 1-2 predicts that this will result in the open circles in Figure 1-2(a) the setpoint clo optimal in the sense that no constraints are violated and the outputs track the setpoint"closely. See section Optimization for a detailed definition of optimality MPC sends only the move uk to the plant. The plant operates with this input until MPCs next sampling instant, Af time units later. MPC then obtains a new set of measurements and revises completely the plan it had formulated at the previous sampling instant, thus compensating for model error and unknown disturbances Prediction and control horizons One might wonder why MPC bothers to optimize over P sampling periods into the future and calculate M moves when it discards all but the first move. Indeed under certain conditions MPC gives identical results for P=M= l as it does for P=M=oO. More often however, the horizons have an important impact. Some examples are:
MPC Fundamentals 1-9 Figure 1-2 (b) shows MPC’s previous “moves,” uk-41, ..., uk-1, as filled circles. As is usually the case, a “zero-order hold” receives each move from MPC and sends that value to the plant continuously until the next sampling instant – note the resulting step-wise variations in Figure 1-2 (b). MPC must now calculate the current move, uk . It does so in two phases: 1 Estimation. In order to make an intelligent move, MPC needs to know the current state of the system. This includes the true value of the controlled variable, , and any internal plant variables that influence the future trend, , ..., . To accomplish this MPC uses all past and current measurements and the models , , , and . For details, see Chapter 4, “Disturbance Detection and Estimation”. 2 Optimization. Values of setpoints, measured disturbances, and constraints are specified over a finite “horizon” of future sampling instants, k+1, k+2, ..., k+P, where P (a finite integer ³ 1) is the “prediction horizon” – see Figure 1-2 (a). MPC then computes the M moves uk , uk+1, ... uk+M-1, where M ( ³ 1, £ P) is the “control horizon” – see Figure 1-2 (b). In our hypothetical example, P = 9 and M = 4. Suppose that the optimal sequence of moves is the series of four open circles in Figure 1-2 (b). MPC’s model predicts that this will result in the output sequence shown as the nine open circles in Figure 1-2 (a). These moves are optimal in the sense that no constraints are violated and the outputs track the setpoint “closely.” See section Optimization for a detailed definition of optimality. MPC sends only the move uk to the plant. The plant operates with this input until MPC’s next sampling instant, Dt time units later. MPC then obtains a new set of measurements and revises completely the plan it had formulated at the previous sampling instant, thus compensating for model error and unknown disturbances. Prediction and control horizons One might wonder why MPC bothers to optimize over P sampling periods into the future and calculate M moves when it discards all but the first move. Indeed, under certain conditions MPC gives identical results for P = M = 1 as it does for P = M = ¥. More often, however, the horizons have an important impact. Some examples are: y k y k + 1 y k P + u y ® d y ® w y ® z y ®
Constraints MPCs current move, lk, depends on future constraints, i.e., MPC plans ahead to avoid future constraint violations Delays in the plant. Suppose that the plant includes a pure time delay; MPC's current move has no effect until D sampling periods into the future. Then we need P2D and M sP-D so that MPC can include the effect of each contemplated move in its optimization calculations Other nonminimum phase plants. Consider a Siso plant with an inverse-response, e.g its unit-step response is a decrease below the initial condition followed by an increase to a final value above the initial condition Experience suggests the following rules of thumb 1 Choose the MPC sampling period such that the plants open-loop settling time is pproximately 20-30 sampling periods (i.e, the sampling period is approximately one fifth of the dominant time constant) 2 Choose P to be the number of sampling periods used in step I 3 Use a relatively small M,e.g, 3-5 The resulting MPC performance will usually be insensitive to minor adjustments in these Mand P values, and further tuning"should not be necessary. If performance is poor, it is probably due to other factors, such as modeling errors In Figure 1-2 (b), M=4 and P=9, and MPC is optimizing the first M moves of the prediction horizon, after which the manipulated variable remains constant for P-M=5 sampling instants Figure 1-3 shows an alternative"blocked strategy -again with M= 4-in which the first planned move occurs at sampling instant k, the next at k+ 2, the next at k+4, and the final at k+6. A"block"is one or more successive sampling periods during which the manipulated variable is constant. The "block durations"are the number of sampling periods in each block In Figure 1-3 the block durations are 2, 2, 2, and 3. (Their sum must equal P) 1-10
1 Introduction 1-10 • Constraints. MPC’s current move, uk , depends on future constraints, i.e., MPC plans ahead to avoid future constraint violations. • Delays in the plant. Suppose that the plant includes a pure time delay; MPC’s current move has no effect until D sampling periods into the future. Then we need P ³ D and M £ P - D so that MPC can include the effect of each contemplated move in its optimization calculations. • Other nonminimum phase plants. Consider a SISO plant with an inverse-response, e.g., its unit-step response is a decrease below the initial condition followed by an increase to a final value above the initial condition. Experience suggests the following rules of thumb: 1 Choose the MPC sampling period such that the plant’s open-loop settling time is approximately 20-30 sampling periods (i.e., the sampling period is approximately one fifth of the dominant time constant). 2 Choose P to be the number of sampling periods used in step 1. 3 Use a relatively small M, e.g., 3-5. The resulting MPC performance will usually be insensitive to minor adjustments in these M and P values, and further “tuning” should not be necessary. If performance is poor, it is probably due to other factors, such as modeling errors. Blocking In Figure 1-2 (b), M = 4 and P= 9, and MPC is optimizing the first M moves of the prediction horizon, after which the manipulated variable remains constant for P – M = 5 sampling instants. Figure 1-3 shows an alternative “blocked” strategy – again with M = 4 – in which the first planned move occurs at sampling instant k, the next at k+2, the next at k+4, and the final at k+6. A “block” is one or more successive sampling periods during which the manipulated variable is constant. The “block durations” are the number of sampling periods in each block. In Figure 1-3 the block durations are 2, 2, 2, and 3. (Their sum must equal P.)