Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR SPECIFYING AND VISUALIZING ROBUST TUNING OF MODEL-BASED CONTROLLERS
Document Type and Number:
WIPO Patent Application WO/2015/139112
Kind Code:
A1
Abstract:
A method includes obtaining information identifying uncertainties associated with multiple parameters of a model (202) for an industrial model-based controller (104, 204). The method also includes obtaining information identifying multiple tuning parameters for the controller. The method further includes generating a graphical display identifying (i) one or more expected step responses (1102) of an industrial process (210) that are based on the tuning parameters of the controller and (ii) an envelope (602a-602i) around the one or more expected step responses that is based on the uncertainties associated with the parameters of the model. The parameters could include a process gain, a time constant, and a time delay associated with the model. The uncertainties associated with the parameters of the model could include, for each parameter of the model, an uncertainty expressed in the time domain. The information identifying the tuning parameters could include a settling time and an overshoot associated with the controller.

Inventors:
SHI DAWEI (US)
WANG JIADONG (US)
FORBES MICHAEL (US)
BACKSTROM JOHAN U (US)
CHEN TONGWEN (US)
Application Number:
PCT/CA2015/000146
Publication Date:
September 24, 2015
Filing Date:
March 10, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HONEYWELL ASCA INC (CA)
International Classes:
G05B17/02
Domestic Patent References:
WO2008139006A12008-11-20
Foreign References:
US6253113B12001-06-26
US20020111758A12002-08-15
Other References:
See also references of EP 3146395A4
Attorney, Agent or Firm:
MANOLAKIS, Emmanuel (1 Place Ville-Marie37th Floo, Montréal Québec H3B 9P4, CA)
Download PDF:
Claims:
WHAT IS CLAIMED IS:

1. A method comprising:

obtaining information identifying uncertainties associated with multiple parameters of a model (202) for an industrial model-based controller (104, 204); obtaining information identifying multiple tuning parameters for the controller; and

generating a graphical display identifying (i) one or more expected step responses (1102) of an industrial process (210) that are based on the tuning parameters of the controller and (ii) an envelope (602a-602i) around the one or more expected step responses that is based on the uncertainties associated with the parameters of the model.

2. The method of Claim 1, wherein the parameters comprise a process gain, a time constant, and a time delay associated with the model.

3. The method of Claim 2, wherein the uncertainties associated with the parameters of the model comprise, for each parameter of the model, an uncertainty expressed in the time domain. 4. The method of Claim 1, further comprising:

identifying, for different combinations of values for the parameters of the model, multiple expected step responses of the industrial process at multiple time instances; and

identifying the envelope by identifying, for each time instance, a maximum value of the step responses at that time instance and a minimum value of the step responses at that time instance;

wherein the envelope defines a range of step responses given the uncertainties associated with the parameters of the model. 5. The method of Claim 1, wherein obtaining the information identifying the uncertainties associated with the parameters of the model comprises receiving the information identifying the uncertainties from a user.

6. An apparatus comprising:

at least one memory (136) configured to store (i) information identifying uncertainties associated with multiple parameters of a model (202) for an industrial model-based controller (104, 204) and (ii) information identifying multiple tuning parameters for the controller; and

at least one processing device (134) configured to generate a graphical display that identifies (i) one or more expected step responses (1102) of an industrial process (210) that are based on the tuning parameters of the controller and (ii) an envelope (602a-602i) around the one or more expected step responses that is based on the uncertainties associated with the parameters of the model.

7. The apparatus of Claim 6, wherein:

the information identifying the tuning parameters comprises a settling time and an overshoot associated with the controller; and

the at least one processing device is configured to determine the one or more expected step responses based on a reference tracking performance ratio and a disturbance rejecting performance ratio associated with the controller.

8. The apparatus of Claim 7, wherein the at least one processing device is configured to determine the one or more expected step responses using an iterative process to identify a value of the reference tracking performance ratio and a value of the disturbance rejecting performance ratio using a constrained optimization problem.

9. The apparatus of Claim 8, wherein the at least one processing device is configured during the iterative process to:

tune the disturbance rejecting performance ratio to obtain an optimal settling time for a fixed value of the reference tracking performance ratio;

tune the reference tracking performance ratio to activate a constraint based on the overshoot; and

optimize the settling time with respect to the reference tracking performance ratio.

10. A method comprising:

obtaining information identifying uncertainties associated with multiple parameters of a model (202) for an industrial model-based controller (104, 204); and identifying multiple tuning parameters for the controller based on the uncertainties and one or more tuning specifications, wherein the one or more tuning specifications include constraints on a settling time and an overshoot associated with the controller.

11. The method of Claim 10, wherein identifying the multiple tuning parameters comprises identifying the multiple tuning parameters based on a reference tracking performance ratio and a disturbance rejecting performance ratio associated with the controller.

12. The method of Claim 11, wherein identifying the multiple tuning parameters further comprises using an iterative process to identify a value of the reference tracking performance ratio and a value of the disturbance rejecting performance ratio using a constrained optimization problem.

13. The method of Claim 12, wherein the iterative process comprises: tuning the disturbance rejecting performance ratio to obtain an optimal settling time for a fixed value of the reference tracking performance ratio;

tuning the reference tracking performance ratio to activate the constraint on the overshoot; and

optimizing the settling time with respect to the reference tracking performance ratio.

14. The method of Claim 10, wherein:

the parameters comprise a process gain, a time constant, and a time delay associated with the model; and

the uncertainties associated with the parameters of the model comprise, for each parameter of the model, an uncertainty expressed in the time domain.

Description:
METHOD AND APPARATUS FOR SPECIFYING AND VISUALIZING ROBUST TUNING OF MODEL-BASED CONTROLLERS

CROSS-REFERENCE TO RELATED APPLICATION AND PRIORITY CLAIM

[0001] This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 61/954,912 filed on March 18, 2014. This provisional patent application is hereby incorporated by reference in its entirety.

TECHNICAL FIELD

[0002] This disclosure relates generally to industrial process control systems. More specifically, this disclosure relates to a method and apparatus for specifying and visualizing robust tuning of model-based controllers.

BACKGROUND

[0003] Model predictive control (MPC) techniques use one or more models to predict the future behavior of an industrial process. Control signals for adjusting the industrial process are then generated based on the predicted behavior. MPC techniques have become widely accepted in various industries, such as the oil and gas, pulp and paper, food processing, and chemical industries.

[0004] When tuning an MPC or other model-based process controller for industrial use, it is often necessary or desirable to find tuning parameters that ensure good performance in spite of both (i) process disturbances and (ii) mismatches between a model used by the controller and the actual process. This problem falls into the discipline of "control theory" and the practice known as "robust control." Standard robust control techniques use a concept known as "unstructured uncertainty," which generally involves analyzing and specifying performance in the frequency domain. These robust control techniques have been used to successfully tune process controllers in a variety of industries. SUMMARY

[0005] This disclosure provides a method and apparatus for specifying and visualizing robust tuning of model-based controllers.

[0006] In a first embodiment, a method includes obtaining information identifying uncertainties associated with multiple parameters of a model for an industrial model-based controller. The method also includes obtaining information identifying multiple tuning parameters for the controller. The method further includes generating a graphical display identifying (i) one or more expected step responses of an industrial process that are based on the tuning parameters of the controller and (ii) an envelope around the one or more expected step responses that is based on the uncertainties associated with the parameters of the model.

[0007] In a second embodiment, an apparatus includes at least one memory configured to store (i) information identifying uncertainties associated with multiple parameters of a model for an industrial model-based controller and (ii) information identifying multiple tuning parameters for the controller. The apparatus also includes at least one processing device configured to generate a graphical display that identifies (i) one or more expected step responses of an industrial process that are based on the tuning parameters of the controller and (ii) an envelope around the one or more expected step responses that is based on the uncertainties associated with the parameters of the model.

[0008] In a third embodiment, a method includes obtaining information identifying uncertainties associated with multiple parameters of a model for an industrial model-based controller. The method also includes identifying multiple tuning parameters for the controller based on the uncertainties and one or more tuning specifications, where the one or more tuning specifications include constraints on a settling time and an overshoot associated with the controller.

[0009] Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims. BRIEF DESCRIPTION OF THE DRAWINGS

[0010] For a more complete understanding of this disclosure, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which:

[0011] FIGURE 1 illustrates an example web manufacturing or processing system according to this disclosure;

[0012] FIGURE 2 illustrates an example internal model control structure employed for machine direction model predictive control (MD-MPC) according to this disclosure; and

[0013] FIGURES 3 through 12 illustrate details of an example technique for specifying and visualizing robust tuning of model-based controllers according to this disclosure.

DETAILED DESCRIPTION

[0014] FIGURES 1 through 12, discussed below, and the various embodiments used to describe the principles of the present invention in this patent document are by way of illustration only and should not be construed in any way to limit the scope of the invention. Those skilled in the art will understand that the principles of the invention may be implemented in any type of suitably arranged device or system.

[0015] As noted above, standard robust control techniques have been used to successfully tune model predictive control (MPC) and other model-based controllers in a variety of industries. However, standard robust control techniques often rely upon highly-trained and highly-knowledgeable personnel. This often makes it more difficult and expensive to tune model-based controllers.

[0016] This disclosure provides techniques that support robust tuning of MPC and other model-based controllers. Among other things, these techniques can be used by non-expert users or other users to specify model uncertainty and controller performance (i) in the time domain and (ii) with reference to process step responses.

While unstructured uncertainty is not an intuitive concept, non-expert or other users can specify a range of uncertainty for the values of simple model parameters. This allows the users to specify robust control designs using concepts that are intuitive and easy to understand.

[0017] Depending on the implementation, the techniques disclosed in this patent document allow for the robust tuning of model-based controllers. Example features of the techniques can include:

(1) the specification of model uncertainty in terms of simple model parameters;

(2) the specification of controller performance using simple time domain concepts (such as settling time and overshoot);

(3) the visualization of robust performance through step and disturbance response plots with envelopes of possible responses given the uncertainty of a model;

(4) an algorithm (such as a MATLAB algorithm) that takes user-friendly specifications and returns appropriate tuning parameters; and

(5) an algorithm (such as a MATLAB algorithm) that provides robust performance envelope visualization.

[0018] In some embodiments, a user interface can be provided that allows users to enter model uncertainty specifications and performance specifications. The user interface can also allow users to view resulting tuning parameters and visualize the resulting controller performance.

[0019] Note that in the following description, an example of this functionality is given with respect to use with a controller in a paper manufacturing system. However, this disclosure is not limited to use with controllers in paper manufacturing systems. The techniques disclosed in this patent document can be used with any suitable model-based controller that is used to control any aspect(s) of a process.

[0020] FIGURE 1 illustrates an example web manufacturing or processing system 100 according to this disclosure. As shown in FIGURE 1, the system 100 includes a paper machine 102, a controller 104, and a network 106. The paper machine 102 includes various components used to produce a paper product, namely a paper web 108 that is collected at a reel 110. The controller 104 monitors and controls the operation of the paper machine 102, which may help to maintain or increase the quality of the paper web 108 produced by the paper machine 102. In the following description, the machine direction (MD) of the web 108 denotes the direction along the (longer) length of the web 108.

[0021] In this example, the paper machine 102 includes at least one headbox

112, which distributes a pulp suspension uniformly across the machine onto a continuous moving wire screen or mesh 113. The pulp suspension entering the headbox 112 may contain, for example, 0.2-3% wood fibers, fillers, and/or other materials, with the remainder of the suspension being water.

[0022] Arrays of drainage elements 114, such as vacuum boxes, remove as much water as possible to initiate the formation of the web 108. An array of steam actuators 116 produces hot steam that penetrates the paper web 108 and releases the latent heat of the steam into the paper web 108. An array of re wet shower actuators 118 adds small droplets of water (which may be air atomized) onto the surface of the paper web 108. The paper web 108 is then often passed through a calender having several nips of counter-rotating rolls. Arrays of induction heating actuators 120 heat the shell surfaces of various ones of these rolls. [0023] Two additional actuators 122-124 are shown in FIGURE 1. A thick stock flow actuator 122 controls the consistency of incoming stock received at the headbox 112. A steam flow actuator 124 controls the amount of heat transferred to the paper web 108 from drying cylinders. The actuators 122-124 could, for example, represent valves controlling the flow of stock and steam, respectively. These actuators may be used for controlling the dry weight and moisture of the paper web 108. Additional flow actuators may be used to control the proportions of different types of pulp and filler material in the thick stock and to control the amounts of various additives (such as retention aid or dyes) that are mixed into the stock.

[0024] This represents a brief description of one type of paper machine 102 that may be used to produce a paper product. Additional details regarding this type of paper machine 102 are well-known in the art and are not needed for an understanding of this disclosure.

[0025] In order to control the paper-making process, one or more properties of the paper web 108 may be continuously or repeatedly measured. The web properties can be measured at one or various stages in the manufacturing process. This information may then be used to adjust the paper machine 102, such as by adjusting various actuators within the paper machine 102. This may help to compensate for any variations of the web properties from desired targets, which may help to ensure the quality of the web 108.

[0026] As shown in FIGURE 1, the paper machine 102 includes one or more scanners 126-128, each of which may include one or more sensors. Each scanner 126- 128 is capable of measuring one or more characteristics of the paper web 108. For example, each scanner 126-128 could include sensors for measuring the tension, caliper, moisture, anisotropy, basis weight, color, gloss, sheen, haze, surface features (such as roughness, topography, or orientation distributions of surface features), or any other or additional characteristics of the paper web 108.

[0027] Each scanner 126-128 includes any suitable structure or structures for measuring or detecting one or more characteristics of the paper web 108, such as one or more sets of sensors. The use of scanners represents one particular embodiment for measuring web properties. Other embodiments could be used, such as those including one or more stationary sets or arrays of sensors, deployed in one or a few locations across the web or deployed in a plurality of locations across the whole width of the web such that substantially the entire web width is measured.

[0028] The controller 104 receives measurement data from the scanners 126- 128 and uses the data to control the paper machine 102. For example, the controller 104 may use the measurement data to adjust any of the actuators or other components of the paper machine 102. The controller 104 includes any suitable structure for controlling the operation of at least part of the paper machine 102, such as a computing device. Note that while a single controller 104 is shown here, multiple controllers 104 could be used, such as different controllers that control different variables of the web.

[0029] The network 106 is coupled to the controller 104 and various components of the paper machine 102 (such as the actuators and scanners). The network 106 facilitates communication between components of the system 100. The network 106 represents any suitable network or combination of networks facilitating communication between components in the system 100. The network 106 could, for example, represent a wired or wireless Ethernet network, an electrical signal network (such as a HART or FOUNDATION FIELDBUS network), a pneumatic control signal network, or any other or additional network(s).

[0030] The controller(s) 104 can operate to control one or more aspects of the paper machine 102 using one or more models. For example, each model could associate one manipulated variable with one controlled variable. A controlled variable generally represents a variable that can be measured or inferred and that is ideally controlled to be at or near a desired setpoint or within a desired range of values. A manipulated variable generally represents a variable that can be adjusted in order to alter one or more controlled variables.

[0031] In order to tune a controller 104, at least one operator console 130 can communicate with the controller 104 over a network 132. The operator console 130 generally represents a computing device that supports one or more techniques for robust tuning of MPC and other model-based controllers. The techniques for robust tuning of model-based controllers are described in more detail below. The network 132 represents any suitable network or combination of networks that can transport information, such as an Ethernet network. [0032] In this example, the operator console 130 includes one or more processing devices 134, one or more memories 136, and one or more interfaces 138. Each processing device 134 includes any suitable processing or computing device, such as a microprocessor, microcontroller, digital signal processor, field programmable gate array, application specific integrated circuit, or discrete logic devices. Each memory 136 includes any suitable storage and retrieval device, such as a random access memory (RAM) or Flash or other read-only memory (ROM). Each interface 138 includes any suitable structure facilitating communication over a connection or network, such as a wired interface (like an Ethernet interface) or a wireless interface (like a radio frequency transceiver).

[0033] Note that while the operator console 130 is described as implementing the technique(s) for robust tuning of model-based controllers, other types of devices could also be used. For instance, the operator console 130 could interact with a server 140, and the server 140 could actually execute the algorithms used to implement one or more techniques for robust tuning of model-based controllers. In this case, the operator console 130 could present a graphical user interface and interact with a user. The server 140 could include one or more processing devices, one or more memories, and one or more interfaces (similar to the operator console 130).

[0034] Although FIGURE 1 illustrates one example of a web manufacturing or processing system 100, various changes may be made to FIGURE 1. For example, other systems could be used to produce other paper or non-paper products. Also, while shown as including a single paper machine 102 with various components and a single controller 104, the system 100 could include any number of paper machines or other machinery having any suitable structure, and the system 100 could include any number of controllers. In addition, FIGURE 1 illustrates one example operational environment in which MPC or other model-based controller(s) can be tuned. This functionality could be used in any other suitable system.

[0035] In the following description, robust tuning techniques are described with respect to an MD-MPC tuning problem under the internal model control structure, which helps to simplify the tuning problem. "MD-MPC" here indicates that the controller being tuned is used to control an MD property of a web 108 using an MPC controller. Instead of tuning the weighting matrices in the MPC optimization problem, two filter parameters (which are referred to as λ-parameters) are used to adjust the closed-loop performance of the controller. It is assumed that a nominal process model is known, and parametric uncertainties on the process parameters are considered. Performance requirements are specified in terms of overshoot and settling time. This helps to maintain the friendliness of the proposed results to paper machine operators or end users but increases the difficulty of the analysis and parameter design. Due to the inevitable existence of time delays, analytical expressions for the closed-loop responses and the performance indices are not used. The structure of the resultant underlying optimization problem thus becomes unclear. Moreover, to obtain a satisfactory user experience, the computation time for the tuning procedure can be very limited.

[0036] Considering these difficulties, an efficient heuristic approach can be utilized to find a solution to the tuning problem. Example features of one heuristic approach include the following:

(1) Based on the small gain theorem, a sufficient condition for robust stability under the parametric uncertainties is presented.

(2) An efficient performance visualization technique is proposed, which allows the characterization of all possible step responses of a set of systems described by the parametric uncertainties. To improve the user experience, a fast implementation of the technique is also discussed.

(3) The parameter tuning problem is cast into a constrained optimization problem. To solve this problem, the empirical monotonic/unimodality properties of the overshoot and settling time with respect to the λ-parameters are analyzed.

(4) Utilizing the visualization technique and the above properties, an iterative tuning algorithm is proposed to solve the optimization problem, based on which the model parameters can be tuned with a satisfactory performance within an acceptable computation time. The efficiency of the algorithm is demonstrated by an identified process model that is used for MD-MPC of a paper machine at an industrial site.

[0037] SYSTEM DESCRIPTION AND PROBLEM FORMULATION

[0038] FIGURE 2 illustrates an example internal model control structure 200 employed for MD-MPC according to this disclosure. This closed-loop system includes three main parts: an MD model 202, a MPC controller 204, and user- specified filters (F, and F d ) 206-208.

[0039] In some embodiments, the MD model 202 represents a single-input, single-output (SISO) MD process 210 as a first-order-plus-dead-time (FOPDT) model, which can have the form:

go

Ga(s)

T p0 s + 1

(1) where go, T p0 , and t o indicate the process gain, time constant, and time delay, respectively, of the MD process. A discrete-time state-space realization of the model in Equation (1) can be written as:

Ax(k) + Bu(k)

C.v( k) + d(k) .

(2)

Note that the time delay of the model in Equation (1) has been absorbed in (A, B, C, D) so that u(k) can be used instead of u(k-Tdo) (J d o is a discretized version of t d o)- Since using Au(k) as an input simplifies the predictions in MPC iterations, the state- space model in Equation (2) can be restructured as follows:

(3) which is used in the derivation of the MD-MPC solution.

[0040] To generate an MPC solution (considering the MPC for MD control), a prediction model can be used to obtain estimations of controlled variables in a time horizon. Let H u denote the control horizon and H p denote the prediction horizon (where \<H U <H P ). Based on Equation (3), the prediction model can be derived as follows:

X a (k + i) = A X a ik)

+ Ai-iB a u{k + j - l) ,

y(k + i) - C,.r ( - ), (4) where i=l, 2, H p . In MD-MPC, the following cost function can be defined for obtaining a control move: mm J =(Y - Y rei ) T Qi (Y - y ref ) + AU T Q 2 AU

AU

+ (U - U It>f ) T Q 3 {U - U ref ),

(5) where:

Here, U re f and 7 re are dimension-compatible vectors containing reference signals of the corresponding variables at different time instants. Also, Q } , Q 2 , and Q3 are weighting matrices.

[0041] In practice, physical constraints on actuators can be taken into account when solving the above quadratic programming (QP) problem. However, it is well- known that the solution of a constrained QP problem may need to be numerically computed, and this process can take a long time (which can be undesirable in various circumstances). To simplify the tuning analysis, an unconstrained MPC problem can be considered instead. Thus, a closed-form solution can be easily derived:

Au(k)

= z[{z - 1 ) - (z - ί)ξΚ,θ(ζ) - K u - L ] -^K yt Y ref

+ Z [(Z - 1) ~ (Z - ΐ)ξΚ χ θ(ζ) - ξ /γ ' ,, ^ " ^K. r t U r . f . (7)

The expressions of ξ, K x , K^ \ , K x and K yt are presented below and can be obtained by standard derivations in MPC.

[0042] With respect to the two user-specified filters F r and F d 206-208 in FIGURE 2, these filters 206-208 can significantly affect the controller performance. These filters 206-208 are used respectively for filtering the output target y tgt (k) and the estimated disturbance d(k) . Thus, a two-degrees of freedom (2DOF) model predictive controller can have two main tuning parameters, namely (i) the desired closed-loop time constant for disturbance rejection and (ii) the desired closed-loop time constant for setpoint tracking. With the filtered signals, a reference trajectory can be calculated as follows:

Here, y rej (k)=f r (z)y tgt (k)-f d (z) d{k) , where f r (z) and f d (z) are a reference tracking filter and a disturbance rejecting filter, which can be defined as follows: f (z - hr Z ~ X - ~ T<i f , ( r ) = bdZ~ l - ~Td MZ) - 1 - OrZ- i " , ~ j l - a d z-^ ' (9) where a = e ~ T ¾ , K = 1 - a r , a d = e ~ fc , b d = l - a d _ Parameters λ and λ ά are called the reference tracking performance ratio and the disturbance rejecting performance ratio, respectively. From the state-spaces of f r (z) and f d (z), F r and Fd can be readily constructed, such as by using a procedure similar to the construction of the prediction model in Equation (4).

[0043] Note that the two filters F r and F d 206-208 enable one to treat reference tracking and disturbance rejection separately. Moreover, through the design of the filter F r 206, the response of the output to the target signal can be directly controlled without affecting the disturbance and noise rejection (if it exists). With the help of this 2DOF control, some user-familiar features of the system (such as overshoot, settling time, or tracking error) can be linked to X and X d , which simplifies the following closed-loop tuning and makes tuning analysis more user-friendly. Additional details regarding the use of the F r and F d filters 206-208 to obtain 2DOF are provided in U.S. Patent Application No. 13/907,495 filed on May 31, 2013, which is hereby incorporated by reference in its entirely.

[0044] The MD-MPC tuning problem can therefore involve determining how to manipulate X and d so that (i) the closed-loop system in FIGURE 2 is robustly stable and (ii) one or more controlled variables will track one or more output targets with small overshoot and quick response. Although there are advantages to using 2DOF control, it cannot be denied that tuning two parameters is more difficult than tuning one parameter. As a result, the control structure in FIGURE 2 can be revisited, and a check can be made whether the tuning of λ and λα can be separated. Looking at the stability of the closed-loop system (as it could be of the highest priority during tuning), it can be seen from FIGURE 2 and the expression of F r that the system's stability is only dependent on d . Therefore, it is possible to ignore the effects of λ when examining the closed-loop stability. Moreover, it can be seen that the main effect of λ on F r is to change the time constant of the filter F r 206, which plays a role in balancing overshoot with response speed. In other words, as λ increases, the overshoot of the closed-loop system becomes smaller, while the system's response gets slower.

[0045] ROBUST STABILITY ANALYSIS

[0046] This section discusses the tuning of λ and X d . Robust stability analysis, as one part of tuning λα, is discussed first. The outcome of the analysis in this section results in a feasible region λ G [ , * ; 00 ] such that the closed-loop system is stable, which provides reference for an iterative parameter tuning procedure described later.

[0047] FIGURES 3 through 12 illustrate details of an example technique for specifying and visualizing robust tuning of model-based controllers according to this disclosure. For simplicity, the closed-loop system of FIGURE 2 is rearranged as shown in FIGURE 3. In FIGURE 3, the input i7 re / and ί/ have been removed as they do not change the stability of the whole system. Moreover, the MD model 202 has been combined with the F d filter 208 for brevity. This is indicated as where LA. and LA. are the transfer functions from u to Y re f and from y to Y re f, respectively. In FIGURE 3, the actual MD process 210 is represented by P, which is different from the MD model 202 and can be written in the multiplicative uncertainty form as follows:

P = GQ(I + WA) (10) where Δ indicates the model uncertainty and if is a weighting function.

[0048] By pulling out Δ, the closed-loop system can be represented in the general structure 400 (see FIGURE 4A). The expression of N and the transfer function of the closed-loop system in FIGURE 4A can be expressed as follows: Nil N12

N =

N21 N22

(Π)

F(N. A) = N 22 + N 2l A(I - Λ Γ ιιΔ) " 1 Λ Γ ΐ2 · ( 12)

It is known that the stability of the closed-loop system F(N,A) in FIGURE 4A is equivalent to the stability of the system 402 in FIGURE 4B {M=N U ). Therefore, the M-A system is examined instead of the whole system. In the MD-MPC system:

= -(1 + F 2 Fj + F 2 Fpo)- 1 F 2 Fp Q W.

For the M-A system, the robust stability has been well investigated. This system may be robustly stable if and only if:

det(l - M(j- j)A)≠ 0, Vw, V|A| < 1. (14) For SISO systems, the condition in Equation (14) is equivalent to:

\M(j )\ < 1 , Vo , V|A| < 1 . \W(ju)T{ju)\ < 1 , VCJ, ( 15)

T =

where i is the sensitivity function of the MD-MPC system.

[0049] Using the condition in Equation (15), a feasible region of λα can be obtained such that robust stability is guaranteed. In this procedure, the weighting function W can be chosen so that the obtained region of X d is not too conservative. From the expression of P, Δ = W ~i (P - Go)Go i . As a part of the robust stability condition, |Δ|<1, which implies that:

- Go)G,7 A | < 1 and |T* ' | > |(.P - GO)G'd · (16) This provides a way to construct the weighting function W using the maximum value of \(P-Go)Gd l I, which is known as the multiplicative error.

[0050] It is assumed here that the model uncertainty is only reflected in the model parameters because parametric uncertainty is relatively easy to understand for users, even for users without control backgrounds. With this consideration, for a FOPDT model with the following parametric uncertainty:

9o - g < g < g 0 + Ag,

T p0 - AT P < T P < T + ΔΥ ,.

tdo - At d < t d < t d o + At d , the multiplicative error can be expressed as:

The weighting function W can be constructed in any suitable manner, such as by following a similar argument as that in Hu et al., "Systematic h weighting function selection and its application to the real-time control of a vertical take-off aircraft," Control Engineering Practice, vol. 8, pp. 241-252, 2000 (which is hereby incorporated by reference in its entirety). The construction details and the expression of W(s) are shown below. Note that W(s) plays the role of translating parametric uncertainty into multiplicative uncertainty, which facilitates the tuning of Xd with classic robust control theory.

[0051] To determine the feasible region of Xd, one approach is to find all Xd's such that \T(jco)\ is less than \ W(jco)\ over all frequencies. From the expression of T(s), the following can be obtained:

T(s) = -e ~td0 * and |Γ(ω) | = 1 === .

AdJpoS + I y/(X d T p0 ;)- + 1 (19)

Thus, increasing d reduces \T(j(o)\ as well as the bandwidth of T(s) (see FIGURE 5 containing a graph 500 showing the effects of different Xd values). This means that the system becomes more robust as Xd increases. As a result, to get the feasible region of

Xd, the minimum Xd (denoted λ ά * ) can be identified so that the robust stability condition is satisfied.

[0052] PERFORMANCE VISUALIZATION & FAST IMPLEMENTATION

[0053] In this section, the performance visualization problem used in the parameter tuning procedure is considered. One objective of the visualization can be to graphically characterize the envelopes of the responses of a set of systems whose parameters lie within user-specified uncertainty intervals, subject to a step setpoint or load disturbance change, given the values of X and Xd- This can be useful in industrial applications as it allows operators to easily tell the resultant consequences of choosing a combination of X and X .

[0054] Mathematically, the performance visualization problem can be viewed as the composition of two sequences of optimization problems: Problem 1: For all t = 1 , 2, solve respectively max y{t)

s.t. t d G [t d , t d ] ;

9 e [ , 5];

X a (k + 1) = i„I„(¾) + Β α Διι(¾) ,

y(fc) = C a a (fe) + d(fc),

and

mm y(t)

s.t. t d e ¾;

Ϊ Ρ € [¾„ 7„J:

5 e [y, g} \

X a (k + l) - Λ, .\·„(/,·> + B a Au(k),

y(k) = C a X a (k) + d(k),

Au(k) = fMPe(U ta t , Yi g X.A k ) )- k = 1, 2, f ;

a (0) = 0,

where fMPc(U tg t, Ytgt, X a (k)) denotes the optimal solution to the constrained MPC problem.

[0055] Note that model mismatch is considered in the above optimization problems since Au(k) is calculated according to the nominal process parameters. Several issues exist in finding the exact solutions to Problem 1 , including:

(1) y(t) is not necessarily a convex function of the optimization parameters g, Tp, and td (in fact, g and T p are explicitly expressed in A a , while ¾ affects A a implicitly by controlling the size of the matrix);

(2) the complexity of the dependence of y(t) on g, T p , and t d increases with an increase of t; and

(3) as performance visualization is one step in the overall iterative tuning procedure, the computation time allowed to solve the above problem can be very limited.

[0056] In light of these issues, efficient low-complexity heuristic solutions to this problem can be used. For example, Problem 1 could be rewritten into an equivalent form:

Problem 2: For all t = 1 , 2, solve respectively h(t, g, t d . T p , lJ tq Ytgt-, X u (0), d)

S.t. t d G [i j , ¾] ,

and

min h{t, g, t d , T p , a (0) , d)

S.t. i d € [i d , t d ] ,

where h(t, g, t d , T p , U tgh Y tgt , X a (0), d) is obtained by composing y(t) with the state- space equation and optimal MPC law fMPc(U tg t, Y tg t, X a (k)).

[0057] In Problem 2, it can be observed that both optimization problems are nonlinear optimization problems within polytopes. According to the Karush-Kuhn- Tucker (KKT) necessary conditions, an optimizer can be obtained by enumerating all possible combinations of active constraints and solving the resultant unconstrained problems. As a result, one efficient heuristic can be to assume that the optimizer is achieved at one of the vertices of the polytopes, and the problems can therefore be solved by comparing the values of the objective function for only 2 points in the parameter space, which results in the following algorithm.

Algorithm 1 Performance visualization procedure

1 : Calculate the required responses y,- for the vertex % of the parametric set (? = 1, 2, . . . , 8) for time instants t—

1 , 2, . . . , JV;

2: Obtain the upper envelope y(t) by calculating max ie { 2 8} y,.{t) for t = 1, 2, . . . , N;

3: Obtain the lower envelope y(t) by calculating min ie /i,2 8} Vi(t) for f = 1, 2, . . . , N.

Although this heuristic is not guaranteed to be optimal, it is intuitive in that extreme behaviors of the step responses mostly happen at the extreme process parameters. Also, this method is applicable to the characterization of envelopes for other process variables, such as control variables (see below for details).

[0058] One potential benefit of the above-proposed performance visualization technique is that, for a user-specified set of processes, it allows direct evaluation of time-domain performance indices, the expressions of which are normally not possible to calculate analytically. It also provides feedback information for the overall iterative parameter tuning procedure.

[0059] Assuming all responses in a set have the same final values (and this assumption is automatically satisfied since the system under consideration is of type 1), the definitions of two well-accepted performance indices for the set of step responses are introduced, which are generalized from their counterparts for a single response.

• Definition 1 (Overshoot): The overshoot OS of a set of step responses with the same final value is the maximum value in all responses minus the final value divided by the final value.

• Definition 2 (Settling time): The settling time t s of a set of step responses with the same final value is the time required for all responses to reach and stay within a range of pre-specified percentage of the final value (a ±5% value is assumed below, although other values could be used).

[0060] Based on these definitions and the proposed visualization method, the values of OS and t s can be calculated numerically. For example, the OS can be computed by finding the maximum peak in y(t) and:

Qg = max{y(t) } - y(oo)

V(∞) (20)

The settling time can be calculated by reversing the time series y and y and identifying the time tag of the first element that escapes the ±5% interval.

[0061] One way to implement the proposed procedure is to run a real-time simulation using the HONEYWELL MPC and simulator, which is relatively time consuming (compared with the tuning procedure) and adds to the computational burden. In this regard, a fast simulator that only considers the unconstrained MPC (which reduces to an LQR controller) can be embedded in the visualization procedure. The fast simulator can be implemented in state-space models, which are compatible with both SISO and multiple-input, multiple-output (MIMO) cases. Satisfactory performance can be achieved for most cases (see below for details).

[0062] The visualization technique can be illustrated using extensive simulations. In the following, the proposed procedure is applied to FOPDT processes, and the results are shown in FIGURES 6A-6I. Three types of typical processes are considered. The first one has balanced time constant and delay (FIGURES 6A-6C), the second one is delay dominant (FIGURES 6D-6F), and the third one is time- constant dominant (FIGURES 6G-6I). For each type of process, the values of (X, Xd) are set to (1.5,1.5), (2, 1), and (1,2), respectively. To demonstrate the efficiency of the visualization procedure, the responses of one hundred randomly generated systems satisfying the parameter uncertainly levels are also plotted in each case (the uncertainty levels are taken as ±24% of the nominal process parameters). The parameters of each case and the measured overshoots and settling times are shown in FIGURES 6A-6I.

[0063] From FIGURES 6A-6I, it is observed that the resultant envelopes

602a-602i may efficiently characterize sets of possible responses generated by the processes with parameters lying within the specified intervals, even when the systems are unstable (such as in FIGURE 6E). The numerical evaluations of settling times and overshoots are also shown to be accurate. Notice that the computation complexity of the procedure is satisfactory, as a single run of the procedure for a FOPDT process takes only about 0.17 seconds on a laptop with an INTEL CORE-I5 processor and 6GB of memory.

[0064] ITERATIVE PARAMETER TUNING

[0065] In this section, an iterative tuning procedure is proposed for X and Xd based on the stabilizing region of X determined in the "ROBUST STABILITY ANALYSIS" section and the proposed visualization techniques in the "PERFORMANCE VISUALIZATION & FAST IMPLEMENTATION" section. For notational simplicity, t s (X, Id) and OS(X, X ) are used to represent the relationship of the settling time and the overshoot with X and Xd.

[0066] Before proceeding further, example performance requirements for parameter tuning are first presented, and the tuning problem is formulated into a constrained optimization problem. Here, time-domain specifications are employed to quantify the performance of a system, such as overshoot and settling time. In industrial applications, one possible preference of users on overshoot is that overshoot should not exceed a certain level. Since overshoot is a unified variable that does not depend on the time constant or time delay of the system, this preference can be easily implemented as a constraint that restricts the overshoot within a specified region. A smaller settling time may be more preferable, but the value of the settling time implicitly depends on the time constant and time delay. Therefore, in some embodiments, the settling time could be minimized in the tuning procedure. In this way, the parameter tuning problem can be formulated into the following optimization problem:

s.t. OS(A, A (/ ) < OS*. (21)

In order to develop algorithms to find pairs (X, Xd) that solve Equation (21), geometric properties of t s {X, Xd) and OS(X, X d ) can be explored. However, analytical expressions of t s (X, Xd) and OS(X, Xd) in general do not exist, especially for discrete-time delayed cases. With this in mind, one approach that can be taken is to provide a qualitative analysis on the properties of the function and then to numerically verify these properties.

[0067] As shown above in the "ROBUST STABILITY ANALYSIS" section, the stability of the system is determined by Xd, and the robustness of the system increases with increases of X . It is therefore intuitive from an engineering perspective that t s {X, d) is a unimodal function of X d for a fixed value of X. A very small value of Xd causes a large settling time due to relative aggressive and oscillatory responses, while a large value of d also causes a large settling time due to over-sluggish responses. Similarly, when Xd is fixed, t s (X, Xd) is a unimodal function of X. On the other hand, the filter F r 206 controls only the speed of the response, and thus a larger value of X leads to a smaller value of overshoot. In this way, OS(X, Xd) can be empirically treated as a monotonically decreasing function of X.

[0068] To verify this analysis, the relationship of t s (X, Xd) and OS(X, Xd) with X and Xd for an FOPDT process can be numerically evaluated (see FIGURES 7A and 7B where plots 700-702 respectively display overshoot and settling time against X and X d values). The envelopes in the visualization procedure can be generated within T P e [( 1 - r)T ≠u (1 + r)T p0 ].t d e [(I ~ r)ido, (1 +r)t d0 ], g G [(1 - r)g 0 , ( l + r)g 0 ], r being tne uncertainty level. To improve visibility, large values of overshoot and settling time are truncated without affecting the verification results. Instead of the value of overshoot, the logarithm of overshoot is plotted to verify the monotonicity property of OS(X, X d ). From FIGURES 7A and 7B, the monotonic property of OS(X, l d ) with respect to X and the unimodal property of t 5 (X, Xd) with respect to X d are observed, which verifies the empirical analysis.

[0069] Based on the empirical properties of t s {X, Xd) and OS(X, Xd), an efficient and robust tuning algorithm is proposed below. The efficient and robust properties of the algorithm are emphasized since:

(i) In practice, a satisfactory solution obtained within a small amount of time results in a better user experience, compared to that of an optimal solution obtained based on certain models (with unavoidable modeling errors) at the cost of more computation time; and

(ii) The explicit expressions of t s (X, X d ) and OS(X, X d ) are unknown and only numerical values are available using the visualization techniques, which limits the allowed types of algorithms that can be considered. For instance, Newton and quasi- Newton algorithms may be prohibited since the numerical evaluation of the first-order derivatives could lead to unexpected errors and thus the failure of the overall tuning procedure.

[0070] In light of these factors, in some embodiments, line-search methods are used to find a satisfactory combination of X and Xd- In this approach, the algorithm is performed iteratively to find a pair of X and X d values that heuristically solves Equation (21).

Algorithm 2 Tuning of A and X d

l : Input the uncertainty intervals [T p , T p ], [ί^. ¾ and \g.. g\ for process parameters p o. t-do and go. respectively;

2: Input the overshoot specification OS*;

3: Input e and N;

4: Aa +- A3; A* 4- 100;

5: A <- 0.02; A d <- X d i «- 0;

6: A* <- A; X d * <- A d ; f* = (T p + t d ) x 10: t° s <- 0;

7: while t° s t s (\, X d ) kk i < N do

8: t» = MA, Ad);

9: i <- i + 1; > Stage 1 : tuning of X d

10: A ((1 -f- A d + (A d - A,,) x 0.382;

1 1 : χ Ί2 +- A d + ( d - x ) x 0.618; 12: while λα- \ d > do

13: if t. X, X d i) > ί.,(λ. X d2 ) then

x 0.61S; x 0.382;

19: end if

20: end while

: finding a proper A

27: else

28: A 4- A;

29: end if

30: end while

31: λ <- 100; > Stage 3: tuning of A

32: Aj - A + (A— A) x 0.382;

33: A 2 4- A + (A - A) x 0.618:

34: while A - A > f do

35: if i e (Ai.A d ) > r e (A 2 .Ad) then

x 0.618: x 0.382;

42: end while

43: λ 4~ (A + A)/2;

44: if t B (X,Xd) < t* s then

45: i* 4-i s (A ! Ad); A* 4- A; A* 4- A d . ;

46: end if

47: end while

48: Output A* and A¾;

49: end

[0071] Each iteration of this algorithm includes three stages, which are described in more detail below. The algorithm stops when a stationary point is achieved (meaning the same pair of X and Xd values is obtained in consecutive iterations) or when the computation time runs out (which could be counted as the number of iterations allowed). The algorithm collects the feasible (X, J) pair with the smallest settling time during the iterative procedure. This assumes that the nominal process parameters T p o, tdo, and go are known, which can be readily obtained (such as by using the HONEYWELL PROFIT DESIGN STUDIO). Note that to avoid the possible conservativeness of the small gain theorem, the initial value of λ ά can be chosen as a small value (say 0.02), instead of ' d (see line 4).

[0072] In the first stage of the algorithm (lines 10-21), X d is first tuned to obtain the optimal settling time for a fixed X. At this stage, X is set to a very small value, which would lead to a relatively aggressive response for a fixed Xj. This choice simplifies the tuning procedure in that, when the tuning of d is completed, it suffices to increase X to find λ that activates the overshoot constraint (stage 2) by the empirical monotonicity. By the empirical unimodality property, the optimization of the settling time with respect to Xd is achieved by a line-search with almost a linear convergence rate without requiring numerically calculating the derivatives (a guaranteed linear convergence rate can be achieved, such as by using Fibonacci sequences).

[0073] In the second stage (lines 17-29), X is further tuned to find λ that activates the constraint on overshoot (namely, the constraint becomes an equality constraint), based on the tuned value of X d in Stage 1. To do this, the following optimization problem can be considered: mm [OS(A, A d ) - s.t.

a€ [g. g] .

(22)

From the empirical monotonicity property of the overshoot with respect to X, the objective function [OS(X Xd)-OS*† is a unimodal function with respect to X. Thus, Equation (22) can be solved by line-search algorithms, which leads to the codes in lines 22-30.

[0074] In the third stage (lines 31-42), the settling time is further optimized with respect to X within the region Χ>λ , where λ is calculated in the second stage and d is calculated in the first stage. Notice that, due to the monotonicity property of OS(X : Xd) with respect to X, the overshoot constraint in Equation (21) is satisfied for all Χ> λ . Within this region, OS(X, X±] is either a unimodal function or a monotonic function of X, which allows line-search algorithms to find the X that achieves the smallest settling time.

[0075] Note that although optimization procedures are iteratively employed in Algorithm 2, the tuning result may not be optimal in either overshoot or settling time. As mentioned before, what is actually achieved is an efficient, fast, and robust tuning procedure that yields a combination of λ and λα that approximately solves Equation (21), resulting in satisfactory performance to end users (which can be jointly guaranteed by Algorithms 1 and 2).

[0076] INDUSTRIAL EXAMPLE

[0077] In this section, the efficiency of the proposed tuning algorithm is illustrated with the tuning results obtained from a typical SISO process in a paper machine. Consider the following model for MD-MPC control:

0.0135 QQs

60s + 1 (23 )

For this model, the proposed algorithm is applied for different levels of uncertainty and different specifications on overshoot. To test the performance of the algorithm in terms of the optimality of the settling time, a brutal search is performed for each level of uncertainty and overshoot specification.

[0078] The performance comparison is presented in FIGURES 8 through 10, where the computational time of the proposed algorithm is also indicated for each point. In FIGURE 8, a graph 800 plots the overshoot and settling time obtained using the brutal search (line 802) and using the described algorithm (line 804) for one set of parametric uncertainties on the process gain, time constant, and time delay. In FIGURE 9, a graph 900 plots the overshoot and settling time obtained using the brutal search (line 902) and using the described algorithm (line 904) for another set of parametric uncertainties on the process gain, time constant, and time delay. In FIGURE 10, a graph 1000 plots the overshoot and settling time obtained using the brutal search (line 1002) and using the described algorithm (line 1004) for a third set of parametric uncertainties on the process gain, time constant, and time delay.

[0079] Although the outcome of the proposed algorithm does not have guaranteed optimality, it is consistently close to the result of the brutal search. The brutal search could ordinarily take around ten minutes to calculate a (1 d ) pair for a given specification of overshoot by enumerating all points over a pre-specified gridded parameter region. On the other hand, the computation time of the proposed algorithms is satisfactory, taking around seven to fifteen seconds.

[0080] To take a closer look at the tuning parameters and the performance indices, the tuning results for uncertainty level -50%~100% are presented in Table I below, and the closed-loop step response for uncertainty level— 50%~100% and OS =20% is shown in FIGURE 11.

TABLE I: Tuning results for uncertainty level -50% ~ 100%

Overshoot specification OS* 10% 20% 30% 40% 50%

OS 10%. 16.98% 29.90%) 33.42% 44.6159%,

2505s 2415s 2340s 2340s 2355s

Proposed algorithm

λ 8.8279 8.0097 6.6243 6.2889 5.3149 ι 3.61 3.7413 3.9537 4.0039 4.1662

OS 9.1214% 16.98% 29.90% 30.3078% 44.6159%

2535s 2415s 2340s 2340s 2355s

Brutal search X 9.0214 8.0097 6.6243 6.5981 5.3149

3.62 3.7413 3.9537 4.095 4.1662

In FIGURE 11, a line 1102 represents the closed-loop step response of a system, and lines 1104-1106 define an envelope around the closed-loop step response (where the envelope is based on the parametric uncertainties).

[0081] To test the design results in a real-time MPC plus simulator environment, to account for model mismatch, the actual process is taken as:

0.0108 . 120s

Gis) = 9o +I 1 e (24) which lies within the uncertainty region. The system is discretized at sampling time the prediction horizon H p is 42, and the control horizon H u is 20. The constraints are taken as:

1895 < U < 6064

-379 < AU < 379

- . (25)

The initial operating point is y(0)=432 and w(0)=379O. The overshoot requirement is chosen as OS(l, ,i)<20%, which lead to the parameter setting =3.7413 and 1^8.0097. To consider the possible change of working conditions, a set point change of 2 lbs/1000 ft 2 is made at f=0s, an input disturbance of 15.5 gpm is introduced at r=1500s, an output disturbance of 2 lbs/1000 ft 2 is in effect at f=3000s, and the measurement noise is taken as zero-mean Gaussian noise with a variance of 0.414.

This is shown in FIGURE 12, where a graph 1200 plots the conditioned weight of a web over time (line 1202) and a graph 1204 plots the stock flow during manufacture of the web over time (line 1206). A line 1208 denotes the setpoint for the conditioned weight. From FIGURE 12, it is shown that despite the large model mismatch and measurement noise, the system output robustly tracks the setpoint for all changes of working conditions, which further indicates the efficiency of the obtained parameter tuning algorithm.

[0082] EXPRESSIONS OF K r _. K^, AND K y ,

ξ = [1, 0, . . . , 0] 6 l l xH " ,

K x = -H- l P Q x P cx .

K xt = H l Q :i . (26) where:

(27)

[1 1 · . i1 e K H " x l . (28)

p

[0083] CONSTRUCTION OF W(s)

[0084] By using Pad6 approximation, Equation (18) can be changed into a real-rational form such as:

An upper bound of \{P-G 0 )G 0 A \ can be found with inspection of the denominator and the numerator of Equation (32). For the numerator, the following can be calculated:

1.9(1 +- t ^^a)(T p0 s + 1) - 9o(T p s + 1)(1 - ½^.s)| 2 = [(<? - 9o) + (fjTpo + 9o p) td t < 2 +

IffTpo - g 0 T p + {g + go) td0 ^)] 2 ^' 2

< {Ag + [(go + Ag)T p0 + ί/0 Ρ ο + ΔΓ Ρ )]^· 2 } 2 +

[Ag(T p0 + 0.5At d ) + g 0 (AT p + Αί ά )] 2 ω 2 . (33)

For the denominator, the following can be calculated:

u., j i =

(31)

[0085] Thus, an expression of W(s) can be constructed as the formula of:

Ag + [Afl(T p + if.A/,,) + Αο(ΔΓ ρ + A/ 4 ji - [(go + Α</)Γ ί)() + 3ο ρ0 + Ar p )]0.5Af d a a ''Sj oKTpo-ATpj.s + l]

(31) which satisfies I f'^K - oiGo 'l. However, it can be observed that W * (s) shown above is a bit conservative since it has large values in the high frequency domain. To fix this issue, the following can be used:

which results in:

ITFioo)

ado(lpo ~ AT p )

[0086] Moreover, it can be seen that:

^ I g po + goT p , , [(g 0 + g)T p0 + i/ 0 (Tpo + ΔΓ Ρ )] ,

/οϊρ <?ο(Γρο— Tp) (34)

To have \W(∞)\ > |(^(∞) - G 0 (∞))Go 1 (∞)\. let a=0.5At d , and therefore:

[0087] CONCLUSION

[0088] In this patent document, systematic procedures have been introduced for parameter tuning of model-based controllers. Among other things, the algorithms can be efficiently employed to find a pair of X and Xd values that satisfy a user-defined specification on overshoot while guaranteeing a satisfactory settling time. The algorithms can also be extended to meet specifications on settling time. In this regard, the algorithms can ensure that a specification on settling time is achievable by a certain combination of X and Xd values, which could involve exploring the reachability set that corresponds to all stabilizing tuning parameter combinations subject to user- specified process uncertainty levels.

[0089] Note that while the techniques and algorithms described above were made with reference to tuning an MD-MPC controller, the same or similar techniques could be used to tune any other suitable model-based controller. Also, the same or similar techniques could be used to tune any suitable model-based controller in any suitable industry, not merely the paper manufacturing industry.

[0090] In some embodiments, various functions described above are implemented or supported by a computer program that is formed from computer readable program code and that is embodied in a computer readable medium. The phrase "computer readable program code" includes any type of computer code, including source code, object code, and executable code. The phrase "computer readable medium" includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A "non-transitory" computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.

[0091] It may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms "application" and "program" refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer code (including source code, object code, or executable code). The terms "transmit" and "receive," as well as derivatives thereof, encompass both direct and indirect communication. The terms "include" and "comprise," as well as derivatives thereof, mean inclusion without limitation. The term "or" is inclusive, meaning and/or. The phrase "associated with," as well as derivatives thereof, may mean to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like. The phrase "at least one of," when used with a list of items, means that different combinations of one or more of the listed items may be used, and only one item in the list may be needed. For example, "at least one of: A, B, and C" includes any of the following combinations: A, B, C, A and B, A and C, B and C, and A and B and C.

[0092] While this disclosure has described certain embodiments and generally associated methods, alterations and permutations of these embodiments and methods will be apparent to those skilled in the art. Accordingly, the above description of example embodiments does not define or constrain this disclosure. Other changes, substitutions, and alterations are also possible without departing from the spirit and scope of this disclosure, as defined by the following claims.