Dither Signal Design Problem (DSDP) for Closed-Loop Estimation Industrial Modeling Framework (DSDP-CLE-IMF)
1. Dither Signal Design Problem (DSDP) for Closed-Loop Estimation
Industrial Modeling Framework (DSDP-CLE-IMF)
i n d u s t r IAL g o r i t h m s LLC. (IAL)
www.industrialgorithms.com
December 2014
This short note describes a relatively simple methodology, procedure or approach to improve
the estimation of already installed industrial models used for optimization, control (active
applications), simulation and/or monitoring (passive applications) purposes subject to
omnipresent feedback i.e., under either loose or tight closed-loop control. Performing system
identification with closed-loop data is relatively well-studied (Ljung et. al., 1974, Box and
MacGregor, 1974 and 1976, MacGregor and Fogal, 1995, Shreesha and Gudi, 2004, Vanli and
Del Castillo, 2007) where it is also well-known that better identification of the structure and
coefficients in parametric models under feedback control can be obtained by applying an
external excitation, perturbation, measured disturbance or dither signal especially when the
dither is uncorrelated with the noise and unmeasured disturbances. Dither signals can be
added to either or both the controlled variable’s (CV, output) and the manipulated variable’s
(MV, input) setpoint or target where the MV setpoint is typically sent to a lower-level control
strategy such as a PID flow, temperature or pressure loop.
The presence of strong or weak feedback in all industrial processes should not be unexpected
given that the process, production and plant are designed, planned, scheduled and operated to
produce a certain quantity and quality of product subject to processing/production and market
conditions. There is also slow moving manual feedback from the operators to position the
process or plant to operate in a desired region for stability and/or safety reasons (Jiang, 1996).
Faster moving automatic feedback is programmed into PLC’s and DCS’s such as multi-loop
constraint control as well as multivariate model-based predictive and receding-horizon control.
Therefore, it is important to recognize that when building or identifying linear/nonlinear and
static/dynamic process models using passive and historical data, that some form of feedback
most likely exists and must be properly understood in order to identify and fit unbiased model
structures and parameters (Box and MacGregor, 1974). Passive data may not possess the
necessary level of information to uniquely and accurately estimate the model though there are
some examples where happenstance data can be used when loose feedback is present such as
in single-input, single-output (SISO) level-flow smoothing PI control (Kelly, 1998). However, if
we actively stimulate, perturb or excite the process/production or plant using well-designed
dither signals then our probability of building better and more useful models increases
substantially and hopefully without disrupting the system in any appreciable way. Typically with
closed-loop data there is usually weaker variation (low excitation) in the controlled outputs and
stronger variation (high excitation) in the manipulated inputs which is precisely what feedback
control is intended to do. Unfortunately, this may result in higher than expected input collinearity
or correlation possibly increasing the bias in the parameter estimates for example but for ill-conditioned
systems collinear inputs may be a requirement to properly fit the low gain
dimensions as we will see later.
In this work we consider determining the dither signals using a priori steady-state, zero-frequency
or asymptotic gains of the process typically known beforehand given that our purpose
is to improve the calibration, training or estimation of existing industrial models. This type of
approach can be found in Koung and MacGregor (1993) where the SVD of the multi-input, multi-output
(MIMO) gain matrix is used in the design and is especially suited for ill-conditioned
2. processes when there are high and low gains in the process (output directionality). Evaluations
of this technique can be found in Conner and Seborg (2004), Haggblom and Boling (2008),
Sababadi and Poshtan (2009) and Kuramoto and Vaillant (2012) which all underscore its
effectiveness particularly when robust stable control is necessary. A related use of their
technique was applied in Kelly and Forbes (1998) to “re-design” if you will, the steady-state gain
matrix in the blending of crude-oils at petroleum refineries by allocating or segregating the
crude-oils into selected storage vessels to maximize the minimum singular value of the static
gain matrix which will inherently provide a more robust and resilient process subject to
disturbances even in the worst or lowest gain directions.
The most common approach for the dither signal is to simply implement independent pseudo-random
binary sequences (PRBS) or generalized binary noise sequences (GBNS) (Tulleken,
1990) for each variable with a somewhat arbitrary and small perturbation size or tolerance (and
heuristically applied switching intervals). Unfortunately albeit uncorrelated with the system
noise, this does not consider the structure or behaviour of the process in terms of its multivariate
and interactive nature of the controlled (dependent) and manipulated (independent) variables
working together. Instead, our novel and simple dither signal design technique allows us to
solve an LP to determine the dither signal’s amplitude or size using the steady-state gain matrix
and input-output lower and upper acceptable deviations or differences. The dither signal design
problem (DSDP) is a mathematical programming problem shown in equations (1a) and (1b)
below:
DSDP1I … Physical/Unrotated/Untransformed Input Space
maximize: sum over (j,t) {mx(j,t) / (DXU(j) - DXL(j))}
subject to: dy(i,t) = G(i,1:NX) * dx(1:NX,t)} for all i = 1..NY, t = 1..NT (1a)
dx(j,t) = SX(j,t) * mx(j,t) for all j = 1..NX, t = 1..NT
DXL(j) <= dx(j,t) <= DXU(j) for all j = 1..NX, t = 1..NT
DYL(i) <= dy(i,t) <= DYU(i) for all i = 1..NY, t = 1..NT
0 <= mx(j,t) <= INF for all j = 1..NX, t = 1..NT
DSDP1O … Physical/Unrotated/Untransformed Output Space
maximize: sum over (i,t) {my(i,t) / (DYU(i) - DYL(i))}
subject to: dy(i,t) = G(i,1:NX) * dx(1:NX,t)} for all i = 1..NY, t = 1..NT (1b)
dy(j,t) = SY(i,t) * my(i,t) for all j = 1..NY, t = 1..NT
DXL(j) <= dx(j,t) <= DXU(j) for all j = 1..NX, t = 1..NT
DYL(i) <= dy(i,t) <= DYU(i) for all i = 1..NY, t = 1..NT
0 <= my(i,t) <= INF for all i = 1..NY, t = 1..NT
where dy(i,t) is the i-th output for the t-th dither signal, sequence, series or trial, dx(j,t) is for the
j-th input and G(i,j) is the (i,j) zero-frequency gain matrix element. The parameters DXL, DXU,
DYL and DYU are the lower and upper delta bounds for dy and dx which can be asymmetrical.
SX(j,t) and SY(i,t) are the signs of the j-th input and i-th output dither signal trial (i.e., -1 or +1)
and mx(j,t) and my(i,t) are their corresponding magnitudes or sizes which are non-negative
3. optimization variables and are maximized in the weighted objective function. Most PRBS/GBNS
dither signals have a single fixed amplitude for the switching i.e., each trial has the same
magnitude, where here we allow for each trial to have its own variable size. If this is not
required then mx(j,t) and my(i,t) can be replaced by mx(j) and my(i) instead.
To exogenously populate SX and SY (user-supplied), these are usually selected or specified to
be uncorrelated or orthogonal i.e., they will have zero (0) off-diagonal elements in the
covariance matrices SX’ * SX and SY’ * SY. In a factorial design of an experiment, the number
of trials will be 2^NX (DSDP1I) or 2^NY (DSDPO) where for example SX(1,1:NT) will switch
from -1 to +1 every 2^(NX-1) times, SX(2,1:NT) will switch from -1 to +1 every 2^(NX-2) times
and SX(NX,1:NT) will switch from -1 to +1 every 2^(NX-NX) = 2^0 = 1 times. The ordering of
the trials within an experiment is arbitrary given that the overall goal of the design is to perturb
or excite the MIMO process using input and/or output directions that provide information-rich
data to then perform the identification and estimation of the static or dynamic industrial model.
The PRBS/GBNS switching time-periods or time-intervals between each trial is usually
configured to be some factor or multiplier of the effective time-constant of the system (Tullekin,
1990 and Conner and Seborg, 2004) where there is unfortunately less theory available for their
selection.
Following the work of Koung and MacGregor (1993) for ill-conditioned processes or processes
with strong output directionality, the DSDP is modified to allow for the use of rotated,
transformed or projected inputs and outputs where instead of the G matrix being provided its
SVD is now required i.e., G(1:NY,1:NX) = U(1:NY,1:NY) * S(1:NY,1:NX) * V(1:NX,1:NX)’.
DSDP2I … Projected/Rotated/Transformed Input Space
maximize: sum over (j,t) {mw(j,t) / abs(V(j,1:NX)) * (DXU(1:NX) - DXL(1:NX))}
subject to: dy(i,t) = U(i,1:NY) * dz(1:NY,t) for all i = 1..NY, t = 1..NT (2a)
dz(i,t) = S(i,1:NX) * dw(1:NX,t) for all I = 1..NY, t = 1..NT
dx(j,t) = V(j,1:NX) * dw(1:NX,t) for all j = 1..NX, t = 1..NT
dw(j,t) = SW(j,t) * mw(j,t) for all j = 1..NX, t = 1..NT
DXL(j) <= dx(j,t) <= DXU(j) for all j = 1..NX, t = 1..NT
DYL(i) <= dy(i,t) <= DYU(i) for all i = 1..NY, t = 1..NT
-INF <= dw(j,t) <= INF for all j = 1..NX, t = 1..NT
0 <= mw(j,t) <= INF for all j = 1..NX, t = 1..NT
DSDP2O … Projected/Rotated/Transformed Output Space
maximize: sum over (i,t) {mz(i,t) / abs(U(i,1:NY)) * (DYU(1:NY) - DYL(1:NY))}
subject to: dy(i,t) = U(i,1:NY) * dz(1:NY,t) for all i = 1..NY, t = 1..NT (2b)
dz(i,t) = SZ(i,t) * mz(i,t) for all i = 1..NY, t = 1..NT
dz(i,t) = S(i,1:NX) * dw(1:NX,t) for all i = 1..NY, t = 1..NT
dx(j,t) = V(j,1:NX) * dw(1:NX,t) for all j = 1..NX, t = 1..NT
DXL(j) <= dx(j,t) <= DXU(j) for all j = 1..NX, t = 1..NT
DYL(i) <= dy(i,t) <= DYU(i) for all i = 1..NY, t = 1..NT
4. -INF <= dz(i,t) <= INF for all i = 1..NY, t = 1..NT
0 <= mz(i,t) <= INF for all i = 1..NY, t = 1..NT
where dz(i,t) is the i-th projected output for the t-th dither signal trial and dw(j,t) is for the j-th
projected input. The other parameters and variables SW, SZ, mw and mz are similar to DSDP1
except that these are for the projections, transformations or rotations onto the singular directions
decomposed from the estimate of the asymptotic gain matrix.
The fundamental idea of our novel DSDP, for better open/closed-loop estimation of industrial
models, is to maximize the magnitudes, amplitudes or sizes of the physical/projected
input/output dither signals in order to increase the signal-to-noise ratio (SNR) of the experiment
and to stimulate the MIMO process in all of its low and high gain directions as much as possible
without significantly disrupting or distracting the system. To our knowledge, the DSDP is the
first time an optimization approach has been used to effectively design the experimental
PRBS/GNBS trials with a priori information of the systems static gain structure and allowed
sensitivities to process perturbations. Ad hoc approaches found in Koung and MacGregor
(1993) for BIBO/DIDO systems and extended to MIMO systems by Conner and Seborg (2004)
to set the dither signal sizes using an arbitrary “alpha” parameter to manually limit the amount of
variation in the physical inputs and outputs when the low gain directions are amplified. However
in this technique, we use the power of easily accessible linear programming (LP) to maximize
the magnitude of each dither signal for each experimental trial which automatically determines
“alpha” for the user based on the allowed or acceptable input/output delta bounds and given a
preliminary estimate of the steady-state gain matrix. Another method to automate the dither
signal amplitudes can be found in Adetola and Guay (2006) but this requires a complicated
infeasible interior-point QP solver and a tailored solving strategy given that a matrix determinant
forms the majority of the constraint set. In addition, no insight for projected input/output spaces
is afforded and there are no bounds included to limit the physical input-output space of the
system cf. our DXL, DXU, DYL and DYU.
The following example implemented in IMPL and taken from Koung and MacGregor (1993) will
highlight our new method.
Two by Two (2 x 2) Ill-Conditioned Distillation Process Example
Figure 1 shows the DSDP flowsheet for the small problem presented in Koung and MacGregor
(1993) and Haggblom and Boling (2008) where the gain and SVD matrices respectively are
below and the UPS and IML files can be found in Appendices A and B respectively.
G
|0.505 -0.495|
|0.495 -0.505 | = U S VT
|0.707 -0.707| |1.0 0.0 | |0.707 -0.707|
|0.707 0.707 | |0.0 0.01| |-0.707 -0.707|
5. Figure 1. 2 x 2 DSDP Flowsheet.
When we solve in IMPL for the DSDP2I case with [DXL, DXU] = [-11.0, 11.0] and [DYL, DYU] =
[-1.1, 1.1], SW1 = [-1,-1,1,1] and SW2 = [-1,1,-1,1] using GLPK, LPSOLVE, COINMP and
IPOPT, we get the following different solutions for the variables dw and dx:
GLPK …
dw1 = |-1.41 -1.41 1.41 0.0 |
dw2 = | -14.14 14.14 -14.14 15.55 |
dx1 = | 9.0 -11.0 11.0 -11.0 |
dx2 = | 11.0 -9.0 9.0 -11.0 |
LPSOLVE …
dw1 = |-1.41 -1.41 1.41 1.41 |
dw2 = | -14.14 14.14 -14.14 14.14 |
dx1 = | 9.0 -11.0 11.0 -9.0 |
dx2 = | 11.0 -9.0 9.0 -11.0 |
COINMP …
dw1 = | 0.0 0.0 0.0 0.0 |
dw2 = | -15.55 15.55 -15.55 15.55 |
dx1 = | 11.0 -11.0 11.0 -11.0 |
dx2 = | 11.0 -11.0 11.0 -11.0 |
IPOPT …
dw1 = | -0.84 -0.98 0.87 0.99 |
dw2 = | -14.71 14.57 -14.68 14.56 |
dx1 = | 9.82 -11.0 11.0 -9.60 |
dx2 = | 11.0 -9.62 9.77 -11.0 |
The objective function value for all runs is 2.0 given our scaling (equations 2a and 2b). It should
be clear that the DSDP is degenerate given that for the same model and data each solver finds
a different solution but with the same objective function value. The LPSOLVE solution closely
6. matches the solution provided in Koung and MacGregor (1993) but this is by coincidence only.
The most important aspect of these results is that DSDP itself (automatically) determined that
“alpha” or the arbitrary amount to amplify the low gain direction where interestingly the COINMP
solution only dithers or perturbs the low gain direction and the physical inputs (dx) are
completely correlated i.e., DX’ * DX = 484 * [1,1;1,1] with all diagonal and off-diagonal elements
equal.
In summary, the ubiquitous existence of feedback in most industrial data should not pose any
significant limitation to the unbiased estimation of industrial models in a continuous
improvement framework especially when the solution from the DSDP is applied *before* the
industrial data collection using a preliminary gain matrix of the process. This approach is not
only appropriate for on-line industrial model estimation but should also be used for the off-line
process and production models found in planning and scheduling decision-making in order to
reduce the offset between the actual and its planned or scheduled target (Kelly and Zyngier,
2008).
References
Box, G.E.P., MacGregor, J.F., “Analysis of closed-loop dynamic-stochastic systems”,
Technometrics, 16, 391-398, (1974).
Ljung, L., Gustavsson, I., Soderstrom, T., “Identification of linear multivariable systems
operating under linear feedback control”, IEEE Transactions on Automatic Control, 19, 836-840,
(1974).
Box, G.E.P., MacGregor, J.F., “Parameter estimation with closed-loop operating data”,
Technometrics, 18, 371-384, (1976).
Tulleken, H.J.A.F., “Generalized binary noise test-signal concept for improved identification-experiment
design, Automatica, 26, 37-49, (1990).
Koung, C.-W., MacGregor, J.F., “Design of identification experiments for robust control. A
geometric approach for bivariate processes”, Industrial Engineering Chemistry Research, 32,
(1993).
MacGregor, J.F., and Fogal, D.T., “Closed-loop identification: the role of the noise model and
prefilters”, Journal of Process Control, 5, 163, 171, (1995).
Jiang, X., “Closed-loop system identification with operator intervention”, PhD Thesis, University
of Toronto, (1996).
Kelly, J.D., “Tuning digital PI controllers for minimal variance in the manipulated input moves
applied to imbalanced systems with delay”, Canadian Journal of Chemical Engineering, 76, 967-
974, (1998).
Kelly, J.D., Forbes, J.F., “Structured approach to storage allocation for improved process
controllability”, American Institute of Chemical Engineering Journal, 44, 1832-1840, (1998).
Shreesha, C., Gudi, R.D., “Analysis of pre-filter based closed-loop control-relevant identification
methodologies”, Canadian Journal of Chemical Engineering, 82, (2004).
7. Conner, J.S., Seborg, D.E., “An evaluation of MIMO input designs for process identification”,
Industrial and Engineering Chemistry Research, 43, 3847-3854, (2004).
Adetola, V., Guay, M., “Parameter convergence in adaptive extreme seeking control”, ADCHEM
2006, IFAC International Symposium on Advanced Control of Chemical Processes, Brazil, 567-
572, (2006).
Vanli, O.A.,Del Castillo, E., “Closed-loop system identification for small samples with
constraints”, Technometrics, 49, 382, (2007).
Haggblom, K.E., Boling, J.M., “Experimental evaluation of input designs for MIMO system
identification”, ABO AKADEMI, Process Control Laboratory, Report 08-1, (2008).
Kelly, J.D., Zyngier, D., "Continuously improve planning and scheduling models with parameter
feedback", FOCAPO 2008, July, (2008).
Sababadi, M.S., Poshtan, J., “Identification of an ill-conditioned distillation column process using
rotated signals as input”, 7th IFAC International Symposium on Advanced Control of Chemical
Processes, Turkey, 834-839, (2009).
Kuramoto, A.S.R., Vaillant, O.R., Garcia, C., “Effectiveness of signal excitation design methods
for ill-conditioned processes identification”, 8th IFAC International Symposium on Advanced
Control of Chemical Processes, Singapore, 337-342, (2012).
Appendix A – DSDP-IMF.UPS File
i M P l (c)
Copyright and Property of i n d u s t r I A L g o r i t h m s LLC.
checksum,130
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Unit-Operation-Port-State-Superstructure (UOPSS) *.UPS File.
! (This file is automatically generated from the Python program IALConstructer.py)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
&sUnit,&sOperation,@sType,@sSubtype,@sUse
MW1,,processc,%blackbox,
MW2,,processc,%blackbox,
MX1,,processc,,
MX2,,processc,,
MY1,,processc,,
MY2,,processc,,
MZ1,,processc,%blackbox,
MZ2,,processc,%blackbox,
S1,,processc,,
S2,,processc,,
U1,,processc,,
U2,,processc,,
VT1,,processc,,
VT2,,processc,,
&sUnit,&sOperation,@sType,@sSubtype,@sUse
! Number of UO shapes = 14
&sAlias,&sUnit,&sOperation
ALLPARTS,MW1,
ALLPARTS,MW2,
ALLPARTS,MX1,
ALLPARTS,MX2,
ALLPARTS,MY1,
ALLPARTS,MY2,
ALLPARTS,MZ1,
ALLPARTS,MZ2,
ALLPARTS,S1,
ALLPARTS,S2,
ALLPARTS,U1,
ALLPARTS,U2,
ALLPARTS,VT1,
ALLPARTS,VT2,
&sAlias,&sUnit,&sOperation
&sUnit,&sOperation,&sPort,&sState,@sType,@sSubtype
9. ALLPATHS,MW1,,dw,,S1,,i,
ALLPATHS,MW2,,dw,,S2,,i,
ALLPATHS,MZ1,,o,,U1,,i,
ALLPATHS,MZ2,,o,,U2,,i,
ALLPATHS,MX1,,dx,,VT1,,i,
ALLPATHS,MX2,,dx,,VT2,,i,
&sAlias,&sUnit,&sOperation,&sPort,&sState,&sUnit,&sOperation,&sPort,&sState
Appendix B – DSDP-IMF.IML File
i M P l (c)
Copyright and Property of i n d u s t r I A L g o r i t h m s LLC.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Calculation Data (Parameters)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
&sCalc,@sValue
START,-1.0
BEGIN,0.0
END,4.0
PERIOD,1.0
LARGE,1000.0
DXL1,-11.0
DXU1,11.0
DXL2,-11.0
DXU2,11.0
DYL1,-1.1
DYU1,1.1
DYL2,-1.1
DYU2,1.1
&sCalc,@sValue
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Constant Data (Parameters)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
&sData,@sValue
VT1,VT2
0.707,-0.707
-0.707,-0.707
&sData,@sValue
&sData,@sValue
S1,S2
1.0,0.0
0.0,0.01
&sData,@sValue
&sData,@sValue
U1,U2
0.707,-0.707
0.707,0.707
&sData,@sValue
&sData,@sValue
SX1,SX2
0,0
&sData,@sValue
&sData,@sValue
SW1,SW2
-1,-1
-1,1
1,-1
1,1
&sData,@sValue
&sData,@sValue
SZ1,SZ2
0,0
&sData,@sValue
&sData,@sValue
SY1,SY2
0,0
&sData,@sValue
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Chronological Data (Periods)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@rPastTHD,@rFutureTHD,@rTPD
START,END,PERIOD
@rPastTHD,@rFutureTHD,@rTPD
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Construction Data (Pointers)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!