Simplification of Model Predictive Control Implementation

A Simplified and Integrated Approach
to Model Predictive Control Implementation
Vasiliki Tzovla
Fisher-Rosemount Systems
Austin, Texas 78759, USA
Ashish Mehta
Fisher-Rosemount Systems
Austin, Texas 78759, USA
KEYWORDS
Model Predictive Control, Function Block, Multivariable Process Control
ABSTRACT
In many cases the benefits of Model Predictive Control are not achieved due to its traditionally complex
nature and narrow application. This paper describes a new approach that simplifies Model Predictive
Control’s implementation and usability. Model Predictive Control (MPC) implementation is represented
as a function block and by using state-of-the-art techniques, the commissioning process becomes fast
and easy, and the entire process of collecting and pre-processing data, creating a model, generating MPC
definition, verifying the model and downloading the generated model and MPC definition to run in a
controller, are fully automated. The paper also details features of convenience such as graphical
presentation of the MPC block inputs and outputs, model visualization, model editing capabilities,
model verification and simulation before putting the control online.
INTRODUCTION
The Model Predictive Control (MPC) technique, pioneered by the DMC[1] and IDCOM[2] algorithms
in the 1970s, has recently been widely received by both the academic community and the industry. This
can be attributed to the fact that it is perhaps the most general way of posing the process control problem
in the time domain. Generally speaking, it is often difficult to adequately control multiple-input
multiple-output (MIMO) processes, processes with constraints and/or disturbances, processes with
associated complex dynamics, using conventional PID based approaches such as feed forward control,
decoupling, override control, and so on. Since MPC is ideally suited to such processes, it appears that
there is considerable interest in applying it to process control. However, there are both theoretical and
practical difficulties related to its traditionally complex nature and huge costs. In this paper we present
an approach that simplifies the commissioning and implementation of a model based predictive
controller by minimizing its conventional intricacies.
MPC is a multiple-input/multiple-output control strategy in which the effects of changing each of a
number of process inputs on each of a number of process outputs is measured and these measured
responses are then used to create a model of the process. The process model is inverted mathematically
and used as a multiple-input/multiple-output controller to control the process outputs based on changes
made to the process inputs. Figure 1 shows the basic structure used to implement this strategy. A model
is used to predict the future plant outputs, based on past and current values and on the proposed optimal
1
Copyright 2000 Instrument Society of America. All rights reserved
future control actions. The optimizer calculates these actions taking into account the cost function as
well as the constraints. The main ideas appearing in a predictive controller are [3]:

Explicit use of a model to predict process output at future time instants (control horizon)
Reference
Trajectory
Past I/O
Predicted
Outputs
Model
_ +
Future
Inputs
Future
Errors
Optimizer
Cost
Function
Constraints
Figure 1: Basic Structure of MPC


Calculation of a control sequence minimizing a certain objective function
Receding strategy, so that at each instant the horizon is displaced towards the future, which involves
the application of the first control signal of the sequence calculated at each step.
Model predictive control presents distinct advantages over other control methods. It can be used for a
variety of processes, from those with relatively simple dynamics to more complex ones, including those
with long delay times. By design, it handles the multivariable case, including compensation for
measurable disturbances in a feed-forward control fashion, as well as a systematic treatment of
constraints. It intrinsically compensates for dead times and is also very useful when future references are
known. The resulting controller is implemented easily as a linear control law. Added to that is the
intuitive approach and ease of tuning, making it extremely attractive to plant operators. Although these
features have led to an increased interest with a number of reported applications to control problems,
MPC has not yet reached in industry the popularity that its potential suggests. One of the reasons is that
its implementation requires mathematical complexities (for example, the derivation of the control law is
more complex than that for classical PID) which are not a problem for the research community but
represent a drawback for control engineers in practice.
TRADITIONAL MPC ENVIRONMENT
Traditionally, to create an MPC for a process, a process expert (typically an outside consultant) was
employed, who would first come to the plant and observe the plant or process operation over a period of
time. After choosing the appropriate process inputs and outputs for the model predictive controller, the
expert worked with the plant operators to deliver a series of input waveforms (for example, in the form
of a pseudo-random sequence of step waveforms) to each of the inputs and to measure the effect of the
inputs on each of the chosen process outputs. This collected input-output data was then fed to an off-line
system, which in some cases would be off-site at the expert’s facility. After screening and preprocessing the data, the off-line system is used to create a model of the process. The model is then
inverted or used in other known manners to create an MPC for the process. However, even at this stage
2
Copyright 2000 Instrument Society of America. All rights reserved
the model and controller are not directly usable, as it has to be inserted into the process control system,
which would generally require extensive programming by the process engineers to deliver each of the
specified controller inputs (i.e., process outputs) to the model predictive controller and to have the model
predictive controller deliver each of the controller outputs (i.e., process inputs) to the appropriate place
in the control system to perform control. Since the controller is created by an off-line system, its
Altered Process
Legend:
Data Collection
a) Traditional Approach
Model / Controller Generation
MPC Configuration/Integration
Simulation, Training, Online
Altered Process
b) Simplified Approach
Time
Figure 2: Traditional and Simplified MPC Implementation Life Cycle 
integration also requires the use of special graphics, user interfaces and displays (typically more third
party software and associated training) for the operator to be able to use it. In many cases, this
complexity results in the configuration of a specialized engineering/advanced control workstation layer
on top of the normal control system with limited access to plant operators. There may also be potentially
long down times for integrating MPC into the existing control system. As can be seen this entire process
is time consuming, generally requires expert intervention, and can be very expensive. In fact, it could
take several months and cost hundreds of thousands of dollars to create a single MPC for a process.
Maintenance costs escalate with such specialized application layers that might need periodic expert
intervention. Unfortunately, even then, changes in the process such as those caused by aging of process
equipment can render the created model to be obsolete or mismatched, which means that the entire
process has to be repeated to create another MPC. The traditional MPC implementation cycle is shown
in Figure 2a.
SIMPLIFIED APPROACH
In order to make available the inherent advantages of model predictive control, we have developed an
approach that simplifies the complete life cycle of an MPC implementation. While maintaining the core
technology and functionality of MPC, this methodology automates the data collection, control
generation and commissioning process. This makes it extremely easy and intuitive for the typical plant
engineer/operator to apply his process knowledge in the implementation of MPC, with little or no
understanding of its mathematical complexities. The entire process of generating the controller is
3
Copyright 2000 Instrument Society of America. All rights reserved
embedded in the application instead of layering it on top of the control system as in traditional
approaches. The process followed in MPC development and maintenance is illustrated in Figure 3.
Decision is made to
improve unit control
using MPC
Step 1
Create Module containing
MPC Block, Download
Step 2
MPC I/O automatically
assigned to Historian
Step 3
Step 4
Step 5
Data
Historian
Step 6
Step 7
Identify Model
and generate
MPC Control
Checkout using
Simulation block
Download control to
workstation, use
simulation, train
Plant testing – change
process over normal
range of operation
If Regeneration
Needed
Download control to
controller, commission
and monitor operation
Figure 3. Steps in MPC Implementation
This represents inverting the flow path of traditional implementation techniques so that data collection
and screening follow (not precede) configuration and download to the application controller or device
that will implement MPC. This is followed by model creation, editing and verification, and inversion of
the model to generate the control law that is downloaded to the controlling device for online execution.
This implementation cycle is shown in Figure 2b in direct comparison with traditional methods.
The implemented control strategy uses what are commonly referred to as function blocks (in the
Fieldbus control paradigm [4]), wherein each function block is a part (e.g., a subroutine) of an overall
control routine and operates in conjunction with other function blocks to implement control loops within
the process control system. Function blocks typically perform one of an input function (transmitter,
sensor, etc.), a control function (PID, fuzzy logic, etc.) or an output function (e.g., a valve). It must
however be noted that the control routines may take any form, including software, firmware, hardware,
etc. Similarly, the control strategy or control loops/modules could be designed and implemented using
conventions other than function blocks, such as ladder logic, sequential function charts, etc. or using any
desired programming language or paradigm. MPC development is integrated as part of the control
strategy, obviating the need for off-line mathematical data processing packages, or development of
interfacing layers between the process control system and the MPC application. Furthermore, this
approach takes advantage of the ease of use and flexibility that software based graphical user interface
4
Copyright 2000 Instrument Society of America. All rights reserved
(GUI) techniques offer. By automating the commissioning/implementation of the model predictive
control strategy, the following advantages are passed on to the user:

Ease of use and maintainability – minimize engineering with no expert intervention.
TT
Draft
Gas
Flow
Cold
End
PT
TT
Lime
Mud
AT
Hot
End
ID
Fan
FC
F
F
C
C
C
FT
FT
SC
Hot End Temperature
(Controlled)
Gas Flow
(Manipulated)
ID Fan Speed
(Manipulated)
Lime Kiln
Process
Lime Mud Flow
(Optimized)
Cold End Temperature
(Controlled)
Hood Draft
(Constraint)
O2 for Combustion
(Constraint)
Figure 4. Lime Kiln Process and Instrumentation




Automated features – intuitive graphical user interface.
Automatic compensation for process interaction, measurable load disturbances and constraints.
Increase in Efficiency – significant time and cost savings.
MPC from user (plant operator) perspective – does not require deep theoretical understanding.
IMPLEMENTATION
Figure 4 shows a typical lime kiln process and instrumentation for the recausticizing area of a pulp mill.
The process has 3 inputs and 4 outputs, where gas and ID fan speed are to be manipulated to control the
material and exit gas temperatures at the hot and cold end of the kiln. Constraints on gas and ID fan
speed adjustment are set by limits on O2 and hood draft respectively. The lime mud flow throughput is
to be maximized within the constraints of the ID fan speed limits. The traditional control strategy for this
process becomes quite complex as shown in Figure 5a. A total of six PID controllers, three control
selectors, nine math and dynamic elements would be required. A decoupling network addresses the
interaction between the hot and cold end temperature controls, overrides on gas flow and ID fan speed
adjustment provide for constraints on O2 and draft, and throughput is maximized based on the ID fan
being the limiting factor on production. In this section we step through the generation of a model
predictive controller for this example process using the new methodology.
Configuring the MPC Function Block: Once a decision is taken to improve or provide control by
implementing an MPC procedure (Step 1 of Figure 3), the process is initiated. An MPC control block is
5
Copyright 2000 Instrument Society of America. All rights reserved
created having the desired inputs and outputs connected to process outputs and inputs respectively.
Each MPC block generally has three kinds of inputs: controlled parameter inputs which are the process
variables that are to be maintained at a set point, constrained inputs which are the process variables that
Draft Override
Controller
L/L
DT
+
+
L/L
>
Cold End
Temperature
Controller
DT
O2 Override
Controller
L/L
ID Fan Speed
Override
DT
Hot End
Temperature
Controller
+
Throughput
Control
<
Gas Flow
<
ID Fan Speed
Lime Kiln
Process
Lime Mud Flow
Figure 5a. Traditional PID based control Strategy for Lime Kiln of Figure 4
Hot End Temp
Cold End Temp
ID Fan Speed
Gas Flow
Mud Flow
Lime Kiln
Process
O2
Draft
Figure 5b: Equivalent Control Strategy using a single MPC function block
Note:
For simplicity, PID controllers associated with gas and mud flow are not shown.
Block also shows throughput optimization
6
Copyright 2000 Instrument Society of America. All rights reserved
Data Slices to
be ignored
Start Time
End Time
Figure 6. Trend Display of MPC block data for model identification
are constrained to a particular limit or range based on, for example, physical limitations on the process,
and process disturbance inputs, which are other process variables, such as process inputs that when
altered, cause changes to the controlled parameters. Disturbance parameter inputs are used to foresee
and limit changes to the controlled parameters in a feed forward fashion. Other inputs, such as feedback
from a device may also be provided to the MPC block. Similarly, the outputs of the block may be
connected to control any desired process variable including control loop inputs, device control inputs,
etc. By allowing an extensible number of block parameters, it is possible to create MPC for a diversity
of processes. In the case of optimizing unit throughput, the throughput variable is identified as a control
parameter input, and directly reflects the input that needs to be manipulated to maximize throughput.
Properties such as engineering units, ranges and limits of the parameters are configurable. Such a
function block is described in more detail in [5]. Once configured, the control module (comprising the
MPC and interconnecting blocks) is downloaded to the controlling device. Thereafter, Step 3 of Figure 3
is automated as the block inputs/outputs are automatically assigned to historical data collection. Figure
5b shows a single MPC function block implementing the equivalent control strategy for the lime kiln
process.
Data Collection/Retrieval: For a model based strategy, it is imperative that the data used to generate the
process model be representative of the normal operation of the plant. Collection of such data is typically
the most time consuming processes in traditional implementations. We have automated this process by
implementing a waveform generator in the function block that is designed to cause the process to
operate over the different ranges of inputs expected. The embedded application directly connects to the
downloaded MPC block, such that the existing control strategy may continue to be used while data is
collected. The application display presents the block input-output data in the form of trends (Figure 6).
The user initiates the automated testing procedure by entering the parameters necessary to design the
waveform, such as the approximate response time of the process, the step size of the amplitude of the
waveforms to be delivered to the process inputs, etc. A series of different sets of pulses with the same
7
Copyright 2000 Instrument Society of America. All rights reserved
Figure 7. Process Model Display for Lime Kiln Block
Left Pane – Different models in a directory structure, Right Pane – Response curves for selected model
amplitudes but pseudo-random lengths is delivered to each of the manipulated process inputs and the
effect on the process outputs is observed on the trend display. Not only does data have to be collected,
but it also needs to be screened to check for outliers or other erroneous data, or if it was generated under
any abnormal circumstances and is not representative of the process. The trend display contains the
auto-scaled MPC inputs and outputs in a reasonable time. The start and end time for data to be
considered for process identification is defined by selecting and dragging time bars or data windows
across the trend. If part of the time between the start and end bar is not representative of normal plant
operation, the user can lasso this section of time to select data values to be ignored during identification.
This way the engineer has complete flexibility and control over the selection of data that should be used
for identification in a fairly straightforward and intuitive manner.
Model/Control generation: Model creation and control law derivation comprise the mathematically most
intensive requirements of MPC definition. By making this process transparent to the normal user, this
can be reduced to a one step operation (Step 5, Figure 3). A single button click reads in the selected data,
pre-processes it (removes mean, auto-scales to percent, etc.), creates the dynamic process model and
generates a control matrix by inverting the process model. The identification and control law generation
routines may take on any form, such as a mathematical algorithm, a series of response curves, etc. Step
response modeling using FIR (Finite Impulse Response) and ARX (Auto Regressive) identification
techniques, and a least squares controller minimizing the squared error of controlled variables and
controller output [6], were used for the results presented here. In the application, the screened data is fed
to a modeling routine that generates a dynamic step response model, complete with gains, deadtimes,
and time-constants, for each input-output pair of the MPC block. The response curves may be displayed
in varying degrees of detail, from an overview of the step responses as in Figure 7 to the detailed view
of individual responses for closer examination. In case of a problem in determining either the process
model or the controller, the application indicates possible causes in the modeling and controller
8
Copyright 2000 Instrument Society of America. All rights reserved
generation routine such as insufficient data, erroneous configuration, etc. The model is validated by
computing the root mean squared error between the model prediction and the actual data, and heuristic
checks relying on the availability of both the FIR and ARX responses. Since the model may not be
satisfactory, the generated controller is not directly downloaded into the controlling device. Download
has to be initiated by the operator. Another desired functionality is the capability to compare models and
generate control from different models. Therefore, the process models for a particular MPC block are
automatically saved on creation, and remain in the database until they are explicitly deleted. Model
creation and controller generation can also be carried out as distinct steps, wherein for control derivation
the user can select from a list of models created for that process.
Advanced Options: More experienced users or users with a good knowledge of the process may want to
examine or edit the identified process model. For this purpose, we feel the need to distinguish between a
normal and an expert user. Model editing and verification before control generation facilitate creation of
the most suitable model. A user with a good understanding of the process can manipulate the step
response curve in order to create an altered response model. This can be done either numerically, say by
changing the response parameters such as the time constants, deadtimes and gains, or graphically, by
selecting new beginning or ending points, changing the points on the curve or the slope of the curve, etc.
The fidelity of the model is examined by verifying the predicted outputs against the actual process
outputs in a trend display. Root mean square error is also calculated.
Similarly, the application incorporates expert selectable parameters for control generation from a given
process model. The advanced user may, for example, specify parameters related to the aggressiveness or
robustness of the control, such as the horizon of the MPC control block, the penalties on moves of the
manipulated variables, the penalties on errors in the controlled variables, and so on. In such a case the
generated control matrix reflects the desired characteristics.
Simulation: Once control parameters are generated it is desirable to test the control logic coefficients
against a simulation of the process before actually running it on the real process. This may also be useful
in choosing between different controllers. In the application, this has been realized by providing an MPC
Simulate function block that is configured in a manner similar to the MPC block. The user assigns a
model identified in Step 5 (Figure 3) to a simulation block, provided the configuration of the simulation
block is consistent with the MPC block for which the model was generated. To test control operation,
the simulation block may be communicatively connected to the MPC block. In a different scenario, the
process simulation block may be created using an altered version of the determined process model (by
creating an altered process model) to reflect changes in the process in the course of the life cycle of the
plant. In this case, connection to the MPC block simulates controller operation in the presence of
changes thereby determining the performance of the controller in the presence of model mismatch and
‘what-if’ scenarios. Further, a simulation block developed from the process model may be run in
conjunction with the process and may be used to create virtual process outputs to be used as inputs for
the control block, say in the case of sensor failure.
Comparison of the simulated process outputs with the actual process outputs determines the
process/process-model mismatch and may be useful for controller tuning. The simulation functionality
also provides an environment to train operators on the application of MPC. As for the MPC block, the
simulation block is embedded into the application for ease of use.
9
Copyright 2000 Instrument Society of America. All rights reserved
CONCLUSIONS
The design and implementation of a new and simplified approach to the commissioning and
development of model predictive controllers has been presented. By embedding the MPC function block
in the process control system, and automating the controller development, the benefits of MPC
techniques can be easily applied to a variety of processes without the overheads incurred in traditional
implementations. A GUI based application maintains the underlying MPC technology, while minimizing
the engineering effort and making the implementation process extremely easy and intuitive. Since the
functionality is implemented in the same format as other control blocks within the control system,
integration and operation are fairly straightforward, thereby minimizing downtime. A simulation
environment is provided as part of the application. It is intended that MPC be used extensively to
provide better control than complex PID strategies. Using an example we demonstrate how the
presented novel approach can be used towards realizing this objective. In the future we would be
addressing the adaptive control case in the same paradigm.
REFERENCES
1. Cutler, C. R. and Ramaker, B. L., “Dynamic matrix Control – a computer control algorithm”, AIChE
Annual Meeting, 1979, Houston, TX.
2. Richalet, J., Rault, A., Testud, J. L. and Papon, J., “Algorithmic control of industrial processes”,
Proceedings of the 4th IFAC Symposium on Identification and System Parameter Estimation,
pp.1119-1167, 1976.
3. Camacho, E. F. and Bordons, C., “Model Predictive Control in the Process Industry”, 1995,
Springer-Verlag, London, Great Britain.
4. US Patent Application, Fisher File No: 59-11211, Blevins, T., Wojsznis, W., Tzovla, V. and Thiele,
D., “Integrated Advanced Control Blocks in Process Control Systems”.
5. Thiele, Dirk, “Benefits and challenges of implementing model predictive control as a function
block”, to appear in Proceedings of ISA Expo/2000, 21-24 August 2000, New Orleans, LA.
6. Wojsznis, W. K., Blevins, T. L. and Nixon, M., “Easy Robust Optimal Predictive Controller”, to
appear in Proceedings of ISA Expo/2000, 21-24 August 2000, New Orleans, LA.
10
Copyright 2000 Instrument Society of America. All rights reserved