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 PDF

Info

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
Application number
DE201010037904
Other languages
German (de)
Other versions
DE102010037904B4 (en
Inventor
Prof. Dr.-Ing. Mönnigmann Martin
Dipl.-Inform. Kastsian Martin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruhr Universitaet Bochum
Original Assignee
Ruhr Universitaet Bochum
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ruhr Universitaet Bochum filed Critical Ruhr Universitaet Bochum
Priority to DE201010037904 priority Critical patent/DE102010037904B4/en
Publication of DE102010037904A1 publication Critical patent/DE102010037904A1/en
Application granted granted Critical
Publication of DE102010037904B4 publication Critical patent/DE102010037904B4/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B13/00Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
    • G05B13/02Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
    • G05B13/04Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators
    • G05B13/048Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric involving the use of models or simulators using a predictor

Abstract

The method involves defining a control law on polyhedrons (16) in bits and pieces, where the polyhedrons are described by two hyper planes (12). The hyper planes are arranged in a binary tree (14) to allow evaluation of the law, where each hyper plane represents an inner node in the binary tree that ends in a finite non-empty polyhedron. The polyhedron is an external node of the binary tree. The two hyper planes are combined into an inner multi-face node that forms an inner node of a transformed tree, where the transformed tree has reduced height with respect to the binary tree. An independent claim is also included for a device comprising an adder unit.

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 claim 1. Furthermore, the invention relates to a device on which the control method is operated, according to the preamble of claim 8.

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

Figure 00020001
mit Anfangswerten
Figure 00020002
betrachtet, wobei die Grenzen ymin ≤ y(t) ≤ ymax, umin ≤ u(t) ≤ umax Gleichung (2) für t ≥ 0 eingehalten werden müssen und eine typische Regelungsaufgabe darin besteht, den technischen Prozess im Zustand, der x = 0 entspricht, zu stabilisieren. In Gleichung (1) sind
Figure 00020003
Zustandsgrößen, Eingangs- und Ausgangsgrößen und die Matrizen
Figure 00020004
beschreiben den zu regelnden technischen Prozess. Der hohe Aufwand eines Regelungsverfahrens der MPC fällt an, weil zu jedem Abtastzeitpunkt t ein Optimierungsproblem gelöst werden muss. Ein typischer Vertreter eines solchen Optimierungsproblems ist ein beschränktes quadratisches Problem der Form
Figure 00020005
Figure 00030001
mit U = {Ut|t,..., ut+N–1|t) und Gewichtungsmatrix R. Weiterhin bezeichnet xt+k|t den prädizierten Zustandsvektor, hy, hu ≤ hy, und hc < hy – 1 bezeichnen den Ausgangs-, Eingangs- und Beschränkungshorizont und die Matrix
Figure 00030002
beschreibt die Rückkopplung für Zeitpunkte jenseits des Eingangshorizonts.Regulations of technical processes based on state space models of the technical process are state of the art in many industrial applications. Some of these regulations require a high amount of computation during the operation of the technical system. This class of control methods includes the model predictive control (MPC), in which a high computational effort is incurred during operation, because in order to determine control and control variables in each time step with the state space model, an optimization problem must be solved. For better illustration, a time-discrete linear time-invariant system of the form
Figure 00020001
with initial values
Figure 00020002
considering the limits y min ≦ y (t) ≦ y max , u min ≦ u (t) ≦ u max Equation (2) for t ≥ 0 and a typical control task is to stabilize the technical process in the state corresponding to x = 0. In equation (1) are
Figure 00020003
State variables, input and output variables and the matrices
Figure 00020004
describe the technical process to be regulated. The high cost of a control method of the MPC is due, because at each sampling time t an optimization problem must be solved. A typical representative of such an optimization problem is a limited quadratic problem of the shape
Figure 00020005
Figure 00030001
with U = {U t | t , ..., u t + N-1 | t ) and weighting matrix R. Furthermore, x t + k | t denotes the predicted state vector, h y , h u ≦ h y , and h c <h y -1 denote the output, input and restriction horizons and the matrix
Figure 00030002
describes the feedback for times beyond the input horizon.

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

Figure 00040001
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 hi(x) = a T / i x + bi, Gleichung (6) mit
Figure 00040002
werden im Folgenden Hyperebenengleichungen oder kurz Hyperebenen genannt, weil hi(x) = 0 eine Hyperebene definiert. Die Zahl der Hyperebenen, die zur Beschreibung der np Polyeder benötigt werden, wird mit nh bezeichnet. Dasselbe Regelgesetz u(x), das sich durch wiederholtes Lösen des oben beschriebenen QP punktweise in x ergibt, kann mit Hilfe der Verfahren der EMPC durch eine explizite stückweise affine Gleichung der Form
Figure 00040003
dargestellt werden, wobei
Figure 00040004
ist. Regelgesetze dieser Form werden im Folgenden als stückweise affine Regelgesetze bezeichnet.It can be shown that the solution of the QP can be represented in the following structure. There are a finite number of n p of polyhedra P i of the form
Figure 00040001
wherein a finite number of at least n x + 1 inequalities for each polyhedron P i appears and wherein the number is dependent on i. Equations of form h i (x) = a T / ix + b i , equation (6) With
Figure 00040002
are called hyperebenes equations, or hyperplanes for short, because h i (x) = 0 defines a hyperplane. The number of hyperplanes needed to describe the n p polyhedra is called n h . The same law of control u (x), which is obtained by repeatedly solving the above-described QP point by point in x, can be determined by the methods of EMPC by an explicit piecewise affine equation of the form
Figure 00040003
be represented, wherein
Figure 00040004
is. Rules of this form are referred to below as piecewise affine rules.

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

Figure 00050001
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
Figure 00050001

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 Abbildung

Figure 00050002
definiert, wobei
Figure 00050003
ist. Dann ist x ∈ Pj, genau dann wenn
Figure 00050004
für alle j ∈ I – / i ∪ I + / i ist.This presentation suggests evaluating each hyperplane only once for a given x and recording the sign of the result to store information about where x is located relative to each hyperplane. For this purpose, for a given binary tree T is an illustration
Figure 00050002
defined, where
Figure 00050003
is. Then x ∈ P j , if and only if
Figure 00050004
for all j ∈ I - / i ∪ I + / i is.

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 claim 1 and an apparatus with the features of claim 8 is proposed, in particular with the features of the respective characterizing part. In the dependent claims preferred developments of the invention are listed.

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 conditions 1. It should also be noted that the condition of leftwardness is introduced for convenience only. For each height-balanced binary tree T that satisfies condition 1, there is a height-balanced left-oriented binary tree T ~ that is equivalent to T. T ~ can be obtained from T by taking advantage of the fact that multiplying a hyperplane by -1 while simultaneously swapping the left and right sub-tree at the node to which the hyperplane is associated leaves the control law representing the binary tree unchanged.

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

Figure 00090001
gilt. Darin bezeichnet floor(x) für jedes
Figure 00090002
die größte ganze Zahl, die nicht größer als x ist.Theorem 1: Let T be an arbitrary binary tree satisfying condition 1. Let the internal height and the number of internal nodes of T be denoted by h int and N int . Then there exists a T-equivalent M-tree T M of order m and the height h M , where
Figure 00090001
applies. It denotes floor (x) for each
Figure 00090002
the largest integer not larger than x.

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 Theorem 1

Lemma 1 und 2 fassen grundlegende Ergebnisse zusammen.Lemma 1 and 2 summarize basic results.

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

Figure 00100001
Figure 00100002
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
Figure 00100001
Figure 00100002

Lemma 2:Lemma 2:

Sei T ein binärer Baum der Höhe h mit N Knoten. Dann gilt h ≥ log2(N + 1) – 1 ≥ floor(log2(N + 1)) – 1. Gleichung (12) Let T be a binary tree of height h with N nodes. Then applies h ≥ log 2 (N + 1) - 1 ≥ floor (log 2 (N + 1)) - 1. Equation (12)

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 h ≥ log2(N + 1) – 1 Gleichung (13). Proof: T can contain at most as many nodes as a perfect tree of height h. With N perfect = 2 h + 1 - 1 from Lemma 1, N ≤ 2 h + 1 - 1 or equivalent h ≥ log 2 (N + 1) - 1 equation (13).

Weiterhin gilt, log2(N + 1) ≥ floor(log2(N + 1)) Gleichung (14) denn es gilt floor(x) ≤ x für alle

Figure 00100003
Aus Gleichungen (13) und (14) folgt das gewünschte Ergebnis.Furthermore, log 2 (N + 1) ≥ floor (log 2 (N + 1)) Equation (14) because we have floor (x) ≤ x for all
Figure 00100003
From equations (13) and (14), the desired result follows.

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 algorithm 1 constructs m nodes of a binary tree into a sub-tree S together, with which an m-node of an M-tree is subsequently formed.

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 conditions 1. Let m be a positive natural number. The following steps provide a subtree S of T and a list of nodes (λ 1 .... λ k).

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

Figure 00110001
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,
Figure 00110001
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.Algorithm 1 results in a subtree that is summarized in a new type of node defined as follows.

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 Algorithm 1. The tree S that results from applying Algorithm 1 is called the m-sub-tree. The m-nary node, which contains the internal nodes of S and whose outgoing edges lead into the external nodes of S, is called m-node.

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 theorem 1, a lower bound to the height of the sub-tree of T, which has been converted to an m-node, is needed. Lemma 3 summarizes the statement you are looking for.

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 algorithm 1 to a binary tree T satisfying condition 1. Let S be the m-sub-tree belonging to the considered m-node and denote h S the internal height of S.

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 conditions 1, so that Algorithm 1 results in an m-sub tree S with an external node at a height l <h S in S, which is an internal node of T. Let this node be denoted by ν.

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 Algorithm 1 has not yet ended when this traversal had completely grasped the lth level of T and was going to the (l + 1) th level switch. Since ν, by assumption, belongs to the lth level, Algorithm 1 has detected ν. This is in contradiction to the assumption that ν does not belong to S. Therefore, the assumption is wrong and the claim holds.

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 condition 1.

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.
Algorithm 2: Let T be a binary tree satisfying condition 1. Let m be a positive natural number. The following steps result in an M-tree called T M.
  • 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 Theorem 1.

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 conditions 1. Let m be a positive natural number. Let T M be the M-tree resulting from applying Algorithm 2 to T. Then every non-terminating m-node of T M is full.

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 Definition 1 contains at least one node of T, S contains a number of N S ≥ N ν + 1 internal nodes of T. In the application of Algorithm 1 to S, one therefore obtains an m-node ν ', the same root node as ν has, but N ν '> N ν internal nodes. It follows, however, that ν can not be the result of Algorithm 1 and therefore does not correspond to Definition 1 of an m-node. This shows that no non-terminating m-node can exist that is not full.

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 Theorem 1, a lower limit is needed for the height of the m sub-tree of a full m-node. This limit is shown in Lemma 5.

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äß l ≥ floor(log2(m + 1)) Gleichung (15) beschränkt.Let T be a binary tree that satisfies conditions 1. Let μ be a non-terminating m-node with the corresponding m-sub-tree S, where μ and S result from the application of Algorithm 2 to T. Let p be a path from the root node of S to any external node of S which is an internal node of T. Then the length l is equal to p l ≥ floor (log 2 (m + 1)) Equation (15) limited.

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

Figure 00140001
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, folgt
Figure 00150001
Weiterhin 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
Figure 00140001
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
Figure 00150001
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 jedes

Figure 00150002
für das ein
Figure 00150003
existiert, sodassCase (ii): In preparation, it is stated that for each
Figure 00150002
for the one
Figure 00150003
exists, so

Figure 00150003
Figure 00150003

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 gilt

Figure 00150004
oder ä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
Figure 00150004
or equivalent

Figure 00150005
Figure 00150005

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 ein

Figure 00150006
sodass 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
Figure 00150006
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 floor(log2(m + 1)) = hS Gleichung (19) mit Gleichung (17). Da S vollständig aber nicht perfekt ist, existiert wenigstens ein externer Knoten auf der Ebene hS, aber es existieren keine externen Knoten auf einer Ebene mit einer Tiefe d < hS. Deshalb hat jeder Pfad vom Wurzelknoten von S zu einem beliebigen externen Knoten von S mindestens die Länge hS, was zusammen mit Gleichung (19) die gesuchte Aussage ergibt.From this relationship between m and m 'follows (m + 1) = (m' + 1) + t, 1 ≤ t ≤ 2 hS - 1 or equivalently (m + 1) ∈ [2 hS + 1,2 hS + 1 - 1]. Since the interval [2 hs , 2 hS + 1 - 1] is contained in the above interval, the result is floor (log 2 (m + 1)) = h S Equation (19) with equation (17). Since S is complete but not perfect, at least one external node exists at the level h S , but there are no external nodes on a plane with a depth d <h S. Therefore, every path from the root node of S to any external node of S has at least the length h S , which together with equation (19) gives the sought statement.

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 hS ≥ h'S Gleichung (20). Case (iii): It is assumed that S is not complete. Let μ 'be such an m-node of the same order m as μ that the m-sub-tree S' belonging to μ 'is complete. S 'can be perfect or not perfect. Two cases are considered: (iii.a) and (iii.b). In case (iii.a), it is assumed that S 'is complete but not perfect. Since S 'is complete but S is not complete, holds h S ≥ h ' S equation (20).

Da μ' ein vollständiger aber kein perfekter Baum ist, kann Fall (ii) angewendet werden. Da μ' nach Annahme von der Ordnung m ist, gilt floor(log2(m + 1)) = h'S Gleichung (21) entsprechend zu Gleichung (19) von Fall (ii). Weiterhin gilt nach Lemma 3, dass sich jeder externe Knoten von S, der ein interner Knoten von T ist, auf der Ebene hS oder hS + 1 befindet. Daher gilt l ≥ hS Gleichung (22) für die Länge des Pfades vom Wurzelknoten von S zu jedem beliebigen Knoten, der ein interner Knoten von T ist. Gleichung (20), (21) und (22) ergeben zusammen l ≥ hS ≥ h'S = floor(log2(m + 1)), was das gesuchte Ergebnis im Fall (iii.a) beweist.Since μ 'is a complete but not a perfect tree, case (ii) can be applied. Since μ 'is supposed to be of order m, then floor (log 2 (m + 1)) = h ' S equation (21) corresponding to equation (19) of case (ii). Furthermore, according to Lemma 3, every external node of S which is an internal node of T is at the level h S or h S + 1. Therefore, applies l ≥ h S equation (22) for the length of the path from the root node of S to any node that is an internal node of T. Equations (20), (21) and (22) together give l ≥h S ≥ h ' S = floor (log 2 (m + 1)), proving the result sought in case (iii.a).

Im Fall (iii.b) wird angenommen, dass S' perfekt ist. Dann gilt hS ≥ h'S + 1. Gleichung (23) Weiterhin gilt l' = hS' + 1, da S' perfekt ist und da l ≥ hS wie im vorherigen Fall ist, ergibt sich l ≥ hS ≥ hS' + 1 = l', was den Beweis für den Fall (iii.b) abschließt.In case (iii.b), it is assumed that S 'is perfect. Then applies h S ≥ h ' S + 1. Equation (23) Further, l '= h S ' + 1, since S 'is perfect and since l ≥ h S as in the previous case, l ≥h S ≥h S ' + 1 = l ', which is the proof for the case (iii.b) completes.

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 Lemma 5, all preparations for the proof of Proposition 1 are made.

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 lp = lq1 + ... + lqk + lqk+1 Gleichung (24) Weiterhin gilt gemäß Lemma 5 lqi ≥ floor(log2(m + 1)) für alle i = 1, ..., k, Gleichung (25) da die qi, i = 1, ..., k nichtabschließende m-Knoten sind. Die Gleichungen (24) und (25) ergeben lp ≥ k(floor(log2(m + 1))) + lqk+1, woraus folgt

Figure 00170001
wobei die zweite Ungleichung gilt, weil wie oben erläutert lqk+1 – 1 ≥ 0 ist. Die Länge lp des Pfades p ist nach oben durch die interne Höhe hint von T beschränkt. Dies beinhaltet, dass lp – 1 ≤ hint – 1 < hint. Durch Substituieren in Gleichung (26) und Addition von 1 auf beiden Seiten ergibt sich
Figure 00180001
Proof of Theorem 1: Algorithm 2 recursively replaces subtrees of the binary tree T by m-nodes that summarize subtrees of T. The recursion in Algorithm 2 is performed for all subtrees until an m-node terminates in an external node that is an external node of a binary tree T (see Step 3.2 of Algorithm 2). It follows that, for a path p through T from its root node to any of its external nodes, a sequence q = (q 1 , ..., q k , q k + i ) of m nodes of T M exists, that of p is going through. According to Definition 3, the m-nodes q 1 ,..., Q k are non-terminating nodes, since each of these nodes has at least one child, which itself is an m-node. It follows from Lemma 4 that the nodes q 1 , ..., q k are full nodes. The node q k + 1 may be a terminating or non-terminating node. Therefore, the node q k + 1 may be full or not full. In both cases, the m-node q k + 1 contains at least one internal node of T according to definition 1. It should be noted that q has the length k + 1. The numbering is chosen so that the nodes are full up to index k. Let the length of the subpath of p, which lies in q i be denoted by l qi . Let l p be the number of internal nodes of T that are traversed along path p. Then applies l p = 1 q1 + ... + 1 qk + 1 qk + 1 Equation (24) Furthermore, according to Lemma 5 l qi ≥ floor (log 2 (m + 1)) for all i = 1, ..., k, equation (25) since the q i , i = 1, ..., k are non-terminating m-nodes. Equations (24) and (25) give l p ≥ k (floor (log 2 (m + 1))) + 1 qk + 1 , from which follows
Figure 00170001
wherein the second inequality is true because, as explained above qk + 1 - 1 ≥ 0. The length l p of the path p is limited upwards by the internal height h int of T. This implies that 1 p - 1 ≤ h int - 1 <h int . Substituting in equation (26) and adding 1 on both sides gives
Figure 00180001

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

Figure 00180002
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
Figure 00180002

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 satisfying condition 1 represents a polyhedron of affine law of law of the form (7), which may be, in particular, an EMPC law of control.

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

Figure 00180003
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 satisfying conditions 1 with N int internal nodes n 1 , ..., N Nint with corresponding hyperplanes h 1 , ..., h Nint of the form (6). Let S be an m sub-tree that is T by applying Algorithm 2
Figure 00180003
m ≥ 1 results. Without limitation n i1, let be the root of S. Let λ 1 , ..., λ m + 1 be the external nodes of S resulting from Algorithm 1.

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

Figure 00190001
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
Figure 00190001
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, sodass

Figure 00190002
für alle l = 1, ..., m' gilt. Die Abbildung σ'S(k) sei durch ihre m' Komponenten
Figure 00190003
m' 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
Figure 00190002
for all l = 1, ..., m 'holds. The mapping σ ' S (k) is given by its m' components
Figure 00190003
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

Figure 00190004
wobei j = 1, ..., m ist. In Analogie zu σ'S wird π'S durch die Komponenten
Figure 00190005
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
Figure 00190006
oder äquivalent für alle l = 1, ..., m' gilt σ'S,l(k) = π'S,l(x). Gleichung (31) As discussed in the Background section, the search on the binary tree T can be represented by π T (x) for each binary tree T satisfying the conditions 1. For the sub-tree S from Definition 4, the mapping π S (x) is defined by
Figure 00190004
where j = 1, ..., m. In analogy to σ 'S is π' S by the components
Figure 00190005
Are defined. The search for the control law valid for a given state x of the technical system results in the node λ k , if and only if for all j = 1, ..., m with σ S, j (k) ≠ - 1 holds
Figure 00190006
or equivalently for all l = 1, ..., m 'holds σ ' S, l (k) = π' S, l (x). Equation (31)

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 Hyperebenengleichungen

Figure 00200001
ausgewertet 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
Figure 00200001
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 Knoten

Figure 00200002
den zugehörigen Hyperebenen
Figure 00200003
den 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.
Algorithm 3: Let S be an m sub-tree with the nodes
Figure 00200002
the associated hyperplanes
Figure 00200003
the external node λ k , k = 1, ..., (m + 1) and the mapping σ S according to definition 4. Let x be the current state of the technical system to be controlled. The following algorithm results in an external node λ k of S, so that the polyhedron associated with this node contains x.
  • 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 Zahlen

Figure 00210001
durch wenigstens zwei Multipliziereinheiten simultan bzw. nebenläufig evaluierbar sind, wobei die Produkte
Figure 00210002
mit wenigstens einer Addierereinheit in einem ersten Schaltungsblock zu einer Summe
Figure 00210003
aufsummierbar ist und anschließend die Summe
Figure 00210004
mit in einer Größe
Figure 00210005
in 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
Figure 00210001
can be simultaneously or concurrently evaluated by at least two multiplier units, the products
Figure 00210002
with at least one adder unit in a first circuit block to a sum
Figure 00210003
is summable and then the sum
Figure 00210004
with in one size
Figure 00210005
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:

1 eine schematische Ansicht einer rechteckigen Zustandsraumregion mit np = 8 Polyedern, 1 a schematic view of a rectangular state space region with n p = 8 polyhedra,

2 eine schematische Ansicht eines binären Baumes bezogen auf 1, 2 a schematic view of a binary tree based on 1 .

3 eine schematische Ansicht eines höhenbalancierten binären Baumes mit einem m-Knoten der Ordnung m = 7, 3 a schematic view of a height-balanced binary tree with an m-node of order m = 7,

4 eine schematische Ansicht eines M-Baumes mit m-Knoten der Ordnung m = 4, 4 a schematic view of an M-tree with m-node of order m = 4,

5 eine schematische Ansicht der Schaltung zur nebenläufigen Evaluierung eines Skalarproduktes mit n Multiplikationen, 5 a schematic view of the circuit for the concurrent evaluation of a scalar product with n multiplications,

6 eine schematische Ansicht von 5 in einer kompakten Darstellung, 6 a schematic view of 5 in a compact presentation,

7 eine schematische Ansicht eines Vergleichsblocks, der zur Berechnung von πS,j(x), 7 3 is a schematic view of a comparison block which is used to calculate π S, j (x),

8 eine schematische Ansicht zur Berechnung von πS,j, 8th a schematic view for the calculation of π S, j ,

9 eine schematische Ansicht einer nebenläufigen Evaluierung von πS,j, 9 a schematic view of a concurrent evaluation of π S, j ,

10 eine vereinfachte Notation von 9, 10 a simplified notation of 9 .

11 eine schematische Ansicht eines Vergleichsblocks, 11 a schematic view of a comparison block,

12 eine schematische Ansicht eines Vergleichsblocks mit m + 1 nebenläufigen Schaltungen, 12 a schematic view of a comparison block with m + 1 concurrent circuits,

13 eine vereinfachte Notation von 12, 13 a simplified notation of 12 .

14 eine schematische Ansicht einer Schaltung mit nx + 1 Multiplikatoren, 14 a schematic view of a circuit with n x + 1 multipliers,

15 eine vereinfachte Notation von 14 15 a simplified notation of 14

16 eine schematische Ansicht einer Schaltung zur Berechnung von u(x), 16 a schematic view of a circuit for calculating u (x),

17 eine vereinfachte Notation von 16, 17 a simplified notation of 16 .

18 eine schematische Ansicht der Schritte einer automatischen Hardware-Design-Synthese, 18 a schematic view of the steps of an automatic hardware design synthesis,

19 eine schematische Ansicht eines binären Baumes und 19 a schematic view of a binary tree and

20 eine schematische Ansicht des M-Baumes, der sich für m = 2 aus dem in 19 gezeigten binären Baum ergibt. 20 a schematic view of the M-tree, which stands for m = 2 from the in 19 shown binary tree yields.

In der 1 ist ein Beispiel einer Unterteilung einer rechteckigen Zustandsraumregion in np = 8 Polyeder P1, ..., P8 dargestellt. Dazu wird ein binärer Baum 14 aufgespannt. In diesem binären Baum 14 stellt dabei jeder interne Knoten des binären Baums eine Hyperebene 12 hi(x) dar, und jeder externe Knoten entspricht einem Polyeder 16 Pi. Dabei kann die Suche nach einem Polyeder 16 Pi, in dem der aktuelle Zustand x des zu regelnden Prozesses liegt, als eine Suche innerhalb des binären Baumes 14 durchgeführt werden. Dabei wird angefangen mit dem Wurzelknoten in jedem internen Knoten des binären Baumes 14 in den linken Kindknoten verzweigt, wenn hj(x) ≤ 0 für die Hyperebene 12 hj ist, die mit diesen Knoten korrespondiert und es wird in den rechten Kindknoten verzweigt, wenn hj(x) > 0 ist. Dabei kann der binären Baum 14 mit bekannten Verfahren aus einem affinen Regelgesetz der Form (7) abgeleitet werden. Dieses Verfahren kann in einem höhenbalancierten binären Baum 14 resultieren, falls solch ein Baum existiert.In the 1 Fig. 12 shows an example of a subdivision of a rectangular state space region into n p = 8 polyhedra P 1 , ..., P 8 . This is a binary tree 14 clamped. In this binary tree 14 Each internal node of the binary tree represents a hyperplane 12 h i (x), and each external node corresponds to a polyhedron 16 P i . In doing so, the search for a polyhedron 16 P i , in which the current state x of the process to be controlled is located, as a search within the binary tree 14 be performed. It starts with the root node in each internal node of the binary tree 14 branched into the left child node when h j (x) ≤ 0 for the hyperplane 12 h j , which corresponds to these nodes and branches to the right child node if h j (x)> 0. It can be the binary tree 14 be derived from an affine control law of the form (7) with known methods. This procedure can be done in a height-balanced binary tree 14 result if such a tree exists.

In der 2 ist der binäre Baum 14 aus 1 dargestellt, wobei jeder interne Knoten durch einen gefüllten Kreis repräsentiert wird, dem eine Hyperebene 12 hi(x) zugeordnet wird und jeder externe Knoten durch einen offenen Kreis dargestellt wird, der einen Polyeder 16 repräsentiert.In the 2 is the binary tree 14 out 1 Each internal node is represented by a filled circle, which is a hyperplane 12 h i (x) is assigned and each external node is represented by an open circle which is a polyhedron 16 represents.

In der 3 ist ein Beispiel zur Bildung eines m-Knotens dargestellt. 3a zeigt ein Beispiel für einen linkorientierten höhenbalancierten binärem Baum 14. In 3b werden m = 7 interne Knoten des binären Baumes 14 in einen Unterbaum zusammengefasst. Die internen Knoten werden nach einem an die Breitensuche angelehnten Verfahren, wie in Definition 1 erläutert, ausgewählt. Die 3c und 3d zeigen wie ein Unterbaum zu einem m-Knoten 18 zusammengefasst wird. Es wird dabei darauf hingewiesen, dass ein m-Knoten bzw. ein m-Unterbaum eines höhenbalancierten linksorientierten binären Baumes 14 nicht am Wurzelknoten des binären Baumes beginnen muss. Weil jeder Unterbaum des höhenbalancierten linksorientierten binären Baumes 14 selber ein höhenorientierter linksorientierter binärer Baum 14 ist, kann der Algorithmus 1 auf jeden Unterbaum des binären Baumes angewendet werden, der an einem internen Knoten entspringt.In the 3 an example for the formation of an m-node is shown. 3a shows an example of a left-oriented height-balanced binary tree 14 , In 3b become m = 7 internal nodes of the binary tree 14 summarized in a subtree. The internal nodes are selected according to a breadth-first search method as explained in Definition 1. The 3c and 3d show like a subtree to an m-node 18 is summarized. It is pointed out that an m-node or an m-sub-tree of a height-balanced left-oriented binary tree 14 does not have to start at the root node of the binary tree. Because every sub-tree of the height-balanced left-oriented binary tree 14 itself a height-oriented left-oriented binary tree 14 algorithm 1 can be applied to any subtree of the binary tree originating at an internal node.

In der 4 ist der Algorithmus 2 und der daraus resultierende transformierte Baum 30 dargestellt. In diesem transformierten Baum 30, der aus m-Knoten 18 besteht, kann man nun zwischen abschließenden m-Knoten 18 und nichtabschließenden m-Knoten 18 des transformierten Baumes 30 unterscheiden.In the 4 is the algorithm 2 and the resulting transformed tree 30 shown. In this transformed tree 30 that's from m-node 18 exists, you can now between final m-node 18 and non-terminating m-node 18 of the transformed tree 30 differ.

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

Figure 00250001
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 step 1 of Algorithm 3, m hyperplane equations (6) must be evaluated by taking an equation of the form for each hyperplane
Figure 00250001
where i = 1, ..., m is evaluated. Each of the m equations (32) contains n products with two real factors and m additions of m + 1 real summands. Since the multiplications for any but fixed i are independent of each other, they can be performed simultaneously in n concurrent circuits.

In der 5 und 6 ist dargestellt, wie simultan in nebenläufigen Schaltungen Multiplikationen durchgeführt werden können. So können z. B. die MULI-Schalteinheiten 40, wie in 5 dargestellt, mit 18 bit Integer Multiplikatoren implementiert werden, welche auf typischen Vertretern des Typs FPGA einer arithmetisch-logischen Einheit vorhanden sind. In 6 ist eine kompakte Darstellung eines ersten Schaltungsblockes 44 der 5 dargestellt. Alternativ können die Multiplikatoren mit configurable logic blocks (CLBs) und look up tables (LUTs) implementiert werden, die auf typischen FPGA vorhanden sind. Reelle Zahlen können dabei z. B. durch Festkommazahlen in Zweierkomplementdarstellung dargestellt werden. Wenn die Ausdrücke

Figure 00250002
mit der in der 5 beschriebenen Schaltung ermittelt worden sind, kann die Variable Π aus Schritt 1 des Algorithmus 3 ermittelt werden.In the 5 and 6 It is shown how simultaneous multiplications can be performed in concurrent circuits. So z. B. the MULI switching units 40 , as in 5 shown, implemented with 18-bit integer multipliers, which are present on typical representatives of the FPGA type of an arithmetic logic unit. In 6 is a compact representation of a first circuit block 44 of the 5 shown. Alternatively, the multipliers may be implemented with configurable logic blocks (CLBs) and look up tables (LUTs) present on typical FPGAs. Real numbers can be z. B. be represented by fixed point numbers in two's complement. If the expressions
Figure 00250002
with the in the 5 can be determined, the variable Π from step 1 of the algorithm 3 can be determined.

In der 7 ist ein zweiter Schaltungsblock 46 zum Vergleich von zwei reellen Zahlen des Typs kleiner-oder-gleich dargestellt. Die Kombination des Vergleichsblocks mit der Schaltung aus 6 resultiert in einen dritten Schaltungsblock 48, wie in 8 dargestellt, welche πS,ij, wie in Schritt 1 von Algorithmus 3 definiert, zur Verfügung stellt. Schließlich können m Blöcke des Typs, wie in 8 dargestellt, simultan ausgeführt werden, um

Figure 00260001
wie in Schritt 1 des Algorithmus 3 definiert, zu erhalten. Dies wird in 9 gezeigt. Eine kompakte Darstellung der gleichen Schaltung ist in 10 dargestellt. Es sei darauf hingewiesen, dass diese Schaltung die nebenläufige Evaluierung von m·n Multiplikationen von zwei Festkommazahlen beinhaltet, da m Blöcke
Figure 00260002
wie in 9 dargestellt, existieren und jeder dieser Blöcke eine dieser Schaltungen mit n MULT Blöcke 40 beinhaltet, wie in 5 dargestellt.In the 7 is a second circuit block 46 to compare two real numbers of the type smaller-or-equal. The combination of the comparison block with the circuit 6 results in a third circuit block 48 , as in 8th which provides π S, ij as defined in step 1 of Algorithm 3. Finally, m blocks of the type as in 8th shown to be executed simultaneously
Figure 00260001
as defined in step 1 of algorithm 3. This will be in 9 shown. A compact representation of the same circuit is in 10 shown. It should be noted that this circuit involves the concurrent evaluation of m * n multiplications of two fixed-point numbers, since m blocks
Figure 00260002
as in 9 , and each of these blocks is one of these circuits with n MULT blocks 40 includes, as in 5 shown.

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 11 beschrieben. Da σS, wie in Definition 4 definiert, nicht abhängig von x ist, kann σS wie bereits beschrieben vorab, also vor der Inbetriebnahme des Regelungsverfahrens berechnet werden. Da insbesondere die Elemente von σS,1(k), ..., σS,m(k) für σS,l(k) = – 1 vorab bestimmt werden können, kann die Abbildung σ'S, wie in Definition 5 definiert, vor der Inbetriebnahme des Regelungsverfahrens ermittelt werden. Dies wird in 11 illustriert, wobei σS(k) und πS(x) in den Schaltungsblock 54 einfließen kann und die Operation innerhalb des Blocks mit σ'S(k) und π'S(x) ausgeführt werden kann. Die logische Operation, wie sie in 11 ausgeführt wird, ist bitweise zu verstehen. Die externen Knoten λk des m-Unterbaumes S werden durch die nebenläufigen Vergleiche, wie in 12 dargestellt, ausgewählt, wenn βk = 1 ist. Wenn mehr als ein solches k existiert, ist jeder resultierende Wert ein gültiges Ergebnis.For an arbitrary but fixed value k ∈ {1, ..., m + 1}, the steps 2.1 to 2.3 of the algorithm 3 can be implemented as in 11 described. Since σ S , as defined in Definition 4, is not dependent on x, σ S can be calculated in advance as described above, ie before the startup of the control process. In particular, since the elements of σ S, 1 (k), ..., σ S, m (k) can be determined in advance for σ S, l (k) = - 1, the map σ ' S , as in Definition 5 defined before commissioning of the regulatory procedure. This will be in 11 illustrated, where σ S (k) and π S (x) in the circuit block 54 can flow and the operation within the block with σ 'S (k) and π' S (x) can be performed. The logical operation, as in 11 is executed, is to understand bitwise. The external nodes λ k of the m sub-tree S are identified by the concurrent comparisons as in FIG 12 shown selected when β k = 1. If more than one such k exists, each resulting value is a valid result.

12 zeigt wie m + 1 Blöcke des Typs, wie in 11 dargestellt, nebenläufig ausgeführt werden können. Dies entspricht der Ausführung der Schritte 2.1 bis 2.3 des Algorithmus 3 für alle k = 1, ..., m + 1. 13 zeigt eine Kurznotation für den Schaltungsblock 58 von 12. Der Knoten λk, welcher von den beschriebenen Schritten her resultiert, entspricht entweder einem externen Knoten des binären Baums T oder einem internen Knoten. Im ersten Fall wurde ein Polyeder 16 Pi gefunden, für das x ∈ Pi gilt. In diesem Fall muss die Schaltung das Regelgesetz gemäß Gleichung (7) evaluieren, das auf Pi gültig ist. Dieser Schritt wird detailliert im Folgenden dargestellt. Für den Fall, dass λk ein interner Knoten ist, so ist dieser Knoten der Wurzelknoten m-Unterbaums bzw. m-Knotens, in dem die Suche nach dem gültigen Polyeder 16 fortgesetzt wird. 12 shows as m + 1 blocks of the type as in 11 shown, can be executed concurrently. This corresponds to the execution of steps 2.1 to 2.3 of algorithm 3 for all k = 1,..., M + 1. 13 shows a short notation for the circuit block 58 from 12 , The node λ k resulting from the steps described corresponds to either an external node of the binary tree T or an internal node. In the first case became a polyhedron 16 P i found applies to the x ∈ P i. In this case, the circuit must evaluate the law of control according to equation (7), which is valid on P i . This step is detailed below. In the case where λ k is an internal node, this node is the root node of m sub-tree or m-node, in which the search for the valid polyhedron 16 will continue.

Ist ein Polyeder 16 Pi gefunden worden, sodass x ∈ Pi gilt, so kann u(x) mit einer geeigneten Schaltung gemäß der Gleichung (7) ermittelt werden. Die Auswertung von Gleichung (7) erfordert wie schon die Auswertung von Gleichung (32) die Berechnung von Produkten und Summen reeller Zahlen in Festkommadarstellung. Das Regelgesetz kann daher durch eine Schaltung evaluiert werden, die ähnlich derjenigen für die Hyperebenen 12 ist. 14 zeigt einen Schaltungsblock 64, welcher n Multiplikationen von zwei reellen Zahlen in Festkommadarstellung und n Additionen von n + 1 reellen Zahlen in Festkommadarstellung durchführt. Diese Operationen ergeben eine Komponente uj(x) des gewünschten Regelgesetzes u(x). 15 zeigt die Kurznotation für die Schaltung von 14. Durch Kombination von m Schaltungen des Typs, wie in 14 und 15 gezeigt, resultiert eine Schaltung, wie in 16 gezeigt, für die Berechnung von

Figure 00270001
Eine kompakte Darstellung des calcu-Blocks ist in 16 definiert und in 17 dargestellt.Is a polyhedron 16 P i has been found such that x ∈ P i , then u (x) can be determined with a suitable circuit according to equation (7). The evaluation of equation (7), like the evaluation of equation (32), requires the calculation of products and sums of real numbers in Fixed-point representation. The law of control can therefore be evaluated by a circuit similar to that for the hyperplanes 12 is. 14 shows a circuit block 64 , which performs n multiplications of two real numbers in fixed-point representation and n additions of n + 1 real numbers in fixed-point representation. These operations yield a component u j (x) of the desired control law u (x). 15 shows the shorthand for the circuit of 14 , By combination of m circuits of the type as in 14 and 15 shown results in a circuit as in 16 shown for the calculation of
Figure 00270001
A compact representation of the calcu block is in 16 defined and in 17 shown.

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. 18 gibt dabei eine Übersicht einer automatischen Design-Prozedur, welche hier genutzt wird. Der balancierte binäre Baum, kann für den Fall eines affinen Regelgesetzes, das ein EMPC-Regelgesetzes ist, mit existierenden Werkzeugen generiert werden. Dieser Schritt entspricht dem linken Block in 18. Der zweite und dritte Block in 18 führen Manipulationen auf dem binären Baum aus, die den binären Baum in den gesuchten M-Baum umformen. Der M-Baum wird anschließend automatisch übersetzt in eine Schaltungsbeschreibung, wie im rechtsseitigen Block in 18 dargestellt. Diese Schaltungsbeschreibung kann zur Herstellung eines ASIC (application specific integrated circuit) oder zur Programmierung einer programmierbaren arithmetisch-logischen Einheit, z. B. eines PLD (programmable logic device) oder FPGA (field programmable gate array) benutzt werden. Die Programmierung einer programmierbaren arithmetisch-logischen Schaltungen kann mit existierenden kommerziellen Hardware-Entwicklungstools ausgeführt werden.The proposed circuit architecture may be suitably implemented on a programmable arithmetic logic unit. While the circuit blocks described can, in principle, be constructed by hand, automatic hardware synthesis is indispensable in order to be able to carry out the design of the device required for regulation without errors. 18 gives an overview of an automatic design procedure, which is used here. The balanced binary tree can be generated with existing tools in the case of an affine law of rules, which is an EMPC law of rules. This step corresponds to the left block in 18 , The second and third block in 18 Perform manipulations on the binary tree that transform the binary tree into the searched M-tree. The M-tree is then automatically translated into a circuit description, as in the right-hand block in 18 shown. This circuit description may be used to fabricate an ASIC (application specific integrated circuit) or to program a programmable arithmetic logic unit, e.g. As a PLD (programmable logic device) or FPGA (field programmable gate array) can be used. The programming of programmable arithmetic logic circuits can be performed with existing commercial hardware development tools.

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 5 und 14 dargestellt, genutzt werden können. Das Vertex-FPGA (Virtex XC6VSX475T Board) hat 2016 solcher Multiplikatoren. Sofern mehr nebenläufige Multiplikationen ausgeführt werden müssen als Multiplikatoren zur Verfügung stehen, können weitere Multiplikatoren aus CLBs (configurable logic blocks) und LUTs (look up tables) gebildet werden, die auf dem FPGA zur Verfügung stehen.By way of example, the method according to the invention and the device according to the invention for implementing a control law were used for a typical test case. In this case, a FPGA (field programmable gate array) is used, in this case a Vertex 6 XC6VSX475T, which is manufactured by the company Xilinx. Hardware programming is done with the Xilinx design tool ISE Webpack. Circuit designs are mapped in VHDL. An FPGA has been chosen because current FPGAs provide a large number of dedicated circuits for integer multiplication, which are efficient for performing the concurrent multiplications, as in 5 and 14 represented, can be used. The Vertex FPGA (Virtex XC6VSX475T Board) has such multipliers in 2016. If more concurrent multiplications have to be performed than multipliers are available, further multipliers can be formed from configurable logic blocks (CLBs) and look up tables (LUTs), which are available on the FPGA.

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

Figure 00280001
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 12 h1(x), ..., h13(x) der Form (6). Dieses Ergebnis kann durch einen höhenbalancierten binären Baum repräsentiert werden mit Nint = 13 internen Knoten und 14 externen Knoten, der in 19 dargestellt ist.In the following, the method according to the invention is applied to a time-invariant linear time-discrete system of the form of equation (1), the matrices to
Figure 00280001
and where n = 2, m = 1, and p = 1. The system is subject to the input constraints - 1 ≤ u (t) ≤ 1 and the MPC horizons are set to 2. The solution of the EMPC optimization problem yields n P = 7 polyhedra P 1 , ..., P 7 ), the form (5) and n h = 13 hyperplanes 12 h 1 (x), ..., h 13 (x) of the form (6). This result can be represented by a height-balanced binary tree with N int = 13 internal nodes and 14 external nodes included in 19 is shown.

Bei der Anwendung von Algorithmus 2 auf den binären Baum aus 19 für m = 2 erhält man einen m-Baum wie in 20 dargestellt. Dieser Baum und die korrespondierende Evaluierung des EMPC-Gesetzes in der Form (7) können in einer Schaltung auf einem Virtex 6 FPGA Board implementiert werden. Die resultierende Schaltung wurde erfolgreich getestet durch Berechnung des Kontrollgesetzes für zufällig gewählte Zustände x und durch Vergleich der Ergebnisse zu den Ergebnissen, die sich mit dem ursprünglichen EMPC-Regelgesetz ergeben, das zum Zwecke des Vergleichs unabhängig in einen kommerziellen Softwaretool implementiert wurde.When applying Algorithm 2 to the binary tree 19 for m = 2 you get an m-tree like in 20 shown. This tree and the corresponding evaluation of the EMPC law in the form (7) can be implemented in a circuit on a Virtex 6 FPGA board. The resulting circuit was successfully tested by computing the randomized state control law x and comparing the results to the results obtained with the original EMPC control law, which was independently implemented in a commercial software tool for purposes of comparison.

Claims (13)

Regelungsverfahren zur Steuerung eines technischen Prozesses basierend auf einem vorab definierten expliziten Steuerungsgesetz, das eine oder mehrere Steuergrößen oder Stellgrößen des technischen Prozesses als Funktion einer oder mehrerer Zustandsgrößen des technischen Prozesses beschreibt, wobei das Steuerungsgesetz auf Polyedern 16 stückweise definiert ist, wobei die Polyeder 16 durch wenigstens zwei Hyperebenen 12 beschrieben werden und sich die Hyperebenen 12 in einem binären Baum 14 anordnen lassen, der die Auswertung des Steuergesetzes erlaubt, wobei jede Hyperebene 12 einen internen Knoten in dem binären Baum 14 darstellt und der binäre Baum 14 in wenigstens einem endlichen nichtleeren Polyeder 16 endet, wobei das Polyeder 16 ein externer Knoten des binären Baumes 14 ist, dadurch gekennzeichnet, dass wenigstens zwei Hyperebenen 12 zu einem internen Mehrfachknoten 18 zusammengefasst werden, wobei jeder interne Mehrfachknoten 18 einen internen Knoten eines transformierten Baumes 30 bildet und der transformierte Baum 30 eine gegenüber dem binären Baum 14 reduzierte Höhe aufweist.A control method for controlling a technical process based on a previously defined explicit control law, which describes one or more control variables or manipulated variables of the technical process as a function of one or more state variables of the technical process, wherein the control law on polyhedra 16 piecewise defined, the polyhedra 16 through at least two hyperplanes 12 be described and the hyperebenes 12 in a binary tree 14 arrange for the evaluation of the tax law, each hyperplane 12 an internal node in the binary tree 14 represents and the binary tree 14 in at least one finite non-empty polyhedron 16 ends, where the polyhedron 16 an external node of the binary tree 14 is, characterized in that at least two hyperplanes 12 to an internal multiple node 18 be summarized, each internal multiple node 18 an internal node of a transformed tree 30 forms and the transformed tree 30 one opposite the binary tree 14 having reduced height. Regelungsverfahren nach Anspruch 1 dadurch gekennzeichet, dass der binäre Baum 14 in einen linksorientierten binären Baum 14 umgewandelt wird, wobei interne Mehrfachknoten 18 gebildet werden, indem interne Knoten 12 des binären Baums 14 einer Ebene solange zusammengefasst werden bis keine weiteren internen Knoten 12 auf derselben Ebene mehr existieren und anschließend mit dem am weitesten links liegenden internen Knotenn 12 der nächsten Ebene des binären Baums 14 fortgefahren wird.Control method according to claim 1, characterized gekennzeichet that the binary tree 14 into a left-oriented binary tree 14 is converted, with internal multiple nodes 18 be formed by internal nodes 12 of the binary tree 14 summarized at one level until no further internal nodes 12 exist at the same level and then with the leftmost internal node 12 the next level of the binary tree 14 is continued. Regelungsverfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass das vorab definierte explizite Steuerungsgesetz sich als Lösung, insbesondere explizite Lösung eines Problems einer modellprädiktiven Regelung, ergibt.Control method according to claim 1 or 2, characterized in that the previously defined explicit control law results as a solution, in particular explicit solution of a problem of a model predictive control results. Regelungsverfahren nach Anspruch 1 bis 3, dadurch gekennzeichnet, dass die Evaluierung des internen Mehrfachknotens 18 in einen seiner Dauer nach beschränktem und vorhersagbarem Zeitraum erfolgt, wobei der Zeitraum nicht vom Zustand des gesteuerten technischen Prozesses oder einem entsprechenden technischen System abhängt.Control method according to claim 1 to 3, characterized in that the evaluation of the internal multiple node 18 the period is limited and predictable, the period not depending on the state of the controlled technical process or technical system. Regelungsverfahren nach Anspruch 4, dadurch gekennzeichnet, dass der Zeitraum zur Evaluierung des internen Mehrfachknotens 18 des transformierten Baumes 30 im Bereich des Zeitraumes liegt, der für die Auswertung eines internen Knotens 12 des binären Baums 14 nötig ist.Control method according to claim 4, characterized in that the period for evaluating the internal multiple node 18 of the transformed tree 30 in the range of the period that is responsible for the evaluation of an internal node 12 of the binary tree 14 is necessary. Regelungsverfahren nach Anspruch 4 oder 5, dadurch gekennzeichnet, dass der Zeitraum zur Evaluierung eines internen Mehrfachknotens 18 unabhängig von der Anzahl der in dem internen Mehrfachknoten 18 enthaltenen Hyperebenen 12 ist.Control method according to claim 4 or 5, characterized in that the period for the evaluation of an internal multiple node 18 regardless of the number of internal multiple nodes 18 contained hyperplanes 12 is. Regelungsverfahren nach einem der vorhergehenden Ansprüche dadurch gekennzeichnet, dass die Höhe des transformierten Baumes 30 beschränkt ist und die Höhe des transformierten Baumes 30 kleiner oder gleich der Höhe des binären Baumes 14 ist.Control method according to one of the preceding claims, characterized in that the height of the transformed tree 30 is limited and the height of the transformed tree 30 less than or equal to the height of the binary tree 14 is. Vorrichtung auf dem ein Regelungsverfahren gemäß Anspruch 1 bis 7 umgesetzt wird, dadurch gekennzeichnet, dass zur Auswertung der Hyperebenen 12 Produkte reeller Zahlen
Figure 00320001
durch wenigstens zwei Multipliziereinheiten 40 simultan bzw. nebenläufig evaluierbar sind, wobei die Produkte
Figure 00320002
mit wenigstens einer Addierereinheit 42 in einem ersten Schaltungsblock 44 zu einer Summe
Figure 00320005
aufsummierbar ist und anschließend die Summe
Figure 00320003
mit in einer Größe
Figure 00320004
in einem zweiten Schaltungsblock 46 vergleichbar ist, wobei der erste Schaltungsblock 44 und der zweite Schaltungsblock 46 zu einem dritten Schaltungsblock 48 zusammenfassbar sind.
Device on which a control method according to claim 1 to 7 implemented, characterized in that for the evaluation of hyperplanes 12 Products of real numbers
Figure 00320001
by at least two multiplier units 40 can be evaluated simultaneously or concurrently, the products
Figure 00320002
with at least one adder unit 42 in a first circuit block 44 to a sum
Figure 00320005
is summable and then the sum
Figure 00320003
with in one size
Figure 00320004
in a second circuit block 46 is comparable, wherein the first circuit block 44 and the second circuit block 46 to a third circuit block 48 are summarized.
Vorrichtung gemäß Anspruch 8, dadurch gekennzeichnet, dass alle Hyperebenen 12 eines internen Mehrfachknotens 18 durch den Schaltungsblock 48 simultan auswertbar sind und anschließend in einem Schaltungsblock 52 mit einer Einheit 50 zu einem Ergebnis
Figure 00320006
zusammengefasst werden.
Device according to claim 8, characterized in that all hyperplanes 12 an internal multiple node 18 through the circuit block 48 are simultaneously evaluable and then in a circuit block 52 with one unit 50 to a result
Figure 00320006
be summarized.
Vorrichtung gemäß Anspruch 8 oder 9, dadurch gekennzeichnet, dass die Suche nach dem für einen gegebenen Zustandsvektor x gültigen Regelgesetzes ausführbar ist, indem das Ergebnis Π des Schaltungsblocks 52 durch logische Operationen mit vorab berechneten Vektoren σS(k) verglichen wird, wobei diese Vergleiche durch nebenläufige Schaltungsblöcke 54 innerhalb eines Schaltungsblocks 58 durchführbar sind, wobei durch diese Vergleiche ermittelbar ist, in welches Kind des internen Mehrfachknotens 18 innerhalb des transformierten Baumes 30 verzweigt wird, wobei das gesuchte Kind ein weiterer interner Mehrfachknoten 18 des transformierten Baumes 30 ist oder das gesuchte Kind ein externer Knoten 16 des transformierten Baumes 30 ist, der einen Polyeder repräsentiert.Device according to claim 8 or 9, characterized in that the search for the control law valid for a given state vector x is executable by the result Π of the circuit block 52 is compared by logical operations with pre-calculated vectors σ S (k), these comparisons being made by concurrent circuit blocks 54 within a circuit block 58 are feasible, which can be determined by these comparisons, in which child of the internal multiple node 18 within the transformed tree 30 is branched, wherein the child searched for another internal multiple node 18 of the transformed tree 30 or the child you are looking for is an external node 16 of the transformed tree 30 is that represents a polyhedron. Vorrichtung gemäß einem der Ansprüche 8 bis 10, dadurch gekennzeichnet, dass entsprechend zur Auswertung einer Hyperebene 12 die Produkte des affinen Regelgesetzes, die auf den Polyeder 16 gelten, durch nebenläufige Multipliziereinheiten 60 simultan lösbar sind und anschließend in einer oder mehreren Addierereinheiten 62 in einem Schaltungsblock 64 zu einer der nu Komponenten ui(x) eines Regelgesetzes u(x) aufaddierbar sind, wobei diese Komponenten anschließend in einem Schaltungsblock 68 mit der Einheit 66 zum Regelgesetz u(x) zusammenfügbar sind.Device according to one of claims 8 to 10, characterized in that corresponding to the evaluation of a hyperplane 12 the products of the affine rule of law, which on the polyhedron 16 apply, by concurrent multiplier units 60 are simultaneously solvable and then in one or more adder units 62 in a circuit block 64 to one of the n u components u i (x) of a control law u (x) are added, these components then in a circuit block 68 with the unit 66 to the control law u (x) are joined together. Vorrichtung gemäß einem der Ansprüche 8 bis 11, dadurch gekennzeichnet, dass die Schaltungsblöcke 44, 46, 48, 52, 54, 58, 64 und/oder 68 auf einem Halbleiterbauelement anordbar sind.Device according to one of claims 8 to 11, characterized in that the circuit blocks 44 . 46 . 48 . 52 . 54 . 58 . 64 and or 68 can be arranged on a semiconductor device. Vorrichtung gemäß Anspruch 12, dadurch gekennzeichnet, dass das Halbleiterbauelement ein application specific integrated circuit (ASIC) ist oder das Halbleiterbauelement ein programmierbarer Logikbaustein ist, wobei der Logikbaustein ein programmable logic device (PLD) oder ein field programmable gate array (FPGA) ist und der Logikbaustein mit einer Hardwarebeschreibungssprache wie VHDL oder Verilog programmierbar ist.A device according to claim 12, characterized in that the semiconductor device is an application specific integrated circuit (ASIC) or the semiconductor device is a programmable logic device, wherein the logic device is a programmable logic device (PLD) or a field programmable gate array (FPGA) and the Logic block with a hardware description language such as VHDL or Verilog is programmable.
DE201010037904 2010-09-30 2010-09-30 Fast Explicit Model Predictive Control Expired - Fee Related DE102010037904B4 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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