DE102010037904A1 - Method for controlling e.g. combustion process in engine in industrial applications, involves combining two hyper planes into inner multi-face node forming inner node of transformed tree that has reduced height with respect to binary tree - Google Patents
Method for controlling e.g. combustion process in engine in industrial applications, involves combining two hyper planes into inner multi-face node forming inner node of transformed tree that has reduced height with respect to binary tree Download PDFInfo
- Publication number
- DE102010037904A1 DE102010037904A1 DE201010037904 DE102010037904A DE102010037904A1 DE 102010037904 A1 DE102010037904 A1 DE 102010037904A1 DE 201010037904 DE201010037904 DE 201010037904 DE 102010037904 A DE102010037904 A DE 102010037904A DE 102010037904 A1 DE102010037904 A1 DE 102010037904A1
- Authority
- DE
- Germany
- Prior art keywords
- node
- tree
- binary tree
- internal
- nodes
- 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
Images
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
- 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
Abstract
Description
Die Erfindung betrifft ein Regelungsverfahren zur Steuerung eines technischen Prozesses basierend auf einem vorab definierten expliziten Steuerungsgesetz, das eine oder mehrere Steuergrößen oder Steurgrößen des technischen Prozesses als Funktion einer oder mehrerer Zustandsgrößen des technischen Prozesses beschreibt, wobei das Steuerungsgesetz auf Polyedern stückweise definiert ist, wobei die Polyeder durch wenigstens zwei Hyperebenen beschrieben werden und sich die Hyperebenen in einem binären Baum anordnen lassen, der die Auswertung des Steuergesetzes erlaubt, wobei jede Hyperebene einen internen Knoten in dem binären Baum darstellt und der binäre Baum in wenigstens einem endlichen nichtleeren Polyeder endet, wobei das Polyeder ein externer Knoten des binären Baumes ist, gemäß dem Oberbegriff von Anspruch 1. Weiterhin betrifft die Erfindung eine Vorrichtung auf dem das Regelungsverfahren betrieben wird, gemäß dem Oberbegriff von Anspruch 8.The invention relates to a control method for controlling a technical process based on a previously defined explicit control law, which describes one or more control variables or control parameters of the technical process as a function of one or more state variables of the technical process, wherein the control law is defined piece by piece on polyhedra, wherein the Polyhedra are described by at least two hyperplanes and the hyperplanes can be arranged in a binary tree that allows the evaluation of the tax law, each hyperplane representing an internal node in the binary tree and the binary tree ending in at least one finite nonempty polyhedron; Polyhedron is an external node of the binary tree, according to the preamble of
Stand der TechnikState of the art
Regelungen von technischen Prozessen, die auf Zustandsraummodellen des technischen Prozesses basieren, sind in vielen industriellen Anwendungen Stand der Technik. Bei einigen dieser Regelungen ist zur Durchführung ein hoher Rechenaufwand während des Betriebes des technischen Systems notwendig. Zu dieser Klasse von Regelungsverfahren zählt die modellprädiktive Regelung (englisch „model predicitve control”, kurz MPC), bei der im Betrieb ein hoher Rechenaufwand anfällt, weil zur Ermittlung von Stell- und Steuergrößen in jedem Zeitschritt mit dem Zustandsraummodell ein Optimierungsproblem gelöst werden muss. Zur besseren Veranschaulichung wird ein zeitdiskretes lineares zeitinvariantes System der Form mit Anfangswertenbetrachtet, wobei die Grenzen
Gleichungen (3) und (4) stellen ein quadratisches Programm (QP) mit Nebenbedingungen dar, das mit bestehenden Verfahren, z. B. Active-Set-Verfahren oder Innere-Punkte-Verfahren, gelöst werden kann. Dabei muss das QP in jedem Zeitschritt einer Abtastregelung unter Berücksichtigung des aktuellen Zustands x(t) erneut gelöst werden, um die Größe u(t + 1) für den nächsten Zeitschritt der Steuerung zu ermitteln. Dabei muss die Zeit zum Lösen des QP kleiner als die Abtastzeit sein. Eine Umsetzung des beschriebenen Verfahrens der modellprädiktiven Regelung scheitert, wenn das QP nicht schnell genug gelöst werden kann. Erschwerend kommt hinzu, dass keine Garantie über die maximale Zeit angegeben werden kann, die zur Lösung des QP nötig ist.Equations (3) and (4) represent a quadratic program (QP) with constraints consistent with existing methods, e.g. As active set method or inside points method can be solved. In this case, the QP must be solved again in each time step of a sampling control taking into account the current state x (t) in order to determine the quantity u (t + 1) for the next time step of the control. The time for solving the QP must be less than the sampling time. An implementation of the described method of model predictive control fails if the QP can not be solved fast enough. To make matters worse, no guarantee can be given about the maximum time required to solve the QP.
Offensichtlich sind Regelungsverfahren von Interesse, die einen möglichst kleinen Zeitbedarf zur Laufzeit des zu regelnden Systems haben und bei denen eine Garantie über die maximal nötige Zeit angegeben werden kann. Im Fall der modellprädiktiven Regelung und des QP sind diese Verfahren durch die explizite modellprädiktive Regelung (EMPC) gegeben.Obviously, regulatory procedures are of interest which have as little time as possible for the duration of the system to be regulated and in which a guarantee can be given for the maximum time required. In the case of model predictive control and QP, these methods are given by the explicit model predictive control (EMPC).
Dabei kann gezeigt werden, dass sich die Lösung des QP in der folgenden Struktur darstellen lässt. Es existieren eine endliche Anzahl np von Polyedern Pi der Form wobei eine endliche Anzahl von mindestens nx + 1 Ungleichungen für jeden Polyeder Pi auftaucht und wobei die Anzahl abhängig von i ist. Gleichungen der Form
Im Gegensatz zum wiederholten aufwändigen Lösen des QP aus Gleichungen (3) und (4) kann ein EMPC-Kontrollgesetz in Form der Gleichung (7) in zwei Schritten, die einen erheblich geringeren Aufwand als das Lösen des QP erfordern, ausgewertet werden. Im ersten Schritt muss ein Polyeder Pj identifiziert werden, sodass der aktueller Wert x(t) in Pj liegt. Anschließend muss das Regelgesetz, das nach Gleichung (7) für alle Werte x ∈ Pj gilt, evaluiert werden, um ut+l|t zu erhalten.In contrast to the repeated complex solving of the QP from equations (3) and (4), an EMPC control law in the form of equation (7) can be evaluated in two steps, which require considerably less effort than solving the QP. In the first step, a polyhedron P j must be identified so that the current value x (t) lies in P j . Then the law of rules, which applies to all values x ∈ P j according to equation (7), has to be evaluated in order to obtain u t + l | t .
Der erste Schritt, die Suche nach dem gültigen Pj kann mit Hilfe eines binären Baumes umgesetzt werden. In diesem binären Baum stellt jeder interne Knoten eine Hyperebene hi(x) dar, wie sie in Gleichung (6) definiert ist. Jeder externe Knoten des binären Baumes entspricht einem Polyeder Pj, so wie dieser in Gleichung (5) definiert worden ist. Insbesondere folgt, dass der binäre Baum nh interne und np externe Knoten hat. Die Zahl der internen Knoten wird auch mit Nint bezeichnet, dabei gilt Nint = nh.The first step, the search for the valid P j can be implemented using a binary tree. In this binary tree, each internal node has a hyperplane h i (x) as in equation (6) is defined. Each external node of the binary tree corresponds to a polyhedron P j as defined in Equation (5). In particular, it follows that the binary tree has n h internal and n p external nodes. The number of internal nodes is also denoted by N int , where N int = n h .
Dabei kann gezeigt werden, dass ein Polyeder Pj, in dem das gegebene x(t) liegt, gefunden werden kann, indem in jedem internen Knoten zu seinem linken Kindknoten verzweigt wird, wenn hj(x) ≤ 0 für die Hyperebenengleichung hj gilt, die mit diesen Knoten korrespondiert und zum rechten Kindknoten verzweigt wird, wenn hj(x) > 0 ist. Dabei ist anzumerken, dass die Zuordnung, dass hj(x) ≤ 0 dem linken Kindknoten entspricht, frei gewählt wurde.It can be shown that a polyhedron P j in which the given x (t) lies can be found by branching to its left child node in each internal node if h j (x) ≤ 0 for the hyperplane equation h j which corresponds to these nodes and branches to the right child node if h j (x)> 0. It should be noted that the assignment that h j (x) ≤ 0 corresponds to the left child node was chosen freely.
Verfahren zur Konstruktion eines geeigneten binären Baumes aus einem Regelgesetz (7) sind Stand der Technik. Verfahren zur Konstruktion eines Regelgesetzes (7), das ein QP bestehend aus den Gleichungen (3) und (4) löst, sind ebenfalls Stand der Technik.Methods for constructing a suitable binary tree from a control law (7) are state of the art. Methods for constructing a law of control (7) that solves a QP consisting of equations (3) and (4) are also prior art.
Polyeder, wie sie in Gleichung (5) definiert sind, können mit Hilfe von Indexmengen beschrieben werden. Diese Darstellung wird im Folgenden eingeführt, weil sie die Grundlage für die zu beschreibende Erfindung ist. Es existieren Index-Mengen Polyhedra, as defined in equation (5), can be described using index sets. This presentation is introduced below because it is the basis for the invention to be described. There are index quantities
Diese Darstellung legt nahe, jede Hyperebene nur einmal für ein gegebenes x zu evaluieren und das Vorzeichen des Ergebnisses aufzuzeichnen, um Informationen darüber zu speichern, wo x, bezogen auf jede Hyperebene, gelegen ist. Dazu wird für einen gegebenen binären Baum T eine Abbildungdefiniert, wobei ist. Dann ist x ∈ Pj, genau dann wenn für alle j ∈ I
Der bisher beschriebene Stand der Technik bezieht sich auf die modellprädiktive Regelung, mit quadratischen Kostenfunktionen (3) und der entsprechenden expliziten Lösung. Für die modellprädiktive Regelung mit linearen Kostenfunktionen existieren ebenfalls Verfahren zur Berechnung von expliziten Lösungen, die ebenfalls auf stückweise affine Regelgesetze führen. Stückweise affine Regelgesetze, die auf einer Partitionierung des Zustandsraums des technischen Prozesses in Polyeder basieren, resultieren auch mit anderen regelungstechnischen Ansätzen, darunter z. B. die Verstärkungsplanung (engl. gain scheduling). The prior art described so far relates to the model predictive control, with quadratic cost functions (3) and the corresponding explicit solution. For model predictive control with linear cost functions, there are also methods for calculating explicit solutions, which also lead to piecewise affine control laws. Piecewise affine control laws that are based on a partitioning of the state space of the technical process in polyhedra, also result in other control approaches, including z. B. gain scheduling.
Offenbarung der ErfindungDisclosure of the invention
Es ist somit Aufgabe der Erfindung, ein Regelungsverfahren und eine Vorrichtung zur Steuerung eines technischen Prozesses basierend auf einem expliziten stückweise affinen Regelungsgesetz zu schaffen, die den Verfahrensaufwand zur Regelung des technischen Prozesses vermindert und somit Zeitersparnisse mit sich bringt. Ferner ist es auch Aufgabe der vorliegenden Erfindung, schneller ablaufende technische Prozesse zu regeln, als es mit bestehenden Verfahren möglich ist.It is therefore an object of the invention to provide a control method and a device for controlling a technical process based on an explicit piecewise affine control law, which reduces the process complexity for controlling the technical process and thus brings with it time savings. Furthermore, it is also an object of the present invention to regulate faster-running technical processes than is possible with existing methods.
Zur Lösung dieser Aufgabe wird ein Regelungsverfahren gemäß den Merkmalen des Anspruches 1 sowie eine Vorrichtung mit den Merkmalen des Anspruches 8 vorgeschlagen, insbesondere mit den Merkmalen des jeweiligen kennzeichnenden Teils. In den abhängigen Ansprüchen sind bevorzugte Weiterbildungen der Erfindung aufgeführt.To solve this problem, a control method according to the features of
Der Begriff der Regelung im Sinne dieser Erfindung umfasst auch eine Steuerung und umgekehrt. Hierbei geht es hauptsächlich darum, den vorhandenen technischen Prozess mit Hilfe der Technik beherrschen bzw. kontrollieren zu können. Bei dem technischen Prozess handelt es sich um ein technisches Verfahren auf einer technischen Anlage, Apparatur oder einem Gerät, wie z. B. Raffinerieprozess in einer Raffinerie, Verbrennungsprozess in einem Motor bzw. Brennkammer oder dergleichen.The term regulation in the sense of this invention also includes a control and vice versa. This is mainly about being able to control or control the existing technical process with the help of technology. The technical process is a technical process on a technical plant, apparatus or a device such. Refinery process in a refinery, combustion process in a combustion chamber or the like.
Erfindungsgemäß ist vorgesehen, dass wenigstens zwei Hyperebenen zu einem internen Mehrfachknoten zusammengefasst werden, wobei jeder interne Mehrfachknoten einen internen Knoten eines transformierten Baumes bildet und der transformierte Baum eine gegenüber dem binären Baum reduzierte Höhe aufweist.According to the invention, at least two hyperplanes are combined to form an internal multiple node, each internal multiple node forming an internal node of a transformed tree and the transformed tree having a reduced height compared to the binary tree.
Der Kern der Erfindung besteht darin, den binären Baum, der das stückweise auf Polyedern definierte Regelgesetz der Form (7) repräsentiert, durch einen neuen Ansatz zu ersetzen, welcher auf einem anderen Typ von Baum beruht. Dabei sind die folgenden zwei Merkmale wichtig für den neuen Ansatz. Zunächst werden mehrere binäre Baumknoten in einen neuen Knotentyp, den so genannten m-Knoten umgewandelt. Wenn man dies vollbringt, kann der binäre Baum durch einen Baum aus m-Knoten ersetzt werden, der im Folgenden als M-Baum bezeichnet wird, den man als solches M-Baum nennt, wobei der M-Baum eine geringere Höhe als der ursprüngliche binäre Baum haben kann. Aufgrund der geringeren Höhe des M-Baums kann das gültige Regelgesetz in weniger Schritten mit dem M-Baum als mit dem binären Baum gefunden werden. Zweitens kann ein m-Knoten genauso schnell wie ein binärer Knoten evaluiert werden, falls eine m-fache Nebenläufigkeit für die Evaluierung der Hyperebenen in Art der Gleichung (6) erreicht werden kann. Die m-fache Nebenläufigkeit kann mit einer Vorrichtung erreicht werden, die Gegenstand der Erfindung ist. Dabei ist vorteilhaft, dass die Nebenläufigkeit nicht mit einer Parallelisierung im Sinne einer parallelen Ausführung eines Algorithmus auf einen Mikroprozessor gleichgesetzt wird, sondern dass die nebenläufigen Schaltungen im Vergleich zu einem noch so simplen Mikroprozessor erheblich einfacher aufgebaut werden können.The gist of the invention is to replace the binary tree representing the piecewise law of Form (7) defined by polyhedra with a new approach based on a different type of tree. The following two characteristics are important for the new approach. First, several binary tree nodes are transformed into a new node type, the so-called m node. By doing so, the binary tree can be replaced by a tree of m-nodes, hereafter referred to as the M-tree, called the M-tree, the M-tree being a lesser height than the original binary Tree can have. Due to the lower height of the M-tree, the valid control law can be found in fewer steps with the M-tree than with the binary tree. Second, an m-node can be evaluated as fast as a binary node if m-fold concurrency can be achieved for the evaluation of hyperplanes in the manner of equation (6). The m-fold concurrency can be achieved with a device that is the subject of the invention. It is advantageous that the concurrency is not equated with a parallelization in the sense of a parallel execution of an algorithm on a microprocessor, but that the concurrent circuits can be constructed much simpler compared to a very simple microprocessor.
Für die Erfindung ist zentral, dass eine obere Grenze der Schritte angegeben werden kann, die mit dem vorgeschlagenen Verfahren zur Auswertung des Regelgesetzes nötig ist, und dass diese obere Grenze in Relation gesetzt werden kann zur Zahl der Schritte, die in bestehenden, auf binären Bäumen basierenden Verfahren nötig sind. Die gesuchte obere Grenze wird im Folgenden abgeleitet.Central to the invention is that an upper limit of the steps required by the proposed method of evaluating the law of control can be given, and that this upper limit can be related to the number of steps taken in existing, on binary trees based methods are needed. The searched upper limit is derived below.
A. Begrifflichkeiten und TerminologieA. Terminology and terminology
Sei T ein binärer Baum mit N Knoten n1, ..., nN. Die Länge des Pfades vom Wurzelknoten zu einem Knoten ni wird als Tiefe des Knotens n, bezeichnet, wobei die Tiefe des Wurzelknotens per Definition gleich Null ist. Die Höhe des Baumes T ist die größte Tiefe eines Knotens, die im Baum gefunden werden kann. Ein Baum, der nur aus einem Wurzelknoten besteht, hat per Definition die Höhe Null. Die Menge der Knoten in einem binären Baum, die die gleiche Tiefe d besitzen, bezeichnet man als die d-te Ebene des Baumes. Ein Knoten ohne Kinder wird externer Knoten oder Blatt genannt. Alle anderen Knoten werden interne Knoten genannt. Sofern im Folgenden von den Knoten eines Baumes die Rede ist, sind damit sowohl seine internen als auch seine externen Knoten gemeint, sofern nichts anderes ausdrücklich vereinbart ist. Als interne Höhe des Baumes T wird die Höhe des Baumes T bezeichnet, der sich ergibt, indem alle externen Knoten von T entfernt werden. Ein binärer Baum heißt voll, wenn alle Knoten bis auf die externen Knoten zwei Kinder haben. Ein binärer Baum heißt perfekt, wenn er voll ist und alle externen Knoten sich auf derselben Ebene befinden. Ein binärer Baum heißt vollständig, wenn alle Ebenen die maximale Zahl von Knoten enthalten oder wenn alle Ebenen bis auf die tiefste die maximale Zahl von Knoten enthalten. Ein binärer Baum heißt höhenbalanciert, wenn für jeden Knoten die Höhe des linken und rechten Unterbaums dieses Knotens sich höchstens um eins unterscheiden. Ein binärer Baum heißt linksorientiert, wenn für jeden Knoten die Höhe des linken Unterbaumes des Knotens nicht kleiner ist als die Höhe des rechten Unterbaumes des Knotens.Let T be a binary tree with N nodes n 1 , ..., n N. The length of the path from the root node to a node n i is referred to as the depth of the node n i , where the depth of the root node is defined as zero. The height of the tree T is the greatest depth of a knot that can be found in the tree. A tree consisting of only one root node has by definition the height zero. The set of nodes in a binary tree that have the same depth d is called the d-th plane of the tree. A node without children is called an external node or leaf. All other nodes are called internal nodes. If the following is the node of a tree, so are both its internal as well as its external nodes, unless otherwise expressly agreed. The internal height of the tree T is the height of the tree T, which results from removing all external nodes of T. A binary tree is called full if all nodes except for the external nodes have two children. A binary tree is called perfect when it is full and all external nodes are at the same level. A binary tree is called complete if all levels contain the maximum number of nodes, or if all levels down to the lowest level contain the maximum number of nodes. A binary tree is called height-balanced if, for each node, the height of the left and right sub-tree of this node differ by at most one. A binary tree is called left-oriented if, for each node, the height of the left sub-tree of the node is not less than the height of the right sub-tree of the node.
B. M-BäumeB. M-trees
Als Erweiterung des binären Baumes wird ein Baum mit bestimmten Eigenschaften eingeführt. Ein Baum heißt im Folgenden m-när, wenn sein Wurzelknoten mehr als einen und nicht mehr als (m + 1) ausgehende Kanten hat, wenn alle internen Knoten des Baumes bis auf den Wurzelknoten genau eine eingehende Kante und wenigstens eine und höchstens (m + 1) ausgehende Kanten haben, und wenn die externen Knoten des Baumes genau eine eingehende und keine ausgehende Kante haben. Ein m-närer Baum heißt höhenbalanciert, wenn für jeden internen Knoten sich die Höhe zweier beliebiger seiner Unterbäume um höchstens eins unterscheiden. Im Folgenden werden höhenbalancierte volle m-näre Bäume der Kürze halber als M-Bäume der Ordnung m bezeichnet. Sofern die Ordnung m keine Rolle spielt oder aus dem Kontext bekannt ist, werden M-Bäume der Ordnung m kurz als M-Bäume bezeichnet.As an extension of the binary tree, a tree with certain properties is introduced. A tree is hereafter called m-när, if its root node has more than one and not more than (m + 1) outgoing edges, if all internal nodes of the tree except for the root node exactly one incoming edge and at least one and at most (m + 1) have outgoing edges, and if the tree's external nodes have exactly one inbound and no outbound edge. A m-nary tree is called height-balanced if, for each internal node, the height of any two of its subtrees differ by at most one. Hereinafter, height-balanced full m-nary trees will be referred to as M-trees of order m for the sake of brevity. Unless the order m plays a role or is known from the context, M-trees of order m are referred to as M-trees for short.
Ziel der folgenden Betrachtungen ist, aus einem binären Baum, der ein stückweise affines Regelgesetz erfüllt, einen M-Baum zu konstruieren, der sich schneller als der binäre Baum auswerten lässt, aber dasselbe Regelgesetz repräsentiert. Der Kürze halber werden zwei Bäume, wobei jeder der Bäume vom binären Typ oder vom Typ M-Baum sein kann, äquivalent genannt, wenn sie dasselbe Regelgesetz repräsentieren, d. h. wenn für alle zulässigen Zustände x des technischen Systems die Suche nach einem Polyeder Pi, für den x ∈ Pi gilt, und die anschließende Auswertung von Gleichung (7) auf dasselbe u(x) führen.The aim of the following considerations is to construct a M-tree from a binary tree that satisfies a piecewise affine law of control, which can be evaluated faster than the binary tree, but represents the same law of rules. For the sake of brevity, two trees, each of which may be binary-type or M-tree trees, are called equivalent if they represent the same law of control, that is, if, for all permissible states x of the technical system, the search for a polyhedron P i , for the x ∈ P i , and the subsequent evaluation of equation (7) leads to the same u (x).
C. Obere Schranke an die Höhe des M-BaumsC. Upper barrier to the height of the M-tree
Bedingungen 1: Sei T ein höhenbalancierter voller linksorientierter binärer Baum, der ein stückweise affines auf Polyedern definiertes Regelgesetz repräsentiert, so dass jeder interne Knoten von T eine Hyperebene der Form (6) repräsentiert und jeder externe Knoten von T ein Polyeder der Form (5) repräsentiert. Sei die Zahl der internen Knoten von T Nint ≥ 1.Conditions 1: Let T be a height-balanced, left-oriented binary tree representing a piecewise affinitive law of rules defined on polyhedra such that each internal node of T represents a hyperplane of the form (6) and each external node of T is a polyhedron of the form (5). represents. Let the number of internal nodes of TN int ≥ 1.
Es sei darauf hingewiesen, dass jeder Unterbaum von T die Bedingungen 1 erfüllt. Es sei weiterhin darauf hingewiesen, dass die Bedingung der Linksorientiertheit lediglich aus Gründen der Zweckmäßigkeit eingeführt wird. Zu jedem höhenbalancierten binären Baum T, der die Bedingung 1 erfüllt, existiert ein höhenbalancierter linksorientierter binärer Baum T ~, der zu T äquivalent ist. T ~ kann aus T gewonnen werden, indem ausgenutzt wird, dass die Multiplikation einer Hyperebene mit –1 bei gleichzeitigem Vertauschen des linken und rechten Unterbaums an dem Knoten, dem die Hyperebene zugeordnet ist, das Regelgesetz, das der binäre Baum repräsentiert, unverändert lässt.It should be noted that each subtree of T satisfies
Satz 1: Sei T ein beliebiger binärer Baum, der die Bedingungen 1 erfüllt. Seien die interne Höhe und die Zahl der internen Knoten von T mit hint und Nint bezeichnet. Dann existiert ein zu T äquivalenter M-Baum TM der Ordnung m und der Höhe hM, wobei gilt. Darin bezeichnet floor(x) für jedesdie größte ganze Zahl, die nicht größer als x ist.Theorem 1: Let T be an arbitrary binary tree
Satz 1 wird in mehreren Schritten bewiesen. Es wird vorweg genommen, dass ein M-Baum-Knoten mit der weiter unten beschriebenen Schaltung in der gleichen Zeit in einer Rechnereinheit evaluiert werden kann, wie ein Knoten eines binären Baumes. Daraus folgt, dass das stückweise affine Regelgesetz für einen gegebenen Zustand x des zu regelnden technischen Systems mit einer Zahl von Schritten geschehen kann, die von der Ordnung logm+1(N + 1) ist, wobei N die Anzahl der Knoten im äquivalenten binären Baum ist, aus welchem der M-Baum generiert worden ist.The first sentence is proved in several steps. It is anticipated that an M-tree node with the circuit described below can be evaluated at the same time in a computing unit, such as a node of a binary tree. It follows that the piecewise affine law of control for a given state x of the technical system to be controlled can be done with a number of steps which is of the order log m + 1 (N + 1), where N is the number of nodes in the equivalent binary tree from which the M-tree is generated has been.
D. Beweis von Satz 1D. Proof of
Lemma 1 und 2 fassen grundlegende Ergebnisse zusammen.
Lemma 1:Lemma 1:
Sei T ein perfekter binärer Baum der Höhe h mit N Knoten. Dann gilt N = 2h–1 – 1. Beweis: Da alle Ebenen eines perfekten binären Baumes voll sind, hat die i-te Ebene eines perfekten binären Baumes 2i Knoten. Die Summe über alle Ebenen ergibt Let T be a perfect binary tree of height h with N nodes. Then N = 2h-1 - 1. Proof: Since all planes of a perfect binary tree are full, the i-th plane of a perfect binary tree has 2 i nodes. The sum over all levels gives
Lemma 2:Lemma 2:
Sei T ein binärer Baum der Höhe h mit N Knoten. Dann gilt
Beweis: T kann höchstens so viele Knoten Nperfekt enthalten wie ein perfekter Baum der Höhe h. Mit Nperfekt = 2h+1 – 1 aus Lemma 1 gilt N ≤ 2h+1 – 1 oder äquivalent dazu
Weiterhin gilt,
Der folgende Algorithmus 1 konstruiert m Knoten eines binären Baumes zu einem Unterbaum S zusammen, mit dem anschließend ein m-Knoten eines M-Baumes gebildet wird.The following
Algorithmus 1: Sei T ein binärer Baum der den Bedingungen 1 genügt. Sei m eine positive natürliche Zahl. Die folgenden Schritte liefern einen Unterbaum S von T und eine Liste von Knoten (λ1, .... λk).Algorithm 1: Let T be a binary tree that satisfies
Konstruiere einen Unterbaum S des binären Baums T, indem ausgehend vom Wurzelknoten von T die Knoten von T wie bei der Breitensuche durchlaufen werden, wobei das Durchlaufen solange fortgesetzt wird, bis min(m, Nint) interne Knoten von T besucht worden sind, wobei gilt. Fasse die auf diese Weise besuchten Knoten von T als die internen Knoten von S auf. Fasse die Knoten von T, die die ausgehenden Kanten der Knoten von S als eingehende Kanten haben, als die externen Knoten von S auf. Bezeichne die externen Knoten von S mit λ1, ....,λk, wobei die Nummerierung beliebig aber fest ist.Construct a subtree S of the binary tree T, starting from the root node of T, traversing the nodes of T as in the breadth-first search, traversing continuing until min (m, N int ) internal nodes of T have been visited, applies. Record the nodes of T visited in this way as the internal nodes of S. Take the nodes of T that have the outgoing edges of the nodes of S as incoming edges as the external nodes of S. Denote the external nodes of S with λ 1 , ...., λ k , where the numbering is arbitrary but fixed.
Algorithmus 1 resultiert in einen Unterbaum, der in einem wie folgt definierten neuen Typ von Knoten zusammengefasst wird.
Definition 1: Definition 1:
Seien T und m wie in Algorithmus 1. Der Baum S, der sich durch Anwendung von Algorithmus 1 ergibt, wird m-Unterbaum genannt. Der m-näre Knoten, der die internen Knoten von S enthält und dessen ausgehende Kanten in die externen Knoten von S führen, wird m-Knoten genannt.Let T and m be as in
Ein m-Knoten wird auch Mehrfachknoten genannt, wenn der Wert von m aus dem Kontext bekannt ist oder wenn der konkrete Wert von m keine Rolle spielt.An m-node is also called a multiple-node if the value of m is known from the context, or if the concrete value of m does not matter.
Es sei darauf hingewiesen, dass Algorithmus 1 m-Knoten ergeben kann, die mindestens einen und bis zu m Knoten des binären Baumes T enthalten. Insbesondere muss nicht jeder m-Knoten genau m Knoten des binären Baumes T enthalten.It should be noted that the algorithm may yield 1 m nodes containing at least one and up to m nodes of the binary tree T. In particular, not every m-node must contain exactly m nodes of the binary tree T.
Definition 2:Definition 2:
Ein m-Knoten heißt voll, wenn er m Knoten des binären Baumes enthält, aus dem er konstruiert wurde. Ein m-Knoten heißt partiell, wenn er nicht voll ist.An m-node is called full if it contains m nodes of the binary tree from which it was constructed. An m-node is called partially when it is not full.
Die Begriffe m-Knoten und m-Unterbaum wurden bisher nur eingeführt, um Teile eines binären Baumes zusammenzufassen. Ein m-Knoten versteckt lediglich einen Unterbaum des binären Baumes. Um Satz 1 beweisen zu können, wird eine untere Schranke an die Höhe des Unterbaumes von T, welcher in einen m-Knoten umgewandelt worden ist, benötigt. Lemma 3 fasst die gesuchte Aussage zusammen.The terms m-node and m-sub-tree have so far been introduced only to summarize parts of a binary tree. An m-node only hides a subtree of the binary tree. In order to prove
Lemma 3:Lemma 3:
Sei ein voller m-Knoten gegeben, der aus der Anwendung von Algorithmus 1 auf einen binären Baum T resultiert, der den Bedingungen 1 genügt. Sei S der zum betrachteten m-Knoten gehörige m-Unterbaum und bezeichne hS die interne Höhe von S.Given a full m-node resulting from the application of
Dann gehört jeder interne Knoten von T, der ein externer Knoten von S ist, zu einer Ebene von S der Höhe hS + 1 oder hS.Then each internal node of T, which is an external node of S, belongs to a plane of S of height h S + 1 or h S.
Beweis: Sei angenommen, dass die Behauptung falsch ist. Dann existiert ein binärer Baum T, der die Bedingungen 1 erfüllt, sodass Algorithmus 1 in einem m-Unterbaum S mit einem externen Knoten auf einer Höhe l < hS in S resultiert, der ein interner Knoten von T ist. Sei dieser Knoten mit ν bezeichnet.Proof: Suppose that the claim is false. Then there exists a binary tree T which satisfies the
Nach Definition von hS und da l < hS ist nach Annahme, existieren interne Knoten von S, die eine größere Höhe als l haben. Daraus folgt, dass das in Algorithmus 1 beschriebene Durchlaufen von T in der Art der Breitensuche noch nicht beendet wurde, als dieses Durchlaufen die l-te Ebene von T vollständig erfasst hatte und im Begriff war, in die (l + 1)-te Ebene zu wechseln. Da ν nach Annahme zur l-ten Ebene gehört, hat Algorithmus 1 ν erfasst. Dies ist aber im Widerspruch zu der Annahme, dass ν nicht zu S gehört. Daher ist die Annahme falsch und die Behauptung gilt.By definition of h S and since l <h S is by hypothesis, there exist internal nodes of S that have a height greater than 1. It follows that the traversal of T in the breadth-first search manner described in
Basierend auf den Definitionen des m-Knotens und des m-Unterbaums kann ein einfacher Algorithmus für die Konstruktion eines M-Baumes eingeführt werden. Zur Erinnerung wird noch einmal darauf hingewiesen, dass jeder interne Knoten eines binären Baumes T einer Hyperebene entspricht und jeder externe Knoten einem Polyder eines affinen Regelgesetzes der Form der Gleichung (7) entspricht, wenn T der Bedingung 1 genügt.Based on the definitions of the m-node and the m-subtree, a simple algorithm for constructing an M-tree can be introduced. As a reminder, it is pointed out that each internal node of a binary tree T corresponds to a hyperplane and each external node corresponds to a polyder of an affine law of control of the form of equation (7) when T satisfies
Algorithmus 2: Sei T ein binärer Baum, der den Bedingungen 1 genügt. Sei m eine positive natürliche Zahl. Die folgenden Schritte ergeben einen M-Baum, der mit TM bezeichnet wird.
- 1.) Setze R := T.
- 2.)
Wende Algorithmus 1 auf R an. Ersetze die inneren Knoten des resultierenden Unterbaums S von T durch den resultierenden m-Knoten. Bezeichne die externen Knoten von S mit λ1, ..., λk. - 3.) Führe für ν λ1, ... λk folgende Schritte durch:
- 3.1) Wenn v ein externer Knoten von T ist, überspringe ihn und fahre mit dem nächsten λi, fort.
- 3.2) Wende den Algorithmus 2 auf den Unterbaum von R an, der ν als Wurzelknoten hat.
- 4.) Setze TM := R und gebe TM zurück.
- 1.) Set R: = T.
- 2.) Apply
Algorithm 1 to R. Replace the inner nodes of the resulting subtree S of T with the resulting m node. Denote the external nodes of S with λ 1 , ..., λ k . - 3.) Carry out the following steps for ν λ 1 , ... λ k :
- 3.1) If v is an external node of T, skip it and go to the next λ i, continued.
- 3.2) Apply algorithm 2 to the sub-tree of R, which has ν as the root node.
- 4.) Set T M : = R and return T M.
Nachdem die Konstruktion des M-Baumes mit Hilfe von Algorithmus 2 beschrieben ist, werden einige weitere Begriffe und einfache Zusammenhänge eingeführt, die für den Beweis von Satz 1 nötig sind. After the construction of the M-tree is described by means of Algorithm 2, a few more concepts and simple relationships are introduced which are necessary for the proof of
Definition 3: Ein m-Knoten eines M-Baumes heißt abschließend, wenn keins von seinen Kindern ein m-Knoten ist. Andernfalls heißt ein m-Knoten nichtabschließend. Diese Terminologie wird eingeführt, um eine Verwechslung mit den Begriffen intern und extern zu vermeiden. Im nächsten Schritt wird festgehalten, dass jeder nichtabschließende m-Knoten eines M-Baumes, der aus Algorithmus 2 resultiert, voll ist.Definition 3: An m-node of an M-tree is finally called if none of its children is an m-node. Otherwise, an m-node is called non-terminating. This terminology is introduced to avoid confusion with the terms internal and external. In the next step, it is noted that each non-terminating m-node of an M-tree resulting from Algorithm 2 is full.
Lemma 4: Sei T ein binärer Baum, der den Bedingungen 1 genügt. Sei m eine positive natürliche Zahl. Sei TM der M-Baum, der durch Anwendung von Algorithmus 2 auf T resultiert. Dann ist jeder nichtabschließende m-Knoten von TM voll.Lemma 4: Let T be a binary tree that satisfies
Beweis: Sei ν ein beliebiger nichtabschließender Knoten von TM. Es wird gezeigt, dass die Annahme, dass ν nicht voll ist, auf einen Widerspruch führt. Sei Nν die Anzahl von Knoten von T, die interne Knoten von ν sind. Sei Sν der Unterbaum von T, der die Nν Knoten des m-Knotens umfasst. Sei S der Unterbaum von T, der den gleichen Wurzelknoten wie Sν hat. Im Gegensatz zu Sν kann S mehr als m interne Knoten umfassen.Proof: Let ν be an arbitrary non-terminating node of T M. It is shown that the assumption that ν is not full leads to a contradiction. Let Nν be the number of nodes of T that are internal nodes of ν. Let S ν be the subtree of T, which includes the N ν nodes of the m-node. Let S be the subtree of T, which has the same root node as S ν . In contrast to S ν S comprise more than m internal node.
Da ν nach Annahme nichtabschließend ist, hat ν mindestens ein Kind, das Wurzelknoten eines weiteren m-Knotens ist. Sei dieser m-Knoten mit μ bezeichnet. Da μ gemäß Definition 1 wenigstens einen Knoten von T enthält, enthält S eine Zahl von NS ≥ Nν + 1 internen Knoten von T. Bei der Anwendung von Algorithmus 1 auf S erhält man daher einen m-Knoten ν', der denselben Wurzelknoten wie ν hat, aber Nν' > Nν interne Knotenumfasst. Daraus folgt aber, dass ν nicht Resultat von Algorithmus 1 sein kann und daher nicht der Definition 1 eines m-Knotens entspricht. Damit ist gezeigt, dass kein nichtabschließender m-Knoten existieren kann, der nicht voll ist.Since ν is not final by assumption, ν has at least one child, which is the root node of another m-node. Let this m-node be called μ. Since μ according to
Für den Beweis von Satz 1 wird eine untere Grenze für die Höhe des m-Unterbaumes eines vollen m-Knotens benötigt. Diese Grenze wird in Lemma 5 aufgezeigt.For the proof of
Lemma 5:Lemma 5:
Sei T ein binärer Baum, der den Bedingungen 1 genügt. Sei μ ein nichtabschließender m-Knoten mit dem entsprechenden m-Unterbaum S, wobei μ und S sich aus der Anwendung von Algorithmus 2 auf T ergeben. Sei p ein Pfad vom Wurzelknotens von S zu einem beliebigen externen Knoten von S, welcher ein interner Knoten von T ist. Dann ist die Länge l von p gemäß
Beweis: Es werden drei Fälle unterschieden: (i) μ ist ein perfekter Knoten, (ii) μ ist ein vollständiger Knoten aber kein perfekter Knoten und (iii) μ ist kein vollständiger Knoten. Sei hS die interne Höhe von S.
Fall (i): Da μ perfekt ist, gilt Gleichung (16) erhält man durch Substituierung von N = m und hS = h in Lemma 1. Da m + 1 eine natürliche Potenz von 2 gemäß der Gleichung (16) ist, folgtWeiterhin folgt hS = log2(m + 1) –1 = floor(log2(m + 1)) – 1, da floor(n) = n für jede natürliche Zahl n. gilt. Da S nach Annahme ein perfekter Baum ist und daher jeder seiner externen Knoten auf der Ebene hS + 1 liegt, folgt, dass jeder Pfad vom Wurzelknoten von S zu einem beliebigen externen Knoten von S die Länge l = hS + 1 = floor(log2(m + 1)) hat, was die Aussage im Fall (i) beweist.Proof: Three cases are distinguished: (i) μ is a perfect node, (ii) μ is a complete node but not a perfect node, and (iii) μ is not a complete node. Let h S be the internal height of S.
Case (i): Since μ is perfect, holds Equation (16) is obtained by substituting N = m and h = S h in 1. Lemma Since m + 1 is a natural power of 2 according to the equation (16) follows Furthermore, h S = log 2 (m + 1) -1 = floor (log 2 (m + 1)) - 1, since floor (n) = n holds for any natural number n. Since S is a perfect tree by assumption, and therefore each of its external nodes is at the level h S + 1, it follows that each path from the root node of S to any external node of S has the length l = h S + 1 = floor ( log 2 (m + 1)), which proves the statement in case (i).
Fall (ii): Zur Vorbereitung wird festgehalten, dass für jedesfür das einexistiert, sodassCase (ii): In preparation, it is stated that for each for the one exists, so
Da S vollständig aber nicht perfekt ist, erhält man einen perfekten Baum S' mit der Höhe hS' = hS – 1 und m' < m Knoten, indem alle externen Knoten von S und alle internen Knoten von S der Ebene hS weggelassen werden. Da S' perfekt ist, können die Ergebnisse, die im Fall (i) abgeleitet worden sind, angewendet werden. Insbesondere giltoder äquivalentSince S is complete but not perfect, we obtain a perfect tree S 'with height h S ' = h S - 1 and m '<m node by omitting all external nodes of S and all internal nodes of S of plane h S become. Since S 'is perfect, the results derived in case (i) can be applied. In particular, applies or equivalent
Da S vollständig aber nicht perfekt ist, enthält S mindestens einen und höchstens 2hS – 1 Knoten auf der Ebene der Tiefe hS. Daher existiert einsodass m = m' + t.Since S is complete but not perfect, S contains at least one and at most 2 hS - 1 knots at the depth h S level . Therefore, there is one so that m = m '+ t.
Aus dieser Beziehung zwischen m und m' folgt (m + 1) = (m' + 1) + t, 1 ≤ t ≤ 2hS – 1 oder äquivalent (m + 1) ∈ [2hS + 1,2hS+1 – 1]. Da das Intervall [2hs, 2hS+1 – 1] in vorstehenden Intervall enthalten ist, ergibt sich
Fall (iii): Es wird angenommen, dass S nicht vollständig ist. Sei μ' ein solcher m-Knoten der gleichen Ordnung m wie μ, dass der zu μ' gehörige m-Unterbaum S' vollständig ist. S' kann dabei perfekt oder nicht perfekt sein. Es werden zwei Fälle betrachtet: (iii.a) und (iii.b). Im Fall (iii.a) wird angenommen, dass S' vollständig aber nicht perfekt ist. Da S' vollständig aber S nicht vollständig ist, gilt
Da μ' ein vollständiger aber kein perfekter Baum ist, kann Fall (ii) angewendet werden. Da μ' nach Annahme von der Ordnung m ist, gilt
Im Fall (iii.b) wird angenommen, dass S' perfekt ist. Dann gilt
Mit dem Abschluss des Beweises von Lemma 5 sind alle Vorbereitungen für den Beweis von Satz 1 getroffen.With the completion of the proof of
Beweis von Satz 1: Algorithmus 2 ersetzt rekursiv Unterbäume des binären Baumes T durch m-Knoten, die Teilbäume von T zusammen fassen. Die Rekursion in Algorithmus 2 wird für alle Unterbäume solange durchgeführt, bis ein m-Knoten in einen externen Knoten mündet, der ein externer Knoten eines binären Baumes T ist (s. Schritt 3.2 des Algorithmus 2). Daraus folgt, dass für einen Pfad p durch T von seinem Wurzelknoten zu einem beliebigen seiner externen Knoten eine Folge q = (q1, ..., qk, qk+i) von m-Knoten von TM existiert, die von p durchlaufen wird. Die m-Knoten q1, ..., qk sind dabei gemäß Definition 3 nichtabschließende Knoten, da jeder dieser Knoten wenigstens ein Kind hat, das selbst ein m-Knoten ist. Aus Lemma 4 folgt, dass die Knoten ql, ..., qk volle Knoten sind. Der Knoten qk+1 kann ein abschließender oder nichtabschließender Knoten sein. Daher kann der Knoten qk+1 voll oder nicht voll sein. In beiden Fällen beinhaltet der m-Knoten qk+1 mindestens einen internen Knoten von T gemäß Definition 1. Es sei darauf hingewiesen, dass q die Länge k + 1 hat. Die Nummerierung ist so gewählt, dass die Knoten bis zum Index k voll sind. Sei die Länge des Teilpfades von p, der in qi liegt mit lqi, bezeichnet. Sei lp die Anzahl von internen Knoten von T, die entlang des Pfades p durchlaufen werden. Dann gilt
Da diese Abschätzung für jeden beliebigen Pfad p durch T und den entsprechenden Pfad q durch den M-Baum TM gilt, gilt sie auch für den längsten Pfad durch TM zu einem externen Knoten von TM. Die Länge k + 1 des längsten Pfades durch TM ist aber definitionsgemäß gleich der Höhe hM des M-Baumes TM. Daher folgt aus Gleichung (27) die Behauptung Since this estimate applies to any path p through T and the corresponding path q through the M-tree T M , it also holds for the longest path through T M to an external node of T M. By definition, the length k + 1 of the longest path through T M is equal to the height h M of the M-tree T M. Therefore, from equation (27), the assertion follows
IV. Schnelle Evaluierung eines m-KnotensIV. Fast evaluation of an m-node
Wie bereits erwähnt ist der m-Knoten der Schlüssel zur Beschleunigung der Evaluierung des Regelgesetzes. Die Beschleunigung wird erreicht durch eine nebenläufige Evaluierung der m binären Knoten, die in jedem m-Knoten enthalten sind. Jeder binäre Knoten eines m-Knotens kann durch eine einfache Schaltung evaluiert werden, die unabhängig von den Schaltungen der verbleibenden m – 1 binären Knoten betrieben werden kann. Der Grad der Nebenläufigkeit, d. h. die Anzahl m von binären Knoten, die simultan evaluiert werden, ist lediglich durch die Ressourcen limitiert, die zur Umsetzung der Schaltungen verfügbar sind.As already mentioned, the m-node is the key to speeding up the evaluation of the rule law. The acceleration is achieved by a concurrent evaluation of the m binary nodes contained in each m node. Each binary node of an m-node can be evaluated by a simple circuit that can be operated independently of the circuits of the remaining m-1 binary nodes. The degree of concurrency, i. H. the number m of binary nodes that are simultaneously evaluated is only limited by the resources available to implement the circuits.
Um die nebenläufige Evaluierung eines m-Baumes TM einzuführen, müssen die folgenden Abbildungen σ und π eingeführt werden. Es sei daran erinnert, dass jeder externe Knoten eines binären Baumes, der Bedingung 1 erfüllt, einen Polyeder eines affinen Regelgesetzes der Form (7), das insbesondere ein EMPC-Regelgesetz sein kann, repräsentiert.To introduce the concurrent evaluation of an m-tree T M , the following maps σ and π must be introduced. Recall that each external node of a binary tree
Definition 4: Definition 4:
Sei T ein binärer Baum, der die Bedingungen 1 erfüllt mit Nint internen Knoten n1, ..., NNint mit korrespondierenden Hyperebenen h1, ..., hNint der Form (6). Sei S ein m-Unterbaum, der durch Anwendung von Algorithmus 2 auf T für ein m ≥ 1 resultiert. Sei ohne Einschränkung ni1 die Wurzel von S. Seien λ1, ..., λm+1 die externen Knoten von S, die aus Algorithmus 1 resultieren.Let T be a binary tree
Dann kann jeder externe Knoten λk von S mit einem eindeutigen Pfad p von ni1 zu λk identifiziert werden, wobei dieser Pfad eindeutig durch eine Abbildung σS(k) mit den Komponenten definiert ist, wobei j = 1, ..., m ist.Then, each external node may λ k of S with a unique path p are identified by n i1 to λ k, said path clearly σ by a mapping S (k) with the components is defined, where j = 1, ..., m.
Es reicht aus, nur die Einträge von σS(k) zu betrachten, die entweder 1 oder 0 sind. Dazu dient die wie folgt definierte Abbildung σ'S(k).It suffices to consider only the entries of σ S (k) that are either 1 or 0. The mapping σ ' S (k) defined as follows serves this purpose.
Definition 5:Definition 5:
Seien die Annahmen und σS wie in Definition 4. Für ein beliebiges aber fest gewähltes k aus {1, ..., m} sei mit (j1, ..., jm') die längste Teilfolge von 1, ..., m bezeichnet, sodassfür alle l = 1, ..., m' gilt. Die Abbildung σ'S(k) sei durch ihre m' Komponentenm' definiert.Be the assumptions and σ S as in Definition 4. For an arbitrary but firmly selected k in {1, ..., m} be with (j 1, ..., j m ') the longest subsequence of 1 .. ., m denotes, so for all l = 1, ..., m 'holds. The mapping σ ' S (k) is given by its m' components m 'defined.
Wie im Abschnitt ”Stand der Technik” diskutiert kann die Suche auf dem binären Baum T durch πT(x) für jeden binären Baum T repräsentiert werden, der die Bedingungen 1 erfüllt. Für den Unterbaum S aus Definition 4 ist die Abbildung πS(x) definiert durch wobei j = 1, ..., m ist. In Analogie zu σ'S wird π'S durch die Komponenten Definiert. Die Suche nach dem für einen gegebenen Zustand x des technischen Systems gültigen Regelgesetz resultiert im Knoten λk, genau dann wenn für alle j = 1, ..., m mit σS,j(k) ≠ – 1 gilt oder äquivalent für alle l = 1, ..., m' gilt
Da die linken Seiten der Gleichungen (30) und (31) unabhängig von x sind, können diese im Voraus, d. h. vor der Inbetriebnahme des Regelungsverfahrens, evaluiert werden. Zur Evaluierung der rechten Seiten der Gleichungen (30) und (31) müssen m Hyperebenengleichungenausgewertet werden. Da diese Hyperebenengleichungen unabhängig voneinander sind, ändert sich das Ergebnis des Vergleiches der Gleichung (30) oder der Gleichung (31) nicht, wenn die m Hyperebenengleichungen anstatt sequenziell simultan evaluiert werden. Dadurch ergibt sich der folgende Algorithmus zur nebenläufigen Evaluierung eines m-Knotens. Since the left-hand sides of equations (30) and (31) are independent of x, they can be evaluated in advance, ie before the start-up of the regulatory process. To evaluate the right-hand side of equations (30) and (31), m have hypertext equations be evaluated. Since these hyperplane equations are independent of each other, the result of the comparison of equation (30) or equation (31) does not change when the m hyperplane equations are evaluated simultaneously rather than sequentially. This results in the following algorithm for concurrent evaluation of an m-node.
Algorithmus 3: Sei S ein m-Unterbaum mit den Knotenden zugehörigen Hyperebenenden externen Knoten λk, k = 1, ..., (m + 1) und der Abbildung σS gemäß Definition 4. Sei x der aktuelle Zustand des zu regelnden technischen Systems. Der folgende Algorithmus ergibt einen externen Knoten λk von S, sodass das zu diesem Knoten gehörige Polyeder x enthält.
- 1) Für j = 1, ..., m berechne πS,j(x), j = 1, ..., m simultan für alle j und bezeichne das Ergebnis mit Π = (πS,1(x), ..., πS,m(x))
- 2) Für k = 1,..., m + 1 nehme folgende Vergleiche simultan für alle k vor:
- 2.1) Ermittle die Teilfolge σ'S(k) = (σ'S1(k), ..., σ'Sm'(k)) von σS gemäß
Definition 5. - 2.2) Ermittle die Teilfolge π'S(x) = (π'S1(x), ..., πSm'(x)) von πS(x) gemäß der Gleichung (29).
- 2.3) Falls σ'S(k) = π'S(x), gebe k zurück, denn λk ist der gesuchte Knoten.
- 1) For j = 1, ..., m compute π S, j (x), j = 1, ..., m simultaneously for all j and denote the result with Π = (πS, 1 (x),. .., π S, m (x))
- 2) For k = 1, ..., m + 1, make the following comparisons simultaneously for all k:
- 2.1) Find the subsequence σ ' S (k) = (σ' S1 (k), ..., σ 'Sm' (k)) of σ S according to
Definition 5. - 2.2) Find the subsequence π ' S (x) = (π' S1 (x), ..., π Sm ' (x)) of π S (x) according to equation (29).
- 2.3) If σ ' S (k) = π' S (x), return k, because λ k is the sought node.
Besonders vorteilhaft ist, dass die nebenläufige Evaluierung eines m-Knotens des M-Baums nur unwesentlich länger dauert als die Evaluierung eines einzelnen Knotens des ursprünglichen binären Baumes. Weiterhin ist besonders vorteilhaft, dass die Zeit, die zur Evaluierung eines m-Knotens nötig ist, nicht mit wachsendem m anwächst, solange die Auswertung der m Hyperebenengleichungen des m-Knotens nebenläufig umgesetzt werden kann. Zusammen mit der Reduktion der Höhe des M-Baums gegenüber dem ursprünglichen binären Baum erlaubt die nebenläufige Auswertung der m-Knoten eine schnellere Auswertung des Regelgesetzes durch das erfindungsgemäße Verfahren. Es können dadurch hohe Abtastraten, die weit über 50 MHz liegen, erzielt werden, was für eine Anwendung für schnelle technische Prozesse notwendig sein kann. Auch die Nutzung des erfindungsgemäßen Regelungsverfahrens in tragbaren Geräten ist dabei denkbar.It is particularly advantageous that the concurrent evaluation of an M-node of the M-tree lasts only insignificantly longer than the evaluation of a single node of the original binary tree. Furthermore, it is particularly advantageous that the time necessary for the evaluation of an m-node does not increase with increasing m, as long as the evaluation of the m hyperplane equations of the m-node can be implemented concurrently. Together with the reduction of the height of the M-tree compared to the original binary tree, the concurrent evaluation of the m-nodes allows a faster evaluation of the control law by the method according to the invention. It can thereby high sampling rates are well above 50 MHz, can be achieved, which may be necessary for an application for fast technical processes. The use of the control method according to the invention in portable devices is conceivable.
Weiterhin ist es vorteilhaft, dass die Evaluierung des m-Knotens auf einer arithmetischlogischen Einheit erfolgt. Damit kann die Umsetzung mit Hilfe einer digitalen Schaltung durchgeführt werden, welche ohne Mikroprozessor also mikroprozessorfrei ausgestaltet sein kann. Der Grad der Nebenläufigkeit ist dabei nur durch die Ressourcen (logische Blöcke, Multiplikatoren usw.) beschränkt, die für die Schaltung zur Verfügung stehen. Weiterhin ist zu bemerken, dass der erzielte Geschwindigkeitszuwachs auch dann erhalten bleibt, selbst wenn in der Zukunft die Leistungsfähigkeit von Mikroprozessoren zunehmen wird, weil die Ressourcen, die auf FPGA (field programmable logic arrays) oder PLD (programmable logic devices) zur Verfügung stehen, ebenfalls anwachsen werden, und weil die Komplexität von ASIC (application specific integrated circuits) ebenfalls anwachsen wird. Weiterhin kann aufgrund der Einfachheit der Schaltung die Leistungsaufnahme gegenüber bisherigen, auf Mikroprozessoren basierenden Lösungen verringert werden.Furthermore, it is advantageous that the evaluation of the m-node takes place on an arithmetic logic unit. Thus, the implementation can be carried out with the aid of a digital circuit, which can be designed without microprocessor so microprocessor-free. The degree of concurrency is limited only by the resources (logical blocks, multipliers, etc.) available for the circuit. Furthermore, it should be noted that the achieved speed increase is maintained even if the performance of microprocessors will increase in the future because the resources available on FPGA (field programmable logic arrays) or PLD (programmable logic devices), and the complexity of application specific integrated circuits (ASIC) will also increase. Furthermore, because of the simplicity of the circuit, power consumption can be reduced over previous microprocessor-based solutions.
Die erfindungsgemäße Aufgabe wird ebenfalls gelöst durch eine Vorrichtung auf dem das Regelungsverfahren betrieben wird, welche zur Auswertung der Hyperebenen Produkte reeller Zahlendurch wenigstens zwei Multipliziereinheiten simultan bzw. nebenläufig evaluierbar sind, wobei die Produktemit wenigstens einer Addierereinheit in einem ersten Schaltungsblock zu einer Summeaufsummierbar ist und anschließend die Summe mit in einer Größein einem zweiten Schaltungsblock vergleichbar ist, wobei der erste Schaltungsblock und der zweite Schaltungsblock zu einem dritten Schaltungsblock zusammenfassbar sind.The object of the invention is also achieved by a device on which the control method is operated, which for the evaluation of hyperplanes products of real numbers can be simultaneously or concurrently evaluated by at least two multiplier units, the products with at least one adder unit in a first circuit block to a sum is summable and then the sum with in one size in a second circuit block is comparable, wherein the first circuit block and the second circuit block are summarized to form a third circuit block.
Dabei ist besonders vorteilhaft, dass die zuvor genannten Schaltungsblöcke auf einem Halbleiterbauelement anordbar sind. Das Halbleiterbauelement kann dabei ein ASIC oder programmierbarer Logikbaustein sein, wobei der programmierbare Logikbaustein in Form eines PLD (programmable logic device) oder in Form eines FGPA (Field Programmable Array) sein kann. Bei dem programmierbaren Logikbaustein kann es sich entsprechend um eine programmierbare arithmetisch-logische Einheit handeln. Mit programmierbaren Logikbausteinen kann vorteilhafterweise die digitale Schaltung für den zu regelnden technischen Prozess bzw. für die zu regelnde Maschine maßgeschneidert werden. Dabei können programmierbare Logikbausteine wie FPGA eine große Anzahl von dedizierten Schaltungen für Integer-Multiplikationen bereitstellen, welche in effizienter Weise zur Ausführung der nebenläufigen Multiplikationen genutzt werden können.It is particularly advantageous that the aforementioned circuit blocks can be arranged on a semiconductor device. The semiconductor device may be an ASIC or programmable logic device, wherein the programmable logic device may be in the form of a PLD (programmable logic device) or in the form of an FGPA (Field Programmable Array). The programmable logic device may accordingly be a programmable arithmetic logic unit. With programmable logic devices advantageously the digital circuit for the technical process to be controlled or for the machine to be controlled can be tailored. Programmable logic devices such as FPGAs can provide a large number of dedicated integer multiplication circuits which can be efficiently used to carry out the concurrent multiplications.
Weiterhin hat es sich als vorteilhaft erwiesen, dass das digitale Schaltungsdesign für den programmierbaren Logikbaustein durch eine Hardware-Beschreibungssprache, vorzugsweise durch VHDL oder Verilog, erfolgt. Es kann dabei sichergestellt werden, dass die Implementierung nicht auf FPGA beschränkt ist, sodass das abzubildende Schaltungsdesign durch eine Hardware-Beschreibungssprache wie VHDL ebenso genutzt werden kann, um das Design einer fest programmierten integrierten Schaltung abzubilden.Furthermore, it has proven to be advantageous that the digital circuit design for the programmable logic device by a hardware description language, preferably by VHDL or Verilog done. It can be ensured that the implementation is not limited to FPGA, so that the circuit design to be mapped can also be used by a hardware description language such as VHDL to map the design of a hardwired integrated circuit.
Weitere Maßnahmen und Vorteile der Erfindung ergeben sich aus den Ansprüchen, der nachfolgenden Beschreibung und den Zeichnungen. Ebenfalls gelten die offenbarten Merkmale aus der erfindungsgemäßen Vorrichtung auch für das erfindungsgemäße Verfahren und umgekehrt. In den Zeichnungen ist die Erfindung in mehreren Ausführungsbeispielen dargestellt. Dabei können die in den Ansprüchen und in der Beschreibung erwähnten Merkmale jeweils einzeln für sich oder in beliebiger Kombination erfindungswesentlich sein.Further measures and advantages of the invention will become apparent from the claims, the following description and the drawings. Likewise, the disclosed features of the device according to the invention also apply to the method according to the invention and vice versa. In the drawings, the invention is shown in several embodiments. The features mentioned in the claims and in the description may each be essential to the invention individually or in any desired combination.
Es zeigen:Show it:
In der
In der
In der
In der
Beschreibung einer beispielhaften Umsetzung mit FPGADescription of an exemplary implementation with FPGA
In Schritt 1 des Algorithmus 3 müssen m Hyperebenengleichungen (6) evaluiert werden, indem für jede Hyperebene eine Gleichung der Form wobei i = 1, ..., m ist, ausgewertet wird. Jede der m Gleichungen (32) beinhaltet n Produkte mit jeweils zwei reellen Faktoren und m Additionen von m + 1 reellen Summanden. Da die Multiplikationen für ein beliebiges aber festes i unabhängig voneinander sind, können sie simultan in n nebenläufigen Schaltungen ausgeführt werden.In
In der
In der
Für einen willkürlichen aber festen Wert k ∈ {1, ..., m + 1} können die Schritte 2.1 bis 2.3 des Algorithmus 3 implementiert werden wie in
Ist ein Polyeder
Die vorgeschlagene Schaltungsarchitektur kann in geeigneter Weise auf einer programmierbaren arithmetisch logischen Einheit implementiert werden. Während die beschriebenen Schaltungsblöcke im Prinzip von Hand konstruiert werden können, ist eine automatische Hardware-Synthese unabdingbar, um den Entwurf der zur Regelung nötigen Vorrichtung fehlerfrei durchführen zu können.
Beispielhaft wurden das erfindungsgemäße Verfahren und die erfindungsgemäße Vorrichtung zur Umsetzung eines Regelgesetzes für einen typischen Testfall angewendet. Dabei wird ein FPGA (field programmable gate array) benutzt, in diesem Fall ein Vertex 6 XC6VSX475T, das von der Firma Xilinx hergestellt wird. Die Hardware-Programmierung wird mit dem Xilinx-Designtool ISE Webpack ausgeführt. Schaltungsdesigns werden in VHDL abgebildet. Es wurde ein FPGA gewählt, weil aktuelle FPGAs eine große Anzahl von dedizierten Schaltungen für Integer-Multiplikationen bereitstellen, welche in effizienter Weise zur Ausführung der nebenläufigen Multiplikationen, wie in
Es sei betont, dass die Umsetzung nicht auf FPGA angewiesen ist, sondern dass das abgebildete Schaltungsdesign durch eine Hardware-Beschreibungssprache wie VHDL ebenso genutzt werden kann, um einen ASIC (application specific integrated circuit) herzustellen. Des Weiteren ist die Implementierung nicht beschränkt auf das FPGA der Firma Xilinx und/oder durch das Designtool der Firma Xilinx. Weiterhin ist es möglich, dass VHDL durch eine andere Hardware-Beschreibungssprache ersetzt wird, wie z. B. Verilog.It should be emphasized that the implementation does not rely on FPGA, but that the depicted circuit design can also be used by a hardware description language such as VHDL to produce an ASIC (Application Specific Integrated Circuit). Furthermore, the implementation is not limited to the Xilinx FPGA and / or the Xilinx design tool. Furthermore, it is possible for VHDL to be replaced by another hardware description language, such as VHDL. Verilog.
Im Folgenden wird das erfindungsgemäße Verfahren auf den ein zeitinvariantes lineares zeitdiskretes System der Form von Gleichung (1) angewendet, wobei die Matrizen zu gewählt werden und wobei n = 2, m = 1, und p = 1 ist. Das System ist den Eingangsbeschränkungen – 1 ≤ u(t) ≤ 1 unterworfen und die Horizonte der MPC werden auf 2 gesetzt. Die Lösung des EMPC-Optimierungsproblems ergibt nP = 7 Polyeder P1, ..., P7), der Form (5) und nh = 13 Hyperebenen
Bei der Anwendung von Algorithmus 2 auf den binären Baum aus
Claims (13)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201010037904 DE102010037904B4 (en) | 2010-09-30 | 2010-09-30 | Fast Explicit Model Predictive Control |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE201010037904 DE102010037904B4 (en) | 2010-09-30 | 2010-09-30 | Fast Explicit Model Predictive Control |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102010037904A1 true DE102010037904A1 (en) | 2012-04-05 |
DE102010037904B4 DE102010037904B4 (en) | 2014-01-23 |
Family
ID=45832345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE201010037904 Expired - Fee Related DE102010037904B4 (en) | 2010-09-30 | 2010-09-30 | Fast Explicit Model Predictive Control |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102010037904B4 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103197561A (en) * | 2013-04-06 | 2013-07-10 | 西安费斯达自动化工程有限公司 | Design method for wide adaptability of aircraft horizontal aviating area controller |
CN109507882A (en) * | 2018-11-20 | 2019-03-22 | 中南大学 | A kind of fast robust forecast Control Algorithm based on RBF-ARX model |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050107895A1 (en) * | 2001-05-25 | 2005-05-19 | Efstratios Pistikopoulos | Process control |
US20050234688A1 (en) * | 2004-04-16 | 2005-10-20 | Pinto Stephen K | Predictive model generation |
-
2010
- 2010-09-30 DE DE201010037904 patent/DE102010037904B4/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050107895A1 (en) * | 2001-05-25 | 2005-05-19 | Efstratios Pistikopoulos | Process control |
US20050234688A1 (en) * | 2004-04-16 | 2005-10-20 | Pinto Stephen K | Predictive model generation |
Non-Patent Citations (2)
Title |
---|
Oliveri, A.; Poggi, T.; Storace, M.: Circuit implementation of piecewise-affine functions based on a binary search tree. In: Circuit Theory and Design, 2009. ECCTD 2009. European Conference on, 23-27 Aug. 2009, pp.145-148. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=5274957&isnumber=5274921 [abgerufen am 09.08.2011] * |
Tondel, P.; Johansen, T.A.; Bemporad, A.: Computation and approximation of piecewise affine control laws via binary search trees. In: Decision and Control, 2002, Proceedings of the 41st IEEE Conference on, vol.3, 10-13 Dec. 2002, pp. 3144- 3149. http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=1184353&isnumber=26568 [abgerufen am 09.08.2011] * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103197561A (en) * | 2013-04-06 | 2013-07-10 | 西安费斯达自动化工程有限公司 | Design method for wide adaptability of aircraft horizontal aviating area controller |
CN109507882A (en) * | 2018-11-20 | 2019-03-22 | 中南大学 | A kind of fast robust forecast Control Algorithm based on RBF-ARX model |
CN109507882B (en) * | 2018-11-20 | 2021-05-07 | 中南大学 | RBF-ARX model-based rapid robust prediction control method |
Also Published As
Publication number | Publication date |
---|---|
DE102010037904B4 (en) | 2014-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10362369B3 (en) | Integrated model predictive control and optimization within a process control system | |
EP1917611A2 (en) | System for the computer-aided design of technical devices | |
DE19612016A1 (en) | Process for computer-aided geometry modeling | |
DE112013005993T5 (en) | Method, apparatus and computer readable medium for optimal determination of data subsets | |
DE102010037904B4 (en) | Fast Explicit Model Predictive Control | |
DE102014225039A1 (en) | Method and apparatus for providing sparse Gaussian process models for calculation in an engine control unit | |
DE102013227183A1 (en) | Method and apparatus for providing a sparse Gaussian process model for calculation in an engine control unit | |
EP3418924A1 (en) | Computer-implemented method for simulation of an entire electronic circuit | |
DE112019001959T5 (en) | SEGMENTING IRREGULAR SHAPES IN PICTURES USING DEEP AREA GROWTH | |
DE10023377C2 (en) | Method for increasing the performance of a computer device in finite element simulations and such a computer device | |
EP0571779B1 (en) | Adaptive computersystem | |
DE10154200C1 (en) | Random number sequence generation method for simulation of noise using computer program product and computer program | |
EP0932857B1 (en) | Method for modelling and controlling a first order dynamic system with non-linear properties | |
EP2924585A1 (en) | Method for compressing observations of a plurality of test procedures | |
Peter | Random Graph Models for Complex Systems | |
DE102014208379A1 (en) | Method and device for determining a function value of a data-based function model inverted relative to an input variable | |
DE112020007092B4 (en) | ANONYMIZATION DEVICE, ANONYMIZATION METHOD AND ANONYMIZATION PROGRAM | |
DE102007033019B4 (en) | Methods and data processing systems for computerized reasoning | |
DE102022131760A1 (en) | MODEL GENERATION METHOD, MODEL GENERATION PROGRAM, MODEL GENERATION DEVICE AND DATA PROCESSING DEVICE | |
DE10064688A1 (en) | Method for the needs-based generation of individual random numbers of a sequence of random numbers of a 1 / f noise | |
EP3945487A1 (en) | Method, device and computer program product for generating a product-specific data set | |
Hamacher et al. | The Simplex Method | |
DE102016115331A1 (en) | Method and device for determining a model of a technical system | |
EP3764298A1 (en) | Method for configuring changes of a production plant and / or a product and method for producing a product, and configuration device and system | |
DE102016216943A1 (en) | Method and device for creating a data-based function model for calculation in a model calculation device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
R163 | Identified publications notified | ||
R012 | Request for examination validly filed | ||
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: 20141024 |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |