DE10341762A1 - Handling the feasibility of restrictions and limits in an optimizer for process control systems - Google Patents
Handling the feasibility of restrictions and limits in an optimizer for process control systems Download PDFInfo
- Publication number
- DE10341762A1 DE10341762A1 DE10341762A DE10341762A DE10341762A1 DE 10341762 A1 DE10341762 A1 DE 10341762A1 DE 10341762 A DE10341762 A DE 10341762A DE 10341762 A DE10341762 A DE 10341762A DE 10341762 A1 DE10341762 A1 DE 10341762A1
- Authority
- DE
- Germany
- Prior art keywords
- variables
- variable
- control
- objective function
- penalty
- 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.)
- Granted
Links
- 238000004886 process control Methods 0.000 title claims description 42
- 238000000034 method Methods 0.000 claims abstract description 400
- 230000008569 process Effects 0.000 claims abstract description 310
- 230000000284 resting effect Effects 0.000 claims description 4
- 238000005457 optimization Methods 0.000 abstract description 48
- 230000009897 systematic effect Effects 0.000 abstract description 2
- 230000006870 function Effects 0.000 description 163
- 239000011159 matrix material Substances 0.000 description 85
- 230000004044 response Effects 0.000 description 45
- 239000013598 vector Substances 0.000 description 45
- 230000008859 change Effects 0.000 description 23
- 238000004422 calculation algorithm Methods 0.000 description 21
- 238000013459 approach Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 10
- 230000002787 reinforcement Effects 0.000 description 10
- 238000012360 testing method Methods 0.000 description 9
- 238000011217 control strategy Methods 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000011112 process operation Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 4
- URWAJWIAIPFPJE-YFMIWBNJSA-N sisomycin Chemical compound O1C[C@@](O)(C)[C@H](NC)[C@@H](O)[C@H]1O[C@@H]1[C@@H](O)[C@H](O[C@@H]2[C@@H](CC=C(CN)O2)N)[C@@H](N)C[C@H]1N URWAJWIAIPFPJE-YFMIWBNJSA-N 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005259 measurement Methods 0.000 description 3
- 238000004540 process dynamic Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005284 excitation Effects 0.000 description 2
- 238000012804 iterative process Methods 0.000 description 2
- 230000004672 jump response Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000000704 physical effect Effects 0.000 description 2
- 238000012369 In process control Methods 0.000 description 1
- 206010000496 acne Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002146 bilateral effect Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 238000010965 in-process control Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012067 mathematical method Methods 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 101150110245 ompC gene Proteins 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000002994 raw material Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000010963 scalable process Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/32—Automatic controllers electric with inputs from more than one sensing element; with outputs to more than one correcting element
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive 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/042—Adaptive 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/04—Adaptive 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/048—Adaptive 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
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Software Systems (AREA)
- Feedback Control In General (AREA)
Abstract
Eine Optimierungstechnik zur Verwendung beim Betreiben einer Prozessanlagen-Steuereinrichtung wie einer Modellvorhersage-Steuereinrichtung verwendet ein organisiertes, systematisches, aber rechentechnisch einfaches Verfahren des Lockerns oder Neudefinierens von Stell-, Steuer- und/oder Hilfsvariablen-Beschränkungen, wenn es keine realisierbare optimale Lösung innerhalb zuvor festgesetzter Beschränkungen gibt, um dadurch eine erreichbare Lösung zur Verwendung durch die Steuereinrichtung zu entwickeln. Die Optimierungsroutine verwendet mit Strafen belegte Spielraumvariablen und/oder definiert das Beschränkungsmodell in Verbindung mit der Verwendung von Strafvariablen neu, um eine neue Zielfunktion zu entwickeln, und verwendet dann die neue Zielfunktion, um eine Steuerungslösung zu bestimmen, welche die ursprünglichen Beschränkungsgrenzen am besten einhält.An optimization technique for use in operating a process plant control device such as a model prediction control device uses an organized, systematic, but computationally simple method of loosening or redefining control, control and / or auxiliary variable restrictions if there is no feasible optimal solution within previously set limits, thereby developing an achievable solution for use by the controller. The optimization routine uses penalized margin variables and / or redefines the restriction 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 best adheres to the original restriction limits.
Description
Diese Anmeldung ist eine Teilfortführungsanmeldung
der U.S.-Patentanmeldung mit der Seriennummer 10/241,350 und dem
Titel "Integrated
Model Predictive Control and Optimization Within a Process Control System", die am 11. September
Dieses Patent betrifft allgemein Prozesssteuerungssysteme und insbesondere die Handhabung der Realisierbarkeit von Beschränkungen und Grenzen in einem Optimierer für Prozesssteuerungssysteme bei Verwendung beispielsweise mit einer Modellvorhersage-Steuereinrichtung zum Steuern einer Prozessanlage.This patent relates generally Process control systems and especially the handling of feasibility of restrictions and limits in an optimizer for process control systems when used, for example, with a model prediction controller to control a process plant.
Prozesssteuerungssysteme, beispielsweise verteilte oder skalierbare Prozesssteuerungssysteme wie die in chemischen, petrochemischen oder anderen Prozessen verwendeten, enthalten üblicherweise eine oder mehrere Prozesssteuereinrichtungen, welche über analoge, digitale oder kombinierte analoge/digitale Busse kommunikativ miteinander, mit mindestens einer Host- oder Bediener-Workstation und mit einer oder mehreren Anlageneinrichtungen gekoppelt sind. Die Anlageneinrichtungen, welche zum Beispiel Ventile, Ventilstellmechanismen, Schalter und Geber (z.B. Temperatur-, Druck- und Durchflusssensoren) sein können, führen im Prozess Funktionen wie das Öffnen oder Schließen von Ventilen und das Messen von Prozessparametern durch. Die Prozesssteuereinrichtung empfängt Signale, welche von den Anlageneinrichtungen vorgenommene Prozessmessungen melden, und/oder andere die Anlageneinrichtungen betreffende Informationen, verwendet diese Informationen, um eine Steuerroutine zu implementieren, und erzeugt dann Steuersignale, welche über die Busse an die Anlageneinrichtungen gesendet werden, um den Betrieb des Prozesses zu steuern. Informationen von den Anlageneinrichtungen und der Steuereinrichtung werden üblicherweise einer oder mehreren von der Bediener-Workstation ausgeführten Anwendungen verfügbar gemacht, um einen Bediener in die Lage zu versetzen, eine gewünschte Funktion bezüglich des Prozesses, beispielsweise das Anzeigen des aktuellen Zustands des Prozesses, das Verändern des Betriebsablaufs des Prozesses usw., durchzuführen.Process control systems, for example distributed or scalable process control systems like those in chemical, petrochemical or other processes commonly used one or more process control devices, which are connected via analog, digital or combined analog / digital buses communicating with each other, with at least one host or operator workstation and with one or several plant facilities are coupled. The plant facilities, which for example valves, valve actuating mechanisms, switches and Encoders (e.g. temperature, pressure and flow sensors) can lead in the process Functions like opening or closing of valves and measuring process parameters. The process control device receives Signals which process measurements made by the plant equipment report, and / or other information related to the facility, uses this information to implement a control routine and then generates control signals which are sent to the facility equipment via the buses be sent to control the operation of the process. information of the plant facilities and the control facility are usually one or more applications run by the operator workstation available made to enable an operator to perform a desired function in terms of of the process, for example displaying the current status of the process, the changing the operational flow of the process, etc.
Prozesssteuereinrichtungen werden üblicherweise dafür programmiert, verschiedene Algorithmen, Unterroutinen oder Regelschleifen (welche allesamt Steuerroutinen sind) für jede aus einer Anzahl von verschiedenen, für einen Prozess definierten oder in einem Prozess enthaltenen Schleifen, beispielsweise Durchfluss-Regelschleifen, Temperatur-Regelschleifen, Druck-Regelschleifen usw., auszuführen. Allgemein enthält jede solche Regelschleife einen oder mehrere Eingangsblöcke wie einen Analogeingangs- (AI-) Funktionsblock, einen Einzelausgangs-Steuerblock wie einen Proportional-Integrier-Differenzier- (PID-) oder einen Fuzzy-Logic-Regelungs-Funktionsblock, und einen Einzelausgangs-Block wie einen Analogausgangs- (AO-) Funktionsblock. Diese Regelschleifen führen üblicherweise eine Einzeleingangs-/Einzelausgangs-Steuerung durch, weil der Steuerblock einen einzigen Steuerausgang erzeugt, der zum Steuern eines einzigen Prozesseingangs wie einer Ventilstellung usw. verwendet wird. In bestimmten Fällen aber ist die Verwendung einer Anzahl von unabhängig arbeitenden Einzeleingangs-/Einzelausgangs-Regelschleifen nicht sehr effektiv, weil die gesteuerten Prozessvariablen von mehr als einem einzigen Prozesseingang beeinflusst werden und sich tat sächlich jeder Prozesseingang auf den Zustand vieler Prozessausgänge auswirken kann. Ein Beispiel dieser Situation könnte zum Beispiel in einem Prozess mit einem Behälter auftreten, welcher durch zwei Eingangsleitungen gefüllt und durch eine einzige Ausgangsleitung entleert wird, wobei jede Leitung von einem anderen Ventil gesteuert wird und in welchem Temperatur, Druck und Durchsatz des Behälters so gesteuert werden, dass sie auf oder nahe bei gewünschten Werten liegen. Wie oben angedeutet, kann die Steuerung des Durchsatzes, der Temperatur und des Drucks des Behälters mittels einer separaten Durchsatz-Regelschleife, einer separaten Temperatur-Regelschleife und einer separaten Druck-Regelschleife durchgeführt werden. In dieser Situation kann jedoch der Betrieb der Temperatur-Regelschleife durch Ändern der Einstellung eines der Eingangsventile zwecks Steuern der Temperatur im Behälter bewirken, dass der Druck im Behälter steigt, was zum Beispiel die Druck-Regelschleife veranlassst, das Auslassventil zu öffnen, um den Druck zu senken. Diese Maßnahme kann dann die Durchsatz-Regelschleife veranlassen, eines der Eingangsventile zu schließen, was sich auf die Temperatur auswirkt und die Temperatur-Regelschleife veranlasst, irgendeine andere Maßnahme zu ergreifen. In diesem Beispiel versteht es sich, dass die Einzeleingangs-/Einzelausgangs-Regelschleifen die Prozessausgänge (in diesem Fall Durchsatz, Temperatur und Druck) veranlassen, sich auf eine inakzeptable Weise zu verhalten, bei welcher die Ausgänge schwingen, ohne jemals einen stationären Zustand zu erreichen.Process control devices are common programmed for various algorithms, subroutines or control loops (which all are control routines) for each of a number of different ones defined for a process or loops contained in a process, for example flow control loops, temperature control loops, Pressure control loops etc. Generally, each contains such a control loop one or more input blocks such as an analog input (AI) function block, a single output control block like one Proportional-integrating-differentiating (PID) or a fuzzy logic control function block, and a single output block such as an analog output (AO) function block. These control loops usually lead single input / single output control by the control block generates a single control output that is used to control a single one Process input such as a valve position etc. is used. In Certain cases but is the use of a number of independently operating single input / single output control loops not very effective because the controlled process variables by more be influenced as a single process input and everyone did Process input affect the state of many process outputs can. An example of this situation could be found in a Process with a container occur, which is filled by two input lines and is emptied through a single output line, with each line is controlled by another valve and at what temperature, Pressure and throughput of the container can be controlled so that they are at or close to desired Values. As indicated above, control of throughput, the temperature and pressure of the container by means of a separate one Throughput control loop, a separate temperature control loop and a separate pressure control loop. In this situation However, the operation of the temperature control loop can be changed by changing the Setting one of the input valves to control the temperature in the container cause the pressure in the container increases, which causes the pressure control loop, for example, that Open exhaust valve, to lower the pressure. This measure can then cause the throughput control loop to close one of the inlet valves, which is related to the temperature affects and the temperature control loop causes any other measure to take. In this example it is understood that the single input / single output control loops the process outputs (in this case, throughput, temperature and pressure) cause themselves behave in an unacceptable way where the outputs vibrate, without ever having a stationary To achieve state.
Modellvorhersage-Steuerung (MPC – Model Predictive Control) oder andere Arten von hochentwickelten Steuerungen wurden verwendet, um in Situationen, in welchen Änderungen an einer einzelnen gesteuerten Prozessvariablen sich auf mehr als eine Prozessvariable oder auf mehr als einen Ausgang auswirken, eine Prozesssteuerung durchzuführen. Seit den späten 1970er-Jahren wurden viele erfolgreiche Implementierungen von Modellvorhersage-Steuerung berichtet, und MPC ist die wichtigste Form einer hochentwickelten Mehrvariablen-Steuerung in der Prozessindustrie geworden. Überdies wurde MPC in verteilten Steuerungssystemen als eine mehrschichtige Software für ein verteiltes Steuerungssystem implementiert.Model Predictive Control (MPC) or other types of sophisticated controls have been used to perform process control in situations where changes to a single controlled process variable affect more than one process variable or output. Many successful implementations of model prediction control have been reported since the late 1970s, and MPC is the primary form of a sophisticated one Become multi-variable control in the process industry. In addition, MPC has been implemented in distributed control systems as a multi-layer software for a distributed control system.
Allgemein ist MPC eine Mehreingangs-/Mehrausgangs-Steuerstrategie, in welcher die Auswirkungen des Änderns jedes einzelnen einer Anzahl von Prozesseingängen auf jeden einzelnen einer Anzahl von Prozessausgängen gemessen werden und diese gemessenen Antworten dann verwendet werden, um eine Steuermatrix oder ein Modell des Prozesses zu erzeugen. Das Prozessmodell oder die Steuermatrix (welches bzw. welche in der Regel den stationären Betrieb des Prozesses definiert) wird mathematisch invertiert und dann in einer oder als eine Mehreingangs-/Mehrausgangs-Steuereinrichtung verwendet, um die auf an den Prozesseingängen vorgenommenen Änderungen beruhenden Prozessausgänge zu steuern. In manchen Fällen wird das Prozessmodell als eine Prozessausgangs-Ansprechkennlinie (üblicherweise eine Sprungantwort-Kennlinie) für jeden der Prozesseingänge dargestellt, und diese Kennlinien können auf Grundlage einer an jeden der Prozesseingänge gelieferten Reihe von beispielsweise pseudozufälligen Sprungänderungen erzeugt werden. Diese Ansprechkennlinien können verwendet werden, um den Prozess auf bekannte Weisen zu modellieren. MPC ist nach dem Stand der Technik bekannt, und deshalb werden ihre Eigenschaften hierin nicht beschrieben. Allgemein beschrieben wird MPC in Qin, S. Joe und Thomas A. Badgwell, "An Overview of Industrial Model Predictive Control Technology", AKNE Conference, 1996. Darüber hinaus beschreiben die U.S.-Patente Nr. 4,616,308 und Nr. 4,349,869 allgemein MPC-Steuereinrichtungen, die in einem Prozesssteuerungssystem verwendet werden können.In general, MPC is a multi-input / multi-output control strategy, in which the impact of changing each one of a number of process inputs on each one Number of process outputs are measured and these measured responses are then used to create a control matrix or model of the process. The process model or the control matrix (which or which in usually the stationary Operation of the process defined) is inverted mathematically and then in or as a multi-input / multi-output controller used to make the changes made to the process inputs based process outputs to control. In some cases the process model is used as a process output response characteristic (usually a step response characteristic) for each of the process inputs shown, and these characteristics can be based on an each of the process inputs supplied series of, for example, pseudorandom jump changes be generated. These response characteristics can be used to Model the process in known ways. MPC is according to the state known in the art, and therefore their properties are described herein not described. MPC is generally described in Qin, S. Joe and Thomas A. Badgwell, "An Overview of Industrial Model Predictive Control Technology ", AKNE Conference, 1996. About it U.S. Patent Nos. 4,616,308 and 4,349,869 also describe generally MPC controllers used in a process control system can be.
MPC wurde als ein sehr effektives und brauchbares Steuerungsverfahren erkannt und in Verbindung mit Prozessoptimierung verwendet. Zum Optimieren eines Prozesses, der MPC verwendet, minimiert oder maximiert ein Optimierer eine oder mehrere von der MPC-Routine bestimmte Prozesseingangsvariablen, um zu bewirken, dass der Prozess an einem optimalen Punkt läuft. Während dieses Verfahren rechentechnisch möglich ist, ist es, um den Prozess von einem wirtschaftlichen Standpunkt aus gesehen zu optimieren, erforderlich, die Prozessvariablen auszuwählen, welche zum Beispiel beträchtliche Auswirkungen auf die Verbesserung des wirtschaftlichen Betriebs des Prozesses (z.B. Prozessdurchsatz oder -qualität) haben. Von einem finanziellen oder wirtschaftlichen Standpunkt aus gesehen erfordert das Betreiben des Prozesses an einem optimalen Punkt üblicherweise das Steuern vieler Prozessvariablen in Verbindung miteinander, nicht nur einer einzigen Prozessvariable.MPC has been considered a very effective one and usable control method recognized and in connection with Process optimization used. To optimize a process that MPC uses, minimizes, or maximizes an or an optimizer several process input variables determined by the MPC routine, to make the process run at an optimal point. During this Computationally possible procedure is, it is to the process from an economic point of view From the point of view of optimization, it is necessary to select which process variables for example considerable Impact on the improvement of economic operations of the process (e.g. process throughput or quality). From a financial or economic point of view usually requires operating the process at an optimal point controlling many process variables in conjunction with each other, not just a single process variable.
Das Optimieren unter Verwendung quadratischer Programmierungsverfahren oder gebräuchlicherer Verfahren wie Verfahren mit innerhalb liegenden Punkten wurde als eine Lösung vorgeschlagen, um dynamische Optimierung mit MPC zu erzielen. Bei diesen Verfahren wird eine Optimierungslösung bestimmt, und der Optimierer liefert der Steuereinrichtung Bewegungen in den Steuereinrichtungs-Ausgängen (d.h. in den Stellvariablen des Prozesses), wobei er Prozessdynamik, aktuelle Beschränkungen und Optimierungsziele berücksichtigt. Dieser Ansatz ist jedoch mit einem enormen Rechenaufwand verbunden und beim derzeitigen technologischen Stand nicht praktisch realisierbar.Optimizing using quadratic Programming procedures or more common procedures such as procedures with within points has been proposed as a solution to dynamic Achieve optimization with MPC. In this process, a optimization solution determined, and the optimizer provides the controller with movements in the control device outputs (i.e. in the process control variables), whereby he process dynamics, current restrictions and optimization goals are taken into account. However, this approach involves an enormous amount of computing effort and cannot be practically implemented at the current technological level.
In den meisten Fällen ist bei Verwendung von MPC die Anzahl der im Prozess verfügbaren Stellvariablen (d.h. der Steuerausgänge der MPC-Routine) größer als die Anzahl der Steuervariablen des Prozesses (d.h. die Anzahl der Prozessvariablen, die gesteuert werden müssen, um auf einem jeweiligen Sollwert zu liegen). Folglich gibt es in der Regel mehr Freiheitsgrade, die zur Optimierung und zur Handhabung von Beschränkungen zur Verfügung stehen. Theoretisch sollten durch Prozessvariablen, Beschränkungen, Grenzen und wirtschaftliche Faktoren ausgedrückte, einen optimalen Arbeitspunkt des Prozesses definierende Werte berechnet werden, um eine solche Optimierung durchzuführen. In vielen Fällen sind diese Prozessvariablen beschränkte Variablen, weil sie mit physikalischen Eigenschaften des Prozesses, zu welchem sie gehören, zusammenhängende Grenzen aufweisen, innerhalb derer diese Variablen gehalten werden müssen. Zum Beispiel ist eine Prozessvariable, die einen Behälterfüllstand darstellt, auf den Bereich zwischen dem im Behälter physikalisch maximal und minimal erreichbaren Füllstand begrenzt. Eine Optimierungsfunktion kann die mit jeder der beschränkten Variablen oder Hilfsvariablen verknüpften Kosten und/oder Erlöse berechnen, um auf einem Niveau zu arbeiten, auf welchem der Erlös maximiert wird, die Kosten minimiert werden usw. Messungen dieser Hilfsvariablen können dann als Eingänge an die MPC-Routine geliefert und von der MPC-Routine als Steuervariablen behandelt werden, welche einen Sollwert haben, der gleich dem von der Optimierungsroutine definierten Arbeitspunkt für die Hilfsvariable ist.In most cases, when using MPC the number of control variables available in the process (i.e. of the control outputs the MPC routine) larger than the number of control variables of the process (i.e. the number of Process variables that need to be controlled in order to act on a particular Setpoint). So there are usually more degrees of freedom, those for optimizing and handling restrictions to disposal stand. Theoretically, process variables, restrictions, Limits and economic factors expressed an optimal working point values defining the process are calculated to such a Perform optimization. In many cases these process variables are restricted variables because they are with physical properties of the process to which they belong, related boundaries within which these variables must be kept. To the An example is a process variable that represents a tank level to which Area between that in the container physically maximum and minimum achievable level is limited. An optimization function can do that with any of the restricted Calculate variables or auxiliary variables linked costs and / or revenues, to work at a level that maximizes the proceeds the costs are minimized, etc. measurements of these auxiliary variables can then as inputs delivered to the MPC routine and by the MPC routine as control variables that have a setpoint equal to that of the optimization routine defines the working point for the auxiliary variable is.
Die U.S.-Patentanmeldung mit der Seriennummer 10/241,350 und dem Titel "Integrated Model Predictive Control and Optimization Within a Process Control System", die am 11. September 2002 eingereicht wurde und die auf den Rechtsinhaber dieser Anmeldung übertragen ist und deren Offenbarung hiermit ausdrücklich durch Bezugnahme hierin eingeschlossen wird, offenbart ein Verfahren und eine Einrichtung zum Erzielen von Online-Optimierung mit einem hochentwickelten Steuerblock wie beispielsweise einem MPC-Block, in welchem die Optimierung ein integraler Bestandteil der Mehrvariablen-Modellvorhersage-Steuerung ist. Dieses Verfahren ist großenteils erfolgreich, weil die MPC-Steuereinrichtung im normalen Betrieb eine Zukunftsvorhersage der Prozessausgänge bis zu einem stationären Zustand liefert, wodurch sie die notwendigen Bedingungen für das zuverlässige Funktionieren des Optimierers schafft. Dieser Optimierungsansatz zum Finden einer Lösung funktioniert jedoch nicht immer, weil in manchen Situationen einige der Ausgänge der Steuereinrichtung oder der vorhergesagten Ausgänge der Steuereinrichtung (hierin als Stellvariablen bezeichnet) oder einige der Prozessausgänge (hierin als gesteuerte oder Steuervariablen bezeichnet), welche mit jeder der möglichen optimierten Lösungen verknüpft sind, außerhalb zuvor für diese Variablen eingestellter, vordefinierter Beschränkungen oder Grenzen liegen und die Lösung deshalb in einem zuvor definierten, nicht realisierbaren Bereich liegt. Es ist wünschenswert und in vielen Steuersituationen erforderlich, dass der Optimierer, wenn er mit dem Betrieb der MPC oder einer anderen Steuereinrichtung integriert ist, immer eine Lösung findet und gleichzeitig im bestmöglichen Ausmaß vermeidet, in einem nicht realisierbaren Bereich zu arbeiten.US patent application serial number 10 / 241,350 and entitled "Integrated Model Predictive Control and Optimization Within a Process Control System", which was filed on September 11, 2002 and which is assigned to the right holder of this application and the disclosure of which is hereby expressly disclosed Reference, incorporated herein, discloses a method and apparatus for achieving online optimization with a sophisticated control block, such as an MPC block, in which the optimization is an integral part of the multi-variable model prediction control. This method is largely successful because, during normal operation, the MPC control device provides a future forecast of the process outputs up to a steady state, which creates the conditions necessary for the optimizer to function reliably. This optimization approach to finding However, a solution does not always work because in some situations some of the controller outputs or the predicted controller outputs (referred to herein as control variables) or some of the process outputs (referred to herein as controlled or control variables) are associated with each of the possible optimized solutions , lie outside of predefined limits or limits previously set for these variables and the solution therefore lies in a previously defined, unrealizable area. It is desirable, and in many control situations, that the optimizer, when integrated with the operation of the MPC or other control device, always find a solution and at the same time avoid to the best possible extent to work in an unrealizable area.
Wenn ein Optimierer feststellt, dass es keine realisierbare optimale Lösung gibt, welche alle Prozesssteuerungs-Ausgänge oder -Eingänge innerhalb zuvor festgesetzter Beschränkungen oder Grenzen hält, lockert der Optimierer gegenwärtig meistens eine oder mehrere Beschränkungen oder Grenzen, um eine akzeptable Lösung zu finden. Dieses Wiederherstellungsverfahren verwendet üblicherweise mit jeder der Stell- und Steuervariablen verknüpfte Prioritäten, um zu bestimmen, welche Beschränkungsgrenze zuerst zu lockern ist. Hier besteht ein einfacher Ansatz darin, die Beschränkungen niedrigster Priorität fallen zu lassen, um dem Optimierer zu ermöglichen, eine Lösung zu finden, welche die Beschränkungen höherer Priorität einhält. Dieses Verfahren ist jedoch nicht unbedingt die zweckmäßigste Art und Weise, bei nicht realisierbaren Lösungen mit Beschränkungen umzugehen, weil das Fallenlassen von Beschränkungen niedrigerer Priorität zur Folge haben kann, dass diese Beschränkungen weit über ihre Grenzen hinausschießen, nur um eine minimale Verstellung an einer oder mehreren Beschränkungen höherer Priorität zu ermöglichen. Außerdem ist es gewöhnlich erforderlich, abzuschätzen, wie viele Beschränkungen fallengelassen werden müssen, um eine realisierbare Lösung zu finden. Natürlich ist es wünschenswert, die minimale Anzahl von Beschränkungen fallen zu lassen, die erforderlich ist, um die Einhaltung der Beschränkungen höherer Priorität zu ermöglichen. Um die angemessene Anzahl fallenzulassender Beschränkungen zu bestimmen, kann es jedoch erforderlich sein, auf den verfügbaren Freiheitsgraden im System beruhende Offline-Berechnungen durchzuführen oder den Optimierer zu veranlassen, eine Beschränkung iterativ fallen zu lassen und zu bestimmen, ob bei dem neuen reduzierten Satz von Beschränkungen eine realisierbare Lösung existiert, bis eine realisierbare Lösung gefunden wird. In Echtzeit- oder Online-Optimierungssystemen funktionieren Offline-Berechnungen leider nicht gut, und der iterative Ansatz ist in der Regel unbegrenzt und kann deshalb eine inakzeptable Verzögerung beim Finden einer realisierbaren Lösung verursachen. In anderen Worten, der Prozess des Entwickelns einer optimalen Lösung durch aufeinanderfolgendes Fallenlassen von Beschränkungen muss möglicherweise wiederholt werden, bis eine Lösung gefunden wird, und ein solcher zeitlich unbegrenzter iterativer Prozess ist in den meisten Echtzeit-Optimierungsanwendungen nicht wünschenswert.If an optimizer finds that there is no feasible optimal solution which all process control outputs or inputs within predetermined limits or limits, loosens the optimizer currently usually one or more restrictions or limits to one acceptable solution to find. This recovery process is commonly used priorities associated with each of the control and control variables to to determine which restriction limit to loosen first. Here's a simple approach the restrictions lowest priority drop to allow the optimizer to find a solution find what the restrictions higher priority comply. However, this procedure is not necessarily the most appropriate and way, with unrealizable solutions with restrictions deal because dropping lower priority restrictions results may have these restrictions more than push their limits, just a minimal adjustment to one or more restrictions higher priority to enable. Moreover it is usually necessary estimate how many restrictions have to be dropped a feasible solution to find. Naturally is it desirable the minimum number of restrictions drop that is required to comply with the restrictions higher priority to enable. To determine the appropriate number of restrictions to drop however, it may be necessary to determine on the available degrees of freedom offline calculations based on the system perform or to have the optimizer drop an iterative constraint and determine if the new reduced set of constraints a feasible solution exists until a feasible solution is found. Real time- or online optimization systems, offline calculations work unfortunately not good, and the iterative approach is usually unlimited and can therefore cause an unacceptable delay in finding a realizable one solution cause. In other words, the process of developing one optimal solution through successive dropping of restrictions may have to be repeated until a solution is found, and such a time-limited iterative Process is not in most real-time optimization applications desirable.
Es wurden mehrere andere bekannte Ansätze zum Lösen der Optimierung bei Vorliegen nicht realisierbarer Lösungen vorgeschlagen. Zum Beispiel offenbart Tyler, M.L. und Morari M., "Propositional Logic in Control and Monitoring Problems," Proceedings of European Control Conference '97, Seiten 623–628, Brüssel, Belgien, Juni 1997, das Verwenden ganzzahliger Variablen, um die Gewichtung zu bewältigen, wobei die Größe der Übertretung durch Lösen einer Folge von gemischten ganzzahligen Optimierungsproblemen minimiert wird. Alternativ bespricht Vada, J., Slupphaug, O. und Foss, B.A., "Infeasibility Handling in Linear MPC subject to Prioritized Constraints", Preprints IFAC '99, 14th World Congress, Peking, China, Juli 1999, einen Algorithmus, welcher verwendet werden kann, um eine Folge von Problemen linearer Programmierung (LP) oder Problemen quadratischer Programmierung (QP) zu lösen, um die Übertretungen der Beschränkungen, welche nicht eingehalten werden können, zu minimieren. Jedoch sind diese Ansätze beide rechentechnisch anspruchsvoll und für schnelle Echtzeit-Anwendungen in der Regel nicht ausreichend oder akzeptabel. Alternativ offenbart Vada, J., Slupphaug, 0. und Johansen, T.A., "Efficient Infeasibility Handling in Linear MPC subject to Prioritized Constraints," ACC2002 Proceedings, Anchorage, Alaska, Mai 2002, einen Offline-Algorithmus, der LP-Gewichte berechnet, welche die berechneten Beschränkungsübertretungen optimieren. Während dieses Verfahren die Belastung durch übermäßigen Rechenaufwand in eine Offline-Umgebung verlagert, erfordert es das Umgehen mit einem zusätzlichen Offline-Optimierungsproblem und ist für Online- oder Echtzeit-Optimierungsprozeduren nicht sehr nützlich.Several other people became known approaches to solve the optimization in the presence of unrealizable solutions. For example, Tyler, M.L. and Morari M., "Propositional Logic in Control and Monitoring Problems, "Proceedings of European Control Conference '97, pages 623-628, Brussels, Belgium, June 1997, using integer variables to weight to manage something, being the size of the violation by loosening a sequence of mixed integer optimization problems is minimized. Alternatively, Vada, J., Slupphaug, O. and Foss, B.A. discusses "Infeasibility Handling in Linear MPC subject to Prioritized Constraints ", Preprints IFAC '99, 14th World Congress, Beijing, China, July 1999, an algorithm that can be used to a series of linear programming (LP) problems or problems quadratic programming (QP) to solve the violations of restrictions, which cannot be adhered to. however are these approaches both computationally demanding and for fast real-time applications usually not sufficient or acceptable. Alternatively disclosed Vada, J., Slupphaug, 0. and Johansen, T.A., "Efficient Infeasibility Handling in Linear MPC subject to Prioritized Constraints, "ACC2002 Proceedings, Anchorage, Alaska, May 2002, an offline algorithm that calculates LP weights, which the calculated limit violations optimize. While This procedure takes the burden of excessive computing effort into one Moving offline environment, it requires dealing with an additional one Offline optimization problem and is for online or real time optimization procedures not very useful.
Ein integriertes Optimierungsverfahren, welches zum Optimieren einer hochentwickelten Steuerungsprozedur wie einer Modellvorhersage-Steuerungsprozedur verwendet werden kann, verwendet ein organisiertes, systematisches, aber rechentechnisch einfaches Verfahren des Lockerns oder Neudefinierens von Beschränkungen oder Grenzen für Stell- oder Steuervariablen, wenn es keine realisierbare optimale Lösung innerhalb der zuvor festgesetzten Beschränkungen oder Grenzen gibt, um dadurch eine erreichbare optimale Lösung zur Verwendung in der Steuerprozedur zu finden. Insbesondere verwendet die Optimierungsroutine, wenn sie mit einer innerhalb zuvor festgesetzter Beschränkungsgrenzen nicht realisierbaren Optimierer-Lösung konfrontiert wird, auf mit Strafen belegten Spielraumvariablen und/oder auf dem Neudefinieren des Beschränkungsmodells beruhende, robuste und zuverlässige Verfahren, um systematisch die beste Lösung zu wählen. Weil das offenbarte Verfahren rechentechnisch einfach ist, eignet sich dieses Verfahren zur Online-Implementierung eines Echtzeit-Optimierers.An integrated optimization process which is used to optimize a sophisticated control procedure how a model prediction control procedure can be used uses an organized, systematic but computationally simple process of loosening or redefining restrictions or limits for Control or control variables if there is no realizable optimal solution within the limits or limits previously set, to thereby achieve an achievable optimal solution for use in the Find tax procedure. In particular, the optimization routine uses if they with a limitation set within previously unrealizable optimizer solution is faced with penalized margin variables and / or redefining of the restriction model, robust and reliable Procedures to systematically choose the best solution. Because the method disclosed is computationally simple, this method is suitable for online implementation a real-time optimizer.
In einer Ausführungsform kann der Optimierer eine Zielfunktion verwenden, die mit Strafen belegte Spielraumvariablen enthält, um bei Vorliegen einer oder mehrerer Stell- oder Steuervariablen, welche über voreingestellte Grenzen hinaus getrieben werden, eine optimale Lösung zu finden. In einer anderen Ausführungsform kann der Optimierer das Beschränkungsmodell neu definieren, um dadurch die akzeptablen Grenzen für Stell- oder Steuervariablen, welche außerhalb der Grenzen liegen, neu zu definieren, und dann eine im neuen Beschränkungsmodell definierte Zielfunktion mit Strafvariablen verwenden, um die außerhalb der Grenzen liegenden Beschränkungen mit höheren Prioritäten ohne weitere Beschränkungsübertretungen bei Beschränkungen niedrigerer Priorität gegen zuvor festgesetzte Grenzen zu treiben. In einer weiteren Ausführungsform kann der Optimierer die Verwendung von mit Strafen belegten Spielraumvariablen mit dem Neudefinieren des Beschränkungsmodells verschmelzen, um ein flexibles und effizientes Verfahren zur Handhabung von Beschränkungen zu schaffen.In one embodiment, the optimizer use an objective function, the penalized margin variable contains in the presence of one or more control or control variables, which about preset limits are pushed out, an optimal solution too Find. In another embodiment the optimizer can use the constraint model redefine to thereby accept the acceptable limits for or control variables that are outside of boundaries to redefine, and then one in the new constraint model use defined objective function with punitive variables to the outside limits with higher priorities without further violations of restrictions with restrictions lower priority to push against previously set limits. In a further embodiment can the optimizer the use of penalized margin variables with redefining the constraint model merge to create a flexible and efficient method of handling of restrictions to accomplish.
Wie in
Die Anlageneinrichtungen
Die Steuereinrichtung
In einer Ausführungsform implementiert die
Steuereinrichtung
Wie durch den ausgebreiteten Block
Wie in
Außerdem berechnet die MPC-Steuereinrichtung
Der Optimierer
Ein Benutzer oder Bediener kann eine
der Zielfunktionen
Zusätzlich zur Zielfunktion OF
empfängt
der Optimierer
Während
des Betriebs kann der Optimierer
Es versteht sich, dass die Matrix der stationären Verstärkungen die stationäre Verstärkung für jedes mögliche Paar der Stellvariablen und der Steuer- oder Hilfsvariablen definiert. In anderen Worten, die Matrix der stationären Verstärkungen definiert die stationäre Verstärkung in jeder Steuer- und Hilfsvariable für eine Einheitsänderung in jeder der Stell- und Störvariablen. Diese Matrix der stationären Verstärkungen ist in der Regel eine N-mal-M-Matrix, wobei N die Anzahl der Steuer- und Hilfsvariablen und M die Anzahl der Stellvariablen ist, welche in der Optimiererroutine verwendet werden. Allgemein kann N größer als, gleich oder kleiner als M sein, wobei N meistens größer als M ist.It is understood that the matrix the stationary reinforcements the stationary reinforcement for any couple the control variables and the control or auxiliary variables. In other words, the stationary gain matrix defines the steady state gain in each control and auxiliary variable for a unit change in each of the control and disturbance variables. This matrix of the stationary reinforcements is usually an N-by-M matrix, where N is the number of tax and auxiliary variables and M is the number of control variables which be used in the optimizer routine. In general, N can be greater than be equal to or less than M, where N is usually greater than Damn.
Bei Verwendung eines beliebigen bekannten
oder standardgemäßen LP-Algorithmus
oder -Verfahrens geht der Optimierer
In einer Ausführungsform kann der LP-Optimierer
wobei:
Q
= Gesamtkosten/Erlös;
P
= mit AVs und CVs verknüpfter
Erlösvektor;
C
= mit MVs verknüpfter
Kostenvektor;
A = Verstärkungsmatrix;
und
ΔMV
= Vektor für
berechnete Änderung
in MVs.In one embodiment, the LP optimizer
in which:
Q = total cost / revenue;
P = revenue vector associated with AVs and CVs;
C = cost vector associated with MVs;
A = gain matrix; and
ΔMV = vector for calculated change in MVs.
Die Erlöswerte sind generell positive
und die Kostenwerte generell negative Zahlen, damit ihr Einfluss auf
das Ziel erkennbar ist. Unter Verwendung dieser oder einer anderen
Zielfunktion berechnet der LP-Optimierer
In einer Optimierungsprozedur, die
verwendet werden kann, werden zur augenblicklichen Zeit (t) Inkrementalwerte
von Stellvariablen verwendet und wird über den Vorhersagehorizont
eine Summe von Inkrementen von Stellvariablen verwendet, wobei am
Ende des Vorhersagehorizonts Inkrementalwerte von Steuer- und Hilfsvariablen
bestimmt werden statt, wie in LP-Anwendungen üblich, aktuelle Positionswerte.
Natürlich kann
der LP-Algorithmus für
diese Abwandlung entsprechend verändert werden. Auf jeden Fall
kann der LP-Optimierer
wobei: vorhergesagte Änderungen
in Ausgängen
am Ende des Vorhersagehorizonts (t + p) angibt, die m-mal-n-Verstärkungsmatrix
des stabilen Zustands des Prozesses ist, und Änderungen in Stellvariablen
am Ende des Steuerhorizonts (t + c) angibt.In an optimization procedure that can be used, incremental values of actuating variables are used at the current time (t) and a sum of increments of actuating variables is used over the prediction horizon, with incremental values of control and auxiliary variables being determined at the end of the prediction horizon instead of as in LP applications common, current position values. Of course, the LP algorithm for this modification can be changed accordingly. In any case, the LP optimizer
in which: indicates predicted changes in outputs at the end of the forecast horizon (t + p), is the m-by-n gain matrix of the stable state of the process, and Indicates changes in control variables at the end of the control horizon (t + c).
Der Vektor ΔMV(t + c) stellt die Summe der von jedem Steuereinrichtungs-Ausgang mvi gemachten Änderungen über den Steuerhorizont dar, so dass: The vector ΔMV (t + c) represents the sum of the changes made by each control device output mv i over the control horizon, so that:
Die Änderungen sollten vorzugsweise
den Grenzen sowohl der Stellvariablen MV als auch der Steuervariablen
CV genügen
(hier werden Hilfsvariablen als Steuervariablen behandelt), so dass:
In diesem Fall kann die Zielfunktion
zum Maximieren des Produktwerts und zum Minimieren der Rohstoffkosten
gemeinsam definiert werden als:
wobei:
UCV der Kostenvektor
für eine
Einheitsänderung
im Steuervariablen- (CV-) Prozesswert ist; und
UMV der Kostenvektor
für eine
Einheitsänderung
im Stellvariablen- (MV-) Prozesswert ist.In this case, the objective function to maximize the product value and minimize the raw material costs can be defined together as: in which:
UCV is the cost vector for a unit change in the control variable (CV) process value; and
UMV is the cost vector for a unit change in the control variable (MV) process value.
Bei Anwendung der obenstehenden Gleichung (1) kann die Zielfunktion in Form von Stellvariablen MV ausgedrückt werden als: Using equation (1) above, the objective function can be expressed in the form of control variables MV as:
Um eine optimale Lösung zu finden, berechnet der LP-Algorithmus die Zielfunktion für einen anfänglichen Scheitelpunkt im durch Gleichung (7) definierten Bereich und verbessert die Lösung in jedem nächsten Schritt, bis der Algorithmus den Scheitelpunkt mit dem maximalen (oder minimalen) Wert der Zielfunktion als optimale Lösung bestimmt. Die bestimmten optimalen Stellvariablenwerte werden dann als die innerhalb des Steuerhorizonts zu erreichenden Zielwert-Stellvariablen MVT auf die Steuereinrichtung angewendet oder an diese geliefert.To find an optimal solution, the LP algorithm calculates the objective function for an initial vertex in the range defined by equation (7) and improves the solution in every next step until the algorithm reaches the vertex with the maximum (or minimum) value of the objective function determined as the optimal solution. The determined optimal control variable values are then applied to or delivered to the control device as the target value control variables MV T to be reached within the control horizon.
Allgemein ergibt das Anwenden des LP-Algorithmus auf die vorbereitete Matrix drei mögliche Ergebnisse. Erstens, es gibt eine eindeutige Lösung für die Zielwert-Stellvariablen MVT. Zweitens, die Lösung ist unbegrenzt, was nicht passieren sollte, wenn jede Steuer- und Hilfsvariable eine Ober- und eine Untergrenze hat. Drittens, es gibt keine Lösung, welche die Grenzen der Prozessvariablen einhält, was bedeutet, dass die Grenzen oder Beschränkungen der Prozessvariablen zu eng sind. Um den dritten Fall zu handhaben, können die Gesamtbeschränkungen gelockert werden und kann der Optimierer mit den gelockerten Beschränkungen erneut ausgeführt werden, um eine Lösung zu erhalten. Die Grundannahme ist, dass die Grenzen von Stellvariablen (Ober-/Untergrenzen) vom Optimierer nicht geändert werden können, obwohl diese Annahme nicht zutreffen muss. Dieselbe Annahme kann auch für Beschränkungen oder Grenzen der Hilfsvariablen (Ober-/Untergrenzen) verwendet werden. Jedoch kann der Optimierer vom Treiben der Steuervariable CV gegen die festgelegten Sollwerte (von der CV-Sollwertregelung) zum Treiben der Steuervariablen gegen irgendeinen der Werte innerhalb eines Bereichs um den Sollwert (zur CV-Bereichsregelung) wechseln. In diesem Fall dürfen die Werte der Steuervariablen statt auf einem genauen Sollwert innerhalb eines Bereichs liegen. Wenn es mehrere Hilfsvariablen AV gibt, die ihre Beschränkungen übertreten, und das Umschalten von CV-Sollwertregelung auf CV-Bereichsregelung keine Lösung liefert, ist es auch möglich, die Beschränkungen der Hilfsvariablen auf Grundlage der jeweiligen Gewichte oder Prioritätsangaben zu lockern oder zu ignorieren. In einer Ausführungsform konnte durch Minimieren des ins Quadrat erhobenen Fehlers der Hilfsvariablen, was jeder einzelnen gestattete, ihre jeweilige Beschränkung zu übertreten, oder durch aufeinanderfolgendes Fallenlassen von Beschränkungen der Hilfsvariablen mit niedrigster Priorität eine Lösung bestimmt werden. Wie nachfolgend ausführlicher beschrieben wird, zählen zu anderen Arten des Umgangs mit außerhalb der Grenzen liegenden Lösungen das Abändern der Zielfunktion, so dass sie Spielraumvariablen oder Strafvariablen enthält, welche einen Kostenwert oder eine Strafe für jede Prozessvariable, die eine voreingestellte Grenze oder Beschränkung übertritt, auferlegen, und das erneute Ausführen des Optimierers mit der neuen Zielfunktion und/oder das Neudefinieren der Grenzen für eine oder mehrere außerhalb der Grenzen liegende Prozessvariablen, das Abändern der Zielfunktion, so dass sie Strafen für die innerhalb der neuen Grenzen liegenden Prozessvariablen enthält, um diese Variablen gegen die ursprünglichen Grenzen zu treiben, und das erneute Ausführen des Optimierers mit der neuen Zielfunktion, um die optimale Lösung innerhalb dieser neu definierten Grenzen zu finden. Zuerst wird aber ein Verfahren des anfänglichen Auswählens einer Zielfunktion beschrieben.Generally, applying the LP algorithm to the prepared matrix gives three possible results. First, there is a clear solution for the MV T target variable. Second, the solution is un limits what should not happen if each control and auxiliary variable has an upper and a lower limit. Third, there is no solution that adheres to the limits of the process variables, which means that the limits or limitations of the process variables are too narrow. To deal with the third case, the overall constraints can be relaxed and the optimizer can be run again with the relaxed constraints to get a solution. The basic assumption is that the limits of control variables (upper / lower limits) cannot be changed by the optimizer, although this assumption does not have to apply. The same assumption can also be used for restrictions or limits of the auxiliary variables (upper / lower limits). However, the optimizer can switch from driving the control variable CV against the specified setpoints (from the CV setpoint control) to driving the control variable against any of the values within a range around the setpoint (for the CV range control). In this case, the values of the control variables may lie within a range instead of an exact setpoint. If there are several auxiliary variables AV that exceed their restrictions and switching from CV setpoint control to CV range control does not provide a solution, it is also possible to relax or ignore the restrictions of the auxiliary variables based on the respective weights or priority information. In one embodiment, a solution could be found by minimizing the squared error of the auxiliary variables that allowed each to exceed their respective constraints, or by successively dropping constraints on the lowest priority auxiliary variables. As will be described in more detail below, other ways of dealing with out-of-bounds solutions include modifying the objective function to include margin variables or penalty variables that impose a cost or penalty for each process variable that exceeds a preset limit or limitation , and re-executing the optimizer with the new objective function and / or redefining the limits for one or more out-of-bound process variables, modifying the objective function to include penalties for those process variables within the new limits around those variables to push against the original limits, and re-run the optimizer with the new objective function to find the optimal solution within these newly defined limits. First, however, a method of initially selecting a target function will be described.
Wie oben erwähnt, kann die Zielfunktion
OF gewählt
oder vom Programm zur Erzeugung von Steuerblöcken
In einer Ausführungsform kann die Zielfunktion, wenn zum Beispiel wirtschaftliche Faktoren für die Prozesskonfiguration nicht definiert sind, automatisch aus der MPC-Konfiguration erstellt werden. Im Allgemeinen kann die Zielfunktion mittels folgender Formel erstellt werden.In one embodiment, the objective function, if, for example, economic factors for process configuration are not defined, created automatically from the MPC configuration become. In general, the objective function can be done using the following formula to be created.
Die Variablen Cj und
pj können
aus den Konfigurationseinstellungen definiert werden. Insbesondere unter
der Annahme, dass der Steuervariablen- (CV-) Sollwert nur an einer
Untergrenze (LL) oder an einer Obergrenze (HL) definiert werden
kann, kann der Wert pj auf die folgende
Weise definiert werden:
pj = –1, wenn
der Sollwert bei LL definiert oder "Minimieren" ausgewählt ist; und
pj = 1, wenn der Sollwert bei HL definiert
oder "Maximieren" ausgewählt ist.The variables C j and p j can be defined from the configuration settings. In particular, assuming that the control variable (CV) setpoint can only be defined at a lower limit (LL) or at an upper limit (HL), the value p j can be defined in the following way:
p j = -1 if the setpoint is defined at LL or "minimize" is selected; and
p j = 1 if the setpoint is defined at HL or "Maximize" is selected.
Unter der Annahme, dass für die Hilfsvariablen
AV keine Konfigurationsinformationen eingegeben sind, ist pj = 0 für
alle Hilfsvariablen AV. Entsprechend hängt für die Stellvariablen MV der
Wert Cj davon ab, ob der bevorzugte Stellvariablen-Zielwert MVT definiert ist oder nicht. Wo der bevorzugte
Stellvariablen-Zielwert MVT definiert ist,
gilt:
Cj = 1, wenn MVT bei
HL liegt oder "Maximieren" ausgewählt ist;
Cj= –1,
wenn MVT bei LL liegt oder "Minimieren" ausgewählt ist;
und
Cj = 0, wenn MVT nicht
definiert ist.Assuming that no configuration information has been entered for the auxiliary variables AV, p j = 0 for all auxiliary variables AV. Accordingly, the value C j for the control variables MV depends on whether the preferred control variable target value MV T is defined or not. Where the preferred target variable value MV T is defined:
C j = 1 when MV T is HL or "Maximize" is selected;
C j = -1 when MV T is LL or "minimize" is selected; and
C j = 0 if MV T is not defined.
Falls gewünscht, kann die Auswahl der
Verwendung des Optimierers
Die oben beschriebene Vorgabe-Zielfunktion
kann verwendet werden, um den Betrieb des Optimierers während verschiedener
möglicher
Betriebsarten desselben festzusetzen. Insbesondere wenn die Anzahl
der Steuervariablen CVs mit der Anzahl der Stellvariablen MVs übereinstimmt,
besteht das erwartete Verhalten bei der Vorgabeeinstellung darin,
dass die Steuervariablen- (CV-) Sollwerte gehalten werden, solange
die Hilfsvariablen AVs und die Stellvariablen MVs voraussichtlich
innerhalb ihrer Grenzen liegen werden. Wenn vorhergesagt wird, dass
eine Hilfsvariable oder eine Stellvariable ihre Grenze übertreten
wird, können
die Betriebs-Sollwerte
der Steuervariablen innerhalb ihrer Bereiche geändert werden, um, falls möglich, zu
verhindern, dass diese Grenzen übertreten
werden. Wenn in diesem Fall der Optimierer
Wenn die Anzahl der Steuervariablen CVs kleiner als die Anzahl von Stellvariablen MVs ist, können die zusätzlichen Freiheitsgrade verwendet werden, um die mit der konfigurierten Stellvariablen- (MV-) End-Ruheposition verbundenen Anforderungen zu befriedigen. Hier können die Steuervariablen-Sollwerte (falls irgendwelche Steuervariablen- (CV-) Sollwerte definiert sind) gehalten werden, solange die Hilfs- und Stellvariablen voraussichtlich innerhalb ihrer Grenzen liegen werden. Die mittlere Abweichung der Stellvariablen von der konfigurierten End-Ruheposition wird minimiert. Wenn für eine oder mehrere der Hilfs- und Stellvariablen vorhergesagt wird, dass sie ihre Grenzen übertreten werden, können die Betriebs-Sollwerte der Steuervariablen innerhalb ihrer Bereiche geändert werden, um zu verhindern, dass diese Grenzen übertreten werden. Unter dieser Bedingung kann, wenn es mehrere Lösungen gibt, die zur Steuerung verwendete Lösung die Lösung sein, welche die mittlere Abweichung der Stellvariablen von der konfigurierten End-Ruheposition minimiert.If the number of control variables CVs is smaller than the number of control variables MVs, the additional Degrees of freedom can be used to compare the (MV) end rest position to satisfy related requirements. Here you can the control variable setpoints (if any control variables- (CV) setpoints are defined) as long as the auxiliary and control variables are expected to be within their limits become. The mean deviation of the control variables from the configured one End-rest position is minimized. If for one or more of the auxiliary and control variables is predicted, that they cross their borders can be the operating setpoints of the control variables within their ranges changed to prevent these limits from being exceeded. Under this Condition can, if there are several solutions to control solution used be the solution which is the mean deviation of the control variables from the configured one End rest position minimized.
In normalen Situationen liegen die
vom Optimierer
Während der Verzicht auf Optimierung die einfachste mögliche Weise ist, mit einer nicht realisierbaren Lösung umzugehen, ist es nicht das beste Verfahren zur Handhabung von Beschränkungen, weil, wenn es keine realisierbare Lösung innerhalb der Grenzen gibt, es in den meisten Fällen noch möglich ist, unter Berücksichtigung der Optimierungsziele Beschränkungsübertretungen zu minimieren. Überdies ist das Fallenlassen von Beschränkungen niedrigerer Priorität eine extreme Maßnahme, die, während sie ermöglicht, Beschränkungen höherer Priorität einzuhalten, übermäßige unkontrollierte Übertretungen der Grenzen der fallengelassenen Beschränkungen zur Folge haben kann, was inakzeptabel sein kann. Ein anderes Problem beim Fallenlassen von Beschränkungen niedrigerer Priorität ist, dass abgeschätzt werden muss, wie viele Beschränkungen niedrigerer Priorität fallengelassen werden müssen, um eine Lösung zu erhalten. Eine solche Abschätzung beruht auf den im System verfügbaren Freiheitsgraden, welche Abschätzung vor der Optimierungsprozedur berechnet oder während der Prozedur bestimmt werden muss. Im letzteren Fall muss der Prozess des Entwickelns einer optimalen Lösung durch aufeinanderfolgendes Fallenlassen von Beschränkungen möglicherweise wiederholt werden, bis eine Lösung gefunden wird, und ein solcher zeitlich unbegrenzter iterativer Prozess ist in den meisten Echtzeit-Optimierungsanwendungen nicht wünschenswert.While avoiding optimization is the easiest way to deal with an unrealizable solution, it is not the best way to handle constraints because if there is no viable solution within the limits, in most cases it is still possible to under consideration to minimize optimization violations. Furthermore, dropping lower priority constraints is an extreme measure that, while allowing compliance with higher priority constraints, can result in excessive uncontrolled violations of the boundaries of the dropped constraints, which may be unacceptable. Another problem with dropping lower priority constraints is to estimate how many lower priority constraints need to be dropped to get a solution. Such an estimate is based on the degrees of freedom available in the system, which estimate must be calculated before the optimization procedure or determined during the procedure. In the latter case, the process of developing an optimal solution by successively dropping constraints may need to be repeated until a solution is found, and such an indefinite iterative process is not desirable in most real-time optimization applications.
Es wurde jedoch entdeckt, dass es in manchen Situationen noch möglich ist, eine akzeptable Lösung zu finden, wenn die Zielfunktion ursprünglich so konfiguriert ist, dass keine realisierbare Lösung existiert, indem, je nach der Priorität der Variable und dem Ausmaß der Beschränkungsübertretung, in der Zielfunktion eine Strafe für jede Beschränkungsübertretung zugewiesen wird (was gewöhnlich als Verwenden von Spielraumvariablen in der Zielfunktion bezeichnet wird), indem die Beschränkungsgrenzen für eine oder mehrere Prozessvariablen neu definiert werden und die Zielfunktion neu definiert wird, um die Prozessvariable unter Verwendung der neu definierten Grenzen gegen die vorherige Grenze zu treiben, während anderen Prozessvariablen nicht gestattet wird, ihre ursprünglichen Beschränkungen oder Grenzen zu übertreten, oder durch eine Kombination dieser beider Verfahren.However, it was discovered that it still possible in some situations is an acceptable solution too find if the objective function is originally configured that no viable solution exists by, depending on the priority of the variable and the extent of the violation, in the objective function a penalty for each violation of the restriction assigned (which is usually referred to as using margin variables in the objective function will) by limiting limits for one or several process variables are redefined and the target function is redefined to the process variable using the pushing redefined borders against the previous border while others Process variables are not allowed to be their original restrictions or to cross borders or by a combination of these two methods.
Insbesondere lassen sich nicht realisierbare Optimierer-Lösungen mittels des wohlbekannten Konzepts der Spielraumvariablen handhaben. Dieses Verfahren weist Strafen zu, welche auf der Priorität der übertreten werdenden Beschränkung oder auf dem Ausmaß der Grenzübertretung oder auf beidem beruhen. Obwohl nach dem Stand der Technik allgemein vorgeschlagen wurde, dass es möglich ist, bei Vorliegen von Übertretungen von Steuereinrichtungs-Beschränkungsgrenzen Spielraumvariablen beim Optimieren zu verwenden, ist den Erfindern keine konkrete Offenbarung über eine Art, dies zu tun, bekannt. Also wurde das im Folgenden beschriebene Verfahren von den Erfindern entwickelt, um Spielraumvariablen zu verwenden, um eine von einem Optimierer verwendete Zielfunktion neu zu definieren, wenn in der mittels der ursprünglichen Zielfunktion entwickelten Lösung notwendigerweise Beschränkungsübertretungen vorliegen.In particular, they cannot be implemented Optimizer solutions handle using the well-known concept of margin variables. This procedure assigns penalties based on the priority of the violators becoming restriction or on the extent of border transgression or be based on both. Although common in the prior art it was suggested that it was possible is in the presence of violations of tax facility restriction limits The inventors have used the use of margin variables when optimizing no concrete revelation about known a way of doing this. So that was described below Processes developed by the inventors to adjust travel variables use an objective function used by an optimizer redefine if developed in the using the original objective function solution necessarily violations of restrictions available.
Allgemein sind Spielraumvariablen als der Wert oder das Ausmaß definiert, um welchen bzw. welches die vorhergesagte Prozessvariable die übertretene Grenze überschreitet (über oder unter dieser liegt). Um die Spielraumvariable zu minimieren (und dadurch die Grenzübertretung zu minimieren), wird die vom Optimierer verwendete Zielfunktion neu definiert, so dass sie eine Strafe für jeden Spielraumvariablen-Wert, der nicht null ist, enthält, welche im Wesentlichen den Optimierer veranlasst, eine Lösung zu finden, welche in Verbindung mit den anderen von der Zielfunktion definierten Zielen wie ökonomischen Zielen die Spielraumvariable minimiert. Gemäß diesem Verfahren wird, wenn der Optimierer auf eine Situation stößt, in welcher er nur nicht realisierbare Lösungen liefern kann, die Zielfunktion neu definiert, so dass sie einen Kostenwert oder eine Strafe enthält, welcher bzw. welche mit einer Grenzübertretung für jede Prozessvariable (z.B. Stell-, Hilfs- oder Steuervariable) oder mindestens für jede Prozessvariable, welche voraussichtlich eine voreingestellte Grenze übertreten wird, verknüpft ist. Falls gewünscht, kann für jede der Prozessvariablen die gleiche oder eine unterschiedliche Strafe definiert werden, so dass die Zielfunktion eine Spielraumvariable enthält, die einen Kostenwert oder eine Strafe definiert, welcher bzw. welche aus jeder Grenzübertretung für jede Prozessvariable, die eine zugehörige Grenze übertritt, resultiert. Der Spielraumvariablen-Kostenwert oder Strafwert in der neu definierten Zielfunktion kann sowohl vom Ausmaß der Grenzübertretung als auch von der Prozessvariable, in welcher die Grenzübertretung auftritt, abhängen. Die Einheitskosten oder -strafen können zum Beispiel für Prozessvariablengrenzen höherer Priorität höher und für Prozessvariablengrenzen niedrigerer Priorität niedriger sein. Auf jeden Fall wird dann die neu definierte Zielfunktion verwendet, um durch Minimieren (oder Maximieren) der neu definierten Zielfunktion bei Vorliegen beider der zuvor definierten wirtschaftlichen Faktoren (Erlöse und Kosten) sowie der mit dem Vorliegen von Spielraumvariablen, welche nicht null sind, verknüpften Kosten oder Strafen für eine oder mehrere der Prozessvariablen eine optimale Lösung zu finden.Generally, there are scope variables defined as the value or extent by which or which the predicted process variable the violated Limit (over or is below this). To minimize the margin variable (and thereby crossing the border to minimize), the objective function used by the optimizer redefined so they have a penalty for each margin variable value, that is not null contains which essentially prompts the optimizer to find a solution find which one in conjunction with the others from the objective function defined goals such as economic Aiming the scope variable minimized. According to this procedure, if the optimizer encounters a situation in which he just doesn't feasible solutions can deliver, redefine the objective function so that it has a Cost value or contains a penalty which one or which with a limit violation for each process variable (e.g. control, auxiliary or control variable) or at least for each process variable, which are likely to exceed a preset limit is linked is. If desired, can for each of the process variables the same or a different one Punishment can be defined so that the objective function is a margin variable contains which defines a cost value or a penalty, which one or which from every border crossing for every Process variable which is an associated Crossing the border, results. The margin variable cost value or penalty value in The newly defined objective function can depend both on the extent of the border crossing as well as the process variable in which the border crossing occurs, depend. Unit costs or penalties can be, for example, for process variable limits higher priority higher and for process variable limits lower priority be lower. In any case, the newly defined objective function used to minimize (or maximize) the newly defined Objective function in the presence of both of the previously defined economic ones Factors (proceeds and costs) as well as with the existence of margin variables, which are not zero, associated costs or penalties for one or more of the process variables to an optimal solution Find.
Insbesondere können bei der linearen Programmierung
Spielraumvariablen-Vektoren
Smax ≥ 0
und Smin ≥ 0
wie folgt verwendet werden:
Hier versteht es sich, dass AVs in
den CV-Termen in diesen Gleichungen enthalten sind (d.h. die Variablen
CVs decken alle Ausgänge
ab, wo Steuervariablen Hilfsvariablen sind). In den Gleichungen
(10) und (11) für
das lineare Programmierungsmodell ist die Gleichheit erforderlich,
und die Spielraumvariablen Smin und Smax dienen nur zur Unterstützung formaler
Parameter ohne besondere Bedeutung in der Anwendung. In dieser Anwendung
werden zusätzliche
Spielraumvariablen S+ und S– verwendet,
um die Bereichsgrenzen des Spielraumvektors zu erweitern, wobei
S+ ≥ 0
zum Erhöhen
der Obergrenze und S– ≥ 0 zum Absenken der Untergrenze
verwendet wird. Effektiv können
die Gleichungen (10) und (11) neu definiert oder neu formuliert
werden als:
Als Beispiel kann die Zielfunktion
durch Addieren der Terme und erweitert
werden, so dass: wobei:
PS– der
Spielraumvariablen-Strafenvektor für das Übertreten von Untergrenzen
ist;
PS+ der Spielraumvariablen-Strafenvektor
für das Übertreten
von Obergrenzen ist; und
PS– >> UCV und PS+ >> UCV (wobei das Symbol >> "viel
größer als" bedeutet).As an example, the objective function can be obtained by adding the terms and be expanded so that: in which:
PS - is the margin variable penalty vector for crossing lower bounds;
PS + is the margin variable penalty vector for violating ceilings; and
PS - >> UCV and PS + >> UCV (where the symbol >> means "much larger than").
Danach kann die neu definierte Zielfunktion auf eine standardgemäße Weise verwendet werden, so dass durch Minimieren der neu definierten Zielfunktion die Werte S– und S+ minimiert werden wie durch mit diesen Werten verknüpfte Kosten definiert, um eine Lösung zu erhalten, welche optimal ist in dem Sinn, dass sie die Grenzüberschreitungen bezüglich der anderen Ziele der Zielfunktion optimal reduziert.The newly defined objective function can then be used in a standard manner so that by minimizing the newly defined objective function the values S - and S + are minimized as defined by the costs associated with these values in order to obtain a solution which is optimal in the It makes sense that it optimally reduces the border crossings with regard to the other goals of the objective function.
Allgemein sollten die mit den Spielraumvariablen S– und S+ verknüpften Strafen beträchtlich höher sein als die in oder verknüpft mit der Zielfunktion optimiert werdenden wirtschaftlichen Kosten oder Erlöse. Also sollten alle Komponenten der Vektoren PS. und PS+ (welche die mit den verschiedenen Spielraumvariablen verknüpften Strafen definieren) beträchtlich größer sein als diejenigen der in der Zielfunktion verwendeten wirtschaftlichen Kosten/Erlös-Vektoren. Es ist angemessen, anzunehmen, dass die kleinste Komponente der Vektoren PS– und PS+ im Allgemeinen mehrfach größer sein sollte als die größte Komponente des UCV-Vektors. Somit sollten die Spielraumvariablen in der Zielfunktion, wie hierin beschrieben, im Vergleich zu den wirtschaftlichen Kosten, Erlösen usw. mit hohen Strafen belegt sein.In general, the penalties associated with the S - and S + scope variables should be significantly higher than the economic costs or revenues optimized in or linked to the objective function. So all components of the vectors PS. and PS + (which define the penalties associated with the various margin variables) are considerably greater than those of the economic cost / revenue vectors used in the objective function. It is reasonable to assume that the smallest component of the PS - and PS + vectors should generally be several times larger than the largest component of the UCV vector. Thus, the margin variables in the objective function, as described herein, should be punished with high penalties compared to the economic costs, proceeds, etc.
Zusätzlich zum Minimieren (oder statt des Minimierens) von Übertretungen von Beschränkungsgrenzen wie oben beschrieben kann der Optimierer mit Strafen belegte Spielraumvariablen verwenden, um Sollwertoptimierung entweder in dem Fall, in welchem eine nicht realisierbare Lösung gefunden wird, oder in dem Fall, in welchem aus anderen Gründen gewünscht wird, auf einen Sollwert zu optimie ren, zu leisten. Insbesondere können mit Strafen belegte Spielraumvariablen verwendet werden, um, als Antwort auf eine nicht realisierbare Lösung oder aus irgendeinem anderen gewünschten Grund, das Lockern von Sollwerten innerhalb um einen vorgewählten Sollwert (z.B. einen vom Bediener oder irgendeiner anderen Quelle gelieferten Sollwert) definierter akzeptabler Bereiche zu gestatten, um anderen Prozessvariablen zu ermöglichen, ihre zugehörigen Grenzen einzuhalten oder dem Einhalten derselben näher zu kommen. Die Sollwertbereiche könnten einen hohen Bereich (in welchem dem Sollwert gestattet wird, innerhalb eines Bereichs oberhalb des vorgewählten Sollwerts abzuweichen), einen niedrigen Bereich (in welchem dem Sollwert gestattet wird, innerhalb eines Bereichs unterhalb des vorgewählten Sollwerts abzuweichen) oder beide einschließen. Die in diesem Verfahren verwendeten Sollwertbereiche können einseitig oder zweiseitig sein. Einseitige Bereiche können mit einer Minimierungs- oder einer Maximierungs-Zielfunktion verknüpft sein, welche für das Abweichen außerhalb eines vorgewählten Sollwertbereichs eine Strafe in der Zielfunktion definiert, aber welche für eine Abweichung vom Sollwert innerhalb des Sollwertbereichs nur wirtschaftliche Kosten in der Zielfunktion auferlegt. Zweiseitige Bereiche andererseits haben üblicherweise keine wirtschaftlichen Ziele, sondern werden verwendet, um die optimale Lösung so nah wie möglich am vorgewählten Sollwert innerhalb eines bevorzugten Bereichs, welcher durch Verwendung von mit hohen Strafen belegten Spielraumvariablen außerhalb des Bereichs erweitert werden kann, zu erhalten. Wenn der bevorzugte Sollwertbereich gleich null ist, liegt im Wesentlichen die gleiche Situation vor wie bei einem Sollwert mit den mit Strafen belegten Spielraumvariablen um ihn herum.In addition to minimizing (or instead of minimizing) violations of restriction limits as described above, the optimizer can be penalized margin variables use to setpoint optimization either in the case in which an unrealizable solution is found, or in the case where it is desired for other reasons, to optimize to a target value. In particular, with Penalized travel variables are used to, in response for an unrealizable solution or from any other desired Reason, the loosening of setpoints within a preselected setpoint (e.g. one supplied by the operator or any other source Setpoint) to allow defined acceptable ranges to others To enable process variables their associated Keeping boundaries or getting closer to them. The setpoint ranges could be one high range (within which the setpoint is allowed, within deviate from a range above the preselected setpoint), a low range (in which the setpoint is allowed, deviate within a range below the preselected setpoint) or include both. The setpoint ranges used in this procedure can be one-sided or be two-sided. Unilateral areas can be minimized or be linked to a maximization objective function which is used for the deviation outside of one preselected Setpoint range defines a penalty in the objective function, however which for a deviation from the setpoint within the setpoint range only economic costs imposed in the objective function. two-sided Areas on the other hand typically have not economic goals, but are used to find the optimal one solution as close as possible at the selected Setpoint within a preferred range, which is determined by use of travel variables outside of which are subject to high penalties of the area can be expanded. If the preferred If the setpoint range is zero, the situation is essentially the same like a setpoint with the margin variables that are subject to penalties around him.
Die
Auf eine ähnliche Art veranschaulicht
ein Punkt
Die Gleichungen für die Sollwertregelung mit
den zweiseitigen Bereichen können
in folgender Form dargestellt werden:
Hier sind Sunten und Soben Vektoren von Spielraumvariablen für die Lösungen unterhalb und oberhalb der Sollwerte, und die Terme sollten zur Zielfunktion hinzuaddiert werden, wobei: die Einheitsstrafe für die Lösung unter dem Sollwert ist; und die Einheitsstrafe für die Lösung über dem Sollwert ist.Here S below and S above are vectors of travel variables for the solutions below and above the target values, and the terms should be added to the objective function, where: the unit penalty for the solution is below the target; and the unit penalty for the solution is above the target value.
Es versteht sich, dass die Zielfunktion auch die Spielraumvariablen-Strafen für die Variablen S– und S+ enthält wie oben definiert.It is understood that the objective function also includes the margin variable penalties for the variables S - and S + as defined above.
Dieses Verfahren zum Handhaben von Beschränkungen mit Spielraumvariablen, welche mit Strafen belegt sind, schafft beträchtliche Flexibilität beim Handhaben nicht realisierbarer Situationen. Insbesondere durch Anwenden von mit Strafen belegten Spielraumvariablen kann der Optimierer immer eine optimale Lösung finden, welche die Gesamtkosten von Beschränkungsübertretungen wie von der Zielfunktion definiert minimiert, auch wenn die Lösung außerhalb der vorgewählten Grenzen oder Beschränkungen liegt. Jedoch können manche Prozessvariablen-Ausgänge, welche vor dem Ausführen des neu definierten Optimierers mit den mit Strafen belegten Spielraumvariablen innerhalb der Grenzen liegen, infolge der Lösung mit Spielraumvariablen die Grenzen übertreten. Außerdem wird der Betrag der Grenzüberschreitung für eine bestimmte Prozessvariable vor dem Erzeugen der Lösung nicht quantitativ definiert. Diese zwei Merkmale sind möglicherweise in vielen Anwendungen nicht wünschenswert, weil manche Anwendungen erfordern können, dass die Prozessvariablen niedrigerer Priorität, welche anfänglich innerhalb der Bereichsgrenzen liegen, nicht über die Grenzen hinaus getrieben werden, um Prozessvariablen höherer Priorität in die Grenzen zu befördern. Überdies können manche Anwendungen wohldefinierte Lösungsgrenzen für alle Prozessvariablen erfordern. Diesen zwei Zielen kann genügt werden, indem das Beschränkungsmodell als Antwort auf eine nicht realisierbare Situation oder Lösung neu definiert wird.This procedure for handling restrictions with scope variables that are subject to penalties considerable flexibility when handling unrealizable situations. In particular through The optimizer can apply penalties always an optimal solution Find the total cost of constraint violations as from the objective function defined minimized even if the solution is outside the pre-selected limits or restrictions lies. However, can some process variable outputs, which ones before running of the newly defined optimizer with the scope variables that are subject to penalties are within the limits due to the solution with margin variables to cross the borders. Moreover becomes the amount of border crossing for one certain process variables not defined quantitatively before generating the solution. These two characteristics are possible not desirable in many applications, because some applications may require the process variables lower priority, which initially are within the range limits, not pushed beyond the limits be higher to process variables priority to push the limits. moreover can some applications have well-defined solution limits for all process variables require. These two goals can be met by using the restriction model new in response to an unrealizable situation or solution is defined.
Insbesondere um Nichtrealisierbarkeiten auf eine Weise zu handhaben, welche genau definierte Grade von Grenzübertretungen erzwingt, kann das Beschränkungsmodell selbst neu definiert werden. Natürlich erfolgt diese Neudefinierung nach dem ersten Optimierungslauf, wenn mit Strafen belegte Spielraumvariablen nicht verwendet werden und es keine Lösung innerhalb ursprünglicher Grenzen gibt oder wenn mit Strafen belegte Spielraumvariablen verwendet werden, aber die Lösung mit mit Strafen belegten Spielraumvariablen nicht akzeptabel ist. Allgemein werden die neu definierten Grenzen als der Wert der vorhergesagten Prozessvariable (z.B. einer Steuervariable CV), welche eine ursprüngliche Grenze und die ursprüngliche Grenze minus irgendeinem Nominalwert übertritt, eingestellt. Diese neu definierten Grenzen werden dann in einem zweiten Optimierungslauf verwendet, um bei gleichzeitigem Minimieren oder Maximieren der Zielfunktion eine Lösung zu finden, welche die neu definierten Grenzen nicht übertritt. Dieses Neudefinieren von Grenzen verhindert, dass die Prozessvariable, die eine ursprüngliche Grenze übertritt, sich verschlechtert, und verhindert gleichzeitig, dass andere Prozessvariablen, welche ihre ursprünglichen voreingestellten Grenzen nicht übertraten, dies im zweiten Optimierungslauf tun. Die Prozessvariablen werden jedoch immer noch innerhalb der ursprünglichen Grenzen (wenn der vorhergesagte Wert der Prozessvariable die ursprüngliche Grenze nicht übertrat) oder innerhalb der neu definierten Grenzen (wenn der vorhergesagte Wert der Prozessvariable die ursprüngliche Grenze übertrat) optimiert, um bei Vorliegen von Grenzübertretungen eine begrenzte optimierte Lösung zu schaffen.The restriction model itself can be redefined, in particular in order to handle non-realizations in a way that forces precisely defined degrees of border crossings. Of course, this redefinition takes place after the first optimization run if penalized margin variables are not used and there is no solution within original limits or if penalized margin variables are used but the solution with penalized margin variables is not acceptable. Generally, the newly defined limits are set as the value of the predicted process variable (e.g., a control variable CV) that crosses an original limit and the original limit minus any nominal value. These newly defined limits are then used in a second optimization run in order to find a solution that does not exceed the newly defined limits while minimizing or maximizing the target function. This redefinition of boundaries prevents the process variable that crosses an original boundary from deteriorating, and at the same time prevents other process variables that did not exceed their original preset limits from doing so in the second optimization run. However, the process variables are still within the original limits (if the predicted value of the process variable did not exceed the original limit) or within the newly defined limits (if the predicted value of the process variable was the original border was exceeded) to create a limited, optimized solution in the event of border violations.
Dieses Verfahren kann für eine Steuervariable
CV wie folgt mathematisch definiert werden: Wenn es keine Lösung gibt
und eine Obergrenze CHL überschritten wird, werden neue
Grenzen für
die CV definiert als:
Entsprechend werden, wenn eine Untergrenze
CV" überschritten
wird, die neuen Grenzen definiert als:
Natürlich können entsprechende Grenzen für andere Prozessvariablen wie Stellvariablen MV und Hilfsvariablen AV definiert werden.Of course, appropriate limits for others Process variables such as control variables MV and auxiliary variables AV defined become.
Diese neu definierten Grenzen sind
allgemein in
Auf diese Weise werden neue Grenzen für jede Prozessvariable (z.B. CV) festgesetzt, für welche vorhergesagt wird, dass sie außerhalb der Grenzen liegen wird, um einen begrenzten Bereich für diese Prozessvariable zu schaffen, wird aber in der Zielfunktion eine Bestrafung verwendet, um die Prozessvariable im zweiten Durchgang des Optimierers gegen die ursprüngliche Grenze zu treiben, um dadurch die Prozessvariablen ohne Übertreten irgendwelcher Grenzen (entweder neu definierter Grenzen im Falle von Prozessvariablen außerhalb der Grenzen oder ursprünglicher Grenzen im Falle von Prozessvariablen, welche ursprüngliche Grenzen nicht übertreten) zu optimieren. In diesem Fall werden jedoch die Grenzen (entweder die ursprünglichen Grenzen für Prozessvariablen, welche ihre ursprünglichen Grenzen im ersten Durchgang der Zielfunktion nicht übertraten oder die neu definierten Grenzen für die Prozessvariablen, welche ihre ursprünglichen Grenzen im ersten Durchgang der Zielfunktion übertraten) in Schranken gehalten und ist der Optimierer in der Lage, eine Lösung innerhalb dieser Grenzen zu finden.In this way, new frontiers for every Process variables (e.g. CV) for which predictions are made that they're outside the limits will be around a limited range for this Creating process variables becomes a goal function Punishment used the process variable in the second pass of the optimizer against the original Push the limit, thereby avoiding the process variables any limits (either redefined limits in the case of process variables outside of borders or more original Limits in the case of process variables which original Do not cross borders) to optimize. In this case, however, the limits (either the original boundaries for process variables, which are their original Limits were not exceeded in the first pass of the objective function or the newly defined limits for the process variables, which their original Limits exceeded in the first pass of the objective function) and the optimizer is able to find a solution within these limits to find.
Eine allgemeine Form einer LP-Zielfunktion,
welche neu definierte Grenzen und die Straffaktoren für diese
Grenzen verwendet, kann ausgedrückt
werden als:
Der resultierende Vektor ist: The resulting vector is:
Um der Beschränkungshandhabung Priorität zu geben, kann für die Ausgänge mit übertretenen Beschränkungen eine zusätzliche Strafe vi, wenn die Prozessvariable (z.B. eine CV) eine Obergrenze überschreitet, als ein negativer Wert und, wenn die Prozessvariable eine Untergrenze überschreitet, als ein positiver Wert definiert werden. Ein Beitrag der zusätzlichen Strafe vi zum Kostenvektor ist: In order to give priority to the restriction handling, an additional penalty v i can be defined for the outputs with exceeded restrictions if the process variable (e.g. a CV) exceeds an upper limit as a negative value and if the process variable exceeds a lower limit as a positive value become. A contribution of the additional penalty v i to the cost vector is:
Damit die Beschränkungshandhabung Vorrang vor wirtschaftlichen Faktoren bekommt, sollte jede Komponente dieses Vektors größer sein als die jeweils entsprechende des Vektors CMT. Deshalb: wobei: ri die Prioritäts-/Rangnummer der neu definierten CV ist; rmax die maximale Prioritäts-/Rangnummer für die niedrigste Priorität/den niedrigsten Rang ist; und rmin die minimale Prioritäts-/Rangnummer für die höchste Priorität/den höchsten Rang ist.So that the restriction handling takes precedence over economic factors, each component of this vector should be larger than the corresponding one of the vector CM T. Therefore: where: r i is the priority / rank number of the newly defined CV; r max is the maximum priority / rank number for the lowest priority / lowest rank; and r min is the minimum priority / rank number for the highest priority / rank.
Berechnungen können vereinfacht werden durch Verwendung der hohen Abschätzung von |vi| als: Calculations can be simplified using the high estimate of | v i | as:
Für praktische Zwecke wird |aij| > 0,05 angenommen, um extrem niedrige Prozessverstärkungen von den Berechnungen auszunehmen. Nach Berechnen der Strafe v für alle Prozessvariablen (z.B. CVs), welche außerhalb der voreingestellten Grenzen oder außerhalb der voreingestellten Bereiche liegen, können die Strafen je nach der Priorität der Prozessvariable eingestellt werden als: For practical purposes, | a ij | > 0.05 assumed to exclude extremely low process gains from the calculations. After calculating the penalty v for all process variables (e.g. CVs) that lie outside the preset limits or outside the preset ranges, the penalties can be set depending on the priority of the process variable as:
Nach Berechnen der Kosten für die einzelnen Prozessvariablen, welche ihre jeweiligen Beschränkungen gemäß Gleichung (23) überschreiten, können die Gesamtkosten aller Beschränkungen für alle Stellvariablen aus der Gleichung (19) berechnet werden. Die Prozedur zum Berechnen von Strafen sollte aufeinanderfolgend für alle CVs, welche die Beschränkungen übertreten, durchgeführt werden, indem Gleichung (23) beginnend mit der übertretenen Beschränkung niedrigster Priorität (größte ri) und hinarbeitend auf die übertretene Beschränkung höchster Priorität angewendet wird. Für praktische Zwecke kann der effektive Strafenvektor normalisiert werden. Ein mögliches Normalisierungsverfahren besteht darin, alle Vektorkomponenten durch eine maximale Komponente zu dividieren und mit 100 zu multiplizieren.After calculating the costs for the individual process variables that exceed their respective restrictions according to equation (23), the total cost of all restrictions for all control variables can be calculated from equation (19). The penalty calculation procedure should be performed sequentially for all CVs that violate the constraints by applying Equation (23) starting with the lowest priority constraint violated (greatest r i ) and working towards the highest priority constraint violated. For practical purposes, the effective penalty vector can be normalized. One possible normalization method is to divide all vector components by a maximum component and multiply them by 100.
Falls gewünscht, kann das Konzept der
Beschränkungshandhabung
auf eine Situation erweitert werden, welche die zwei oben beschriebenen
Ansätze
integriert, und insbesondere durch Kombinieren der Verwendung mit
Strafen belegter Spielraumvariablen und der Neudefinierung des Modells.
Wenn es keine Beschränkungsübertretungen
gibt oder wenn die mit mit Strafen belegten Spielraumvariablen berechnete
optimale Lösung
akzeptabel ist, werden in diesem integrierten Ansatz nur die mit
Strafen belegten Spielraumvariablen verwendet. Wenn aber Beschränkungen übertreten
werden und die Lösung
mit mit Strafen belegten Spielraumvariablen nicht akzeptabel ist,
werden die Prozessausgangsgrenzen neu definiert. In diesem Fall werden
die neuen Ausgangsgrenzen gleich den Vorhersagen für die vorhergesagten
Prozessausgänge,
welche Grenzen übertreten,
wie in
Dieses Verfahren kann mittels folgender
Gleichungen ausgedrückt
werden:
Hier sind die neu definierten Grenzwerte
CVLL' und
CVHL' Unter-
und Obergrenzen, welche vom Optimierer nicht überschritten werden können. Die
Grenzwerte werden als außerhalb
der Grenzen liegende CV-Vorhersagen oder außerhalb der Grenzen liegende
Werte mit einem ausgedehnteren Bereich als die ursprünglichen
Grenzen eingestellt. Integrierte Gleichungen für die CV-Bereichsregelung und zweiseitige
CV-Bereichsregelung können
auf eine ähnliche
Weise entwickelt werden. Überdies
sind integrierte Gleichungen für einseitige
Bereichsregelung mit den Gleichungen (25)–(28) identisch. Zweiseitige
Bereichsregelung kann mit der folgenden Gleichung implementiert
werden:
Es versteht sich, dass dieser integrierte Ansatz gestattet, Beschränkungshandhabung auf eine flexiblere Weise zu bewerkstelligen. Gegenwärtig haben Eingänge nur hart oder fest definierte Beschränkungsgrenzen. Mittels desselben Ansatzes ist es möglich, für einige der Eingänge weiche Beschränkungen, welche in harten Beschränkungen enthalten sind, zu definieren. Das Einführen mit Strafen belegter Spielraumvariablen für die weichen Beschränkungen macht es leicht, einen mit einer Strafe belegten Bereich für die MV zu definieren. Gleichungen für diese weichen Bereiche können ausgedrückt werden als: It is understood that this integrated approach allows restriction handling to be accomplished in a more flexible way. At present, entrances have only hard or fixed limits. Using the same approach, it is possible to define soft constraints contained in hard constraints for some of the inputs. Introducing penalized margin variables for the soft restrictions makes it easy to define a penalized area for the MV. Equations for these soft areas can be expressed as:
Schließlich kann derselbe Ansatz
verwendet werden, um den Optimierer zu veranlassen, eine Prozessvariable
wie eine Stellvariable MV gegen einen bevorzugten Eingangswert oder
den sogenannten "idealen Ruhewert" zu treiben. Dieser
Ansatz ist in
sEs versteht sich, dass die Komponenten der mit Strafen belegten Spielraumvektoren S–, S+, Sunten, Soben z.B. der Einheitskostenwert oder -strafwert, in der Zielfunktion als eine Funktion der Variablenprioritäten, Variablen-Einheitskosten und/oder anderen Faktoren wie dem Grad der Grenzübertretung eingestellt oder ausgewählt werden können.It is understood that the components of the penalty vectors S - , S + , S below , S above e.g. the unit cost value or penalty value, in the objective function as a function of the variable priorities, variable unit costs and / or other factors such as the degree border crossing can be set or selected.
In Tests unter Verwendung dieser Verfahren wurden Grenzübertretungen erreicht, indem hochpegelige Störungen angewendet wurden oder indem Unterund Obergrenzen der Eingänge und Ausgänge auf eine Weise eingestellt wurden, welche bewirkte, dass diese Grenzen übertreten wurden. Diese Tests bestätigten die Brauchbarkeit der Verfahren. Insbesondere während dieser Tests arbeitete der Optimierer einwandfrei und effektiv, wobei er die Übertretung von Beschränkungen hoher Priorität ohne weitere Übertretung von Beschränkungen niedrigerer Priorität verbesserte. Mithin stellt die Handhabung nicht realisierbarer LP-Lösungen durch Anwenden von Spielraumvariablen und Neudefinierung des Modells eigen extrem flexiblen und effektiven Ansatz dar.In tests using this Proceedings were violated achieved by high-level interference were applied or by lower and upper limits of the inputs and outputs were set in a way that caused these limits to be exceeded were. These tests confirmed the Usability of the procedures. Worked particularly during these tests the optimizer flawlessly and effectively, being the violation of restrictions high priority without further violation of restrictions lower priority improved. Therefore, the handling of unrealizable LP solutions by application of travel variables and redefinition of the model inherently extreme flexible and effective approach.
Außerdem können die oben erörterten
Prinzipien der Beschränkungshandhabung
verwendet werden, um eine Anzahl von Veränderungen an den Beschränkungsmodellen
zu entwickeln, um spezielleren Anforderungen zu genügen. Desgleichen
kann der Ansatz für
andere Echtzeit-Optimierungsanwendungen ohne Verwendung von MPC-Steuerung,
wie beispielsweise die Optimierung eines Benzinmisch prozesses, verwendet werden. Überdies
kann der Optimierer
Wie wiederum
Nachdem sie bestimmt sind, wird mindestens
eine Teilmenge von N der Zielwert-Steuer- und Hilfsvariablen CVT und AVT als Eingänge an die
MPC-Steuereinrichtung
Bekanntermaßen enthält die MPC-Steuereinrichtung
Das Steuerungsvorhersage-Prozessmodell
Ein Steuerungszielwertblock
Insbesondere verfolgt der mit dem Optimierer arbeitende MPC-Algorithmus zwei Hauptziele. Erstens versucht der MPC-Algorithmus, den CV-Steuerfehler mit minimalen MV-Bewegungen innerhalb der Betriebsbeschränkungen zu minimieren, und zweitens versucht er, vom Optimierer erstellte optimale stationäre MV-Werte und die direkt aus den optimalen stationären MV-Werten berechneten CV-Zielwerte zu erreichen.In particular, the pursues with the Optimizer working MPC algorithm two main goals. First tried the MPC algorithm, the CV control error with minimal MV movements within the operating restrictions to minimize, and secondly, he tries to create the optimizer optimal stationary MV values and the CV target values calculated directly from the optimal steady-state MV values to reach.
Um diesen Zielen zu genügen, kann
der ursprüngliche
unbeschränkte
MPC-Algorithmus erweitert werden, so dass er MV-Zielwerte in die
kleinste quadratische Lösung
einbezieht. Die Zielfunktion für
diese MPC-Steuereinrichtung lautet:
wobei:
CV(k) der Vektor
der "p-Schritt-vorwärts"-Vorhersagen der
gesteuerten Ausgänge
ist;
R(k) der Vektor der "p-Schritt-vorwärts"-Bezugstrajektorie
(des "p-Schritt-vorwärts"-Sollwerts) ist;
ΔMV(k) der
Vektor der inkrementalen "c-Schritt-vorwärts"-Steuerbewegungen
ist; eine
Matrix der Strafen auf die Fehler der gesteuerten Ausgänge ist; eine
Matrix der Strafen auf die Steuerbewegungen ist;
p der Vorhersagehorizont
(Anzahl von Schritten) ist;
c der Steuerhorizont (Anzahl von
Schritten) ist; und
Γ0 eine Strafe auf den Fehler der Summe der
Ausgangsbewegungen der Steuereinrichtung über den Steuerhorizont bezüglich der
vom Optimierer definierten optimalen Zielwert-Änderung von MV ist.To meet these goals, the original unrestricted MPC algorithm can be expanded to include MV target values in the smallest quadratic solution. The objective function for this MPC control device is: in which:
CV (k) is the vector of the "p-step forward" predictions of the controlled outputs;
R (k) is the vector of the "p-step forward" reference trajectory (the "p-step forward"setpoint);
ΔMV (k) is the vector of the incremental "c-step forward" control movements; is a matrix of the penalties for the errors of the controlled outputs; is a matrix of penalties on tax movements;
p is the prediction horizon (number of steps);
c is the tax horizon (number of steps); and
Γ 0 is a penalty for the error in the sum of the output movements of the control device over the control horizon with regard to the optimal change in target value of MV defined by the optimizer.
Zur Vereinfachung der Darstellung ist die Zielfunktion für Einzeleingangs-/Einzelausgangs- (SISO) Steuerung dargestellt.To simplify the presentation is the target function for Einzeleingangs- / Einzelausgangs- (SISO) control shown.
Es versteht sich, dass die ersten zwei Terme die Zielfunktion für die unbeschränkte MPC-Steuereinrichtung sind, während der dritte Term eine Zusatzbedingung aufstellt, welche die Summe der Ausgangsbewegungen der Steuereinrichtung gleich den optimalen Zielwerten macht. In anderen Worten, die ersten zwei Terme stellen Ziele für den dynamischen Betrieb der Steuereinrichtung auf, während der dritte Term Ziele für die stationäre Optimierung aufstellt.It is understood that the first two terms the objective function for the unlimited MPC controller are while the third term sets up an additional condition, which is the sum the output movements of the control device equal to the optimal ones Makes target values. In other words, put the first two terms Goals for the dynamic operation of the control device during the third term goals for the stationary Optimization.
Es ist zu beachten, dass die allgemeine
Lösung
für diese
Steuereinrichtung, ähnlich
derjenigen für
die unbeschränkte
MPC-Steuereinrichtung, ausgedrückt
werden kann als:
ΔMV(k) die Änderung
im Ausgang der MPC-Steuereinrichtung zum Zeitpunkt k ist;
Kompc die optimierte Verstärkung der MPC-Steuereinrichtung
ist; und
Su die Matrix der Prozessdynamik
ist.
Su kann aus den Sprungantworten
der Größe p × c für ein SISO-Modell
und
p*n × c*m
für ein
Mehreingangs-/Mehrausgangs- (MIMO) Modell mit m Stelleingängen und
n Steuerausgängen erstellt
werden.It should be noted that the general solution for this controller, similar to that for the unrestricted MPC controller, can be expressed as:
ΔMV (k) is the change in the output of the MPC controller at time k;
K ompc is the optimized gain of the MPC controller ; and
S u is the matrix of process dynamics.
S u can be made from the step responses of size p × c for a SISO model and
p * n × c * m for a multi-input / multi-output (MIMO) model with m control inputs and n control outputs.
Für eine optimierte MPC wird die Dynamik-Matrix auf die Größe (p + 1) × m für ein SISO-Modell und (p + m)*n × c*m für ein MIMO-Modell erweitert, um sie an den MV-Fehler anzupassen. EP+1(k) ist der CV-Fehlervektor über den Vorhersagehorizont und der Fehler der Summe der Ausgangsbewegungen der Steuereinrichtung über den Steuerhorizont bezüglich der optimalen Zielwert-Änderung von MV. Die Matrix T kombiniert die Matrizen Γy und Γ0 und ist eine quadratische Matrix der Größe (p + 1) für eine SISO-Steuereinrichtung und [n(p + m)] für die Mehrvariablen-Steuereinrichtung. Das hochgesetzte T kennzeichnet eine transponierte Matrix.For an optimized MPC, the dynamic matrix is expanded to the size (p + 1) × m for a SISO model and (p + m) * n × c * m for a MIMO model to reflect the MV error adapt. EP + 1 (k) is the CV error vector over the prediction horizon and the error of the sum of the output movements of the control device over the control horizon with regard to the optimal change in target value of MV. The matrix T combines the matrices Γ y and Γ 0 and is a quadratic matrix of size (p + 1) for a SISO control device and [n (p + m)] for the multi-variable control device. The uppercase T denotes a transposed matrix.
Es wurde festgestellt, dass es, weil
der Optimieren
In einer Ausführungsform kann, wenn die MPC-Steuereinrichtung
quadratisch ist, d.h. wenn die Anzahl der Stellvariablen MV gleich
der Anzahl der Steuervariablen CV ist, der Stellvariablen- (MV-)
Zielwert durch Änderungen
in CV-Werten folgendermaßen
effektiv erreicht werden:
ΔCV
die CV-Änderung
zum Erreichen einer optimalen MV ist.In one embodiment, when the MPC controller is square, that is, when the number of control variables MV is equal to the number of control variables CV, the target variable (MV) value can be effectively achieved by changes in CV values as follows:
ΔCV is the CV change to achieve an optimal MV.
Natürlich wird eine CV-Änderung durch das Handhaben von CV-Sollwerten implementiert.Of course there will be a CV change implemented by handling CV setpoints.
Im Betrieb erstellt und aktualisiert
der Optimieren
Die
In einem Block
Nach Auswählen der Eingänge und
Ausgänge
des hochentwickelten Steuerungs-Funktionsblocks kann
der Benutzer die mit den Steuervariablen verknüpften Sollwerte, die mit den
Steuervariablen, den Hilfsvariablen und den Stellvariablen verknüpften Bereiche
oder Grenzen sowie die mit jeder der Steuer-, Hilfs- und Stellvariablen
verknüpften
Gewichte definieren. Natürlich
können
einige dieser Informationen wie Beschränkungsgrenzen oder Bereiche
bereits mit diesen Variablen verknüpft sein, wenn diese Variablen
in der Konfigurationsumgebung des Prozesssteuerungssystems ausgewählt oder
gefunden werden. In einem Block
Nachdem die Eingänge (Steuer-, Hilfs- und Störvariablen)
und die Ausgänge
(Stellvariablen) benannt und mit der hochentwickelten Steuerschablone
verbunden sind und die Gewichte, Grenzen und Sollwerte mit ihnen
verknüpft
sind, wird in einem Block
Auf jeden Fall kann der Bediener,
nachdem die hochentwickelte Steuerschablone in die Steuereinrichtung
heruntergeladen ist, in einem Block
Nachdem die Sprungantworten-Matrix
erzeugt ist, wird im Falle, dass die Steuer- und Hilfsvariablen die Stellvariablen
an Zahl übertreffen,
die Sprungantworten-Matrix
verwendet, um die Teilmenge von Steuer- und Hilfsvariablen auszuwählen, welche
im MPC-Algorithmus als das M-mal-M-Prozessmodell oder die M-mal-M-Steuermatrix, welches
bzw. welche in der MPC-Steuereinrichtung
In einer Ausführungsform, welche zum Herstellen einer Paarung einen heuristischen Ansatz verwendet, wählt die automatische Routine oder der Bediener beim Versuch, die einzige Steuer- oder Hilfsvariable auszuwählen, welche auf eine Einheitsänderung in einer bestimmten der Stellvariablen hin eine Kombination der höchsten Verstärkung und der schnellsten Antwortzeit aufweist, den Satz von M (wobei M gleich der Anzahl von Stellvariablen ist) Steuer- und Hilfsvariablen aus und paart diese zwei Variablen. Natürlich kann in manchen Fällen eine bestimmte Steuer- oder Hilfsvariable bei mehreren Stellvariablen eine hohe Verstärkung und eine schnelle Antwortzeit aufweisen. Hier kann diese Steuer- oder Hilfsvariable mit einer beliebigen der zugehörigen Stellvariablen gepaart werden und kann tatsächlich mit einer Stellvariablen gepaart werden, welche nicht die höchste Verstärkung und die schnellste Antwortzeit produziert, weil die Stellvariable, welche die niedrigere Verstärkung oder langsamere Antwortzeit verursacht, insgesamt möglicherweise keine andere Steuer- oder Hilfsvariable in einem akzeptablen Maß beeinflusst. Mithin werden die Paare von Stellvariablen einerseits und Steuer- oder Hilfsvariablen andererseits ausgewählt, um in einem allgemeinen Sinn die Stellvariablen mit der Teilmenge der Steuer- und Hilfsvariablen, welche die am besten auf die Stellvariablen ansprechenden Steuervariablen darstellen, zu paaren. Überdies ist es ohne Bedeutung, wenn alle Steuervariablen nicht als eine der Teilmengen von M Steuer- und Hilfsvariablen ausgewählt werden und deshalb die MPC-Steuereinrichtung nicht alle Steuervariablen als ihre Eingänge empfängt, weil der Satz von Steuer- und Hilfsvariablen-Zielwerten vom Optimierer so gewählt wird, dass er einen Arbeitspunkt des Prozesses bildet, bei welchem die nicht ausgewählten Steuer- (sowie die nicht ausgewählten Hilfs-) Variablen auf ihrem Sollwert oder innerhalb ihres vorgesehenen Arbeitsbereichs liegen.In one embodiment, which is for manufacturing Using a heuristic approach to a pair selects the automatic routine or the operator when trying to be the only one Select control or auxiliary variables that indicate a change in unit in a certain of the control variables a combination of the highest reinforcement and having the fastest response time, the set of M (where M is the number of control variables) control and auxiliary variables and pairs these two variables. Of course, in some cases certain control or auxiliary variables with several control variables a high gain and have a fast response time. Here this tax or auxiliary variable with any of the associated control variables can be paired and can actually are paired with a control variable which is not the highest gain and produces the fastest response time because the control variable which the lower gain or slower response time, overall no other control or auxiliary variable influenced to an acceptable degree. The pairs of control variables on the one hand and control or auxiliary variables on the other hand selected to be in a general Sense the control variables with the subset of the control and auxiliary variables, which are the control variables most responsive to the control variables represent pair. moreover it doesn't matter if all control variables are not considered one of the subsets of M control and auxiliary variables can be selected and therefore the MPC controller does not have all of the control variables than their inputs receives because the set of control and auxiliary variable target values from the optimizer so chosen is that it forms a working point of the process in which the not selected Tax (as well as those not selected Auxiliary) variables at their setpoint or within their intended Work area.
Natürlich kann es, weil es Dutzende
oder gar Hunderte von Steuer- und Hilfsvariablen einerseits und Dutzende
oder Hunderte von Stellvariablen andererseits geben kann, schwierig
sein, den Satz von Steuervariablen und Hilfsvariablen auszuwählen, der
die beste Antwort auf jede der verschiedenen Stellvariablen liefert, zumindest
vom Standpunkt der Visualisierung her gesehen. Um dieses Problem
zu überwinden,
kann die Erzeugungsroutine für
einen hochentwickelten Steuerblock
Somit kann der Bediener in einem
in
Es versteht sich, dass solche Anzeigebildschirme
dem Bediener ermöglichen,
die Teilmenge der M Steuer- und Hilfsvariablen, welche als Eingänge des
MPC-Steuerungsalgorithmus
verwendet werden, anzuzeigen und auszuwählen, was besonders nützlich ist,
wenn es zahlreiche dieser Variablen gibt. Natürlich kann der im Block
In einer weiteren Ausführungsform kann ein automatischer Auswahlprozess zuerst durch Auswählen einer Eingangs-/Ausgangs-Matrix basierend auf der Zustandszahl der Matrix eine Steuermatrix bestimmen, z.B. durch Minimieren der Zustandszahl bis zu einem gewünschten Betrag und anschließendes Entwickeln einer Steuereinrichtungs-Konfiguration aus der Steuermatrix.In another embodiment An automatic selection process can be started by selecting one Input / output matrix based on the state number of the matrix determine a tax matrix, e.g. by minimizing the state number up to a desired one Amount and subsequent Develop a controller configuration from the control matrix.
In diesem Beispiel kann für eine Prozessverstärkungsmatrix A die Zustandszahl der Matrix AT A bestimmt werden, um die Steuerbarkeit der Matrix zu testen. Eine kleinere Zustandszahl bedeutet in der Regel bessere Steuerbarkeit, wohingegen eine höhere Zustandszahl geringere Steuerbarkeit und mehr Steuerschritte oder -bewegungen während des Arbeitens der dynamischen Steuerung bedeutet. Es gibt keine strengen Kriterien für das Definieren eines akzeptablen Maßes an Steuerbarkeit, und deshalb kann die Zustandszahl als ein relativer Vergleich verschiedener möglicher Steuermatrizen und als ein Test für schlecht beschaffene Matrizen verwendet werden. Bekanntermaßen geht eine Zustandszahl für eine schlecht beschaffene Matrix gegen "Unendlich". Mathematisch gesehen, tritt schlechte Beschaffenheit im Falle kollinearer Prozessvariablen auf – das heißt, wegen kollinearer Zeilen oder Spalten in der Steuermatrix. Folglich ist Kreuzkorrelation zwischen Matrixzeilen und -spalten ein bedeutender Faktor, der sich auf Zustandszahl und Steuerbarkeit auswirkt. Durch sorgfältiges Auswählen der Eingangs-/Ausgangsvariablen in der Steuermatrix lassen sich Probleme mit der Beschaffenheit reduzieren. Praktisch besteht Anlass zur Sorge, wenn die Zustandszahl einer Steuermatrix Hunderte beträgt (z.B. 500) oder noch höher ist. Bei einer solchen Matrix ergeben sich äußerst übermäßige Bewegungen der Steuereinrichtungs-Stellvariablen.In this example, the condition number of matrix A T A can be determined to test the controllability of the matrix for a process gain matrix A. A smaller number of states usually means better controllability, whereas a higher number of states means less controllability and more control steps or movements during the operation of the dynamic control. There are no strict criteria for defining an acceptable level of controllability, and therefore the state number can be used as a relative comparison of various possible control matrices and as a test for poorly sourced matrices. As is known, a state number for a poorly procured matrix goes against "infinity". Mathematically speaking, bad nature occurs in the case of collinear process variables - that is, due to collinear rows or columns in the control matrix. As a result, cross correlation between matrix rows and columns is a significant factor affecting the state number and controllability. By carefully selecting the input / output variables in the control matrix, problems with the nature can be reduced. In practice, there is cause for concern if the status number of a tax matrix is hundreds (e.g. 500) or even higher. Such a matrix results in extremely excessive movements of the control device actuating variables.
Wie oben erörtert, löst die Steuermatrix das Problem der dynamischen Steuerung, während der LP-Optimierer das Problem der stationären Optimierung löst, und die Steuermatrix muss eine quadratische Eingangs-/Ausgangs-Matrix sein, selbst wenn der MPC-Steuereinrichtungs-Block eine ungerade Zahl von MVs (einschließlich AVs) und CVs aufweisen kann. Um das Auswählen der Eingänge und Ausgänge für die Steuermatrix zur Verwendung beim Erzeugen der Steuereinrichtung zu beginnen, werden üblicherweise alle verfügbaren MVs als Steuereinrichtungs-Ausgänge einbezogen oder ausgewählt. Nach dem Auswählen der Ausgänge (der MVs) müssen die Prozessausgangsvariablen (d.h, die CVs und AVs), welche in die dynamische Steuermatrix aufgenommen werden, so ausgewählt werden, dass sie eine quadratische Steuermatrix produzieren, welche nicht schlecht beschaffen ist.As discussed above, the control matrix solves the problem of dynamic control while the LP optimizer solves the stationary optimization problem, and the control matrix must be a square input / output matrix be even if the MPC controller block is an odd one Number of MVs (including AVs) and CVs can have. To select the inputs and outputs for the tax matrix to start using to create the controller, are common all available MVs as control device outputs included or selected. After selecting of the outputs (of the MVs) must the process output variables (i.e. the CVs and AVs) which are included in the dynamic control matrix are included, selected so that they produce a quadratic tax matrix, which they don't is badly made.
Nun wird ein Verfahren zum automatischen oder manuellen Auswählen der CVs und AVs als Eingänge in der Steuermatrix erörtert, wobei es sich versteht, dass ebenso andere Verfahren verwendet werden können.Now a procedure for automatic or manual selection of the CVs and AVs as inputs in the tax matrix discussed it being understood that other methods are also used can.
Schritt 1 – CVs werden ausgewählt, bis, falls möglich, die Anzahl von CVs gleich der Anzahl von MVs (d.h. der Anzahl von Steuereinrichtungs-Ausgängen) ist. Im Falle, dass es mehr CVs als MVs gibt, können die CVs in beliebiger Reihenfolge und auf beliebigen gewünschten Kriterien wie Priorität, Verstärkungs- oder Phasengang, Benutzereingabe usw. beruhend gewählt werden. Wenn die gesamte mögliche Anzahl von CVs gleich der Anzahl von MVs ist, mit Schritt 4 fortfahren, um die resultierende Zustandszahl der quadratischen Steuermatrix auf Eignung zu testen. Wenn die Anzahl von CVs kleiner als die Anzahl von MVs ist, können AVs wie in Schritt 2 beschrieben ausgewählt werden. Wenn keine CVs definiert sind, die AV mit maximaler Verstärkung bezüglich einer MV auswählen und mit Schritt 2 fortfahren.Step 1 - CVs are selected until, if possible, the number of CVs equal to the number of MVs (i.e. the number of -Controller outputs) is. In case there are more CVs than MVs, the CVs can be in any Order and on any desired criteria such as priority, reinforcement or phase response, user input, etc. can be selected based. If the whole possible Number of CVs is equal to the number of MVs, go to step 4, the resulting state number of the quadratic control matrix to test for suitability. If the number of CVs is less than the number of MVs can AVs are selected as described in step 2. If no CVs are defined, select the AV with maximum gain with respect to an MV and go to step 2.
Schritt 2 – Eine nach der anderen die Zustandszahl für jede mögliche zur bereits ausgewählten, durch die zuvor ausgewählten CVs und AVs definierten Steuermatrix hinzugefügte AV berechnen. Es versteht sich, dass die durch die ausgewählten CVs definierte Matrix für jede ausgewählte CV und AV eine Zeile enthält, welche die stationäre Verstärkung für diese CV oder AV bei jeder der zuvor ausgewählten MVs definiert.Step 2 - One by one the State number for every possible to the already selected, through the previously selected Calculate added AVs to CVs and AVs defined control matrix. It understands yourself that by the selected CVs defined matrix for each selected CV and AV contain one line, which is the stationary reinforcement for this CV or AV defined for each of the previously selected MVs.
Schritt 3 – Die in Schritt 2 bestimmte AV, welche in der minimalen Zustandszahl für die resultierende Matrix resultiert, auswählen und die Matrix als die vorherige Matrix mit Hinzufügung der ausgewählten AV definieren. Wenn die Anzahl der MVs jetzt gleich der Anzahl der ausgewählten CVs plus der Anzahl der ausgewählten AVs ist (das heißt, wenn die Matrix jetzt quadratisch ist), mit Schritt 4 fortfahren. Andernfalls zu Schritt 2 zurückkehren.Step 3 - The one determined in step 2 AV, which is in the minimum state number for the resulting matrix results, select and the matrix as the previous matrix with the addition of the chosen Define AV. If the number of MVs is now equal to the number of chosen CVs plus the number of selected ones AVs is (that is, if the matrix is now square), go to step 4. Otherwise, return to step 2.
Schritt 4 – Die Zustandszahl für die erzeugte quadratische Steuermatrix Ac berechnen. Falls gewünscht, kann die Berechnung der Zustandszahl für die Matrix Ac anstelle der Matrix Ac TAc verwendet werden, da die Zustandszahlen für diese verschiedenen Matrizen als die Quadratwurzel der anderen in Beziehung miteinander stehen.Step 4 - Calculate the state number for the generated square control matrix A c . If desired, the calculation of the state number for the matrix A c can be used instead of the matrix A c T A c , since the state numbers for these different matrices are related to each other as the square root of the others.
Schritt 5 – Wenn die in Schritt 4 berechnete Zustandszahl akzeptabel ist, durch Auswählen der CV oder AV mit der maximalen Verstärkung bezüglich einer bestimmten MV jede CV und ausgewählte AV mit einer MV verknüpfen, bis die Paarung vollständig ist. An dieser Stelle ist der Auswahlprozess abgeschlossen.Step 5 - If the one calculated in step 4 State number is acceptable by selecting the CV or AV with the maximum gain in terms of link each CV and selected AV with a MV to a certain MV until the mating completely is. At this point the selection process is complete.
Wenn andererseits die Zustandszahl größer als die minimale akzeptable Zustandszahl ist, die letzte zur Steuermatrix hinzugefügte AV/CV entfernen und die Umbruch-Prozedur aus Schritt 6 durchführen.If, on the other hand, the state number larger than is the minimum acceptable state number, the last one to the control matrix added Remove AV / CV and perform the wrapping procedure from step 6.
Schritt 6 – Eine Umbruch-Prozedur für jede der ausgewählten MVs, eine nach der anderen, durchführen und die Zustandszahl der Matrix, welche sich aus jeder Umbruch-Prozedur ergibt, berechnen. Im Wesentlichen wird eine Umbruch-Prozedur durch der Reihe nach erfolgendes Einfügen einer Einheitsantwort für jede der verschiedenen MVs anstelle der entfernten AV (oder CV) durchgeführt. Die Einheitsantwort ist eine Einheit auf einer der Stellen in der Matrixzeile und null überall sonst. Im Wesentlichen wird jede der einzelnen MVs in diesem Fall als ein Eingang und ein Ausgang anstelle der AV verwendet, um eine gut beschaffene quadratische Steuermatrix zu bilden. Als Beispiel für eine 4-mal-4-Matrix werden die Kombinationen 1000, 0100, 0010, und 0001 in die Zeile der entfernten AV in der Verstärkungsmatrix Ac eingefügt.Step 6 - Perform a wrapping procedure for each of the selected MVs, one after the other, and calculate the state number of the matrix resulting from each wrapping procedure. Essentially, a wrapping procedure is performed by sequentially inserting a unit response for each of the various MVs in place of the removed AV (or CV). The unit response is a unit on one of the digits in the matrix row and zero everywhere else. Essentially, each of the individual MVs in this case is used as an input and an output instead of the AV to form a well-designed quadratic control matrix. As an example of a 4 by 4 matrix, the combinations 1000, 0100, 0010, and 0001 are inserted into the row of the removed AV in the gain matrix A c .
Schritt 7 – Nach dem Durchführen einer Umbruch-Prozedur für jede der MVs die Kombination auswählen, welche die minimale Zustandszahl ergibt. Wenn sich keine Verbesserung ergibt, die ursprüngliche Matrix behalten. An dieser Stelle durch Auswählen der CV oder AV mit maximaler Verstärkung bezüglich einer bestimmten MV, ausgenommen die MV, welche zum Steuern ihrer selbst verwendet wird (d.h. die MV, welche umgebrochen wurde), jede ausgewählte CV und jede ausgewählte AV mit einer MV verknüpfen.Step 7 - After performing one Wrapping procedure for each of the MVs select the combination that has the minimum state number results. If there is no improvement, the original one Keep matrix. At this point by selecting the CV or AV with maximum reinforcement in terms of a particular MV, except the MV, which are used to control their is used itself (i.e. the MV that was wrapped), each selected CV and each selected Link AV to MV.
Natürlich kann sowohl die durch diese Prozedur definierte Steuermatrix als auch die resultierende Zustandszahl dem Benutzer unterbreitet werden und kann der Benutzer die definierte Steuermatrix zur Verwendung beim Erzeugen der Steuereinrichtung akzeptieren oder ablehnen.Of course, both can be done by this procedure defined control matrix as well as the resulting one State number can be submitted to the user and the user the defined control matrix for use in generating the control device accept or reject.
Es ist zu beachten, dass in der oben beschriebenen automatischen Prozedur zum Zwecke des Verbesserns der Steuerbarkeit höchstens nur eine MV zum Steuern ihrer selbst ausgewählt (d.h. umgebrochen) wurde. In der manuellen Prozedur kann die Anzahl der umgebrochenen MVs willkürlich gewählt werden. Die zum Steuern ihrer selbst ausgewählten MVs treten durch das Fehlen einer entsprechenden Ausgangsvariablen-Auswahl in der Steuereinrichtungs-Konfiguration hervor. Man kann auch mehr MVs als Umbrüche zur Steuerung verwenden, wenn die Anzahl der MVs größer ist als die Anzahl sämtlicher CVs plus AVs. Auf diese Weise wird schließlich immer noch eine quadratische Steuermatrix an die Steuereinrichtung geliefert, welche jede einzelne der MVs als Ausgänge hat. Es versteht sich, dass der Prozess des Durchführens und Verwendens von Umbrüchen bedeutet, dass die Anzahl der für die Steuermatrix ausgewählten CVs und AVs kleiner sein kann als die Anzahl der durch die Steuereinrichtung gesteuerten MVs, wobei der Unterschied in der Anzahl von als Eingänge der Steuermatrix umgebrochenen MVs besteht. Außerdem kann diese Umbruch-Prozedur in einem Prozess verwendet werden, in welchem es weniger CVs plus AVs als MVs gibt.It should be noted that in the above described automatic procedure for the purpose of improvement controllability at most only one MV was selected to control itself (i.e. wrapped). In the manual procedure, the number of MVs wrapped arbitrarily chosen become. The MVs you choose to control your own step through that Lack of a corresponding output variable selection in the controller configuration out. You can also use more MVs as breaks to control if the number of MVs is larger than the number of all CVs plus AVs. In this way, it eventually becomes a square Control matrix supplied to the control device, which each one of the MVs as outputs Has. It is understood that the process of performing and Using breaks means the number of for selected the tax matrix CVs and AVs can be less than the number generated by the controller controlled MVs, the difference in the number of as inputs of the Tax matrix wrapped MVs exists. You can also use this wrapping procedure be used in a process where there are fewer CVs plus AVs as MVs out there.
Natürlich wird die Zustandszahl oben mittels der stationären Verstärkungen berechnet, und deshalb definiert die Steuermatrix die Steuerbarkeit im Wesentlichen für den stationären Zustand. Auch Prozessdynamik (Totzeit, Verzögerung usw.) und Modellunsicherheit wirken sich auf die dynamische Steuertarkeit aus, und diese Auswirkungen können durch das Ändern der Priorität von Prozessvariablen (z.B. Steuer- und Hilfsvariablen) berücksichtigt werden, welche wegen der Auswirkungen, die sie auf die dynamische Steuerung haben, ihre Einbeziehung in die Steuermatrix gebieten können.Of course, the state number above by means of the stationary reinforcements is calculated, and therefore the tax matrix defines controllability essentially for the stationary Status. Also process dynamics (dead time, delay, etc.) and model uncertainty affect dynamic steerability, and this impact can by changing the priority of process variables (e.g. control and auxiliary variables) are taken into account be what because of the impact they have on the dynamic Have control, require their inclusion in the tax matrix can.
Es ist auch möglich, andere zur Verbesserung sowohl der stationären als auch der dynamischen Steuerbarkeit vorgesehene heuristische Prozeduren zu verwenden. Eine solche Prozedur würde üblicherweise eine Anzahl von heuristischen Kriterien, darunter möglicherweise einige, die unvereinbar sind, aufweisen, welche in mehreren Phasen angewendet werden, um eine Steuermatrix zu entwickeln und dadurch einen geeigneten Satz von Steuereinrichtungs-Eingängen auszuwählen, welche einige Verbesserungen der Steuermatrix bewirken. In einer solchen heuristischen Prozedur werden die CVs und die AVs auf Grundlage der Beziehung mit der höchsten Verstärkung nach MV gruppiert. Für jede MV-Gruppierung wird dann der eine Prozessausgang mit der schnellsten Dynamik und beträchtlicher Verstärkung ausgewählt. Dieser Auswahlprozess kann den Vertrauensbereich berücksichtigen und CVs gegenüber AVs den Vorzug geben (wobei alle anderen gleich sind). Die Routine zur Erzeugung des Prozessmodells verwendet dann den während der Erzeugung der MPC-Steuerung aus jeder Gruppe ausgewählten Parameter. Weil für jede MV nur ein Parameter ausgewählt wird, ist die Antworten-Matrix quadratisch und kann invertiert werden.It is also possible for others to improve both the stationary as well as the heuristic provided for dynamic controllability Procedures to use. Such a procedure would typically be a number of heuristic criteria, including some that may be incompatible are, which are applied in several phases to develop a tax matrix and thereby a suitable sentence of control device inputs select which bring about some improvements to the tax matrix. In a such heuristic procedure, the CVs and AVs are based the relationship with the highest reinforcement grouped by MV. For each MV grouping then becomes the one process output with the fastest Dynamic and considerable reinforcement selected. This selection process can take into account the area of trust and CVs opposite Prefer AVs (where everyone else is the same). The routine then used to generate the process model during the Generation of the MPC control from each group of selected parameters. Because for each MV only one parameter is selected the answer matrix is square and can be inverted.
Auf jeden Fall erzeugt ein Block
Falls gewünscht, können die Prozess-Sprungantworten neu konfiguriert oder auf eine andere Weise als durch die Erzeugung dieser Sprungantworten gebildet werden. Zum Beispiel können die Sprungantworten aus verschiedenen im System gespeicherten Modellen kopiert werden, um die Sprungantwort einer bestimmten Steuer- oder Hilfsvariable auf eine Stell- oder Störvariable festzulegen. Außerdem kann ein Benutzer die Parameter für eine Sprungantwort, wie die stationäre Verstärkung, die Antwortzeit, die Zeitkonstante erster Ordnung und den ins Quadrat erhobenen Fehler, definieren oder festlegen und, falls gewünscht, kann der Benutzer die Eigenschaften einer Sprungantwort anzeigen und ändern, indem er, falls so gewünscht, andere Parameter wie eine andere Verstärkung oder Zeitkonstante festlegt. Wenn der Benutzer eine andere Verstärkung oder andere Para meter festlegt, kann das Sprungantwort-Modell mathematisch neu erzeugt werden, damit es diesen neuen Parameter oder Satz von Parametern enthält. Diese Funktion ist nützlich, wenn der Benutzer die Parameter der Sprungantwort kennt und die erzeugte Sprungantwort ändern muss, um Übereinstimmung mit diesen Parametern zu erzielen oder diese Parameter einzuhalten.If desired, the process step responses can be reconfigured or formed in a manner other than by generating these step responses. For example, the step responses can be copied from various models stored in the system in order to determine the step response of a specific control or auxiliary variable to a control or fault variable. In addition, a user can set the parameters for a step response, such as the stationary gain, the response time, the time constant first Order and the squared error can be defined or set and, if desired, the user can view and change the properties of a step response by setting other parameters such as a different gain or time constant if so desired. If the user specifies a different gain or other parameters, the step response model can be mathematically regenerated to include this new parameter or set of parameters. This function is useful if the user knows the parameters of the step response and has to change the step response generated in order to achieve agreement with these parameters or to comply with these parameters.
In
In einem Block
In manchen Fällen aber kann es wegen enger
Beschränkungen
bei einigen oder allen Hilfs- oder Stellvariablen unmöglich sein,
einen Arbeitspunkt zu finden, an welchem alle Steuervariablen auf
ihrem Sollwert liegen und alle Hilfsvariablen innerhalb ihrer jeweiligen
Beschränkungsgrenzen
liegen, weil es keine solche Lösung
gibt. In diesen Fällen,
unter Verwendung der oben beschriebenen Spielraumvariablen-Verfahren und/oder
Verfahren zur Neudefinierung der Grenzen, entwickelt der Optimierer
Auf jeden Fall verwendet ein Block
Während
des Betriebs können
eine oder mehrere in beispielsweise einer der Schnittstellen
Obwohl der hochentwickelte Funktionsblock
in der hierin gegebenen Darstellung einen Optimierer aufweist, welcher
sich im selben Funktionsblocks befindet und deshalb in derselben
Einrichtung wie die MPC-Steuereinrichtung ausgeführt wird, ist es auch möglich, den
Optimierer in einer separaten Einrichtung zu implementieren. Insbesondere
der Optimierer kann sich in einer anderen Einrichtung, beispielsweise
in einer der Benutzer-Workstations
Natürlich können andere gewünschte Arten
von Optimierern wie bekannte oder standardgemäße Echtzeit-Optimierer, die
schon in einer Prozesssteuerungsumgebung vorhanden sein können, die
hierin beschriebenen Verfahren zur Handhabung der Nichtrealisierbarkeit
verwenden. Dieses Merkmal kann auch vorteilhaft eingesetzt werden,
wenn das Optimierungsproblem nichtlinear ist und die Lösung nichtlineare
Programmierverfahren erfordert. Überdies
kann der Optimierer
Obwohl der hochentwickelte Steuerblock
und die anderen hierin beschriebenen Blöcke und Routinen in der hierin
gegebenen Beschreibung in Verbindung mit Fieldbus- und standardgemäßen 4-20-mA-Einrichtungen
verwendet werden, können
sie natürlich
unter Verwendung irgendeines anderen Prozesssteuerungs-Kommunikationsprotokolls
oder irgendeiner anderen Programmierumgebung implementiert und mit
beliebigen anderen Arten von Einrichtungen, Funktionsblöcken oder
Steuereinrichtungen verwendet werden. Obwohl die hierin beschriebenen
hochentwickelten Steuerblöcke
und die zugehörigen
Erzeugungs- und Testroutinen vorzugsweise als Software implementiert
werden, können
sie als Hardware, Firmware usw. implementiert werden und können sie
durch jeden anderen mit einem Prozesssteuerungssystem verknüpften Prozessor
ausgeführt
werden. Mithin kann die hierin beschriebene Routine
Obwohl die vorliegende Erfindung unter Bezugnahme auf spezifische Beispiele beschrieben wurde, welche nur als veranschaulichend und keineswegs als die Erfindung einschränkend zu verstehen sind, wird es jedem Durchschnittsfachmann einleuchten, dass Änderungen, Ergänzungen oder Streichungen an den offenbarten Anwendungsformen vorgenommen werden können, ohne den Gedanken und Schutzumfang der Erfindung zu verlassen.Although the present invention has been described with reference to specific examples which only as illustrative and in no way as limiting the invention are understood, it will be obvious to every average specialist, that changes additions or deletions to the disclosed application forms can be without departing from the spirit and scope of the invention.
Claims (53)
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/241,350 US7376472B2 (en) | 2002-09-11 | 2002-09-11 | Integrated model predictive control and optimization within a process control system |
US10/241350 | 2002-09-11 | ||
US10/465,153 US7337022B2 (en) | 2002-09-11 | 2003-06-19 | Constraint and limit feasibility handling in a process control system optimizer |
US10/465153 | 2003-06-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10341762A1 true DE10341762A1 (en) | 2004-04-15 |
DE10341762B4 DE10341762B4 (en) | 2014-05-15 |
Family
ID=31980987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10341762.1A Expired - Lifetime DE10341762B4 (en) | 2002-09-11 | 2003-09-10 | Managing the realizability of constraints and limitations in an optimizer for process control systems |
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 (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102008028777A1 (en) * | 2008-06-17 | 2009-12-24 | Siemens Aktiengesellschaft | Control system of a plant with multi-level model optimization |
DE102007046964B4 (en) * | 2006-10-02 | 2016-10-06 | Fisher-Rosemount Systems, Inc. | Process control apparatus and method for controlling a process |
WO2017186708A1 (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 |
US10310456B2 (en) | 2005-10-04 | 2019-06-04 | Fisher-Rosemount Systems, Inc. | Process model identification in a process control system |
WO2023148241A1 (en) * | 2022-02-04 | 2023-08-10 | Glatt Ingenieurtechnik Gesellschaft mit beschränkter Haftung | Method for controlling a particle-forming fluidization process taking place in a fluidization apparatus |
Families Citing this family (14)
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 |
GB2446343B (en) * | 2005-12-05 | 2011-06-08 | Fisher Rosemount Systems Inc | Multi-objective predictive process optimization with concurrent process simulation |
CN100461037C (en) * | 2007-05-11 | 2009-02-11 | 浙江大学 | IDP based industrial process dynamic optimization system and method |
AU2010337990B2 (en) * | 2009-12-31 | 2014-03-06 | Abb Schweiz Ag | Process optimization method and system for a power plant |
EP2560062A1 (en) * | 2011-08-16 | 2013-02-20 | ABB Research Ltd. | Methods and control systems for controlling an industrial system |
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 |
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 |
Family Cites Families (14)
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 |
JP3887414B2 (en) * | 1993-07-05 | 2007-02-28 | シーメンス アクチエンゲゼルシヤフト | Method for determining the optimum value of the operating volume of a technical system |
US5630070A (en) * | 1993-08-16 | 1997-05-13 | International Business Machines Corporation | Optimization of manufacturing resource planning |
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 |
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 |
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 |
AU2000268132A1 (en) * | 1999-09-03 | 2001-04-10 | Quantis Formulation Inc. | Method of optimizing parameter values in a process of producing a product |
US7376472B2 (en) * | 2002-09-11 | 2008-05-20 | Fisher-Rosemount Systems, Inc. | Integrated model predictive control and optimization within a process control system |
DE10341764B4 (en) * | 2002-09-11 | 2019-01-10 | Fisher-Rosemount Systems, Inc. | Integrated model prediction control and optimization within a process control system |
-
2003
- 2003-09-10 DE DE10341762.1A patent/DE10341762B4/en not_active Expired - Lifetime
- 2003-09-11 GB GB0321291A patent/GB2394564B/en not_active Expired - Lifetime
- 2003-09-11 JP JP2003319683A patent/JP4079369B2/en not_active Expired - Lifetime
- 2003-09-11 CN CNB031649467A patent/CN1300651C/en not_active Expired - Lifetime
- 2003-09-11 GB GB0600443A patent/GB2423831B/en not_active Expired - Lifetime
-
2004
- 2004-05-11 HK HK04103277A patent/HK1060777A1/en not_active IP Right Cessation
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10310456B2 (en) | 2005-10-04 | 2019-06-04 | Fisher-Rosemount Systems, Inc. | Process model identification in a process control system |
DE102006046870B4 (en) | 2005-10-04 | 2022-05-05 | Fisher-Rosemount Systems, Inc. | Process model identification in a process control system |
DE102006063100B3 (en) | 2005-10-04 | 2022-05-19 | Fisher-Rosemount Systems, Inc. | PROCESS MODEL IDENTIFICATION IN A PROCESS CONTROL SYSTEM |
US11487252B2 (en) | 2005-10-04 | 2022-11-01 | Fisher-Rosemount Systems, Inc. | Process model identification in a process control system |
DE102007046964B4 (en) * | 2006-10-02 | 2016-10-06 | Fisher-Rosemount Systems, Inc. | Process control apparatus and method for controlling a process |
DE102008028777A1 (en) * | 2008-06-17 | 2009-12-24 | Siemens Aktiengesellschaft | Control system of a plant with multi-level model optimization |
WO2017186708A1 (en) * | 2016-04-29 | 2017-11-02 | Khs Gmbh | Method for optimizing the filling of a container |
US10618790B2 (en) | 2016-04-29 | 2020-04-14 | 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 |
WO2023148241A1 (en) * | 2022-02-04 | 2023-08-10 | Glatt Ingenieurtechnik Gesellschaft mit beschränkter Haftung | Method for controlling a particle-forming fluidization process taking place in a fluidization apparatus |
Also Published As
Publication number | Publication date |
---|---|
CN1300651C (en) | 2007-02-14 |
JP2004265381A (en) | 2004-09-24 |
JP4079369B2 (en) | 2008-04-23 |
HK1060777A1 (en) | 2004-08-20 |
GB2394564A (en) | 2004-04-28 |
CN1497402A (en) | 2004-05-19 |
DE10341762B4 (en) | 2014-05-15 |
GB2423831B (en) | 2007-05-16 |
GB2394564B (en) | 2006-10-11 |
GB0600443D0 (en) | 2006-02-15 |
GB0321291D0 (en) | 2003-10-15 |
GB2423831A (en) | 2006-09-06 |
GB2394564A8 (en) | 2004-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10341762B4 (en) | Managing the realizability of constraints and limitations in an optimizer for process control systems | |
DE10165123B3 (en) | Integrated optimal model predictive control in a process control system | |
DE10362408B3 (en) | Integrated model-based predicative control and optimization within a process control system | |
DE10341764B4 (en) | Integrated model prediction control and optimization within a process control system | |
DE102004026979B4 (en) | Multiple input / multiple output control blocks with non-linear prediction capabilities | |
DE10341574A1 (en) | Configuration and viewing display for an integrated predictive model control and optimization function block | |
DE102006045429B4 (en) | Adaptive, Model Predictive Online control in a process control system | |
DE10304902B4 (en) | Adaptation of extended process control blocks depending on changing process delays | |
DE10048360B4 (en) | Integrated, advanced control blocks in process control systems | |
DE60016459T2 (en) | METHOD AND DEVICE FOR LIMITING THE INTEGRAL PART IN PID REGULATORS | |
DE69823049T2 (en) | MODEL-FREE ADAPTIVE PROCESS CONTROL | |
DE102004058238B4 (en) | Adaptive, multivariable process control that uses model switching and attribute interpolation | |
DE102004019352B4 (en) | State-based adaptive feedback / feedforward PID controller (PID control unit) | |
DE112009000224T5 (en) | Robust and adaptive model predictive controller with tuning to compensate for model mismatch | |
DE102006045428B4 (en) | Method and system for controlling a batch process | |
DE10012258B4 (en) | Self-tuning in a distributed process control environment | |
DE69909838T2 (en) | CONTROL UNITS FOR SETTING OPTIMAL PARAMETERS IN PROCESS CONTROL SYSTEMS AND METHODS FOR APPLYING THE SAME | |
DE112015003733T5 (en) | Model predictive control using wireless process signals | |
AT512251B1 (en) | Method of designing a nonlinear controller for non-linear processes | |
DE102006049832A1 (en) | Non-periodic control communications in wireless and other process control systems | |
DE102019204861A1 (en) | MACHINE LEARNING DEVICE; CONTROL DEVICE AND MACHINE LEARNING | |
DE102013100434A1 (en) | Compensating for setpoint changes in a non-periodically updated controller | |
DE102015111875A1 (en) | Process control system using typical or adapter components | |
EP2553535A1 (en) | Engineering tool and method for parameterizing a model-based predictive controller | |
DE10311026A1 (en) | Process for changing the function parameters used in an industrial controller uses sampled values subjected to a weighting process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
R016 | Response to examination communication | ||
R018 | Grant decision by examination section/examining division | ||
R020 | Patent grant now final | ||
R020 | Patent grant now final |
Effective date: 20150217 |
|
R071 | Expiry of right |