CN1300651C - Constraint and limit feasibility process in process control system optimizer procedure - Google Patents

Constraint and limit feasibility process in process control system optimizer procedure Download PDF

Info

Publication number
CN1300651C
CN1300651C CNB031649467A CN03164946A CN1300651C CN 1300651 C CN1300651 C CN 1300651C CN B031649467 A CNB031649467 A CN B031649467A CN 03164946 A CN03164946 A CN 03164946A CN 1300651 C CN1300651 C CN 1300651C
Authority
CN
China
Prior art keywords
variable
objective function
punishment
control
process variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
CNB031649467A
Other languages
Chinese (zh)
Other versions
CN1497402A (en
Inventor
威廉·沃杰茨尼斯
特伦斯·布莱文斯
马克·尼克松
彼得·沃杰茨尼斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fisher Rosemount Systems Inc
Original Assignee
Fisher Rosemount Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/241,350 external-priority patent/US7376472B2/en
Application filed by Fisher Rosemount Systems Inc filed Critical Fisher Rosemount Systems Inc
Publication of CN1497402A publication Critical patent/CN1497402A/en
Application granted granted Critical
Publication of CN1300651C publication Critical patent/CN1300651C/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/32Automatic controllers electric with inputs from more than one sensing element; with outputs to more than one correcting element
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/042Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators in which a parameter or coefficient is automatically adjusted to optimise the performance
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor

Abstract

An optimization technique for use in driving a process plant controller, such as a model predictive controller, uses an organized, systematic but computationally simple method of relaxing or redefining manipulated, control and/or auxiliary variable constraints when there is no feasible optimal solution within pre-established constraints, to thereby develop an achievable solution for use by the controller. The optimization routine uses penalized slack variables and/or redefines the constraint model in conjunction with the use of penalty variables to develop a new objective function, and then uses the new objective function to determine a control solution that bests meets the original constraint limits.

Description

Constraint in the Process Control System optimizer and restriction feasibility are handled
Related application
The application is that submission on September 11st, 2002, title are No.10/241 for " Integrated Model PredictiveControl and Optimization Within a Process Control System ", patent application serial numbers, the continuity of the part of 350 U.S. Patent application, this specially should in ask disclosed content to be listed in as a reference.
Technical field
In general, this patent relates to Process Control System, specifically, what relate to is when being used for the control procedure facility with for example model predictive controller, and the feasibility of constraint in the Process Control System optimizer and restriction (constraint and limit) is handled.
Background technology
Process Control System, as if those that use in chemistry, oil or other are handled are distributed or measurable Process Control System etc., generally include one or more process controllers, these processors can by simulation, numeral or analog/digital combination bus communicate each other contact, with at least one main frame or operator's workstation and and one or more field apparatuss (field device) communicate to connect.Field apparatus can be valve, valve positioner, switch and transmitter (as, temperature, pressure and flow sensor), field apparatus as open or close in the process of valve and measurement process parameters etc. and fulfil function.Process controller receives the signal of the process measurement that expression finished by field apparatus and/or other information relevant with field apparatus, with control routine of these information and executing, produce control signal then, this control signal passes to the operation that field apparatus comes control procedure by bus.Be mainly used in one or more that carry out by operator's workstation from the information of field apparatus and controller and use, make the operator can carry out relevant with process any function of realizing wanted, as the current state of view procedure, makeover process operation or the like.
Usually process controller is programmed and carry out difference (different) algorithm, subroutine or control loop (they all are control routines), be used for as definition procedures such as flow control circuit, temperature control loop, pressure control loops or comprise each of during the course a plurality of different circuits.In general, each such control loop comprises one or more input blocks, as an analog input (AI) functional block; A signal output controll block is as proportion integration differentiation (PID) or fuzzy logic control functional block; With a signal IOB, as simulation output (AO) functional block.These control loops mainly carry out signal input/signal output control, because controll block produces a signal controlling output that is used for controlling as the input of signal process such as valve position.But, in some cases, the use of a plurality of independent operations, signal input/signal output control circuit is not very effective, and this is because controlled process variable is subjected to the influence of more than signal process input, in fact, each process input all can influence the state of a plurality of process outputs.For example, may produce the example of this situation in having the process of water tank, this water tank is injected by two intake lines, and is discharged by an output pipe, every pipeline is by different valve control, and wherein the temperature of water tank, pressure and handling capacity are controlled at or approach ideal value.As mentioned above, water tank handling capacity, temperature and pressure can be controlled with independent handling capacity control loop, independent temperature control loop and independent pressure control loop.But, in this case, when change a certain transfer valve the temperature of controlling in the water tank is set the time, the operation of temperature control loop may cause the pressure in the water tank to increase, for example this will cause pressure circuit to open outlet valve reducing pressure.This move can make the handling capacity control loop close one of them transfer valve then, has influenced temperature thus, causes temperature control loop to take some other action.Can understand in this example, signal input/signal output control circuit causes process output (being handling capacity, temperature and pressure in this case) to show in unfavorable mode, and wherein the output vibration is from the no show steady state (SS).
In the situation of a more than process variable or output, process control is carried out in the control in advance of PREDICTIVE CONTROL that once used a model (MPC) or other types at the variation shadow of a special controlled process variable.Since later stage nineteen seventies, reported the successful realization of a plurality of Model Predictive Control, MPC has become the principal mode of multivariable Control in early stage in manufacturing industry.Say that further MPC has realized in the dcs as the dcs delamination software.
In general, MPC is many input/many export control policies, wherein measures the influence of the change of each input in a plurality of process inputs to each output in a plurality of process outputs, uses these responses of measuring to produce a gating matrix or a process model then.This process model or gating matrix (steady state operation of their common definition procedures) are carried out mathematics and are inverted, be used in many input/many o controllers then or as many input/many o controllers, thereby come control procedure to export according to the variation that process input is caused.In some cases, process model is expressed as the process output response curve (being generally stepped response curve) that is used for each process input, and these curves can generate according to the stepped variation of a series of pseudorandoms of for example transmitting each process input.These response curves can be simulated production run in a known manner.MPC is known in the art, and therefore, its characteristic is not done description at this.But MPC is described in Qin comprehensively, S.Joe and Thomas A.Badgwell, " An Overview of Industrial ModelPredicitive Control Technology ", AIChE Conference is in 1996.In addition, the patent No. is 4,616,308 and 4,349, and 869 United States Patent (USP) has also been described the MPC controller that can be used in the Process Control System comprehensively.
Found that MPC is a kind of very effective and useful control technology, and used with process optimizing.For the process of optimization use MPC, optimizer will be minimized or be maximized by one or more process input variables that the MPC routine is determined, so that process operation is in optimum.When this technology is calculate to go up when feasible, for example need to select improve the process variable that has material impact in the process economy operation (as, process turnout or quality), come from the economic point of view optimization procedure.Operate this process from finance or economic viewpoint in optimum, generally need a plurality of process variable associated with each other of control, and be not a process variable.
As have separating of dynamic optimization to MPC, there is the people to propose to use the more current techique of quadratic programming technology or similar internal point method to come optimization.The process of considering is dynamic, stream retrains and optimum target, determines optimum solution with these methods, and optimizer is that the transmission (that is process operation variable) that controller is exported provides controller.But this method has huge computation burden, and not-so-practical feasible under current technological level.
In most situations, when using MPC, obtainable performance variable number in the process (that is the control of MPC routine output) is greater than process control variable number (that is, must be controlled at the process variable number of special setting point).As a result, the bigger degree of freedom that can be used for optimization and Constraints Processing is arranged usually.Theoretically, in order to carry out this optimization, should calculate the represented value of economic factors by process variable, constraint, restriction and definition procedure optimal point of operation.Under a plurality of situations, these process variable are affined variablees, because they have and process physical attribute relative restrictions, they are attached to these restrictions and must keep these variablees in restriction.For example, the process variable of the expression water tank water surface will be limited in the in fact obtainable minimum and maximum water surface in the actual water tank.An optimization function can calculate with each and be tied or auxiliary variable cost related and/or profit, operates on the rank of profit maximum, cost minimum etc.The tolerance of these auxiliary variables can be used as input and offers the MPC routine then, and for the auxiliary variable by the optimization routine definition, is treated to the control variable with the set-point that equates with operating point by the MPC routine.
Sequence number is 10/241,350, title is " Integrated Model Predictive Control andOptimization Within a Process Control System ", the U.S. Patent application that proposes on September 11st, 2002 transferred its assignee, therefore the disclosed content of this application specially is incorporated herein with for referencial use, this application discloses a kind ofly uses the controll block in advance as MPC piece etc. that online optimized method and apparatus is provided, and wherein optimization is the major part of Studies of Multi-variable Model Predictive Control.This technology is successful on very most of, because in common operation, the MPC controller provides the process output that arrives steady state (SS) future anticipation, produces the required condition that is used for reliable optimizer operation thus.But, thisly be used to find out the optimization method of separating and always do not work, because in some cases, some controllers output or the predictive controller outputs (this be called performance variable) relevant with each possibility optimum solution (solution), perhaps some process outputs (being called controlled or control variable) at this, exceeded the predetermined constraints or the restriction that set in advance for these variablees, therefore, separated and be in the predefined infeasible scope.In a plurality of control situations, when the operation with MPC or other controllers combines, preferably require optimizer to find out and separate, and avoid most possibly operating in the infeasible scope.
At present, when defining one, optimizer in constraint of setting up in advance or restriction, keeps the unreasonable of all process control outputs or input but when being optimum solution, optimizer relaxes one or more constraints in order or acceptable separating is found out in restriction.This recovery technique uses the priority relevant with control variable with each operation usually, so that determine at first to relax which constrained.At this, a kind of simple method is to reduce the lowest priority constraint, satisfies separating of limit priority constraint so that optimizer can be found out.But, this technology is not necessarily handled the rational method that retrains in the infeasible solution, and this is may cause only minimum adjustment being carried out in one or more higher priorities constraints and just make these constraints just in time exceed restriction because reduce the lower priority constraint.Furtherly, need to estimate to reduce what constraints usually and find out feasible solution.Certainly, preferably reduce the needed least commitment quantity that the higher priority constraint is met.But, suitable quantity for definite constraint that will reduce can require to carry out calculated off-line according to available degree of freedom in the system, perhaps guides optimizer to reduce constraint repeatedly, determine whether to have produced feasible solution, up to finding out feasible solution along with the constraint setting of new reduction.Regrettably, calculated off-line is unsuitable for using in real-time or online optimization system, and the general time of method repeatedly is oversize, therefore may cause unacceptable delay in finding out feasible solution.In other words, the process that draws optimum solution by continuous reduction constraint may need repetition, separates up to finding out one, and the process of this unlimited repetition is undesirable in most of real-time optimizations are used.
Other are several, and to solve optimized known method when infeasible solution occurs also open.For example, Tyler, M.L. and Morari M., " Propositional Logic in Control and MonitoringProblems ", Proceedings of European Control Conference ' 97, pp.623-628, Bruxelles, Belgium, June 1997, disclose the use integer variable and handled the subregion priority ranking, wherein, made the number minimum of fault by solving the sequence of MIXED INTEGER optimization problem.In addition, Vada, J., Slupphaug, O. and Foss, B.A., " Infeasibility Handling in Linear MPC subjectto Prioritized Constraints ", PreprintsIFAC ' 99 14 ThWorld Congress, Beijing, China, July 1999, a kind of algorithm has been discussed, and this algorithm can be used for solving the sequence of linear programming (LP) or quadratic programming (QP) problem, thereby minimizes irrealizable constraint fault (constraintviolation).But these methods all require to calculate, and are general inapplicable or impracticable for real-time fast application.In addition, Vada, J., Slupphaug, O. and Johansen, T.A., " Efficient InfeasibilityHandling in Linear MPC subject to Prioritized Constraints ", ACC2002Proceedings, Anchorage, Alaska, May 2002 disclose a kind of off-line (off-line) algorithm, calculate optimization and calculate the LP power that constraint breaks rules.Though this technology has been removed the burden of excessive calculating in offline environment, it need handle extra off-line optimization problem, and is not very useful for online or real-time optimum procedure.
Summary of the invention
When in constraint of setting up in advance or restriction, not having feasible optimum solution, can be used to the polyoptimal technology of control program formerly such as optimization such as Model Predictive Control program, use in a organized way, system is arranged but calculate simple method, relax or redefine the constraint or the restriction of operation or control variable, find out an attainable optimum solution that can be used in the control program thus.Particularly, when facing that infeasible optimizer is separated in the constrained of setting up in advance, according to disadvantageous slack variable and/or according to the restricted model that redefines, optimization routine uses reliable and stable technology systematically to select best separating.Because disclosed technique computes is simple, so this technology is suitable for the on-line implement of real-time optimization program.
In one embodiment, optimizer can use an objective function that comprises disadvantageous slack variable, having under one or more situations that will be driven to performance variable outside the pre-set limit or control variable, finds out optimum solution.In another embodiment, optimizer can redefine restricted model, come thus to redefine acceptable restriction for the performance variable or the control variable that exceed restriction, use objective function then with the detrimental variable that in new restricted model, has defined, towards the restriction of setting up in advance, driving has the constraint that exceeds restriction of higher priority, and the constraint that no longer has the lower priority constraint breaks rules.In yet another embodiment, optimizer can combine the use of unfavorable slack variable with redefining of restricted model, so that a kind of technology of Constraints Processing flexibly and effectively is provided.
Description of drawings
Fig. 1 is the Process Control System block diagram that comprises controlling models, and this controlling models has the piece of controller function formerly that optimizer is combined with the MPC controller;
Fig. 2 is the piece of the controller function formerly block diagram that has integrated optimization program and MPC controller among Fig. 1;
Fig. 3 show produce and installation diagram 2 in the process flow diagram of mode of integrated optimization program and MPC controller function piece;
Fig. 4 shows the process flow diagram of the operation of the integrated optimization program of Fig. 2 during the online process operation and MPC controller;
Fig. 5 shows in the objective function of optimizer in Fig. 2, uses slack variable to relax the graphic extension of the mode of performance variable constraint or restriction;
Fig. 6 shows in the objective function of optimizer in Fig. 2, uses slack variable to relax the graphic extension of the mode of the scope relevant with the set-point;
Fig. 7 shows in the objective function of optimizer in Fig. 2, uses and hangs down the graphic extension of relaxing the mode of two class ranges relevant with the set-point with higher unfavorable slack variable;
Fig. 8 shows in the objective function of optimizer in Fig. 2, for performance variable redefines restricted model or constrained, and uses the mode of the detrimental variable relevant with new restricted model;
Fig. 9 shows having under one or more performance variable situations that exceed restriction, uses two slack variables to redefine restricted model and carries out optimized graphic extension; With
Figure 10 shows under the situation with the desirable static value of performance variable, uses slack variable to carry out optimized graphic extension.
Embodiment
Referring now to Fig. 1,, a Process Control System 10 comprises a process controller 11, it can be connected on data recording station 12 and one or more main workstation or the computing machine 13 (they can be personal computer, workstation of any kind etc.) communicatedly, and each main workstation or computing machine 13 all have display screen 14.Controller 11 also is connected on the field apparatus 15-22 by I/O (I/O) card 26 and 28.Data recording station 12 can be any data collection module of wanting with type, has anyly to want with the storer of type and anyly think that usefulness or known being used to store software, hardware or the firmware of data; And the part that can separate (as shown in fig. 1) or a workstation1 3 with a workstation1 3.As an example, controller 11 can be the DeltaV that is sold by Emerson Process Management TMController, by for example Ethernet web member or other any communication networks 29 of thinking usefulness, this controller can be connected on main frame 13 and the data recording station 12 communicatedly.Communication network 29 can be forms such as Local Area Network, wide area network (WAN), telecommunication network, and available hardwired or wireless technology realize.Controller 11 uses any and for example relevant hardware and software of thinking usefulness of standard 4-20 multiple access (ma) equipment, and/or as FOUNDATION TMFieldbus agreement (Fieldbus), HART TMAny intelligence communication agreement such as agreement can be connected on the field apparatus 15-22 communicatedly.
Field apparatus 15-22 can be the equipment of any kind, and as sensor, valve, transmitter, steady arm etc., simultaneously I/O card 26 and 28 can be and meets any communicating by letter or any kind I/O equipment of controller protocol of usefulness of thinking.In the embodiment shown in fig. 1, field apparatus 15-18 is standard 4-20 multiple access (ma) equipment, communicates by letter with I/O card 26 by artificial line; Field apparatus 19-22 is a smart machine simultaneously, as the Fieldbus field apparatus, uses Fieldbus communication protocol to communicate by letter with I/O card 28 by number bus.Certainly, field apparatus 15-22 can meet any other standard of thinking usefulness or agreement, comprises any standard or the agreement of exploitation in the future.
Controller 11 can be one of a plurality of distributed directors in the facility 10, comprising at least one processor, carries out or monitor being stored in wherein or otherwise related with it one or more process control routines, and this routine can comprise control loop.Controller 11 is also communicated by letter with equipment 15-22, main frame 13 and data recording station 12, controls production run with any mode of wanting.Should be noted that if be starved of any control routine described here or element all can have its part that is realized or carried out by different controllers or other equipment.Equally, control routine or the element of realizing in Process Control System 10 described here can be taked any form, comprises software, firmware, hardware etc.In order to carry out this discussion, process controling element can be any part or the part of Process Control System, comprises the routine, data block or the module that for example are stored on any computer readable medium.Control routine can be any part of module or control program, as subroutine, parton routine (as several line codes) etc., can anyly think the software format realization of usefulness, as using ladder logic, sequential function figure, Function Block Diagram, object-oriented programming (programming) or any other software programming language or design pattern.Equally, but the control routine hard coded be, for example, one or more EPROM, EEPROM, Application-Specific Integrated Circuit (ASIC) or any other hardware or firmware components.Say that further control routine can design with any design tool, comprise software, hardware or firmware programs (programming) or the design tool of Drawing Design instrument or any other type.Thus, controller 11 can anyly think that the mode of usefulness disposes, so that realize control strategy or control routine.
In one embodiment, controller 11 uses the thing that is commonly referred to as functional block to realize control strategy, wherein each functional block is a part or the object of all control routines, and operate (by being called as communicating by letter of circuit), fulfillment process control loop in Process Control System 10 explicitly with other functional blocks.Functional block usually carry out as with forwarder, sensor or the relevant input function of other process parameter measurement device, as with the relevant control function of control routine of carrying out controls such as PID, fuzzy logic, or control is carried out some physical functions as the output function of some operations of equipment such as valve in Process Control System 10.Certainly the functional block that also has hybrid circuit or other types.Functional block can be stored in the controller 11 and by controller 11 and carry out, and when these functional blocks were used for or be associated with standard 4-20 multiple access (ma) equipment and some smart devices as HART equipment, this was typical situation; Perhaps functional block can be stored in the field apparatus and by field apparatus oneself and carry out, and this can be the situation with Fieldbus equipment.When this functions of use piece control strategy provides the explanation of control system, this functional block control strategy has used object-oriented programming style, control strategy, control loop or module also can use other agreement to carry out or design, as ladder logic, sequential function figure etc., perhaps use any other any programming language or style of thinking usefulness.
As amplifying shown in the segment 30 among Fig. 1, controller 11 can comprise a plurality of single loop control routines, is illustrated as routine 32 and 34, and practicable one or more control loop of being expert at, and is illustrated as control loop 36.Each such loop is commonly referred to as control module.Single loop control routine 32 and 34 is illustrated as, use is connected respectively to single input/list output fuzzy logic control piece and the single input/list output PID controll block on suitable analog input (AI) and simulation output (AO) functional block, carry out single loop control, they can with as process control equipments such as valves, be associated as any other equipment in measuring equipment such as temperature and pressure forwarder or the Process Control System 10.Formerly control loop 36 is illustrated as and comprises controll block 38 formerly, this controll block output of having the input that can be connected to a plurality of AI functional blocks communicatedly and can being connected to a plurality of AO functional blocks communicatedly formerly, but the input and output of controll block 38 formerly can also be connected on any other functional block or control element of thinking usefulness communicatedly, receive the input of other type, and the control output of other type is provided.As will be described further, formerly controll block 38 can be a kind of like this controll block, and it integrates Model Predictive Control routine and optimizer, carries out the optimization control of process or part process.When controll block 38 formerly when this is described as comprising Model Predictive Control (MPC) piece, this formerly controll block 38 can comprise that any other import/exports control routine or process more more, as neural network, simulation or control routine, Multivariable Fuzzy logic control routine etc.Be appreciated that formerly the functional block of controll block 38 can be carried out by controller 11 in shown in Figure 1 comprising, in addition, this controll block be arranged in any other the treatment facility, and carry out by this equipment, as a workstation1 3, even a field apparatus 19-22.
As shown in Figure 1, a workstation1 3 comprises that formerly controll block produces routine 40, and it is with generating, download and carry out controll block 38 formerly.When controll block formerly produces that routine 40 can be stored in storer workstation1 3 in and by wherein processor execution the time, if be starved of, this routine (or its any part) can be additionally or additionally is stored in any other equipment in the Process Control System 10, and is carried out by this equipment.In general, formerly controll block produces routine 40 and comprises controll block generating routine 42, it generate formerly control module and with this formerly control module be connected in the Process Control System; Process model building routine 44 is process or its part production process model according to the data by controll block collection formerly; Steering logic parameter generating routine 46 is that from process model formerly controll block produces the steering logic parameter, and storage or download these steering logic parameters in controll block formerly, is used for control procedure; With optimizer routine 48, produce optimizer, use with controll block formerly.Be appreciated that, routine 42,44,46 can be made up of a series of different routines with 48, as producing first routine of control element formerly, this element has the control input that is suitable for receiving course output, also has the control output that is suitable for providing to the process input control signal; Second routine can be downloaded the user and can be connected control element formerly communicatedly in process control routine (it can be any configuration routine of thinking usefulness); The 3rd routine, the priority of use control element provides excitation waveform to each process input; The 4th routine, priority of use control element are the data that excitation waveform is collected each process output response of reflection; The 5th routine is selected or is allowed the user select one group to be used for the input of controll block formerly; The 6th routine, the production process model; The 7th routine draws steering logic parameter formerly from process model; The 8th routine formerly is being provided with steering logic formerly in the control element, and if desired, but setting up procedure model also makes formerly the control element can control procedure; With the 9th routine, select or allow the user select optimizer, be used in formerly in the controll block 38.
Fig. 2 shows the more detailed block diagram of 38 1 embodiment of controll block formerly, this formerly controll block 38 can be connected on the process 50 communicatedly, be appreciated that one group of performance variable MV of these controll block 38 generations formerly, this variable offers other functional blocks that are connected to successively in the process 50 control inputs.As shown in Figure 2, formerly controll block 38 comprises MPC controller block 52, optimizer 54, Target Transformation piece 55, step journey response model or gating matrix 56 and input processor/filter block 58.MPC controller 52 can be M * M (wherein M can be and is equal to or greater than any number of one) square MPC routine of any standard or has input and the identical program of output quantity.As input, the control of N group and auxiliary variable CV and the AV (they are vector values) that measure in MPC controller 52 receiving courses 50; One group of disturbance variable DV and one group of steady state (SS) target control and auxiliary variable CV that provides by Target Transformation piece 55 are provided TAnd AV T, this disturbance variable DV be in the future certain the time offer the variation or the disturbance of the known of process 50 or expection.MPC controller 52 uses these inputs to produce M group performance variable MV (with the form of control signal), and the signal of transmission performance variable MV comes control procedure 50.
Say that further MPC controller 52 calculates and provide one group of prediction steady state (SS) control variable CV SSWith auxiliary variable AV SSGive input processor/filter block 58, this group prediction steady state (SS) control variable and auxiliary variable and one group of prediction steady state operation variable MV SSProvide together, they represent control variable CV, auxiliary variable AV on prediction horizon (being used for CV and AV) and controlling level line (being used for MV) and the predicted value of performance variable MV respectively.58 processing controls of input processor/filter block, auxiliary and performance variable CV SS, AV SSAnd MV SSDefinite prediction steady state value, reduce noise and unpredictable disturbance influence to these variablees.Be appreciated that input processor/filter block 58 can comprise low-pass filter or any other input processor that reduces noise effect, modeling error and disturbing influence, provide the control of filtering, auxiliary and performance variable CV to optimizer 54 SSfil, AV SSfilAnd MV SSfil
In this example, optimizer 54 is a linear programming (LP) optimizers, and it uses and can carry out process optimizing by the objective function (OF) of selecting piece 62 to provide.In addition, optimizer 54 can be the quadratic programming optimizer, and it is an optimizer with linear model and secondary objective function.In general, objective function OF will specify with a plurality of controls, auxiliary and performance variable (they are commonly referred to as process variable) in each cost related or profit, optimizer 54 is by finding out the desired value that makes objective function maximization or minimized one group of process variable be identified for these variablees.Select piece 62 can select to offer the objective function OF of optimizer 54, as one of one group of objective function 64 storing in advance, this group objective function has been represented the different modes of definition procedure 50 optimum operations on mathematics.For example, an objective function 64 of storing in advance can be configured to the profit maximization that makes facility, the use that another objective function 64 can be configured to the special material that makes short supply minimizes, and also has an objective function 64 can be configured to simultaneously and makes the product quality maximization of producing in the process 50.In general, objective function uses and each control, auxiliary and performance variable transmission cost related or profit, determine process operation point best in the acceptable point set, as by control variable CV be provided with point value or scope and auxiliary restriction with performance variable AV and MV defined.Certainly, any objective function of thinking usefulness all can be used to replace those functions described herein or is attached in them, comprises that each optimization in a plurality of care problems such as the use that makes as raw material, earning rate is to a certain degree objective function.
User or operator can select an objective function 64 by objective function 64 marks on the terminal (as workstation1 3 among Fig. 1) that is used in operator or user are provided, and this selection offers selection piece 62 by importing 66.According to input 66, select piece 62 that selected objective function OF is offered optimizer 54.Certainly, during process operation, user or operator can change used objective function.If desired, do not provide or not under the situation of select target function, can use a default objective function the user.A possible default target function will be discussed below in further detail.When being illustrated as the part of controll block 38 formerly, different objective functions can be stored in 13 li at operator's terminal of Fig. 1, and during this piece produced or forms, one of these objective functions can offer controll block 38 formerly.
Except objective function OF, as input, optimizer 54 receives one group of control variable set-point (they are points that the operator aims at the control variable CV setting of process 50 usually, and can be changed by operator or other users) and scope and power or the priority relevant with each control variable CV.Optimizer 54 also receives a class range or constrained, one group of power or priority and one group of restriction that is used for performance variable MV that is used for auxiliary variable AV in addition, is used for control procedure 50.Optimizer 54 also receives set-point, preferred operations scope, desirable static value or other and one or more process variable relative restrictions.In general, when the scope that is used for control variable provided the manipulable scope of control variable for the Satisfactory Control process, the scope that is used for auxiliary and performance variable was identified for the restriction of auxiliary and performance variable (general physical attribute based on facility).During optimization procedure, but be used to control, power specified control variable, auxiliary variable and the performance variable relative importance relative to each other of auxiliary and performance variable, in some cases, if some constraints relevant with these variablees or restriction need to violate, then can be used to make optimizer 54 to produce controlled target and separate.
Operating period, optimizer 54 can use linear programming (LP) technology to carry out optimization.As everyone knows, linear programming is to make the specific additional function maximization that is called objective function or the mathematical technique of minimized linear equality and inequality with solving one group.As mentioned above, objective function can be represented the economic worth as cost or profit, but also can represent to replace or other targets except that economic goal.In addition, as described below, during separating in all CV, AV and MV being maintained set in advance restriction, objective function can be revised, so that comprise and violate constraint or restriction cost related or punishment, makes objective function can be used for definite acceptable separating.
Be appreciated that the steady state (SS) gain matrix determines the steady state (SS) gain for performance variable and control or auxiliary variable that each may be paired.In other words, for the unit change in each operation and the disturbance variable, the steady state (SS) gain matrix is determined the steady state (SS) gain in each control and auxiliary variable.This steady state (SS) gain matrix is the matrix of a N * M normally, and wherein N is control and auxiliary variable number, and M is the performance variable number that is used in the optimizer routine.In general, N can greater than, be equal to or less than M, modal situation is that N is greater than M.
Optimizer 54 carries out repeated calculation with any LP algorithm or technology known or standard usually, determines that one group makes selected objective function OF maximization or minimized object run variable MV T(as determining) by the steady state (SS) gain matrix, if possible, provide the result of process operation simultaneously, this result satisfies the scope restriction of control variable CV set-point, auxiliary variable AV constrained and performance variable MV restriction, perhaps drops in these restrictions.In one embodiment, in fact optimizer 54 determines the variation in the performance variable, with prediction steady state (SS) control variable, auxiliary variable and performance variable CV SSfil, AV SSfilAnd MV SSfilMark come in the deterministic process operation variation with current operation, in brief, during the process that arrives target or optimum process operating point, determine the dynamic operation of MPC control routine.This dynamic operation is very important because it guaranteed ideally from current operating point during object run point transmits, the neither one constrained is violated.
In one embodiment, LP optimizer 54 can be designed to make the objective function of following form to minimize:
Q=P t*A*ΔMV+C tΔMV (1)
Wherein:
Q=total cost/profit;
P=and AV SAnd CV SRelevant profit vector;
C=and MV SThe cost related vector;
The A=gain matrix; With
Δ MV=is used for MV SThe middle vector that changes that calculates.
The profit value is generally positive number, and value at cost is generally negative, to represent their influences to target.Use this or any other objective function, LP optimizer 54 calculates the variation that makes among the minimized performance variable MV of objective function, guarantee simultaneously that control variable CV remains in the scope from they Target Setting points, auxiliary variable AV in their higher and lower constrained, performance variable MV is in their higher and lower restrictions.
In an available optimum procedure, use the added value of performance variable in the current time (t), and above prediction horizon with control and auxiliary variable added value, the summation of using performance variable to increase, the added value of described control and auxiliary variable is determined in the terminal of prediction horizon, rather than typical position currency in the LP application.Certainly, for this variation, the LP algorithm can carry out suitable modification.In any case LP optimizer 54 can use the steady state (SS) model, therefore, require steady state (SS) usually for its application.By the prediction horizon of in the MPC design, using usually (horizon), for self-regulating process is guaranteed steady state (SS) in the future.One is used for can being expressed as with incremental form by forecasting process steady state (SS) equation (having prediction horizon p, controlling level line c) of m * n input:
ΔCV(t+p)=A*ΔMV(t+c) (2)
Wherein:
ΔCV ( t + p ) = Δ cv 1 · · · · · · · Δc v n The prediction that is illustrated in the terminal output of prediction horizon (t+p) changes, A = a 11 . . . a tm · · · · · · · · · · · · a n 1 . . . a nm Be process stabilization state m * n gain matrix and ΔMV ( t + c ) = Δ cv 1 · · · Δc v n The prediction that is illustrated in the terminal performance variable of controlling level line (t+c) changes.
Vector Δ MV (t+c) is illustrated in by each controller output mv iThe variation summation of the controlling level line top that constitutes, so
Δm v i = Σ j = 1 c m v i ( t + j ) i = 1,2 , . . . , m - - - ( 3 )
Variation should be preferably in all satisfies restriction (being considered as control variable in this auxiliary variable) on performance variable MV and the control variable CV, so:
MV min≤MV current+ΔMV(t+c?)≤MV max (4)
CV min≤CV predicted+ΔCV(t+p)≤CV max (5)
In this case, being used for yield values maximization and the minimized objective function of raw materials cost can relatedly be defined as:
Q min = - UC V T * ΔCV ( t + p ) + UM V T * ΔMV ( t + c ) - - - ( 6 )
Wherein:
UCV is the cost vector that is used for control variable CV process values unit change; With
UMV is the cost vector that is used for performance variable MV process values unit change.
Use above-mentioned equation (1), objective function can be expressed as with performance variable MV item:
Q min = - UC V T * A * ΔMV ( t + c ) + UM V T * ΔMV ( t + c ) - - - ( 7 )
In order to find out optimum solution, the LP algorithm is by the initial vertax calculating target function in the defined zone of equation (7), and improves in each following step and separate, and the summit that will have objective function maximum (or minimum) value up to algorithm is defined as optimum solution.Then, determined optimum operation variate-value is applied to or offers controller, these variate-values are as object run variable MV T, in the controlling level line, obtain.
In general, in ready matrix, move the LP algorithm with three kinds of possible results of computing.The first, for object run variable MV TUnique separating arranged.The second, separate and be unbounded: if each control and auxiliary variable all have upper and lower bound, this situation should not take place.The 3rd, in process variable, be not fit to separating of restriction, border or constraint in this expression process variable are too high.In order to handle the third situation, will relax all constraints, optimizer can rerun with the constraint of having relaxed, separates so that obtain one.This supposition basic be assumed to restriction in the performance variable (on/lower limit) and can can't help optimizer and change, although need not be real.Same supposition also can be used for constraint in the auxiliary variable or restriction (on/lower limit).But optimizer can be to specific set-point drive controlling variable CV (control of CV set-point), changes over to beginning from the set-point or any value drive controlling variable (control of CV scope) in the scope of set-point.In this case, the value of control variable allows to be arranged in the scope that is better than specific set-point.If there are several auxiliary variable AV to violate their constraint, and the conversion that controls to the control of CV scope from the CV set-point can not provide one to separate, and can also relax or ignore the constraint of auxiliary variable according to power that is provided or Priority flag.In one embodiment, separate and can determine by the square error that minimizes auxiliary variable, this square error makes each auxiliary variable violate constraint separately, perhaps determines by the constraint of abandoning the lowest priority auxiliary variable in a sequential manner.As will be described in greater detail below such, processing exceeds restriction other modes of separating and comprises and change objective function to comprise slack variable or punishment variable, this variable is estimated cost or punishment for the process variable that each violation sets in advance restriction or constraint, and rerun optimizer, and/or redefine restriction for one or more process variable that exceed restriction with new objective function; Change objective function to comprise the punishment that is used for newly limiting the internal procedure variable, drive those variablees towards initial limit, and rerun optimizer, in the restriction that those redefine, find out optimum solution with new objective function.But, at first, will a kind of method of initial selected objective function be described.
As mentioned above, objective function OF can choose or be provided with by controll block generator program 40 is default.When being desirable to provide the optimization ability, keep in the mode that still can observe the operational constraints of auxiliary variable and performance variable the set-point that a lot of situations only require to be used for control variable.For these application, operate separately as the MPC functional block for configurable 38.In order to use easily, default " operation " objective function can generate automatically, and default cost is distributed to wherein different variablees together with the power of default auxiliary variable AV.These are default can be provided with all costs equably for auxiliary variable AV and performance variable MV, provides some other predetermined costs to distribute perhaps for auxiliary and performance variable AV and MV.When selecting expert's option,, and be the relevant cost that different target function 64 is determined them so the user can generate additional optimization selection.Expert user also can allow to revise the power of the default auxiliary variable AV and the control variable CV of default target function, and the fault cost of constrained or set-point scope, to be explained in more detail these below, when optimizer can not be found out feasible solution at first, optimizer can use these.
For example in one embodiment, do not relate to the daylight saving time when process disposes, objective function can be constructed automatically by the MPC configuration.Usually, objective function can use following formula construction.
CD T = C T + P T * A = [ C 1 , . . . , C j . . . , C m ] + [ Σ i = 1 n p i a i 1 , Σ i = 1 n p i a i 2 , . . . , Σ i = 1 n p i a im ] = [ CD 1 , . . . , CD j , . . . , CD m ] - - - ( 8 )
Variable G jAnd p jCan be provided with definite by configuration.Particularly, suppose that control variable CV set-point only can be limited to lower limit (LL) or the upper limit (HL), then p jValue can following mode define:
p jIf=-1 set-point is defined in LL or selection minimizes; With
p jIf=1 set-point is defined in HL or selects maximization.
Suppose that auxiliary variable AV is not provided with configuration information, then for all auxiliary variable AV, p j=0.Performance variable MV is also similar, C jWhether value depends on has determined preferred operations variable target MV TPreferred operations target MV wherein TBe defined as:
C jIf=1 MV TIn HL or selection maximization;
G jIf=-1 MV TMinimize at the LL or the person of choosing; With
C jIf=0 uncertain MV T
If desired, the selection that the optimizer 54 relevant with MPC controller 52 uses can be adjustable, and optimized degree is provided thus.In order to realize this function, the variation of the performance variable MV that is used by controller 52 can be changed into variations among the performance variable MV that is determined by MPC controller 52 and optimizer 54 by using different power.The weighting of such performance variable MV is incorporated in this and is called effective MV (MV Eff).This effective MV EffCan be defined as:
ΔMV eff=ΔMV mpc(1+α/S)+ΔMV opt(1-α)0<α<1 (9)
Wherein S is any or exploratory selection.Generally, S will be greater than 1, and can be in 10.At this, α=1 o'clock, as being provided with in the generation, optimizer provides effective output.When α=0, controller only provides MPC dynamically to control.Certainly, the scope between 0 and 1 provides different optimizer and MPC control action.
But above-mentioned default objective function can be during its different operator scheme, the operation that is used for setting up optimizer.Specifically, when control variable CV number and performance variable MV number coupling, as long as auxiliary variable AV and performance variable MV estimate that the anticipatory behavior that then has default setting just will be to keep control variable CV set-point within their restriction.Will violate its restriction if dope auxiliary variable or performance variable, then if possible, control variable work set-point just can change in their scope, in case violate these restrictions.In this case, if can not finding out to make to assist with performance variable restriction satisfaction, optimizer 54 also keeps control variable separating in their scopes simultaneously, then when auxiliary and/or control variable allow to depart from their constrained, just control variable is maintained in their scope.In finding out best separating, can fair play those estimate to violate the auxiliary variable AV and the performance variable MV of restriction, and their average restriction is departed from minimize.In order to obtain this behavior, default cost/profit of being used by objective function can be provided with automatically, thereby if defining this scope allows to depart from and be lower than the set-point, then control variable CV is 1 with distribute a profit; Allow to depart from and be higher than the set-point if define this scope, then profit is-1.Auxiliary variable AV attributable profit is 0 in restriction, but performance variable MV apportioning cost is 0.In addition, the auxiliary variable attributable profit is 1 or-1, but the performance variable apportioning cost is 0.1.
When control variable CV number is counted less than performance variable MV, just can propose and the relevant needs of final rest position of the configuration operation variable MV of institute with extra degree of freedom.At this, estimate in their restriction, just can keep control variable set-point (if having determined any control variable CV set-point) as long as assist with performance variable.With the average departure of the performance variable of the final rest position that is disposed will be for minimizing.If dope one or more auxiliary and their restrictions of performance variable violation, then control variable work set-point can change in their scope, in case these restrictions are violated.In this case, if there be a plurality of separating, separating of then being used to control just can be to make with minimized that of average departure of the performance variable of the final rest position that disposes to separate.
Under normal conditions, name a person for a particular job within the acceptable range, and operation, auxiliary and control variable will maintain in current restriction or the scope by the Target Setting that optimizer 54 draws in the above described manner.But, when disturbance too seriously can not be compensated in constrained, some constraints will be violated, in this case, optimizer 54 uses has the default or selected objective function that technology is relaxed in above-mentioned set-point, possibly can't find out feasible solution (that is separating for that, does not wherein have constraint or restriction to be violated).In these environment, provide optimized possibility mode to comprise and abandon all optimizations action and reduce the lower priority constraint.
Though abandon optimization and be handling infeasible solution is the simplest may mode, it is not a best method of handling constraint, because when not having feasible separating in restriction, can consider still that in most cases optimum target minimizes the constraint fault.In addition, reducing the lower priority constraint is extreme behavior, when helping to keep the higher priority constraint that runs into, may cause the constrained that too much departs from reduction uncontrollably, and this is unacceptable.Another problem that reduces the lower priority constraint is to need estimation must reduce how many lower priorities to retrain and separate.This estimation is based on obtainable degree of freedom in the system, and this estimation must be calculated before optimization procedure, perhaps must determine during this process.In the later case, the process that draws optimum solution by continuous reduction constraint may need repetition, separates up to finding out one, and this unlimited repetitive process is undesirable in the real-time optimization of the overwhelming majority is used.
But in some cases, disclose when disposing objective function originally so that not having feasible solution, the size that priority by relying on variable in objective function and constraint break rules distributes one to punish (be commonly referred to and use slack variable in objective function) for each constraint breaks rules; By redefining constrained and redefine objective function for one or more process variable, the restriction that use redefines drives process variable towards restriction in advance, does not allow other process variable to violate their initial constraint or restriction simultaneously; Perhaps, still can find out a kind of acceptable separating by the combination of these two kinds of technology.
More particularly, infeasible optimizer is separated and can be handled with known slack variable notion.This technology is distributed with the constraint-prioritized level of violating and is limited break rules one of size or both relevant punishment.In general, advise in the prior art can using slack variable having under the situation that the controller constrained breaks rules in the optimization, the inventor is known also not to have clear and definite explanation on the mode of doing like this.Thus, below described technology by inventor exploitation, in the time of in using separating that the initial target function draws, constraint must occurring and break rules, use slack variable to redefine the objective function that uses by optimizer.
In general, slack variable value of being defined as or absolute value exceed the restriction that (be higher than or be lower than) violated according to this value or absolute value forecasting process variable.In order to make slack variable minimize (and the restriction fault is minimized), the objective function that is used by optimizer will redefine, in fact, comprise the punishment that is used for each non-zero slack variable value, make optimizer find out to make that slack variable is minimized separates, this slack variable with determine by objective function as other target associations such as economic goals.According to this technology, when optimizer is found the situation of infeasible solution can only be provided, redefine objective function, comprise and restriction fault cost related or punishment, be used for each process variable (as operation, auxiliary or control variable) or be used to estimate to violate each process variable that sets in advance restriction at least.If desired, will determine identical or different punishment for each process variable, and make objective function comprise a slack variable, this slack variable is determined to be used to violate each process variable of relevant restriction by the cost or the punishment of each restriction fault generation.In the objective function that redefines, slack variable cost or punishment can be dependent on restriction fault absolute value and wherein produce the process variable that restriction breaks rules.For example, unit cost or punishment can be higher for the process variable restriction of higher priority, can be lower for the process variable restriction of lower priority.In any case therefore, the objective function that use redefines, not only there is predetermined economic factors (profit and cost) but also existing under the situation of cost or punishment, this cost or profit are relevant with the existence of the non-zero slack variable that is used for one or more process variable, by minimizing the objective function that (or maximization) redefines, find out optimum solution.
More particularly, in linear programming, the slack variable vector S Max〉=0 and S Min〉=0 can be as following use:
CV predicted+A*ΔMV(t+c)=CV min+S min (10)
CV Predicted+ A* Δ MV (t+c)=CV Max-S Max(11), be appreciated that in these equatioies AV is included in the CV item (that is, the CV variable contains and covered all output, no matter whether control variable is auxiliary variable) at this.In equation (10) and (11), require linear programming model identical, slack variable S MinAnd S MaxOnly, there is not special using value as the parameter of supplementary form.In this is used, additional slack variable S +And S -Be used on lax vector, expanding limited field, wherein S +〉=0 is used for the upper limit increases S -〉=0 is used for lower limit reduces.Equation (10) and (11) can redefine or be expressed as again effectively:
CV predicted+A*ΔMV(t+c)=CV min+S min-S - (12)
CV predicted+A*ΔMV(t+c)=CV max-S max+S + (13)
Its intermediate value S -And S +It is the value of violating low and higher constrained according to their forecasting process variablees respectively.According to this definition, new slack variable S -And S +Be used in objective function determining punisher, in scope or only in minimum is overflowed scope, obtain LP and separate.For example, objective function can be by increasing a PS - T* S -And PS + T* S +Expand, make:
Q min = - UC V T * ΔCV ( t + p ) + UM V T * ΔMV ( t + c ) + P S - T * S - + P S + T * S + - - - ( 14 )
Wherein:
PS -It is the slack variable punishment vector that is used to violate lower limit;
PS +It is the slack variable punishment vector that is used to violate the upper limit; With
PS ->>UCV and PS +>>UCV (wherein symbol>>implication is quite big) ..
Thereafter, the new objective function of determining can be used for making the minimized new objective function minimized value S that determines with standard mode -And S +, as by with these value cost related definition, to separate to obtain such one, this is separated other objects about objective function and reduces optimally to limit that to exceed the aspect be best.
In general, with slack variable S -And S +Punishment when relevant punishment will be carried out optimization apparently higher than the financial cost in objective function or profit or the financial cost relevant with objective function or profit.Thus, vector PS -And PS +(they have determined the punishment relevant with different slack variables) important will be obviously greater than the financial cost/profit vector that is used in the objective function.Generally speaking, have reason to suppose vector PS -And PS +Minimum component than big several times of the largest component of vector UCV.Therefore, as said, compare with financial cost, profit etc., slack variable will be subjected to high punishment in objective function.
Fig. 5 illustrates the use of slack variable, and the constraint that is used for processing procedure variable (not having relevant set-point) breaks rules.Particularly Fig. 5 shows S Max(i) value, S Max(i) be used for following situation: (1) forecasting process variable as is put shown in 206 within predefined constrained (being determined by line 202 and 204); (2) the forecasting process variable is higher than maximum constrained restriction 202, as puts shown in 208; (3) the forecasting process variable is lower than least commitment restriction 204, as puts shown in 210.In first kind of situation (relevant) with point 206, S +(i) and S -(i) value is zero, and this is because do not violate upper and lower constrained.In this case, there is not punishment to the punishment of the process variable in the objective function or not relevant with process variable less than punishment.But, S (is shown by point 208) in second kind of situation +(i) value non-zero has surpassed the upper limit 202 because put 208.Bold dashed lines shows slack variable S +(i) value, this on duty with the upper limit relevant unit cost that breaks rules, be used for this process variable of objective function.Equally, S (is shown) by point 210 in the third situation -(i) value non-zero has exceeded lower limit 204 because put 210.Show slack variable S in this bold dashed lines -(i) value, this on duty with the lower limit relevant unit cost that breaks rules, be used for this process variable of objective function.Certainly, Fig. 5 shows the single time relevant with single process variable, is appreciated that the objective function that redefines breaks rules overtime constraint and minimizes to the controlling level line.
Except (perhaps replacing) aforesaid minimum restriction restriction breaks rules, or finding out under the situation of non-feasible solution, or wishing that owing to other reasons under the situation of optimization set-point, optimizer can use the punishment slack variable, for the set-point provides optimization.Particularly, the punishment slack variable can be used to allow the set-point to relax within the acceptable range, this scope around the set-point of selecting in advance (as, the set-point that provides by operator or some other sources) determines according to infeasible solution or with any other reason of thinking usefulness, so that other process variable can meet their relevant restriction or almost meet their relevant restriction.The set-point scope can comprise that high scope (wherein allowing the set-point to depart from), low scope (wherein allowing the set-point being lower than in the set-point scope of selecting in advance departs from) or both comprise in being higher than the set-point scope of selecting in advance.The set-point scope of using in present technique can be for one-sided or bilateral.One-sided scope can with minimize or maximized objective function relevant, in objective function, determine a punishment, be used to depart from the outside of selecting the set-point scope in advance, but this scope only is provided at the financial cost in the objective function, is used in the scope of set-point, departing from the set-point.On the other hand, the bilateral scope does not generally have economic goal, but is used for obtaining in preferable range the approaching as far as possible optimum solution of selecting the set-point in advance, and it can expand to the outside of scope by using high punishment slack variable.If this preferably is provided with scope and equals zero, separate basically the same with the set-point of punishment slack variable that has around it.
Fig. 6 and 7 shows the use of not using and having used the slack variable of spreading range respectively.Referring to Fig. 6, point 215 shows in the scope of being determined by line 217 and line 219, is used for the set-point of process variable.In the scope that defines by line 217 and 219, not relevant slack variable punishment with departing from the set-point.But, as put shown in 221, when the process variable has exceeded range limit 217, use punishment slack variable S +(i) come in the objective function this departs from estimation punishment, mode is similar to the use of slack variable in the above-mentioned constraint fault situation.Equally, shown in 223 o'clock, when the process variable goes beyond the scope lower limit 219, use punishment slack variable S -(i) come in the objective function this departs from estimation punishment, mode is similar to the use of slack variable in the above-mentioned constraint fault situation.
Fig. 7 shows the use of slack variable in the spreading range situation, wherein estimate the punishment of first slack variable for departing from the set-point in first scope, high punishment slack variable (having high punishment cost) is used for the possible range of set-point is expanded to the first scope outside.Specifically, point 230 shows when the forecasting process variable and is higher than in advance the set-point of selecting 231, but determine by line 232 and 234 set in advance in the allowed band time situation.At this, variable S (i) AboveBe used for determining and put 230 and depart from the relevant punishment in the set-point that sets in advance 231.Shown in dotted line, S (i) AboveThe nonzero value of variable pays in objective function.On the other hand, when the performance variable relevant with the set-point exceeds when setting in advance range limit 232, point 236 usefulness are worth S +(i) show high use of punishing slack variable.At this, with S (i) AboveVariable is compared, and big bold dashed lines is illustrated in S in the objective function +(i) variable is high punishment, makes the scope of being offset to limit punishment that 232 outsides are subjected to than limiting the punishment height that 232 internal deviation set-points 231 are subjected in scope.
In a similar fashion, point 238 shows when the forecasting process variable and is lower than in advance the set-point of selecting 231, but by line 232 and 234 definition set in advance in the allowed band time situation.At this, variable S (i) BelowBe used for determining and put 238 and depart from the punishment of selecting set-point 231 relevant in advance.Shown in dotted line, S (i) BelowThe nonzero value of variable pays in objective function.In addition, when the process variable relevant with the set-point exceeds when setting in advance scope lower limit 234, point 240 usefulness are worth S -(i) show high use of punishing slack variable.At this, with S (i) BelowVariable is compared, and big bold dashed lines is illustrated in S in the objective function again -(i) variable is high punishment, makes the scope of being offset to limit punishment that 234 outsides are subjected to than limiting the punishment height that 234 internal deviation set-points 231 are subjected in scope.
Being used to have the equation of controlling bilateral scope set-point can represent by following form:
CV predicted+A*ΔMV(t+c)=SP-S below+S above (15)
CV predicted+A*ΔMV(t+c)=CV min+S min-S - (16)
CV predicted+A*ΔMV(t+c)=CV max-S max+S + (17)
At this, S BelowAnd S AboveBe the vector of slack variable, be used to be lower than and be higher than the situation of set-point, a PSP Below T* S Below+ PSP Above T* S AboveTo be increased in the objective function, wherein:
PSP Below TFor being used to be lower than the unit punishment of set-point situation; With
PSP Above TFor being used to be higher than the unit punishment of set-point situation.
Being appreciated that objective function also can comprise is used for S as defined above -And S +The slack variable of variable.
Thisly be used to handle technology, in handling infeasible solution, provide sizable dirigibility with punishment slack variable constraint.Specifically, punish slack variable by using, outside even this is separated in restriction of selecting in advance or constraint, optimizer also can be found out optimum solution, as being determined by objective function, makes all retrain fault cost minimizations.But, as the result who uses slack variable to separate, having in operation before the optimizer that redefines of punishment slack variable, some the process variable outputs in the restriction may exceed restriction.In addition, the restriction plussage that is used for a particular procedure variable be can not determine its quantity before generation is separated.These two features may be undesirable in a plurality of application, and the lower priority process variable in the scope restriction can not be driven into outside the restriction because some application may require at first, makes the higher priority process variable in restriction yet.In addition, some application may also require to be used for fitting of all process variable and separate restriction surely.These two targets can be by according to infeasible situation or separate and redefine restricted model and satisfy.
Particularly, handle infeasibility for the mode of carrying out determined restriction fault degree with strictness, restricted model itself can redefine.Certainly, if do not use the punishment slack variable, and do not separate in initial limit, perhaps used the punishment slack variable, punish that separating of slack variable is unacceptable but have, so this redefining occurs in after the optimized running first time.In general, the restriction that redefines is set to violate initial limit and this initial limit less than the forecasting process variable of some typical values (as, control variable CV) value.These restrictions of newly determining are used in the optimized running second time then, when minimizing or maximize objective function, find out and do not violate separating of the new restriction that redefines.Redefining of this restriction prevents that the process variable of violating initial limit from becoming even worse, prevents that simultaneously other process variable of not violating their initial pre-set limit from violating initial limit in the second time in the optimized running.But, process variable optimization still in initial limit (if the predicted value of process variable is not violated initial limit) or in the new restriction of determining (if the predicted value of process variable has been violated initial limit really) has then provided a bounded optimum solution having under the situation that restriction breaks rules.
This technology can as described belowly define control variable CV with mathematics: if do not separate and exceeded upper limit CV HL, the new restriction that is used for CV so is defined as:
CV HL’=CV prediction
CV LL’=CV HL
At this Δ=1-3%, to avoid separating just in initial limit.
Similarly, when having exceeded lower limit CV LLThe time, new restriction is defined as:
CV LL’=CV prediction
CV HL’=CV LL
Certainly, similarly restriction also can be to other process variable definition, as performance variable MV and auxiliary variable AV.
The restriction of these redeterminations is illustrated among Fig. 8 substantially.Particularly, initially retrain CV HLAnd CV LLIllustrated by line 250 and 252 in Fig. 8 left side, two CV predictions of violating these constraints (and by first pass optimizer generation of using the initial target function) are illustrated by point 254 and 256.Two groups of restriction CV that redefine HL 'And CV LL 'Illustrate for 258,260 groups and 262,264 groups by line.Be appreciated that the restriction group 258 that redefines and the new restriction of 260 corresponding points 254, and delimit by point 254, delimit by the initial limit 250 that is lower than warning triangle at downside in the highest side.Equally, the new restriction of restriction group 262 that redefines and 264 corresponding points 256, and delimit by point 256 in high side (side of absolute value maximum), and add that by initial limit 252 warning triangle delimits at downside (side of absolute value minimum).These new restriction groups are used for objective function, and as the new restriction (whichever all is fit to) of point 254 or 256, the fresh target function does not allow to find out in outside the separating of those restrictions.In addition, can distribute high punisher according to new restriction 260 (in the situation of point 254) or the distance that newly limits between 262 (in situations of point 256) and the new CV value, and be used in the fresh target function, drive new CV towards new lower bound 260 (in the situation of point 254) or towards the new upper limit 262 (in the situation of point 256) with new restriction.More particularly, after redefining Constraints Processing model or restriction, the CV punisher that is used for all super scopes or restriction can recomputate in the mode that exceeds these CV of driving on the restriction direction.In order to realize this target, should ignore economic criterion for the punishment that restriction breaks rules, relevant with new restriction like this punishment should be high punishment variable.
In this mode, for providing the border to these process variable, exceed for each is predicted restriction process variable (as, CV) set up restriction newly, but will in objective function, practicality punish, in second time optimizer, drive process variable, thus optimization procedure variable and do not violate any restriction (perhaps in the redetermination restriction that exceeds under the limit procedure variable situation, perhaps for do not violate the initial limit under the initial limit situation in process variable) towards initial limit.But, in this case, restriction (perhaps is the initial limit of the process variable that is used for not violating their initial limit in the first pass objective function, perhaps redefine restriction for the process variable that in the first pass objective function, has been used to violate they initial limit) to delimit, optimizer can be found out separating in these limit.
The general type of LP objective function that use redefines restriction and is used for the punisher of these restrictions can be expressed as:
(P T*A+C T)*(MV t-MV t-1) (18)
Wherein the cost of process output can be by vector expression:
Result vector is:
CM T = C T + P T * A = [ C 1 , C 2 , . . . , C m ] + [ Σ i = 1 n p i a i 1 , Σ i = 1 n p i a i 2 , . . . , Σ i = 1 n p i a im ] =
= [ CM 1 , CM 2 , . . . , CM m ] - - - ( 20 )
Handle in order to carry out priority restrictions, if process variable (as, CV) exceeded the upper limit, then be used to violate the additional penalty v of constraint output iMay be defined as negative value; If process variable has exceeded lower limit, this additional penalty v then iMay be defined as on the occasion of.Additional penalty v iContribution to the cost vector is:
[ v i a i 1 , v i a i 2 , . . . , v i a im ] = [ V 1 i , V 2 i , . . . , V m i ] - - - ( 21 )
For having precedence over economic Constraints Processing, this vector should have greater than vector CM TComponent.Therefore:
| v i a ij | ≥ ( | CM j | + 1 ) ( 1 - r i - r min r max ) j = 1,2 , . . . , m - - - ( 22 )
Wherein:
r iIt is the priority/number of degrees that redefines CV;
r MaxIt is the greatest priority/number of degrees that is used for lowest priority/grade; With
r MinIt is the minimum priority/number of degrees that is used for limit priority/grade.
High by using | v i| estimated value can be with computational short cut:
| v i | = max j ( | CM j | + 1 ) r max min i , j | a ij | r min = v , | a ij | > . 05 , i = 1,2 , . . . , n - - - ( 23 )
In fact, suppose | α Ij|>.05, so that from calculate, remove extremely low process gain.Exceed pre-set limit for all or exceed presetting range process variable (as, CV) calculate after the v punishment, can rely on the priority of process variable that punishment is adjusted, as:
| v i | = v ( 1 - r i - r min r max ) - - - ( 24 )
According to equation (23) for exceeding after special process variable that they retrain separately assesses the cost, can calculate all constraint total costs that be used for all operations variable by equation (19).The process that is used for calculating punishment should be applied successively to violate all CV of constraint by equation (23), from violation constraint (the maximum r of lowest priority i) begin to retrain to the violation of limit priority.In fact, but vector is effectively punished in standardization.A possible standardized technique is to use largest component divided by all vector components, and multiply by 100.
If desired, the notion of Constraints Processing can expand to the situation of integrated above-mentioned two kinds of methods, particularly, redefines integrated by use and model in conjunction with the punishment slack variable.In this integrated approach, when not retraining fault or when the optimum solution that calculates with the punishment slack variable is acceptable, so only using the punishment slack variable.But,, redefine the process export-restriction so when having violated constraint and having had separating of punishment slack variable unacceptable the time.In this case, as shown in Figure 8, new export-restriction becomes and is used for forecasting process output and violates the prediction of restriction and equate.But initial limit still is used for determining the punishment slack variable, and this is as in the slack variable of having described is used.
Fig. 9 shows slack variable and limits this integrated use that redefines.Particularly, 270 show by the initial limit CV shown in line 272 and 274 HLAnd CV LLInterior forecasting process variable or CV.Point 276 shows violates upper limit CV HL272 forecasting process variable or CV.In this case,, restriction redefined be CV about the general description that redefines of restriction among Fig. 8 as top HL 'And CV LL 'In addition, use slack variable as described above, so that use slack variable S Max' and S +(i) be the fault estimation punishment of initial limit.Equally, 280 show violation lower limit CV LL274 forecasting process variable or CV.In this case,, restriction redefined be CV about the general description that redefines of restriction among Fig. 8 as top HL 'And CV LL 'In addition, aforesaid use slack variable is so that use slack variable S Min' and S -(i) be the fault estimation punishment of initial limit.
Available following equation is expressed this technology:
CV predicted+A*ΔMV(t+c)=CV LL+S min-S -(25)
CV predicted+A*ΔMV(t+c)=CV HL-S max+S +(26)
CV predicted+A*ΔMV(t+c)=CV LL’+S min′(27)
CV predicted+A*ΔMV(t+c)=CV HL’-S max′(28)
At this, the limits value CV that redefines LL 'And CV HL 'Be the lower limit and the upper limit that optimizer can not exceed.Limits value is set to exceed the prediction that limits CV or exceeds limits value than initial limit wide ranges.The comprehensive equation that is used for control of CV scope and the control of bilateral CV scope draws in a similar manner.In addition, it is identical to be used for the comprehensive equation and equation (25)-(28) of one-sided scope control.The bilateral scope is controlled available equation and is realized:
CV predicted+A*ΔMV(t+c)=SP-S below+S above (29)
This is the same with equation (15).
Be appreciated that this integrated approach allows Constraints Processing with more flexible way realization.Current input only has hard or fixingly concludes a contract or treaty the bundle restriction really.Import for some, can determine to be included in the soft-constraint of hard constraint inside with identical method.Facilitate to MV and determine the punishment scope by introduce the punishment slack variable for soft-constraint.The equation that is used for these soft scopes can be expressed as:
MV min soft - S soft min - = MV current + MV ( t + c ) - - - ( 30 )
MV max soft + S soft max + = M V current + ΔMV ( t + c ) - - - ( 31 )
Finally, this method can be used to make optimizer to drive as the process variable of performance variable MV etc. arrives preferred input value or so-called " desirable static value ".This method shows at Fig. 9, and wherein desirable static value is illustrated by line 290, is shown the upper and lower bound of MV simultaneously respectively by line 292 and 294.Point 296 and 298 shows the situation when predicted value is higher or lower than desirable static value 290.In these situations, punishment slack variable S (i) AboveAnd S (i) BelowBe used to determine in objective function and depart from desirable static value cost related or punishment.The MV equation that is used to have desirable static value can be expressed as:
IRV-S below+S above=MV current+ΔMV(t+c) (32)
MV min+S min=MV current+ΔMV(t+c) (33)
MV max-S max=MV current+ΔMV(t+c) (33)
Be appreciated that punishment slack variable S -, S +, S Below, S AboveComponent such as unit cost or punishment, can in objective function, be provided with or be chosen as variable priority, variable unit cost and/or as the function of other factors such as restriction fault degree.
In the test of using these technology, by using senior disturbance, or, obtain restriction and break rules by the lower limit and the upper limit are set in input and output in the mode that causes these restrictions to be violated.These tests have confirmed that this technology is useful.Particularly at these duration of test, optimizer suitably, action effectively, improved the high priority constraint and broken rules, and do not had the further fault of low priority constraint.Therefore, redefine by using slack variable and model that to handle that infeasible LP separates be quite flexibly and effective method.
In addition, the principle of above-mentioned Constraints Processing can be used for developing the distortion of a plurality of restricted models, satisfies more particularly demand.Equally, this method can be used for not using other real-time optimizations of MPC control to use, and mixes optimization as gasoline.Say that further optimizer 54 can use above-mentioned technology, under the situation that one or more feasible solutions can be arranged, control of realization scope and desirable static value.Thus, when in the situation of not finding out feasible solution, using objective function, perhaps when using objective function in the situation that one or more feasible solutions can be arranged, optimizer 54 all can use these technology to attempt carrying out optimization, but wishes that further optimization arrives desirable static value etc. in the scope of set-point.
With reference to figure 2, after determining to separate for the performance variable target group, optimizer 54 is with best group or object run variable MV again TOffer Target Transformation piece 55, this Target Transformation piece uses steady state (SS) gain matrix to determine that the target steady state (SS) is controlled and by object run variable MV TThe performance variable that produces.This conversion is directly to calculate, because the steady state (SS) gain matrix has been determined the reciprocation between performance variable and control and the auxiliary variable, therefore can be used for according to objective definition (steady state (SS)) performance variable MV TUnique definite object run and auxiliary variable CV TAnd AV T
In case after determining, to major general's target control and auxiliary variable CV TAnd AV TThe N subclass as input, offer MPC controller 52, be that this MPC controller is with these desired values CV as what before noticed TAnd AV TDetermine one group of new steady state operation variable (crossing the controlling level line) MV SS, this variable drives current control and performance variable CV and AV to desired value CV at controlling level line end TAnd AV TCertainly, well-known, the MPC controller progressively changes performance variable, attempts to make these variablees MV SSArrive steady state value, theoretically, these variablees are exactly the object run variable MV that is determined by optimizer 54 TBecause during each process scanning, optimizer 54 and MPC controller 52 are operated as mentioned above, performance variable MV TDesired value can begin to change from scanning to the end of scan, therefore, under the special situations such as variation in noise, undesirable disturbance, process 50 are arranged, in fact the MPC controller may be from these group object run variablees of no show MV TIn any specific one.But optimizer 54 always driving governor 52 makes performance variable MV draw close to optimum solution.
As everyone knows, the MPC controller comprises control forecasting process model 70, this model can be step response (step response) matrix (at this N is that control variable CV number adds auxiliary variable AV number, and M is a performance variable MV number, and D is a disturbance variable DV number) of N * (M+D).Control forecasting process model 70 produces the prediction that precomputes that is used for each control and auxiliary variable CV and AV in output 72, vector addition device 74 deducts these predicted values that are used for the current time from the actual measured value of control and auxiliary variable CV and AV, so that produce error or correcting vector in input 76.
Control forecasting process model 70 then and use the step response matrix of this N * (M+D), according to disturbance with offer the performance variable of other input of control forecasting process model 70, cross the controlling level line and predict following controlled variable for each control variable and auxiliary variable CV and AV.Control forecasting process model 70 is also with control variable and auxiliary variable CV SSAnd AV SSThe prediction steady state value offer input processor/filter block 58.
Controlled target piece 80 is N target control and auxiliary variable CV TAnd AV TIn each determine the controlled target vector, these variablees use the track wave filter of setting up in advance as piece 38 82 to provide by Target Transformation piece 55.Particularly, the track wave filter provides a unit vector, determines control and the overtime mode that is driven into their desired values of auxiliary variable.Controlled target piece 80 uses this unit vector and target variable CV TAnd AV T, for each control and auxiliary variable produce dynamic controlled target vector, these variablees are definite target variable CV outside by the time cycle of controlling level line timing definition TAnd AV TVariation.Vector addition device 84 deducts from dynamic control vector and is used for each control and following controlled variable vector of auxiliary variable CV and AV then, for each is controlled and auxiliary variable CV and AV determine error vector.The following error vector that will be used for each control and auxiliary variable CV and AV then offers the MPC algorithm, operates the step of this algorithm selection operation variable MV, crosses the controlling level line, and for example minimum square error is minimized.Certainly, MPC algorithm or controller also can use M * M process model or gating matrix, and they are from the N control that is input to MPC controller 52 and auxiliary variable and by drawing the relation between the M performance variable of MPC controller 52 outputs.
More particularly, the MPC algorithm that works together with optimizer has two fundamental purposes.The first, the MPC algorithm is attempted in operational constraints, and the CV departure with minimum MV transmission is minimized; The second, attempt to obtain the best stabilized state MV value set up by optimizer, target CV value is directly calculated by best stabilized state MV value.
In order to satisfy these purposes, initial free MPC algorithm can be expanded, and the MV target is comprised in into the most satisfied the separating.The objective function that is used for this MPC controller is:
min ΔMV ( k ) { | | Γ y [ CV ( k ) - R ( k ) ] | | 2 + | | Γ u ΔMV ( k ) | | 2 + | | Γ 0 [ ΣΔMV ( k ) - ΔMVT ] | | 2 } - - - ( 35 )
Wherein:
CV (k) is that controlled output p-goes on foot at preceding predictive vector;
R (k) is that the p-step is at preceding reference orbit (set-point) vector;
Δ MV (k) transmits (moves) vector in preceding (ahead) increment control in the c-step;
Γ y=diag{ Γ y 1..., Γ y pIt is the punishment matrix in controlled output error;
Γ u=diag{ Γ u 1..., Γ u cAt the punishment matrix of controlling in transmitting;
P is prediction horizon (step number);
C is controlling level line (step number); With
Γ 0Be that the controller output of crossing the controlling level line is transmitted the punishment of summation with respect to the error of the MV target optimal varied that is defined by optimizer.
For the reduced representation symbol, the known target function is used for signal input/signal output (SISO) control.
Be appreciated that preceding two is the objective function that is used for unconfinement MPC controller, and the 3rd set up subsidiary conditions, the summation that makes controller output transmit equals optimum target.In other words, set up the target that is used for the controller dynamic operation for preceding two, and the 3rd has been set up the steady state (SS) optimum target.
Note, be used for the general solution of sort controller, and be used for the similar of free MPC controller, can be expressed as:
ΔMV ( k ) = ( S u T Γ T Γ S u + Γ u T Γ u ) - 1 S u T Γ T Γ E p + 1 ( k ) = K ompc E p + 1 ( k ) - - - ( 36 )
Wherein:
Δ MV (k) changes in the k output of MPC controller constantly;
K OmpcIt is optimized MPC controller gain; With
S uIt is the process dynamic matrix.
S uCan set up from the step response of many inputs of having m operation input and the individual controlled output of n in response to the p that is used for the SISO pattern * c dimension and being used to/export p*n * c*m of MIMO pattern more.
For optimization MPC, dynamic matrix expands to dimension and is: the SISO pattern is (p+1) * m, and the MIMO pattern is (p+m) * n * c*m, so that adapt to the MV error.E P+1(k) be the CV error vector of crossing prediction horizon, the controller output of promptly crossing the controlling level line transmits the error of summation with respect to MV target optimal varied.Matrix Γ has merged matrix Γ yAnd Γ 0, it is that SISO controller dimension is (p+1) and the big or small square matrix for [n (p+m)] of multivariable controller.Subscript T represents transposed matrix.
Can determine, because optimizer 54 carries out optimization according to all control and auxiliary variable CV and AV, to determine the performance variable MV of the unique optimal point of operation of definition TTarget Setting, therefore inessentially be, MPC controller 52 is only operated with the subclass of the control in its gating matrix and auxiliary variable CV and AV, therefrom produce the output of performance variable MV, this is because when controller 52 drive controlling and the selected subclass of auxiliary variable CV and AV during to their relevant targets, and the some other general in the control of all groups and the auxiliary variable is also at their desired value place.As a result, determined to have M * (M * M) the MPC controller can use with optimizer, and this optimizer uses rectangle, and (N * M) process model carries out process optimizing for M gating matrix square.This makes standard MPC control technology to use with the standard optimization technique, and need not be to non-square matrix inversion, and this inverting can be supervened approximate value and the generation danger relevant with this switch technology in controller.
In one embodiment, when MPC controller when being square, that is, performance variable MV number equals control variable CV number, and the target of performance variable MV can change acquisition effectively by following CV value:
ΔCV=A*ΔMVT (37)
Wherein:
Δ MVT is that the optimum target of MV changes; With
Δ CV is that the CV that obtains best MV changes.
Certainly, the CV variation realizes by management CV set-point.
In operation, optimizer 54 is that the free controller of MPC is set up and renewal steady state (SS) target in each scanning.Thus, the MPC controller is carried out free algorithm.Because target CV TAnd AV TMode with the explanation constraint is provided with, so as long as there is feasible solution, controller is just worked in constrained.Therefore, optimization is the ingredient of MPC controller.
Fig. 3 and 4 has described flow process Figure 90, the figure shows to be used for realizing integrated model PREDICTIVE CONTROL and optimized step.Flow process Figure 90 generally is divided into two parts 90a (Fig. 3) and 90b (Fig. 4), the function during expression is created in process operation (90a) function before and is created in process operation (90b) respectively, for example each scan period of process operation.Before process operation, operator or slip-stick artist take a plurality of steps, so that generate the controll block formerly 38 that comprises integrated MPC controller and optimizer.Particularly, in piece 92, can selecting formerly, control template is used as controll block 38 formerly.The configuration that template can be stored on the user interface 13 is used in the interior storehouse, and from the storehouse, duplicate, template can comprise the general mathematics and the logical function of MPC controller routine 52 and optimizer 54, and need not special MPC, process model and steady state (SS) gain or gating matrix and special objective function.This control template formerly can be placed in the module with other data blocks, as be configured to can with the input and output piece of devices communicatings in the process 50, and the functional block of other type as controll block, comprises PID, neural network and fuzzy logic control piece.Be appreciated that in one embodiment each piece in the module is that this style has input and output connected to one another, communicates so that make between the piece to the object in object programming style.During operation, the processor of operation module makes each data block computing with the input of piece by different time sequencings, produces the output of piece, then this output is offered the input of other pieces, and this is as being connected definition by the designated communication between the piece.
In piece 94, the operator determines special operational variable, control variable, bound variable and disturbance variable, so that be used in the piece 38.If desired, in program 40 configurators such as grade as Fig. 1, the user can check control template, the input and output that selection has been named and disposed, use any standard browser in configuration surroundings, to browse, in control system, find out actual input and output, select these actual control variable as the input and output control variable that is used for control template.
After having selected the input and output of control function piece formerly, the user can determine the set-point relevant with control variable, scope or the restriction relevant with control variable, auxiliary variable and performance variable, with each control, the auxiliary power relevant with performance variable.Certainly, when these variablees are selected in the Process Control System configuration surroundings or are found out, may be relevant as the information that retrains restriction or scope and so on these variablees.If desired, in the piece 96 of Fig. 3, by being each performance variable, control variable and auxiliary variable appointment unit cost and/or profit, the configurable one or more objective functions that in optimizer, use of operator.Certainly, in this, as mentioned above, operator selectable is selected and is used default objective function.Say that further the user can be each control, auxiliary and performance variable appointment and each slack variable or punishment variable S +, S -, S Above, S BelowEtc. cost related or punishment.If desired, determine that by initial constrained the user also can specify special mode, infeasible solution will be handled or dispose to optimizer therein, as using slack variable, redefining constrained or both some combinations.
In the piece 98 of Fig. 3, input (control, auxiliary and disturbance variable) and output (performance variable) are named, these input and output are with formerly control template is relevant with power, restriction and set-point are associated therewith, control template is formerly downloaded in the selection control in the process, as the functional block that is used to control.The general characteristic of controll block and the mode that disposes this controll block number are being No.6,445,963, title is described in the United States Patent (USP) of " Integrated Adcanced Control Blocks in Process Control Systems ", this patent has transferred the assignee, so this patent specially is incorporated in this as a reference.But what this patent was described is the characteristic that produces the MPC controller in Process Control System, the mode that optimizer can be connected to this controller is not discussed, be appreciated that, the general step that connection and Configuration Control Unit are taked can be used for the controll block 38 with template described here, this template is included in all logic elements that are used for controll block 38 of this discussion, rather than only describe in the referenced patent those.
In any case after formerly control template downloaded in the controller, the operator can select the experimental stage of operation control template in piece 100, thereby produce step response matrix and the procedure module that is used in the MPC controller algorithm.As described in top definite patent, during experimental stage, formerly the steering logic in the controll block 38 offers process as performance variable with a series of pseudorandom waveforms, and observes the variation in control and auxiliary variable (the MPC controller is regarded them as control variable basically and handled).If desired, operation and disturbance variable, and control and auxiliary variable can be gathered by the recording station among Fig. 1 12, the operator can set up configurator 40 (Fig. 1), obtain these data from recording station 12, and approach to these data by any way, obtaining or definite step response matrix, control of each step response identification in time or auxiliary variable are to the response of the unit change in one (and only being one) operation and the control variable.This unit change is generally stepped change, but also can be the variation of other type, changes as pulse or slope.On the other hand, if desired, when with the pseudorandom waveform application to process 50, when then these waveforms being offered operator interface therewith 13, controll block 38 can produce the step response matrix according to institute's image data, and operator or user produce and install controll block 38 formerly with this interface.
After producing the step response matrix, outnumber under the situation of performance variable in control and auxiliary variable, the step response matrix is used to select to control the subclass with auxiliary variable, and it is used in the MPC algorithm, as M * M process model or gating matrix, invert and be used in the MPC controller 52.This selection course for example can manually be carried out by the operator in the user interface 13 with visit step response matrix, is perhaps carried out automatically by routine.In general, the single variable in control and the auxiliary variable will be regarded as one and the most approaching maximally related variable of performance variable.Like this, in control or the auxiliary variable (they are input to process controller) single and unique (promptly, different) one the performance variable different with each (they are the output of process controller) is relevant, make the process model that the MPC algorithm can produce based on the step response of M * M group.
Among the embodiment of the detection method of when pairing is provided, using, Automatic Routine or operator will select the set of control and auxiliary variable M (wherein M equals the performance variable number), attempt to select single control or auxiliary variable, a particular variables in performance variable and a centering of those two variablees, this single control or auxiliary variable have some and are attached to maximum gain and fastest response time in the unit change.Certainly, in some cases, special control or auxiliary variable can have the big gain of multioperation variable and fast-response time.At this, control or auxiliary variable can be matched with any relevant performance variable, in fact, can with do not produce maximum gain and the performance variable of fastest response time the pairing, its reason is, generally speaking, cause less gain or may not can than the performance variable of slow-response time influence the acceptable degree of any other control or auxiliary variable.Like this, on the whole, want the selection operation variable right on the one hand, will select control or auxiliary variable on the other hand, thereby the subclass of performance variable and control and auxiliary variable is matched, this control and auxiliary variable are represented the most responsive control variable of performance variable.Further say, if all control variable are not elected as one of control and auxiliary variable M subclass, therefore and the MPC controller does not receive all control variable and does not have what problem as its input yet, this is because optimizer selects the set of control and auxiliary variable target to represent the operating point of process, is positioned at their set-point or in opereating specification that they provided at this non-selected control (and non-selected assisting) variable.
Certainly, because tens even hundreds of control and auxiliary variable can be arranged on the one hand, tens or a hundreds of performance variable can be arranged on the other hand, on the position of observability, be difficult to the set that selection all has the control variable and the auxiliary variable of optimal response to each different operating variable at least.In order to overcome this problem, controll block formerly in operator interface therewith 13 produces routine 40, can comprise or have a group screen curtain that is used for user or operator and show, help maybe can make the operator suitably to select control and auxiliary variable, these variablees should be used for the MPC controller during operation as the subclass of control and auxiliary variable.
Thus, in piece shown in Figure 3 120, can offer screen of operator, can check that the on-screen options author each control and auxiliary variable are for response specific or a selected performance variable.But operator's rolling operation variable, whenever next checks each control and the auxiliary variable step response for each different operating variable, and during this process, selects one for best responsive control of performance variable or auxiliary variable.Usually, the operator will attempt to choose control or the performance variable that has gain of highest stabilizing state and fastest response time best incorporated for performance variable.
Be appreciated that this display screen can be seen the operator and selected to control subclass with auxiliary variable M, these variablees will be as the input of MPC control algolithm, when a plurality of this variable, and this algorithm particularly suitable.Certainly, control of determining in piece 74 and constraint variables set close and can or select the automatic or electronic selection of routine according to some standards of setting up in advance, this routine can be chosen input variable, on the basis that some gain responses and time delay combine, use, as from the step response that is used for control variable and performance variable is determined.
In another embodiment, for example by condition quantity is minimized to the extension area that some are wanted, by draw the controller configuration from matrix, autoselect process can be selected the I/O matrix by the condition quantity according to matrix, at first determines gating matrix then.
In this example, for the process gain matrix A, can determine the condition quantity of matrix A TA, thus the control ability of test matrix.Less controlling the size generally means control ability preferably, and bigger controlling the size means control ability relatively poor during the dynamic control operation and more control step or transmit.Do not have strict standard to be used to define the acceptable degree of control ability, therefore, condition quantity can be as various potential gating matrixs relatively, and with the test of do to ill-condition matrix.As everyone knows, the condition quantity approach infinity that is used for ill-condition matrix.From mathematics, under the situation of collinearity process variable, can produce morbid state, in brief, owing to the row or column of collinearity in the gating matrix.Thus, the principal element of influence condition quantity and control ability is the cross-correlation between the matrix row and column.The careful input/output variable of selecting can reduce condition question when control variable.In fact, if the condition quantity of gating matrix be hundreds of (as, 500) or higher be worrying.Such matrix, the transmission meeting of controller function variable is quite undue.
As mentioned above, gating matrix has solved dynamic control problem, the LP optimizer has solved the steady state (SS) optimization problem simultaneously, and gating matrix is required to be square input and output matrix, also is like this even the MPC controller block can have unequal MV of quantity (comprising AV) and CV.In order to select to be used to produce the input and output of the gating matrix of controller in when beginning, mainly comprise or select the output of all effective MV as controller.Select output (this MV) afterwards, the process output variable (that is, CV and AV) that part is made up of dynamic gating matrix must be selected in the mode of the good square gating matrix of generation condition.
Discuss now a kind of in gating matrix automatic or manual select CV and AV method as input, be to be understood that other method also can use.
Step 1---if possible, select CV to equate up to the quantity of CV and the quantity of MV (that is the quantity of controller output).In the situation of CV, can think that the standard of usefulness chooses CV with any order according to any, as priority, gain or phase response, user's input etc. more than MV.If the possible total amount of CV equals the quantity of MV, carry out step 4 so, so that the square gating matrix condition of test for acceptable result quantity.If the quantity of CV less than the quantity of MV, then can be selected AV as described in step 2.If there is not definite CV, then select to have the AV of maximum gain with respect to MV, and execution in step 2.
Step 2---be each possible AV design conditions quantity one by one, this AV is added in the selection gating matrix of being determined by CV that selects in advance and AV.Be appreciated that the matrix of being determined by selected CV will comprise the row that is used for each selected CV and AV, become each previously selected MV according to this CV or AV with the steady state (SS) gain definitions.
Step 3---select AV definite in the step 2, this step 2 is that matrix of consequence produces the minimal condition number, this matrix is defined as having the matrix in advance of the subsidiary AV that selects.If the quantity of present MV equals the quantity (in brief, if matrix is square now) that the quantity of selected CV adds selected AV, then execution in step 4.Otherwise return step 2.
Step 4---be the square gating matrix A that produces CThe design conditions number.If desired, available matrix A CConditional number calculate rather than matrix A C TA C, because the conditional number of these different matrixes is associated, one is another square root.
If the conditional number of calculating in step 5---the step 4 can be accepted, and then CV or the AV that has maximum gain with respect to specific MV by selection is related with MV with selected AV with each CV, up to finishing pairing.Finish selection course this moment.On the other hand, if conditional number is then removed the AV/CV that is added at last in the gating matrix greater than minimum acceptable terms number, the circulating type of execution in step 6 is handled (wrap-around) process.
Step 6---each selected MV is carried out wraparound, one next, and calculate the matrix conditional number that draws by each wraparound.In fact, wraparound is provided with single unified response to replace the AV (or CV) that removes to realize by being followed successively by each different MV.This single response will be unified on the position in the row matrix, and other are zero everywhere.In fact, under the situation of this replacement AV, each specific MV will be as input and output, the square matrix that formation condition is good.For example, take advantage of four matrix for four, at gain matrix A CIn, 1000,0100,0010 with 0001 combine and will be arranged in the row of having removed AV.
Step 7---each MV has been carried out after the wraparound, selected to produce the combination of minimal condition number.If do not improve, just keep initial matrix.At this moment,, make each selected CV related with MV, but get rid of the MV (that is, carrying out the MV that circulating type is handled) that is used to control self with selected AV by selecting to have CV or the AV that has maximum gain with respect to specific MV.
Certainly, will submit to the user by the gating matrix of this process and conditional number definition as a result, the user can accept or refuse to be used to produce the determined gating matrix of controller.
Should be noted that in above-mentioned automated procedure,, can only select a MV to be used to control self (that is, circulating type is handled) at most in order to improve control ability.In manual process, the quantity that circulating type is handled MV can be arbitrarily.Because there is not corresponding output variable to select in controller configuration, being used to control self selected MV is clearly.In addition, if the quantity of MV then can use more MV to handle as the circulating type that is used to control greater than the total amount that CV adds AV.Like this, finally will square gating matrix offer the controller as output with each MV.Being appreciated that the process of carrying out and using circulating type to handle means can be less than the MV quantity by controller control as selected CV of gating matrix and AV quantity, and the difference that the MV circulating type is handled quantity is used as the input of gating matrix.Furtherly, this wraparound can be used on CV and adds in the process of AV less than MV.
Certainly, be to use steady state (SS) gain calculating conditional number above, therefore, gating matrix has been determined the control ability of steady state (SS) basically.Process dynamic (stand-by time, delay etc.) and model uncertainty are also effective on dynamic control ability, these effects can by change process variable (as, control and auxiliary variable) priority consider, because they are effective in dynamically controlling, so can stipulate their intension in gating matrix.
Can also use other to visit the formula process attempts steady state (SS) and dynamic control ability are all improved.Such process generally has a plurality of spy formula standards, is contradiction but have some, these is visited the formula standard application draw gating matrix at several stages, selects suitable controller input set thus, makes gating matrix obtain some improvement.In a kind of like this spy formula program, CV and AV will concern the foundation group according to highest-gain by MV.Then, to each MV marshalling, select dynamically the fastest and the significant process output of gain.This selection course can be considered fiducial interval, and provides preference to AV (all other all equate) for CV.Then, during MPC control generated, the process model generating routine was used the parameter of selecting from every group.Because each MV is only selected a parameter, thus the response matrix side of being, and can invert.
In any case (after or still less) subclass was input to the MPC controller, the piece 124 among Fig. 3 was from the square gating matrix of determining, production process model or controller are used in the MPC control algolithm 86 of Fig. 2 choosing control and auxiliary variable M.As everyone knows, this controller generation step is a kind of computation-intensive program.Then, piece 126 is downloaded this MPC process model (inherence comprises gating matrix) or controller, if desired, also step response and steady state (SS) step response gain matrix can be downloaded to controll block 38, and these data merge to and are used for operation in the controll block 38.At this moment in process 50, controll block 38 is prepared on-line operation.
If desired, process step response reconfigurable or produce with these step responses outside mode provide.For example, step response can be duplicated in the different models from the system of being stored in, and specifies certain control or the auxiliary variable step response to operation or disturbance variable.In addition, the user can determine or specify the parameter that is used for step response, as steady state (SS) gain, response time, the first sequential time constant and mean square deviation etc., if desired, the user can check and change the attribute of step response by specifying different parameters, when needing especially, for example can specify different gains or time constant etc. to check.If the user specifies different gains or other parameters, then step response model can regenerate on mathematics, thereby has this new parameter or parameter sets.When the user knows the parameter of step response and need to change the step response that produced with coupling or when meeting these parameters, this operation is very useful.
Referring now to Fig. 4,, as generating with process flow diagram 90a among Fig. 3, show when process 50 on-line operations, each operation cycle or formerly 38 scan periods of controll block the general step that carries out.In piece 150, MPC controller 52 (Fig. 2) receives the measured value of also processing controls and auxiliary variable CV and AV.Particularly, measurement or the input of control forecasting process models treated CV, AV and DV produce following controlled variable vector, and the steady state (SS) of being predicted control and auxiliary variable CV SSAnd AV SS
Then, in piece 152, the PREDICTIVE CONTROL that is drawn by MPC controller 52, auxiliary and performance variable CV are handled or filtered to input processor/filter block 58 (Fig. 2) SS, AV SSAnd MV SS, the value after these filtrations is offered optimizer 54.In piece 154, the LP technology of optimizer 54 operative norms is determined performance variable target MV TM set, any restriction of auxiliary and performance variable is not violated in this performance variable target maximization or minimize selected or default objective function simultaneously, and the retentive control variable they specific set-point or be used in the particular range of these variablees.In general, optimizer 54 calculates the object run variable and separates MV by forcing each control variable and auxiliary variable in their restriction place TAs mentioned above, exist in a plurality of situations and separate, wherein each control variable is in their set-point (originally this set-point can regard the upper limit of control variable as), and each auxiliary variable remains in their constrained separately simultaneously.If situation is that like this optimizer only need be exported definite performance variable target MV so T, this performance variable target is that objective function produces optimum.
But, in some cases, because constraint is tighter in some or all auxiliary or performance variable, therefore can not find an operating point, put all control variable at this and all be in their set-point, all auxiliary variables are all in their constrained separately, because such separating do not exist.In these situations, shown in piece 155, optimizer 54 uses above-mentioned slack variables and/or restriction to redefine technology, develops a new objective function and/or selects a new limitations set.Piece 154 objective function that will newly draw and/or the restriction that has or do not have a punishment variable return to optimizer 54 then, determine an optimum solution.If there is not feasible solution, perhaps still found other unacceptable separating, operation block 155 once more, define new limitations set or new objective function, to be used in the further in service of optimizer.For example, in having the first pass of infeasible solution, piece 155 can select to use slack variable, and a new objective function is provided thus, to be used in second time of optimizer 54.After second time, if find infeasible or other unacceptable separating, piece 155 redefinable constrained perhaps have or are not with the punishment variable, and constrained that these are new and possible fresh target function offer piece 154, to be used in the 3rd time.Certainly, piece 155 also can use slack variable and the combination that redefines of restriction, and new objective function and restriction is provided, and is used in any a time of optimizer 54.Using the initial target function to can not find under the situation of feasible solution, piece 155 also can use the strategy of any other expectation certainly, so that select new objective function or redefine constrained.If desired, the initial target function of operation can comprise slack variable punishment in piece 154, is used in first pass optimizer operation (or process of any back) process variable being driven into restriction, set-point or desirable static value.In addition, the initial target function that uses in piece 154 can be included in the slack variable constraint that primary importance is handled, and this can be used in the first pass optimizer.Then, in service in the back if desired, can use restriction to redefine, and perhaps uses separately or combines with the punishment slack variable.Equally, available above-mentioned arbitrary technology, the optimizer back arbitrary all in, use slack variable and restriction one of to redefine or both's usefulness, drive process variable to restriction, to the set-point, arrive desirable static value etc.
In any case, after piece 154 finds feasible or acceptable separating, using Target Transformation piece 55 (Fig. 2), piece 156 uses steady state (SS) step response gain matrix from being used for performance variable MV TDesired value in determine control and auxiliary variable CV TAnd AV TDesired value, and these be worth selected N (being equal to or less than M at this N) subclass offer MPC controller 52, import as target.In piece 158, MPC controller 52 uses gating matrixs or by the logic of its generation, operates aforesaid free MPC controller, is that these desired values are determined following CV and AV vectors, carry out the subtraction of vector of following controlled variable vector, produce following error vector.The MPC algorithm is operated in a known way, according to by the process model that M * M step response draws, determines steady state operation variable MV SS, and with these MV SSValue offers input processor/filter block 58 (Fig. 2).In piece 160, the MPC algorithm is also determined the MV step, exports to process 50, and in any suitable manner the first step in these steps is exported to process 50.
Operating period, for example operating in one or more monitoring in the interface 13 uses and can or communicate with other functional blocks of connection or directly or by recording station 12 subscription informations from controll block formerly, and one or more demonstrations or diagnosis screen are offered user or operator, be used for checking the running status of controll block formerly.The characteristic of functional block technology is that the connection level is imported (CAS_IN) and long-range level is imported (RCAS_IN) and calculated output (BKCAL_OUT and RCAS_OUT) at the corresponding return of controlling and exporting in two functional blocks.Use these connectors, can articulate a supervision optimization MPC control strategy on the top of existing control strategy, this supervision and control strategy can use one or more display screens or display to check.Equally, if be starved of, the target that is used for optimization MPC controller also can be improved according to strategy.
When functional block formerly this illustrate, as have the optimizer that is arranged in this functional block and therefore when the equipment as the MPC controller is carried out, can also in separation equipment, realize optimizer.Particularly, optimizer can be arranged in the distinct device, as in a teller work station 13, and in each execution or the scan period of controller, can communicate by letter with the MPC controller as described in conjunction with Fig. 2, calculates the object run variable (MV that is determined by it T) or the subclass of control and auxiliary variable (CV and AV), and they are offered the MPC controller.Certainly, can be used for providing communication interface between control or functional block and workstation or other computing machines, have the MPC controller in this control or the functional block, this workstation or other computer realization or carry out optimizer as the particular interface at known OPC interface etc.As described in the embodiment relevant with Fig. 2, during each scan cycle, optimizer must still intercom mutually with the MPC controller, carries out integrated optimized MPC control.
Certainly, other wishes that the optimizer of type can use infeasibility treatment technology described here, as the real-time optimization program of the known or standard that existed in process control environment.If optimization problem is non-linear, and separate the nonlinear programming technology that requires, it also is favourable then using this feature.Further say, when optimizer 54 is described as being used for into MPC routine development goal variable, optimizer 54 can use infeasibility treatment technology described here, for use generation desired value or its dependent variable of other type controllers, as PID controller, fuzzy logic controller etc.
Certainly, when controll block formerly described here, other piece and routine are described as with Fieldbus and standard 4-20 multiple access (ma) when equipment uses at this, their also available any other process control communication protocol or programmed environments realize, and can use with equipment, functional block or the controller of any other type.Although controll block formerly described here realizes that with relevant generation and the most handy software of test routine they are realizations such as available hardware, firmware also, and can be carried out by any other processor relevant with Process Control System.Therefore, if be starved of, routine 40 described here can be in standard multi-usage CPU or is realized on the hardware of particular design or firmware, as ASIC etc.When realizing with software, this software can be stored in any computer-readable memory, for example on the RAM of computing machine or processor etc. or the disk among the ROM, compact video disc, CD or other storage mediums.Equally, this software can be by any known or think that the delivery method of usefulness gives the user or give Process Control System, for example, be included on the computer readable diskette or on other transportable Computer Storage machines, or be modulated at as in telephone wire, the Internet etc. (they are considered as and provide this software identical or interchangeable by the transporting storage medium) communication channel.
Thus, when the present invention was described with reference to specific example, this example only was the exemplary the present invention that is not limited to, for those of ordinary skills, the disclosed embodiments are changed, increase or delete is conspicuous, and this is without prejudice to the spirit and scope of the invention.

Claims (22)

1. method that is used for control procedure comprises:
Move an optimum procedure, this program uses objective function to draw separating of definite first desired value set;
Determine whether this separates with respect to process variable constrain set is feasible;
If this separates infeasible, then
(1) redefines the process variable constraint about at least one process variable, be used for this process variable and determine new upper and lower process variable constrained;
(2) by increase at the objective function that is used for this process variable the punishment variable come the objective function that makes new advances, wherein this punishment variable is represented cost value, objective function that differs based on one of this process variable and new process variable constrained of being used for this process variable; With
(3) rerun the optimizer with fresh target function, draw the new explanation of determining new second desired value set, this is separated has the new process variable restriction that is used for this process variable;
First desired value or new second desired value are offered controller; With
The controller of set of first desired value or the set of new second desired value is used in operation, draws the one group of control signal that is used for control procedure.
2. method according to claim 1 also is included in one group of slack variable is provided in the objective function, so that violate the value of relevant constraint based at least one process variable, definition is about the punishment of described at least one process variable.
3. method according to claim 2 comprises and is arranged to the unit punishment relevant with the slack variable set more much bigger than the unit cost variable in the objective function of the one or more financial cost of definition.
4. method according to claim 1 also is included in one group of slack variable is provided in the objective function, so that the value that differs based at least one process variable and desirable static value, definition is about the punishment of described at least one process variable.
5. method according to claim 4 comprises and is arranged to the unit punishment relevant with the slack variable set more much bigger than the unit cost variable in the objective function of the one or more financial cost of definition.
6. method according to claim 1 also is included in one group of slack variable is provided in the objective function, so that the value that differs based at least one process variable and set-point, definition is about the punishment of described at least one process variable.
7. method according to claim 6 comprises and is arranged to the unit punishment relevant with the slack variable set more much bigger than the unit cost variable in the objective function of the one or more financial cost of definition.
8. punishment variable the provide unit punishment more much bigger than the one or more unit cost variablees in the objective function of the one or more financial cost of definition is provided method according to claim 1.
9. punishment variable the provide unit punishment bigger than all the unit cost variablees in the objective function of definition financial cost is provided method according to claim 1.
10. method according to claim 1, wherein, the step of moving described controller comprises the many inputs of operation, many o controllers.
11. method according to claim 10, wherein, the many inputs of operation, many o controllers comprise moving model PREDICTIVE CONTROL type controller.
12. one kind is suitable for processor system that realize, that be used for control procedure, this system comprises:
First computing machine with first computer readable medium and first processor, wherein first computing machine can communicate to connect the process controller with controller processor and second computer readable medium;
The optimizer routine is stored on first computer readable medium, is suitable for carrying out in first processor, draws separating of definition first desired value set to use objective function;
Feasibility is handled routine, is stored on first computer readable medium, is suitable for carrying out in first processor, determine this separate whether feasible with respect to process variable constrain set, infeasible if this is separated;
Then, be this process variable at least one process variable redefines the process variable constraint
Determine new process variable constraint upper and lower limit;
Be added to the objective function that objective function must make new advances by the punishment variable that will be used for this process variable, wherein this punishment variable is represented cost value, objective function that one of the new process variable constrained based on this process variable and this process variable differs; With
Rerun the optimizer routine with fresh target function, to draw the new explanation of definition second desired value set, this desired value has the new process variable constrained that is used for this process variable; With
The controller routine is stored on second computer readable medium, is suitable for carrying out in controller processor, draws one group of control signal that is used for control procedure with set of first desired value or the set of second desired value.
13. system according to claim 12, wherein, objective function comprises one group of slack variable, and this group variable is violated the value of relevant constraint based at least one process variable, and definition is about the punishment of described at least one process variable.
14. system according to claim 13, wherein, objective function comprises the unit punishment relevant with this group slack variable, and it is more much bigger than the unit cost variable in the objective function of the one or more financial cost of definition.
15. system according to claim 12, wherein, objective function comprises one group of slack variable, and this group variable is determined the value that punishment and desirable static value differ based at least one process variable, and definition is about the punishment of described at least one process variable.
16. system according to claim 15, wherein, objective function comprises the unit punishment relevant with this group slack variable, and it is more much bigger than the unit cost variable in the objective function of the one or more financial cost of definition.
17. system according to claim 12, wherein, objective function comprises one group of slack variable, the value that this group variable differs based at least one process variable and set-point, and definition is about the punishment of described at least one process variable.
18. system according to claim 17, wherein, objective function comprises the unit punishment relevant with this group slack variable, and is more much bigger than the unit cost variable in the objective function of the one or more financial cost of definition.
19. system according to claim 12, wherein, objective function comprises the unit punishment about the punishment variable, the punishment variable unit of the providing punishment that it is more much bigger than the one or more unit cost variablees in the objective function of the one or more financial cost of definition.
20. system according to claim 12, wherein, objective function comprises the unit punishment about the punishment variable, and it is all bigger than all the unit cost variablees in the objective function of definition financial cost.
21. system according to claim 12, wherein, the controller routine comprises many inputs, many o controllers routine.
22. system according to claim 21, wherein, many inputs, many o controllers routine comprise Model Predictive Control type controller routine.
CNB031649467A 2002-09-11 2003-09-11 Constraint and limit feasibility process in process control system optimizer procedure Expired - Lifetime CN1300651C (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US10/241,350 2002-09-11
US10/241,350 US7376472B2 (en) 2002-09-11 2002-09-11 Integrated model predictive control and optimization within a process control system
US10/465,153 US7337022B2 (en) 2002-09-11 2003-06-19 Constraint and limit feasibility handling in a process control system optimizer
US10/465,153 2003-06-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN2006101686199A Division CN1975611B (en) 2002-09-11 2003-09-11 Constraint and limit feasibility handling in a process control system optimizer

Publications (2)

Publication Number Publication Date
CN1497402A CN1497402A (en) 2004-05-19
CN1300651C true CN1300651C (en) 2007-02-14

Family

ID=31980987

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031649467A Expired - Lifetime CN1300651C (en) 2002-09-11 2003-09-11 Constraint and limit feasibility process in process control system optimizer procedure

Country Status (5)

Country Link
JP (1) JP4079369B2 (en)
CN (1) CN1300651C (en)
DE (1) DE10341762B4 (en)
GB (2) GB2394564B (en)
HK (1) HK1060777A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461037C (en) * 2007-05-11 2009-02-11 浙江大学 IDP based industrial process dynamic optimization system and method
CN103733154A (en) * 2011-08-16 2014-04-16 Abb研究有限公司 Methods and control systems for controlling an industrial system

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376472B2 (en) * 2002-09-11 2008-05-20 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
US7444191B2 (en) 2005-10-04 2008-10-28 Fisher-Rosemount Systems, Inc. Process model identification in a process control system
US7738975B2 (en) * 2005-10-04 2010-06-15 Fisher-Rosemount Systems, Inc. Analytical server integrated in a process control network
GB2446343B (en) * 2005-12-05 2011-06-08 Fisher Rosemount Systems Inc Multi-objective predictive process optimization with concurrent process simulation
DE102008028777A1 (en) * 2008-06-17 2009-12-24 Siemens Aktiengesellschaft Control system of a plant with multi-level model optimization
AU2010337990B2 (en) * 2009-12-31 2014-03-06 Abb Schweiz Ag Process optimization method and system for a power plant
JP5858080B2 (en) * 2013-08-23 2016-02-10 横河電機株式会社 Operation planning method and operation planning system
JP6653153B2 (en) * 2015-10-01 2020-02-26 株式会社日立製作所 Power demand adjustment plan management device
DE102016108053A1 (en) 2016-04-29 2017-11-02 Khs Gmbh Method for optimizing the filling of a container
DE102017206299A1 (en) * 2017-04-12 2018-10-18 Siemens Schweiz Ag Method for controlling an operating device of a building and building automation system
JP6901448B2 (en) * 2018-09-14 2021-07-14 株式会社東芝 Arithmetic logic unit, calculation program, recording medium and calculation method
US11934159B2 (en) * 2018-10-30 2024-03-19 Aspentech Corporation Apparatus and methods for non-invasive closed loop step testing with controllable optimization relaxation
WO2020227383A1 (en) 2019-05-09 2020-11-12 Aspen Technology, Inc. Combining machine learning with domain knowledge and first principles for modeling in the process industries
US11782401B2 (en) 2019-08-02 2023-10-10 Aspentech Corporation Apparatus and methods to build deep learning controller using non-invasive closed loop exploration
WO2021076760A1 (en) 2019-10-18 2021-04-22 Aspen Technology, Inc. System and methods for automated model development from plant historical data for advanced process control
EP3910428A1 (en) * 2020-05-15 2021-11-17 L'air Liquide, Société Anonyme Pour L'Étude Et L'exploitation Des Procédés Georges Claude Method to control a gasifier by means of a multivariate model predictive controller
US11630446B2 (en) 2021-02-16 2023-04-18 Aspentech Corporation Reluctant first principles models
DE102022201207A1 (en) * 2022-02-04 2023-08-10 Glatt Ingenieurtechnik Gesellschaft mit beschränkter Haftung Method for controlling a particle-forming fluidization process running in a fluidization apparatus

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1102720A (en) * 1993-08-16 1995-05-17 国际商业机器公司 Optimization of manufacturing resource planning
US5751571A (en) * 1993-07-05 1998-05-12 Siemens Aktiengesellschaft Process and apparatus for determining optimum values for manipulated variables of a technical system
CN1187888A (en) * 1995-06-14 1998-07-15 霍尼韦尔公司 Method of process controller optimization in multivariable predictive controller
WO2001018668A2 (en) * 1999-09-03 2001-03-15 Quantis Formulation Inc. Method of optimizing parameter values in a process of producing a product
US6278899B1 (en) * 1996-05-06 2001-08-21 Pavilion Technologies, Inc. Method for on-line optimization of a plant

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3828171A (en) * 1972-08-14 1974-08-06 Phillips Petroleum Co Process apparatus control system for optimizing objective variable quality
US5315521A (en) * 1992-07-29 1994-05-24 Praxair Technology, Inc. Chemical process optimization method
JP2001273278A (en) * 1993-12-14 2001-10-05 Masaharu Ishii Device and method for optimization
JP3174223B2 (en) * 1993-12-14 2001-06-11 雅治 石井 Filter design method and filter
US5457625A (en) * 1994-04-13 1995-10-10 The M. W. Kellogg Company Maximizing process production rates using permanent constraints
JPH11259450A (en) * 1998-03-09 1999-09-24 Hitachi Ltd Optimal output deciding method and device therefor
US6330483B1 (en) * 1999-05-07 2001-12-11 The Boeing Company Optimal control system
DE10362369B3 (en) * 2002-09-11 2022-09-29 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
US7376472B2 (en) * 2002-09-11 2008-05-20 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5751571A (en) * 1993-07-05 1998-05-12 Siemens Aktiengesellschaft Process and apparatus for determining optimum values for manipulated variables of a technical system
CN1102720A (en) * 1993-08-16 1995-05-17 国际商业机器公司 Optimization of manufacturing resource planning
CN1187888A (en) * 1995-06-14 1998-07-15 霍尼韦尔公司 Method of process controller optimization in multivariable predictive controller
US6278899B1 (en) * 1996-05-06 2001-08-21 Pavilion Technologies, Inc. Method for on-line optimization of a plant
WO2001018668A2 (en) * 1999-09-03 2001-03-15 Quantis Formulation Inc. Method of optimizing parameter values in a process of producing a product

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100461037C (en) * 2007-05-11 2009-02-11 浙江大学 IDP based industrial process dynamic optimization system and method
CN103733154A (en) * 2011-08-16 2014-04-16 Abb研究有限公司 Methods and control systems for controlling an industrial system
CN103733154B (en) * 2011-08-16 2016-09-28 Abb研究有限公司 For controlling method and the control system of industrial system

Also Published As

Publication number Publication date
GB0600443D0 (en) 2006-02-15
CN1497402A (en) 2004-05-19
GB2394564A8 (en) 2004-05-19
GB2423831A (en) 2006-09-06
JP4079369B2 (en) 2008-04-23
HK1060777A1 (en) 2004-08-20
GB2394564A (en) 2004-04-28
DE10341762B4 (en) 2014-05-15
DE10341762A1 (en) 2004-04-15
JP2004265381A (en) 2004-09-24
GB2423831B (en) 2007-05-16
GB2394564B (en) 2006-10-11
GB0321291D0 (en) 2003-10-15

Similar Documents

Publication Publication Date Title
CN1975611A (en) Constraint and limit feasibility handling in a process control system optimizer
CN1300651C (en) Constraint and limit feasibility process in process control system optimizer procedure
CN1514318A (en) Intagrated model predictive control and optimization in process control system
CN1251039C (en) Model-free adaptive process control
CN1490691A (en) Arrangement of integrated module predicting control and optimizing block and observation display
CN1239969C (en) Run-to-run controller for use in microelectronic fabrication
Shen New tuning method for PID controller
CN1080409A (en) The two-phase method that is used for real-time process control
CN1940780A (en) On-line adaptive model predictive control in a process control system
AU2245495A (en) Maximizing process production rates using permanent constraints
JP2007535046A (en) Scheduling industrial production processes
CN1316070A (en) Model-free adaptive control for industrial processes
CN1926487A (en) Abnormal situation prevention in a process plant
Nyström et al. Production optimization for continuously operated processes with optimal operation and scheduling of multiple units
CN1529261A (en) Regular scheduling method with state and performance feedback and its scheduling system
CN115097737B (en) Multi-level regulation and control method capable of being re-entered into manufacturing system
EP3683634B1 (en) A method for controlling a technological process
Abbassi Fuzzy PID controller parameters optimized by genetic algorithms
Han et al. A closed-loop particle swarm optimizer for multivariable process controller design
Milliken et al. Minimax controller design for a class of uncertain linear systems
Guruprasath Robust Model Predictive control of Cement Mill circuits
Bosgra et al. Market-oriented scheduling, economic optimization and stochastic constrained control of continuous multi-grade chemical processes
Gormandy et al. Model based control using fuzzy relational models
Skogestad Self-optimizing control: A distillation case study
Kozák Development of Advanced Control Methods and Their Successful Incorporation in the Industry

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CX01 Expiry of patent term
CX01 Expiry of patent term

Granted publication date: 20070214