Although nonlinear model predictive control (NMPC) might be the best choice for a
nonlinear plant, it is still not widely used. This is mainly due to the computational
burden associated with solving online a set of nonlinear differential equations and a
nonlinear dynamic optimization problem in real time. This thesis is concerned with
strategies aimed at reducing the computational burden involved in different stages
of the NMPC such as optimization problem, state estimation, and nonlinear model
identification.
A major part of the computational burden comes from function and derivative evaluations
required in different parts of the NMPC algorithm. In this work, the problem is
tackled using a recently introduced efficient tool, the automatic differentiation (AD).
Using the AD tool, a function is evaluated together with all its partial derivative from
the code defining the function with machine accuracy.
A new NMPC algorithm based on nonlinear least square optimization is proposed.
In a first–order method, the sensitivity equations are integrated using a linear formula
while the AD tool is applied to get their values accurately. For higher order
approximations, more terms of the Taylor expansion are used in the integration for
which the AD is effectively used. As a result, the gradient of the cost function against
control moves is accurately obtained so that the online nonlinear optimization can be
efficiently solved.
In many real control cases, the states are not measured and have to be estimated for
each instance when a solution of the model equations is needed. A nonlinear extended
version of the Kalman filter (EKF) is added to the NMPC algorithm for this purpose.
The AD tool is used to calculate the required derivatives in the local linearization
step of the filter automatically and accurately.
Offset is another problem faced in NMPC. A new nonlinear integration is devised
for this case to eliminate the offset from the output response. In this method, an integrated disturbance model is added to the process model input or output to correct
the plant/model mismatch. The time response of the controller is also improved as a
by–product.
The proposed NMPC algorithm has been applied to an evaporation process and a
two continuous stirred tank reactor (two–CSTR) process with satisfactory results to
cope with large setpoint changes, unmeasured severe disturbances, and process/model
mismatches.
When the process equations are not known (black–box) or when these are too complicated
to be used in the controller, modelling is needed to create an internal model for
the controller. In this thesis, a continuous time recurrent neural network (CTRNN)
in a state–space form is developed to be used in NMPC context. An efficient training
algorithm for the proposed network is developed using AD tool. By automatically
generating Taylor coefficients, the algorithm not only solves the differentiation equations
of the network but also produces the sensitivity for the training problem. The
same approach is also used to solve online the optimization problem of the NMPC.
The proposed CTRNN and the predictive controller were tested on an evaporator
and two–CSTR case studies. A comparison with other approaches shows that the
new algorithm can considerably reduce network training time and improve solution
accuracy.
For a third case study, the ALSTOM gasifier, a NMPC via linearization algorithm is
implemented to control the system. In this work a nonlinear state–space class Wiener
model is used to identify the black–box model of the gasifier. A linear model of the
plant at zero–load is adopted as a base model for prediction. Then, a feedforward
neural network is created as the static gain for a particular output channel, fuel gas
pressure, to compensate its strong nonlinear behavior observed in open–loop simulations.
By linearizing the neural network at each sampling time, the static nonlinear
gain provides certain adaptation to the linear base model. The AD tool is used here
to linearize the neural network efficiently. Noticeable performance improvement is
observed when compared with pure linear MPC. The controller was able to pass all
tests specified in the benchmark problem at all load conditions