DE102022206949A1 - Rechenvorrichtung und Rechenverfahren - Google Patents

Rechenvorrichtung und Rechenverfahren Download PDF

Info

Publication number
DE102022206949A1
DE102022206949A1 DE102022206949.8A DE102022206949A DE102022206949A1 DE 102022206949 A1 DE102022206949 A1 DE 102022206949A1 DE 102022206949 A DE102022206949 A DE 102022206949A DE 102022206949 A1 DE102022206949 A1 DE 102022206949A1
Authority
DE
Germany
Prior art keywords
inequality
constraints
constraint
active
computing device
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.)
Pending
Application number
DE102022206949.8A
Other languages
English (en)
Inventor
Junya Hattori
Masaya Endo
Yuko Omagari
Tomoki Uno
Stefano Di Cairano
Rien Quirynen
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Publication of DE102022206949A1 publication Critical patent/DE102022206949A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/18Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Algebra (AREA)
  • Operations Research (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Complex Calculations (AREA)

Abstract

Ein Prozessor (12) einer Rechenvorrichtung (1) umfasst: eine Erzeugungseinheit (21) zum Erzeugen eines Satz aktiver Nebenbedingungen auf der Grundlage eines Satzes Ungleichungsnebenbedingungen und einer Anfangslösung; eine Sucheinheit (22) zum Finden einer Lösung einer simultanen linearen Gleichung, die auf der Grundlage des Satzes aktiver Nebenbedingungen und einer Bewertungsfunktion erzeugt wird; und eine Aktualisierungseinheit (23) zum Aktualisieren des Satzes aktiver Nebenbedingungen auf der Grundlage der durch die Sucheinheit erhaltenen Lösung. Die Erzeugungseinheit (21) fügt dem Satz aktiver Nebenbedingungen die erste Ungleichungsnebenbedingung hinzu, die als nicht linear abhängig von einer oder mehreren zweiten Ungleichungsnebenbedingungen bestimmt wurde, die in dem Satz aktiver Nebenbedingungen enthalten sind.

Description

  • HINTERGRUND DER ERFINDUNG
  • Gebiet der Erfindung
  • Die vorliegende Offenbarung betrifft eine Rechenvorrichtung und ein Rechenverfahren.
  • Beschreibung des Standes der Technik
  • Konventionell ist bei einem konvexen quadratischen Programmierproblem eine modellprädiktive Steuerung bekannt, bei der eine optimale Steuerungsgröße durch Verwendung eines prädiktiven Modells bestimmt wird, um eine Zustandsgröße eines Steuerungsziels während eines Zeitraums von einem aktuellen Zustand bis zu einem Zeitpunkt, der eine nahe Zukunft darstellt, vorherzusagen (z. B. Japanisches offengelegtes Patent Nr. 2016-10009 ). Die modellprädiktive Steuerung verwendet eine Bewertungsfunktion, die auf der Grundlage einer Differenz zwischen der Zustandsgröße des Steuerungsziels und einem Zielwert der Zustandsgröße und einer Differenz zwischen der Steuerungsgröße und einem Zielwert der Steuerungsgröße erzeugt wird, und es wird eine Berechnung durchgeführt, um eine Steuerungsgröße zu bestimmen, die die Bewertungsfunktion unter Berücksichtigung einer aktiven Nebenbedingung für die Steuerungsgröße minimiert.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • In einer konventionellen Rechenvorrichtung zum Auffinden einer optimalen Lösung eines konvexen quadratischen Programmierproblems werden die Dimensionen einer simultanen linearen Gleichung, die eine Bedingung enthält, die von der optimalen Lösung erfüllt werden muss, verringert, wenn eine Vielzahl von Ungleichungsnebenbedingungen, die als aktive Nebenbedingungen festgelegt sind, nicht in einer linear unabhängigen Beziehung stehen. Wenn die Dimensionen der simultanen linearen Gleichung verringert werden, kann die Rechenvorrichtung die optimale Lösung nicht finden. Um zu bestätigen, dass die Vielzahl von Ungleichungsnebenbedingungen, die als aktive Nebenbedingungen festgelegt sind, nicht in einer linear unabhängigen Beziehung stehen, muss die Rechenvorrichtung den Rang einer Matrix in jeder Ungleichungsnebenbedingung berechnen, was zu einem hohen Rechenaufwand führen kann.
  • Die vorliegende Offenbarung wurde im Hinblick auf das oben beschriebene Problem gemacht und hat das Ziel, eine Rechenvorrichtung und ein Rechenverfahren bereitzustellen, durch die jeweils eine optimale Lösung eines konvexen quadratischen Programmierproblems gefunden werden kann, während eine große Rechenlast so weit wie möglich vermieden wird.
  • Eine Rechenvorrichtung gemäß der vorliegenden Offenbarung ist eine Vorrichtung zum Finden einer optimalen Lösung eines konvexen quadratischen Programmierproblems. Die Rechenvorrichtung umfasst: eine Schnittstelle zum Erhalten einer Bewertungsfunktion, eines Satzes von Ungleichungsnebenbedingungen und einer Anfangslösung des konvexen quadratischen Programmierproblems; und einen Prozessor zum Finden der optimalen Lösung auf der Grundlage der Bewertungsfunktion, des Satzes von Ungleichungsnebenbedingungen und der durch die Schnittstelle erhaltenen Anfangslösung. Der Prozessor enthält eine Erzeugungseinheit, eine Sucheinheit und eine Aktualisierungseinheit. Die Erzeugungseinheit erzeugt einen Satz der aktiven Nebenbedingungen auf der Grundlage des Satzes von Ungleichungsnebenbedingungen und der Anfangslösung. Die Sucheinheit findet eine Lösung einer simultanen linearen Gleichung, die auf der Grundlage des Satzes von aktiven Nebenbedingungen und der Bewertungsfunktion erzeugt wurde. Die Aktualisierungseinheit aktualisiert den Satz der aktiven Nebenbedingungen auf der Grundlage der von der Sucheinheit erhaltenen Lösung. Die Erzeugungseinheit umfasst eine Additionsbestimmungseinheit, eine Lineare-Abhängigkeit-Bestimmungseinheit und eine Aktive-Nebenbedingung-Additionseinheit. Die Additionsbestimmungseinheit bestimmt, ob der Satz der Ungleichungsnebenbedingungen eine erste Ungleichungsnebenbedingung enthält oder nicht, die eine Bedingung für die Hinzufügung zu dem Satz aktiver Nebenbedingungen erfüllt. Die Lineare-Abhängigkeit-Bestimmungseinheit bestimmt, ob die erste Ungleichungsnebenbedingung, die die Bedingung erfüllt, linear von einer oder mehreren zweiten Ungleichungsnebenbedingungen abhängt, die in dem Satz aktiver Nebenbedingungen enthalten sind, oder nicht. Die Aktive-Nebenbedingung-Additionseinheit fügt dem Satz aktiver Nebenbedingungen die erste Ungleichungs-Nebenbedingung hinzu, die von der Lineare-Abhängigkeit-Bestimmungseinheit als nicht linear abhängig von der einen oder den mehreren zweiten Ungleichungs-Nebenbedingungen bestimmt wurde.
  • Ein Rechenverfahren gemäß der vorliegenden Offenbarung ist ein Verfahren zum Finden einer optimalen Lösung eines konvexen quadratischen Programmierproblems durch einen Computer. Das Rechenverfahren umfasst: (a) Erzeugen eines Satzes aktiver Nebenbedingungen auf der Grundlage eines Satzes Ungleichungsnebenbedingungen und einer Anfangslösung in dem konvexen quadratischen Programmierproblem; (b) Finden einer Lösung einer simultanen linearen Gleichung, die auf der Grundlage des Satzes aktiver Nebenbedingungen und einer Bewertungsfunktion in dem konvexen quadratischen Programmierproblem erzeugt wird; und (c) Aktualisieren des Satzes aktiver Nebenbedingungen auf der Grundlage der durch das Finden der Lösung erhaltenen Lösung. Das Erzeugen (a) umfasst: (a1) Bestimmen, ob der Satz der Ungleichungsnebenbedingungen eine erste Ungleichungsnebenbedingung enthält, die eine Bedingung für die Hinzufügung zu dem Satz aktiver Nebenbedingungen erfüllt; (a2) Bestimmen, ob die erste Ungleichungsnebenbedingung, die die Bedingung erfüllt, linear von einer oder mehreren zweiten Ungleichungsnebenbedingungen abhängt, die in dem Satz aktiver Nebenbedingungen enthalten sind, oder nicht und (a3) Hinzufügen der ersten Ungleichungsnebenbedingung, die durch die Bestimmung, ob die erste Ungleichungsnebenbedingung, die die Bedingung erfüllt, linear von der einen oder mehreren zweiten Ungleichungsnebenbedingungen, die in dem Satz aktiver Nebenbedingungen enthalten sind, abhängig ist oder nicht, als nicht linear abhängig von der einen oder mehreren zweiten Ungleichungsnebenbedingungen bestimmt wurde, zu dem Satz aktiver Nebenbedingungen.
  • Die vorgenannten und andere Objekte, Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden aus der folgenden detaillierten Beschreibung der vorliegenden Erfindung in Verbindung mit den beigefügten Zeichnungen deutlicher.
  • Figurenliste
    • 1 ist ein Diagramm, das eine Hardwarekonfiguration einer Rechenvorrichtung gemäß einer Ausführungsform zeigt.
    • 2 ist ein Diagramm, das eine Koeffizientenmatrix einer linearen Bedingung zeigt.
    • 3 ist ein Diagramm, das eine funktionelle Konfiguration der Rechenvorrichtung gemäß der Ausführungsform zeigt.
    • 4 ist ein Diagramm, das eine funktionelle Konfiguration einer Erzeugungseinheit gemäß der Ausführungsform zeigt.
    • 5 ist ein Diagramm, das eine beispielhafte Bestimmung der linearen Abhängigkeit zeigt.
    • 6 ist ein Diagramm, das eine beispielhafte Bestimmung der linearen Abhängigkeit zeigt.
    • 7 ist ein Diagramm, das eine beispielhafte Bestimmung der linearen Abhängigkeit zeigt.
    • 8 ist ein Flussdiagramm, das einen Berechnungsprozess der Rechenvorrichtung gemäß der Ausführungsform zeigt.
    • 9 ist ein Flussdiagramm, das einen Erzeugungsprozess der Rechenvorrichtung gemäß der Ausführungsform zeigt.
    • 10 ist ein Flussdiagramm, das einen Suchprozess der Rechenvorrichtung gemäß dieser Ausführungsform zeigt.
    • 11 ist ein Flussdiagramm, das einen Aktualisierungsprozess der Rechenvorrichtung gemäß dieser Ausführungsform zeigt.
  • BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nachfolgend wird eine Ausführungsform unter Bezugnahme auf die Figuren beschrieben. Es ist zu beachten, dass in den Figuren gleiche oder entsprechende Teile mit den gleichen Bezugszeichen bezeichnet sind und nicht wiederholt beschrieben werden.
  • 1 ist ein Diagramm, das eine Hardwarekonfiguration einer Rechenvorrichtung 1 gemäß einer Ausführungsform zeigt. Die Rechenvorrichtung 1 gemäß dieser Ausführungsform wird durch eine Steuereinheit realisiert, die an einer Vorrichtung angebracht ist, die ein Optimierungsproblem lösen muss. Wenn die Rechenvorrichtung 1 beispielsweise in einer Steuereinheit implementiert ist, die in einem Fahrzeug montiert ist, kann die Rechenvorrichtung 1 ein Optimierungsproblem lösen, um das Fahrzeug zu veranlassen, einer Zielroute zu folgen, oder sie kann ein Optimierungsproblem zur Optimierung des Kraftstoffverbrauchs lösen. Wenn die Rechenvorrichtung 1 in einer Fabriksteuerungsvorrichtung implementiert ist, kann die Rechenvorrichtung 1 ein Optimierungsproblem zur Optimierung des Betriebs der Fabrik lösen.
  • Wie in 1 gezeigt, umfasst die Rechenvorrichtung 1 eine Schnittstelle (I/F) 11, einen Prozessor 12 und einen Speicher 13.
  • Die Schnittstelle 11 erhält verschiedene Arten von Optimierungsproblemen, wie z. B. ein konvexes quadratisches Programmierproblem. Ferner gibt die Schnittstelle 11 ein Ergebnis der Berechnung des Optimierungsproblems durch den Prozessor 12 an ein Steuerziel oder ähnliches aus.
  • Der Prozessor 12 ist ein Beispiel für einen „Computer“, einen „Rechner“ oder eine „Rechenvorrichtung“. Der Prozessor 12 besteht z. B. aus einer CPU (Central Process Unit), einem FPGA (Field Programmable Gate Array) oder ähnlichem. Der Prozessor 12 kann aus einer Verarbeitungsschaltung wie einem ASIC (Application Specific Integrated Circuit) bestehen. Der Prozessor 12 findet eine optimale Lösung, indem er ein Optimierungsproblem berechnet.
  • Der Speicher 13 besteht aus einem flüchtigen Speicher wie einem DRAM (Dynamic Random Access Memory) oder einem SRAM (Static Random Access Memory) oder aus einem nichtflüchtigen Speicher wie einem ROM (Read Only Memory). Bei dem Speicher 13 kann es sich um eine Speichervorrichtung wie ein SSD (Solid State Drive), ein HDD (Hard Disk Drive) oder ähnliches handeln. Der Speicher 13 speichert ein Programm, Berechnungsdaten und ähnliches für den Prozessor 12 zur Lösung eines Optimierungsproblems.
  • Die Rechenvorrichtung 1 kann eine beliebige Vorrichtung sein, solange die Rechenvorrichtung 1 eine Vorrichtung zum Finden einer optimalen Lösung eines konvexen quadratischen Programmierproblems ist, und ein Optimierungsproblem, das als Gegenstand der Berechnung durch die Rechenvorrichtung 1 dient, ist nicht besonders begrenzt. In der Ausführungsform ist ein konvexes quadratisches Programmierproblem für die modellprädiktive Steuerung als das Optimierungsproblem dargestellt, das als Berechnungsobjekt für die Rechenvorrichtung 1 dient.
  • Die modellprädiktive Steuerung ist ein Verfahren zur Bestimmung einer optimalen Steuerungsgröße unter Verwendung eines prädiktiven Modells f zur Vorhersage einer Zustandsgröße eines Steuerungsziels während einer Periode von einem aktuellen Zustand bis zu einem Zeitpunkt T, der eine nahe Zukunft darstellt. Die modellprädiktive Steuerung wird durch die folgenden Formeln (1) und (2) dargestellt: min x , u 0 T l ( x ( t ) , u ( t ) ) d t
    Figure DE102022206949A1_0001
    s .t ƒ ( x ( t ) , x ˙ ( t ) , u ( t ) ) = 0, p ( x ( t ) , u ( t ) ) 0
    Figure DE102022206949A1_0002
  • In den Formeln (1) und (2) steht x für eine Zustandsvariable und u für eine Steuervariable. Bei der modellprädiktiven Steuerung wird der Wert der Steuervariablen zur Minimierung einer Bewertungsfunktion 1 gefunden, wobei die Bewertungsfunktion 1 auf der Grundlage einer Differenz zwischen der Zustandsvariablen x und einem Zielwert der Zustandsvariablen x, einer Differenz zwischen der Steuervariablen u und einem Zielwert der Steuervariablen u und dergleichen erzeugt wird.
  • Es sollte beachtet werden, dass im Fall der Behandlung eines Optimierungsproblems zum Finden des Wertes der Steuervariablen zur Maximierung der Bewertungsfunktion 1 das Optimierungsproblem als das Optimierungsproblem zum Finden des Wertes der Steuervariablen zur Minimierung der Bewertungsfunktion 1 behandelt werden kann, indem die Bewertungsfunktion 1 mit „-1“ multipliziert wird, um das Vorzeichen der Bewertungsfunktion 1 zu invertieren.
  • Ferner enthält das Optimierungsproblem gemäß der Ausführungsform eine obere Grenzwertnebenbedingung, wie durch die Formel (2) dargestellt, kann aber auch eine untere Grenzwertnebenbedingung enthalten. Zum Beispiel kann die untere Grenzwertnebenbedingung bei der Behandlung der unteren Grenzwertnebenbedingung wie die obere Grenzwertnebenbedingung behandelt werden, die durch die Formel (2) dargestellt wird, indem beide Seiten der unteren Grenzwertnebenbedingung mit „-1“ multipliziert werden, um das Vorzeichen der unteren Grenzwertnebenbedingung umzukehren.
  • In der folgenden Beschreibung wird davon ausgegangen, dass die Rechenvorrichtung 1 eine optimale Lösung im Hinblick auf die modellprädiktive Steuerung findet, bei der die Steuervariable u mindestens eine Schlupfvariable zur Entlastung einer Nebenbedingung enthält.
  • Wenn die Formeln (1) und (2) zu jedem Vorhersagezeitpunkt t = nΔt (n = 0, 1, 2, ..., N) diskretisiert und die Formeln (1) und (2) unter Verwendung der Anfangszustandsgröße und der Anfangssteuergröße zu jedem Vorhersagezeitpunkt linearisiert werden, erhält man ein konvexes quadratisches Programmierproblem, das durch die Formeln (3) bis (5) dargestellt wird. min Δ x n , Δ u n n = 0 N 1 2 [ Δ x n Δ u n ] T Q n [ Δ x n Δ u n ] + q n T [ Δ x n Δ u n ]
    Figure DE102022206949A1_0003
    Δ x n + 1 = a n + [ F n G n ] [ Δ x n Δ u n ]
    Figure DE102022206949A1_0004
    p ( Δ x n , Δ u n ) p n
    Figure DE102022206949A1_0005
  • In den Formeln (3) bis (5) ist T = NΔt. Δx stellt eine Differenz zwischen der Zustandsvariablen und der Anfangszustandsgröße dar. Δu steht für die Differenz zwischen der Steuergröße und der Anfangssteuergröße. Qn und qn sind Koeffizienten, wenn die Diskretisierung und die Linearisierung auf die Bewertungsfunktion angewandt werden. an ist ein konstanter Term, wenn die Diskretisierung und die Linearisierung auf das prädiktive Steuerungsmodell angewandt werden. Fn ist ein Koeffizient der Zustandsvariablen, wenn die Diskretisierung und die Linearisierung auf das prädiktive Steuerungsmodell angewandt werden. Gn ist ein Koeffizient der Steuervariablen, wenn die Diskretisierung und die Linearisierung auf dem prädiktiven Steuermodell durchgeführt werden.
  • Was die Reihenfolge der Durchführung der Diskretisierung und der Linearisierung betrifft, so kann zuerst die Diskretisierung und dann die Linearisierung durchgeführt werden, oder die Linearisierung kann zuerst durchgeführt werden und dann die Diskretisierung. Alternativ dazu können die Diskretisierung und die Linearisierung parallel durchgeführt werden.
  • Wenn die aktuelle Zustandsgröße x0 als konstanter Term betrachtet wird und die Zustandsvariable xn mit n = 0, 1, 2, ..., N unter Verwendung der Rekursionsformel der Formel (4) eliminiert wird, erhält man ein konvexes quadratisches Programmierproblem, bei dem nur die Steuervariable u verwendet wird, wie in den Formeln (6) und (7) dargestellt. min Δ u 1 2 Δ u T Q ¯ Δ u + q ¯ T Δ u
    Figure DE102022206949A1_0006
    s .t D Δ u p ¯
    Figure DE102022206949A1_0007
  • Wenn die Bewertungsfunktion des konvexen quadratischen Programmierproblems, wie sie durch die Formel (6) dargestellt wird, durch eine unten beschriebene Formel (8) dargestellt wird und die Ungleichungsnebenbedingung des konvexen quadratischen Programmierproblems, wie sie durch die Formel (7) dargestellt wird, durch eine unten beschriebene Formel (9) dargestellt wird, erhält man ein konvexes quadratisches Programmierproblem, das durch die Rechenvorrichtung 1 gemäß der Ausführungsform zu optimieren ist. min w J = 1 2 w T H   w + h T w
    Figure DE102022206949A1_0008
    s .t C w v
    Figure DE102022206949A1_0009
  • In den Formeln (8) und (9) steht J für die Bewertungsfunktion des konvexen quadratischen Programmierproblems, w für einen Lösungsvektor, wT für einen transponierten Lösungsvektor, H für eine Hesse-Matrix, hT für einen Anpassungszeilenvektor, C für eine Koeffizientenmatrix einer linearen Nebenbedingung und v für einen Nebenbedingungsvektor.
  • 2 ist ein Diagramm, das die Koeffizientenmatrix C der linearen Randbedingung zeigt. Wie in 2 dargestellt, ist die Koeffizientenmatrix C eine m × n-Matrix. m = die Anzahl der Ungleichungsnebenbedingungen p × Anzahl N der Vorhersagezeitschritte. Die Koeffizientenmatrix C ist so aufgebaut, dass die Bedingungen, die den Vorhersagezeitschritten n = 1, 2, ..., N entsprechen, von einer oberen Zeile aus durch die Anzahl der Ungleichungsnebenbedingungen p dargestellt werden. Da jede Ungleichungsnebenbedingung durch eine Linearkombination von Steuervariablen bis zu einem entsprechenden Vorhersagezeitschritt dargestellt wird, sind die Nicht-Null-Elemente der Koeffizientenmatrix C auf Elemente bis zum (Anzahl der Steuervariablen × Vorhersagezeitschritt n)-ten Element beschränkt. In der folgenden Beschreibung werden zur Erläuterung die Ungleichungsnebenbedingungen mit den Nummern 1, 2, ... bezeichnet, und zwar in der Reihenfolge der oberen Zeile.
  • Wenn die Steuervariablen eine Schlupfvariable enthalten, wird die Ungleichungsnebenbedingung für den Vorhersagezeitschritt n durch eine lineare Kombination der Steuervariablen außer der Schlupfvariablen und bis zum Vorhersagezeitschritt n und der Schlupfvariablen für den Vorhersagezeitschritt n dargestellt, so dass die Koeffizienten der Schlupfvariablen bis zum Vorhersagezeitschritt (n-1) 0 sind.
  • 3 ist ein Diagramm, das eine funktionelle Konfiguration der Rechenvorrichtung 1 gemäß der Ausführungsform zeigt. In der folgenden Beschreibung wird illustrativ beschrieben, dass die Rechenvorrichtung 1 einen primäre Active-Set-Methode als das Verfahren zum Finden der optimalen Lösung des konvexen quadratischen Programmierproblems verwendet; jedoch kann die Rechenvorrichtung 1 die optimale Lösung unter Verwendung eines anderen Verfahrens finden.
  • Wie in 3 gezeigt, umfasst die Rechenvorrichtung 1 als Hauptfunktionen eine Erzeugungseinheit 21, eine Sucheinheit 22 und eine Aktualisierungseinheit 23. Jede der in der Rechenvorrichtung 1 enthaltenen Funktionseinheiten wird durch die Ausführung eines im Speicher 13 gespeicherten Programms durch den Prozessor 12 implementiert. Es sollte beachtet werden, dass jede der Funktionseinheiten in der Rechenvorrichtung 1 durch die Zusammenarbeit einer Vielzahl von Prozessoren 12 und einer Vielzahl von Speichern 13 implementiert werden kann.
  • Zunächst erhält die Rechenvorrichtung 1 über die Schnittstelle 11: die Bewertungsfunktion J des konvexen quadratischen Programmierproblems, die durch die Formel (8) dargestellt wird; einen Satz der Ungleichungsnebenbedingungen des konvexen quadratischen Programmierproblems, wobei der Satz der Ungleichungsnebenbedingungen als die lineare Bedingung dient und durch die Formel (9) dargestellt wird; und eine Anfangslösung w0in des konvexen quadratischen Programmierproblems.
  • Die Erzeugungseinheit 21 erzeugt einen Satz aktiver Nebenbedingungen und eine realisierbare Anfangslösung w0 auf der Grundlage des Satzes Ungleichungsnebenbedingungen und der durch die Schnittstelle 11 erhaltenen Anfangslösung W0in.
  • Die Sucheinheit 22 erhält die Bewertungsfunktion J des Optimierungsproblems, den von der Erzeugungseinheit 21 erzeugten Satz aktiver Nebenbedingungen und die Lösung wk. Die Sucheinheit 22 erzeugt eine simultane lineare Gleichung, um die optimale Lösung des konvexen quadratischen Programmierproblems zu finden, basierend auf dem erhaltenen Satz aktiver Nebenbedingungen und der Bewertungsfunktion J. Insbesondere erzeugt die Sucheinheit 22 eine simultane lineare Gleichung, um das Minimierungsproblem der Bewertungsfunktion J zu lösen, die nur aktive Nebenbedingungen als Nebenbedingungen hat. Die Sucheinheit 22 findet die Lösung y der simultanen linearen Gleichung.
  • Die Aktualisierungseinheit 23 erhält den von der Erzeugungseinheit 21 erzeugten Satz aktiver Nebenbedingungen und die von der Sucheinheit 22 gefundene Lösung y. Die Aktualisierungseinheit 23 aktualisiert den Satz aktiver Nebenbedingungen und die Lösung auf der Grundlage der von der Sucheinheit 22 erhaltenen Lösung y und gibt den Satz aktiver Nebenbedingungen und die optimale Lösung wk aus.
  • Im Folgenden wird die Erzeugungseinheit 21 anhand von 4 beschrieben. 4 ist ein Diagramm, das eine funktionelle Konfiguration der Erzeugungseinheit 21 gemäß der Ausführungsform zeigt. Wie in 4 gezeigt, enthält die Erzeugungseinheit 21 eine Anfangslösungserzeugungseinheit 111, eine Maximalnebenbedingungsadditionseinheit 112, eine Additionsbestimmungseinheit 113, eine Lineare-Abhängigkeit-Bestimmungseinheit 114 und eine Aktive-Nebenbedingung-Additionseinheit 115.
  • Wenn die Anfangslösung w0in die durch die Formel (9) dargestellte Ungleichungsnebenbedingung erfüllt, betrachtet die Anfangslösungserzeugungseinheit 111 die Anfangslösung w0in als realisierbare Anfangslösung w0. Wenn die Anfangslösung w0in die Ungleichungsnebenbedingungen nicht erfüllt und die Anfangslösung w0in eine nicht durchführbare Lösung ist, verwendet die Anfangslösungserzeugungseinheit 111 die folgende Formel (10), um eine durchführbare Anfangslösung w0 zu erzeugen, die die Ungleichungsnebenbedingungen erfüllt. w s [ i ] = s n = s n j C i j w J ¯ v C i , s [ i ]
    Figure DE102022206949A1_0010
  • In der Formel (10) steht der tiefgestellte Index „s[i]“ für eine Elementnummer in der Lösung w einer Schlupfvariablen sn (≥0), die der Ungleichungsnebenbedingung entspricht. Die Anfangslösungserzeugungseinheit 111 aktualisiert die Schlupfvariable sn so, dass sie in der Formel (10) einen größeren Wert hat, und erzeugt so eine realisierbare Anfangslösung w0, die die in der Formel (9) festgelegte Ungleichungsnebenbedingung erfüllt.
  • Die Maximalnebenbedingungsadditionseinheit 112 betrachtet als eine Ungleichungsnebenbedingung (im Folgenden auch als „dritte Ungleichungsnebenbedingung“ bezeichnet), die zu jedem Vorhersagezeitpunkt am meisten von einem Nebenbedingungswert abweicht, die Ungleichungsnebenbedingung, die so aktualisiert wird, dass sie den maximalen Wert der Schlupfvariablen in dem Satz der Ungleichungsnebenbedingungen hat. Die Maximalnebenbedingungsadditionseinheit 112 fügt die dritte Ungleichungsnebenbedingung zu dem Satz aktiver Nebenbedingungen hinzu, wobei sie Vorrang vor anderen Ungleichungsnebenbedingungen hat. Auf diese Weise kann die Rechenvorrichtung 1 die dritte Ungleichungsnebenbedingung, die am meisten von dem Bedingungswert abweicht, zu dem Satz aktiver Nebenbedingungen hinzufügen, und zwar vorrangig vor den Ungleichungsnebenbedingungen, die dem Satz aktiver Nebenbedingungen nach den unten beschriebenen Prozessen hinzugefügt wurden, die von der Additionsbestimmungseinheit 113, der Lineare-Abhängigkeit-Bestimmungseinheit 114 und der Aktive-Bedingung-Additionseinheit 115 durchgeführt wurden.
  • In dem Satz der Ungleichungsnebenbedingungen werden die anderen Ungleichungsnebenbedingungen als die dritte Ungleichungsnebenbedingung den Prozessen der Additionsbestimmungseinheit 113, der Lineare-Abhängigkeit-Bestimmungseinheit 114 und der Aktive-Bedingung-Additionseinheit 115 in der Reihenfolge der Bedingungsnummern unterworfen.
  • Die Additionsbestimmungseinheit 113 bestimmt, ob der Satz der Ungleichungsnebenbedingungen eine Ungleichungsnebenbedingung (im Folgenden auch als „erste Ungleichungsnebenbedingung“ bezeichnet) enthält, die eine Bedingung für das Hinzufügen zum Satz aktiver Nebenbedingungen erfüllt oder nicht. Insbesondere verwendet die Additionsbestimmungseinheit 113 die folgende Formel (11), um zu bestimmen, ob jede Ungleichungsnebenbedingung eine Bedingung erfüllt oder nicht, die es der Ungleichungsnebenbedingung erlaubt, eine aktive Nebenbedingung in der realisierbaren Anfangslösung w0 zu sein. In der Formel (11) stellt tol eine Bestimmungsschwelle dar und hat einen kleinen positiven Wert. | v i j C i j w j | < t o l
    Figure DE102022206949A1_0011
  • In dem Satz der Ungleichungsnebenbedingungen ist die erste Ungleichungsnebenbedingung, die die Bedingung der Formel (11) erfüllt, ein Kandidat, der zu dem Satz aktiver Nebenbedingungen hinzugefügt werden soll.
  • Die Lineare-Abhängigkeit-Bestimmungseinheit 114 bestimmt, ob die erste Ungleichungsnebenbedingung, die von der Additionsbestimmungseinheit 113 als die Bedingung der Formel (11) erfüllend bestimmt wurde, von einer oder mehreren Ungleichungsnebenbedingungen (im Folgenden auch als „zweite Ungleichungsnebenbedingungen“ bezeichnet), die in dem Satz der aktiven Nebenbedingungen enthalten sind, linear abhängig ist oder nicht. Das heißt, die Lineare-Abhängigkeit-Bestimmungseinheit 114 bestimmt, ob die erste Ungleichungsnebenbedingung, die als Kandidat für die Hinzufügung zum Satz aktiver Nebenbedingungen dient, linear von einer oder mehreren zweiten Ungleichungsnebenbedingungen abhängt, die als die aktuellen aktiven Nebenbedingungen festgelegt sind oder nicht.
  • Insbesondere spezifiziert die Lineare-Abhängigkeit-Bestimmungseinheit 114 in der Koeffizientenmatrix C der linearen Nebenbedingung einen Satz (im Folgenden auch als „erster Satz“ bezeichnet) von einem oder mehreren Elementen (Steuervariablen), die Nicht-Null-Koeffizienten haben und in der ersten Ungleichungsnebenbedingung enthalten sind, die die Bedingung für die Hinzufügung zum Satz aktiver Nebenbedingungen erfüllt. Ferner legt die Lineare-Abhängigkeit-Bestimmungseinheit 114 einen Satz (im Folgenden auch als „zweiter Satz“ bezeichnet) von einem oder mehreren Elementen (Steuervariablen) fest, die Nicht-Null-Koeffizienten haben und in jeder der einen oder mehreren zweiten Ungleichungsnebenbedingungen enthalten sind, die als die aktuellen aktiven Nebenbedingungen festgelegt sind. Die Lineare-Abhängigkeit-Bestimmungseinheit 114 bestimmt, dass die erste Ungleichungsnebenbedingung linear von der einen oder mehreren zweiten Ungleichungsnebenbedingungen abhängt, wenn der zweite Satz eine Teilmenge des ersten Satzes ist und die Anzahl des einen oder der mehreren Elemente, die in jeder der einen oder mehreren zweiten Ungleichungsnebenbedingungen enthalten sind und die Nicht-Null-Koeffizienten haben, größer als oder gleich der Anzahl des einen oder der mehreren Elemente ist, die in der ersten Ungleichungsnebenbedingung enthalten sind und die Nicht-Null-Koeffizienten haben.
  • Die Aktive-Nebenbedingung-Additionseinheit 115 fügt dem Satz aktiver Nebenbedingungen die erste Ungleichungsnebenbedingung hinzu, die von der Lineare-Abhängigkeit-Bestimmungseinheit 114 als nicht linear abhängig von der einen oder mehreren zweiten Ungleichungsnebenbedingungen bestimmt wurde. Auf diese Weise kann die Datenverarbeitungsvorrichtung 1 die Vielzahl von Ungleichungsnebenbedingungen, die als aktive Nebenbedingungen festgelegt sind, in einer linear unabhängigen Beziehung halten. Wie in 2 gezeigt, gibt es in der Koeffizientenmatrix C der Ungleichungsnebenbedingung, die bei der modellprädiktiven Steuerung erzeugt wird, Steuervariablen mit Nicht-Null-Koeffizienten bis zu Vorhersagezeiten, die den jeweiligen Bedingungen entsprechen. Mit anderen Worten, wenn die Ungleichungsnebenbedingungen in der Reihenfolge der Vorhersagezeiten angeordnet sind, ist die Anzahl der Steuervariablen mit Nicht-Null-Koeffizienten in den letzteren Bedingungen größer. Bei der Bestimmung, ob die erste Ungleichungsnebenbedingung linear von der einen oder mehreren zweiten Ungleichungsnebenbedingungen abhängt oder nicht, muss die Lineare-Abhängigkeit-Bestimmungseinheit 114 nicht notwendigerweise jeden der ersten und zweiten Sätze speziell finden. Durch die Verwendung eines solchen Merkmals, dass die Nicht-Null-Elemente der Koeffizientenmatrix C nur in den Elementen vorhanden sind, die den Steuervariablen vor den Vorhersagezeiten entsprechen, die den jeweiligen Ungleichungsnebenbedingungen entsprechen, kann die Lineare-Abhängigkeit-Bestimmungseinheit 114 bestimmen, ob eine lineare Abhängigkeit vorliegt oder nicht, indem sie ein Lineare-Abhängigkeit-Flag auf die folgende Weise verwendet.
  • Insbesondere stellt die Lineare-Abhängigkeit-Bestimmungseinheit 114 in der Reihenfolge einer oder mehrerer Nebenbedingungsnummern der einen oder mehreren zweiten Ungleichungs-Bedingungen, die als die aktuellen aktiven Nebenbedingungen eingestellt sind, ein oder mehrere Lineare-Abhängigkeit-Flags für ein oder mehrere Elemente auf, die Nicht-Null-Koeffizienten haben und für die keine Lineare-Abhängigkeit-Flags aufgestellt wurden. Die Lineare-Abhängigkeit-Bestimmungseinheit 114 bestimmt, ob das eine oder die mehreren linearen Abhängigkeit-Flags für alle ein oder mehrere Elemente, die in der ersten Ungleichungsnebenbedingung enthalten sind und die Nicht-Null-Koeffizienten haben, erstellt werden oder nicht. Wenn das eine oder die mehreren Lineare-Abhängigkeit-Flags festgelegt sind, ist die Anzahl der einen oder mehreren zweiten Ungleichungsnebenbedingungen, die die Bedingung erfüllen, dass der zweite Satz eine Teilmenge des ersten Satzes ist, gleich der Anzahl der Dimensionen der ersten Ungleichungsnebenbedingung. In einem solchen Fall kann die Lineare-Abhängigkeit-Bestimmungseinheit 114 bestimmen, dass die erste Ungleichungsnebenbedingung linear von der zweiten Ungleichungsnebenbedingung abhängig ist.
  • Im Folgenden wird die Bestimmung der linearen Abhängigkeit beispielhaft anhand der 5 bis 7 beschrieben. 5 bis 7 sind Diagramme, die die beispielhafte Lineare-Abhängigkeit-Bestimmung zeigen. Jede der 5 bis 7 geht von einem Beispiel aus, bei dem die Koeffizientenmatrix C der linearen Bedingung eine Ungleichungsnebenbedingung A, eine Ungleichungsnebenbedingung B und eine Ungleichungsnebenbedingung C enthält.
  • Wie in 5 gezeigt, erstellt die Rechenvorrichtung 1 bei der Entscheidung, ob die Ungleichungsnebenbedingung A der aktiven Nebenbedingung als „erste Ungleichungsnebenbedingung“ hinzugefügt werden soll, in der Reihenfolge einer oder mehrerer Bedingungsnummern der einen oder mehreren zweiten Ungleichungsnebenbedingungen, die als aktuelle aktive Nebenbedingungen festgelegt sind, ein oder mehrere Lineare-Abhängigkeit-Flags für ein oder mehrere Elemente, die Nicht-Null-Koeffizienten haben und für die keine Lineare-Abhängigkeit-Flags erstellt wurden. Es gibt jedoch keine Ungleichungsnebenbedingung, die einer Bedingungsnummer entspricht, die kleiner ist als die Bedingungsnummer der Ungleichungsnebenbedingung A. Das heißt, da keine zweite Ungleichungsnebenbedingung, die als aktive Nebenbedingung gesetzt wird, vor der Ungleichungsnebenbedingung A existiert, setzt die Rechenvorrichtung 1 die Ungleichungsnebenbedingung A als aktive Nebenbedingung.
  • Wie in 6 gezeigt, erstellt die Rechenvorrichtung 1 bei der Entscheidung, ob die Ungleichungsnebenbedingung B als „erste Ungleichungsnebenbedingung“ zu der aktiven Nebenbedingung hinzugefügt werden soll, in der Reihenfolge einer oder mehrerer Bedingungsnummern der einen oder mehreren zweiten Ungleichungsnebenbedingungen, die als aktuelle aktive Nebenbedingungen festgelegt sind, ein oder mehrere Lineare-Abhängigkeit-Flags für ein oder mehrere Elemente, die Nicht-Null-Koeffizienten haben und für die keine Lineare-Abhängigkeit-Flags festgelegt wurden. Da nur die Ungleichungsnebenbedingung A die zweite Ungleichungsnebenbedingung ist, die als aktuelle aktive Nebenbedingung eingestellt ist, erstellt die Rechenvorrichtung 1 ein Lineare-Abhängigkeit-Flag für ein Element mit einem Nicht-Null-Koeffizienten in der Ungleichungsnebenbedingung A.
  • In der Ungleichungsnebenbedingung A ist ein Element mit einem Koeffizienten, der x entspricht, „1“, ein Element mit einem Koeffizienten, der y entspricht, ist „0“, und ein Element mit einem Koeffizienten, der z entspricht, ist „0“. Das heißt, dass die Ungleichungsnebenbedingung A das Element „1“, das x entspricht, als „zweiter Satz“ enthält. Wie in 5 gezeigt, setzt die Rechenvorrichtung 1 ein Lineare-Abhängigkeit-Flag für das Element „1“, das x in Ungleichungsnebenbedingung A entspricht.
  • In der Ungleichungsnebenbedingung B ist das Element des Koeffizienten, das x entspricht, „1“, das Element des Koeffizienten, das y entspricht, ist „0“, und das Element des Koeffizienten, das z entspricht, ist „1“. Das heißt, die Ungleichungsnebenbedingung B enthält das Element „1“, das x entspricht, und das Element „1“, das z entspricht, als „erster Satz“.
  • Die Rechenvorrichtung 1 stellt fest, dass die erste Ungleichungsnebenbedingung (Ungleichungsnebenbedingung B) nicht linear von der zweiten Ungleichungsnebenbedingung (Ungleichungsnebenbedingung A) abhängig ist, d.h., linear unabhängig davon ist, weil der zweite Satz keine Teilmenge des ersten Satzes ist und die Anzahl (1 in diesem Beispiel) des einen oder der mehreren Elemente, die in der zweiten Ungleichungsnebenbedingung (Ungleichungsnebenbedingung A) enthalten sind und Nicht-Null-Koeffizienten haben, nicht größer oder gleich der Anzahl (2 in diesem Beispiel) des einen oder der mehreren Elemente ist, die in der ersten Ungleichungsnebenbedingung (Ungleichungsnebenbedingung B) enthalten sind und Nicht-Null-Koeffizienten haben. Daher fügt die Rechenvorrichtung 1 die Ungleichungsnebenbedingung B zum Satz der aktiven Nebenbedingungen hinzu.
  • Wie in 7 gezeigt, stellt die Rechenvorrichtung 1 bei der Entscheidung, ob sie die Ungleichungsnebenbedingung C als „erste Ungleichungsnebenbedingung“ zum Satz aktiver Nebenbedingungen hinzufügt, in der Reihenfolge einer oder mehrerer Bedingungsnummern der einen oder mehreren zweiten Ungleichungsnebenbedingungen, die als aktuelle aktive Nebenbedingungen eingestellt sind, ein oder mehrere Lineare-Abhängigkeit-Flags für ein oder mehrere Elemente auf, die Nicht-Null-Koeffizienten haben und für die keine Lineare-Abhängigkeit-Flags aufgestellt worden sind. Da die Ungleichungsnebenbedingung A und die Ungleichungsnebenbedingung B die zweiten Ungleichungsnebenbedingungen sind, die als die aktuellen aktiven Nebenbedingungen festgelegt sind, erstellt die Rechenvorrichtung 1 zunächst ein oder mehrere Lineare-Abhängigkeit-Flags für das eine oder die mehreren Elemente mit den Nicht-Null-Koeffizienten in der Ungleichungsnebenbedingung A, wie in 5 gezeigt. Als nächstes erstellt die Rechenvorrichtung 1 in der Ungleichungsnebenbedingung B ein oder mehrere Lineare-Abhängigkeit-Flags für das eine oder die mehreren Elemente, die Nicht-Null-Koeffizienten aufweisen und für die keine Lineare-Abhängigkeit-Flags erstellt wurden, wie in 6 dargestellt.
  • Die Ungleichungsnebenbedingung A enthält ein Element „1“, das x entspricht. Wie in 5 gezeigt, erstellt die Rechenvorrichtung 1 ein Lineare-Abhängigkeit-Flag für das Element „1“, das x in der Ungleichungsnebenbedingung A entspricht.
  • Die Ungleichungsnebenbedingung B enthält ein Element „1“, das x entspricht, und ein Element „1“, das z entspricht. Für das Element „1“, das x entspricht, wurde das Lineare-Abhängigkeit-Flag bereits in der Ungleichungsnebenbedingung A festgelegt, so dass die Rechenvorrichtung 1 ein Lineare-Abhängigkeit-Flag nur für das Element „1“, das z entspricht, in der Ungleichungsnebenbedingung B festlegt, wie in 6 gezeigt. Daher umfasst der Satz (zweiter Satz) des einen oder der mehreren Elemente, die Nicht-Null-Koeffizienten aufweisen und in den zweiten Ungleichungsnebenbedingungen (Ungleichungsnebenbedingungen A und B) enthalten sind, die als aktive Nebenbedingungen festgelegt werden, das Element, das x entspricht, und das Element, das z entspricht.
  • In der Ungleichungsnebenbedingung C ist ein Element mit einem Koeffizienten, der x entspricht, „3“, ein Element mit einem Koeffizienten, der y entspricht, „0“, und ein Element mit einem Koeffizienten, der z entspricht, „1“. Das heißt, die Ungleichungsnebenbedingung C enthält das Element „3“, das x entspricht, und das Element „1“, das z entspricht, als „ersten Satz“.
  • Die Rechenvorrichtung 1 stellt fest, dass die erste Ungleichungsnebenbedingung (Ungleichungsnebenbedingung C) linear von den zweiten Ungleichungsnebenbedingungen (Ungleichungsnebenbedingungen A und B) abhängig ist, weil der zweite Satz eine Teilmenge des ersten Satzes ist und die Anzahl (2 in diesem Beispiel) des einen oder der mehreren Elemente, die in jeder der zweiten Ungleichungsnebenbedingungen (Ungleichungsnebenbedingungen A und B) enthalten sind und Nicht-Null-Koeffizienten haben, größer oder gleich der Anzahl (2 in diesem Beispiel) des einen oder der mehreren Elemente ist, die in der ersten Ungleichungsnebenbedingung (Ungleichungsnebenbedingung C) enthalten sind und Nicht-Null-Koeffizienten haben. Daher fügt die Rechenvorrichtung 1 die Ungleichungsnebenbedingung C nicht in den Satz der aktiven Nebenbedingungen ein.
  • Durch die Verwendung der Lineare-Abhängigkeit-Flags auf diese Weise kann die Rechenvorrichtung 1 bestimmen, ob die erste Ungleichungsnebenbedingung, die die Bedingung erfüllt, die es der ersten Ungleichungsnebenbedingung erlaubt, die aktive Nebenbedingung zu sein, die durch die Formel (11) dargestellt wird, linear von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen abhängt, die als aktive Nebenbedingungen festgelegt sind oder nicht.
  • Wie in 2 gezeigt, liegt eine Vorhersagezeit, die einer Ungleichungsnebenbedingung mit einer kleineren Bedingungsnummer entspricht, näher an der aktuellen Zeit, und eine solche Ungleichungsnebenbedingung hat eine geringere Anzahl von Nicht-Null-Elementen. Daher kann die Rechenvorrichtung 1 leicht ein Element finden, für das noch kein Lineare-Abhängigkeit-Flag gesetzt wurde, indem sie feststellt, ob es eine lineare Abhängigkeit in der Reihenfolge der einen oder mehreren Ungleichungszahl(en) gibt, d.h. in der Reihenfolge ab der Ungleichungsnebenbedingung mit der kleinsten Anzahl von Nicht-Null-Elementen.
  • Um festzustellen, ob die erste Ungleichungsnebenbedingung linear von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen abhängt, die als aktive Nebenbedingungen festgelegt sind, ist es im Allgemeinen notwendig, ein numerisches Berechnungsverfahren wie die Singulärwertzerlegung zu verwenden. Da ein solches numerisches Rechenverfahren jedoch zu einem hohen Rechenaufwand führen kann, ist es schwierig, das numerische Rechenverfahren auf die modellprädiktive Steuerung anzuwenden, die einen kurzen Berechnungszyklus beinhaltet, bei dem die Steuervariablen in Echtzeit bestimmt werden müssen.
  • Diesbezüglich stellt die Rechenvorrichtung 1 gemäß der Ausführungsform durch die Verwendung eines solchen Merkmals, dass die Nicht-Null-Elemente der Koeffizientenmatrix C nur in den Elementen existieren, die den Steuervariablen vor den Vorhersagezeiten entsprechen, die den jeweiligen Ungleichungsnebenbedingungen entsprechen, ein Lineare-Abhängigkeit-Flag in Abhängigkeit davon auf, ob der Koeffizient in jeder der ersten und zweiten Ungleichungsnebenbedingungen 0 ist oder nicht. Indem die Lineare-Abhängigkeit-Bestimmung unter Verwendung solcher Lineare-Abhängigkeit-Flags durchgeführt wird, kann die Rechenvorrichtung 1 die optimale Lösung des konvexen quadratischen Programmierproblems finden, während eine große Rechenlast so weit wie möglich vermieden wird.
  • 8 ist ein Flussdiagramm, das einen Berechnungsprozess der Rechenvorrichtung gemäß der Ausführungsform zeigt. Der Berechnungsprozess der Rechenvorrichtung 1 wird durch die Ausführung eines im Speicher 13 gespeicherten Programms durch den Prozessor 12 implementiert. Es sollte beachtet werden, dass der Berechnungsprozess der Rechenvorrichtung 1 durch die Zusammenarbeit einer Vielzahl von Prozessoren 12 und einer Vielzahl von Speichern 13 implementiert werden kann.
  • Wie in 8 dargestellt, führt die Rechenvorrichtung 1 einen Erzeugungsprozess (S1) durch. Der Erzeugungsprozess entspricht dem Prozess, der von der Erzeugungseinheit 21 in 2 durchgeführt wird. Durch die Durchführung des Erzeugungsprozesses erzeugt die Rechenvorrichtung 1 einen Satz aktiver Nebenbedingungen und eine realisierbare Anfangslösung w0 auf der Grundlage des Satzes von Ungleichungsbedingungen und der Anfangslösung w0in, die von der Schnittstelle 11 erhalten wurden.
  • Die Rechenvorrichtung 1 führt einen Suchprozess (S2) durch. Der Suchprozess entspricht dem Prozess, der von der Sucheinheit 22 in 2 durchgeführt wird. Durch die Durchführung des Suchprozesses erzeugt die Rechenvorrichtung 1 eine simultane lineare Gleichung zum Finden der optimalen Lösung des konvexen quadratischen Planungsproblems, basierend auf dem Satz aktiver Nebenbedingungen und der Bewertungsfunktion J, und findet eine Lösung y der simultanen linearen Gleichung.
  • Die Rechenvorrichtung 1 führt einen Aktualisierungsprozess (S3) durch. Der Aktualisierungsprozess entspricht dem Prozess, der von der Aktualisierungseinheit 23 in 2 durchgeführt wird. Durch die Durchführung des Aktualisierungsprozesses aktualisiert die Rechenvorrichtung 1 den Satz aktiver Nebenbedingungen und die Lösung basierend auf der Lösung y, die durch den Prozess von S2 erhalten wurde, und gibt den Satz aktiver Nebenbedingungen und die optimale Lösung aus.
  • 9 ist ein Flussdiagramm, das den Erzeugungsprozess der Rechenvorrichtung 1 gemäß der Ausführungsform zeigt. Jeder in 9 gezeigte Prozess ist in dem Erzeugungsprozess (S1) von 8 enthalten. Es sollte beachtet werden, dass in 9 der Prozess von S 11 dem Prozess entspricht, der von der Anfangslösungserzeugungseinheit 111 in 4 durchgeführt wird. Der Prozess in S12 und S13 entspricht dem Prozess, der von der Maximalnebenbedingungsadditionseinheit 112 in 4 durchgeführt wird. Der Vorgang in S14 entspricht dem Vorgang, der von der Additionsbestimmungseinheit 113 in 4 durchgeführt wird. Der Vorgang in S15 und S16 entspricht dem Vorgang, der von der Lineare-Abhängigkeit-Bestimmungseinheit 114 in 4 durchgeführt wird. Der Vorgang in S17 entspricht dem Vorgang, der von der Aktive-Nebenbedingung-Additionseinheit 115 in 4 durchgeführt wird.
  • Wie in 9 gezeigt, erzeugt die Rechenvorrichtung 1 eine realisierbare Anfangslösung w0 in Abhängigkeit davon, ob die Anfangslösung w0in die durch die Formel (9) dargestellte Ungleichungsnebenbedingung erfüllt oder nicht (S11). Bei dieser Gelegenheit, wenn die Anfangslösung w0in den Satz der Ungleichungsnebenbedingungen nicht erfüllt, aktualisiert die Rechenvorrichtung 1 die Schlupfvariable sn, um einen größeren Wert in der Formel (10) zu haben, wodurch eine realisierbare Anfangslösung w0 erzeugt wird, die den Satz der Ungleichungsnebenbedingungen der Formel (9) erfüllt.
  • Die Rechenvorrichtung 1 bestimmt als dritte Ungleichungsnebenbedingung, die am meisten vom Wert der Bedingung abweicht, die Ungleichungsnebenbedingung, die so aktualisiert wurde, dass sie den maximalen Wert der Schlupfvariablen hat und in den Satz der Ungleichungsnebenbedingung aufgenommen wurde (S12).
  • Die Rechenvorrichtung 1 fügt die ermittelte dritte Ungleichungsnebenbedingung dem Satz der aktiven Nebenbedingungen mit Vorrang vor den anderen Ungleichungsnebenbedingungen hinzu (S13). Auf diese Weise kann die Rechenvorrichtung 1 die dritte Ungleichungsnebenbedingung, die am stärksten vom Bedingungswert abweicht, dem Satz aktiver Nebenbedingungen hinzufügen, und zwar vorrangig vor den Ungleichungsnebenbedingungen, die dem Satz aktiver Nebenbedingungen nach den unten beschriebenen Prozessen von S14 bis S17 hinzugefügt werden.
  • Für die anderen Ungleichungsnebenbedingungen als die dritte Ungleichungsnebenbedingung führt die Rechenvorrichtung 1 die Prozesse von S14 bis S17 in der Reihenfolge der einen oder mehreren Bedingungsnummern durch.
  • Die Rechenvorrichtung 1 bestimmt, ob der Satz Ungleichungsnebenbedingungen eine erste Ungleichungsbedingung enthält, die eine Bedingung für die Hinzufügung zum Satz aktiver Nebenbedingungen erfüllt oder nicht (S14). Wenn der Satz der Ungleichungsnebenbedingungen keine erste Ungleichungsnebenbedingung enthält, die die Bedingung für die Hinzufügung zu dem Satz aktiver Nebenbedingungen erfüllt (NEIN in S14), fährt die Rechenvorrichtung 1 mit dem Prozess von S18 fort.
  • Wenn die Ungleichungsnebenbedingung eine erste Ungleichungsnebenbedingung enthält, die die Bedingung für die Hinzufügung zum Satz aktiver Nebenbedingungen erfüllt (JA in S14), erstellt die Rechenvorrichtung 1 in der Reihenfolge einer oder mehrerer Nebenbedingungsnummern einer oder mehrerer zweiter Ungleichungsnebenbedingungen, die in dem Satz aktiver Nebenbedingungen enthalten sind, ein oder mehrere Lineare-Abhängigkeit-Flags für ein oder mehrere Elemente, die Nicht-Null-Koeffizienten haben und für die keine Lineare-Abhängigkeit-Flags erstellt wurden (S15).
  • Wie in den 5 bis 7 beschrieben, bestimmt die Rechenvorrichtung 1 auf der Grundlage der einen oder mehreren Lineare-Abhängigkeit-Flags, ob die erste Ungleichungsnebenbedingung, die die Bedingung für das Hinzufügen zu dem Satz aktiver Nebenbedingungen erfüllt, linear von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen abhängt, die als die aktuellen aktiven Nebenbedingungen festgelegt sind (S16) oder nicht. Wenn die erste Ungleichungsnebenbedingung linear von der einen oder mehreren zweiten Ungleichungsnebenbedingung(en) abhängt (JA in S16), überspringt die Rechenvorrichtung 1 den Prozess von S17 und fährt mit dem Prozess von S18 fort.
  • Wenn die erste Ungleichungsnebenbedingung linear von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen abhängig ist, d.h. wenn die erste Ungleichungsnebenbedingung linear unabhängig von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen ist (NEIN in S16), fügt die Rechenvorrichtung 1 die erste Ungleichungsnebenbedingung, die als nicht linear abhängig von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen bestimmt wurde, dem Satz aktiver Nebenbedingungen hinzu (S 17).
  • Die Rechenvorrichtung 1 stellt fest, ob für alle Ungleichungsbedingungen, die in dem Satz von Ungleichungsbedingungen enthalten sind, die Aufnahme in den Satz aktiver Nebenbedingungen bestimmt worden ist oder nicht (S18). Wenn die Bestimmung zur Hinzufügung zu dem Satz aktiver Nebenbedingungen nicht für alle Ungleichungsnebenbedingungen durchgeführt worden ist (NEIN in S18), kehrt die Rechenvorrichtung 1 zu dem Prozess von S 14 zurück.
  • Wenn die Bestimmung zur Hinzufügung zum Satz aktiver Nebenbedingungen für alle Ungleichungsnebenbedingungen durchgeführt wurde (JA in S18), beendet die Rechenvorrichtung 1 den Erzeugungsprozess.
  • 10 ist ein Flussdiagramm, das den Suchprozess der Rechenvorrichtung 1 gemäß der Ausführungsform zeigt. Jeder in 10 gezeigte Prozess ist in dem Suchprozess (S2) von 8 enthalten.
  • Die Rechenvorrichtung 1 erzeugt eine simultane lineare Gleichung, um die optimale Lösung des konvexen quadratischen Programmierproblems zu finden, basierend auf dem Satz aktiver Nebenbedingungen, der durch den Erzeugungsprozess und die Bewertungsfunktion J (S21) erzeugt wurde. Die Rechenvorrichtung 1 erzeugt eine simultane lineare Gleichung zum Lösen des Minimierungsproblems der Bewertungsfunktion J, die nur aktive Nebenbedingungen als Nebenbedingungen hat. Das Minimierungsproblem der Bewertungsfunktion J mit nur den aktiven Nebenbedingungen als Nebenbedingungen wird durch die folgenden Formeln (12) und (13) dargestellt: min w J = 1 2 w T H w + h T w
    Figure DE102022206949A1_0012
    s .t A k T w = b k
    Figure DE102022206949A1_0013
  • Die Rechenvorrichtung 1 erzeugt eine simultane lineare Gleichung, die eine KKT-Bedingung (Karush-Kuhn-Tucker-Bedingung) enthält, wie in der folgenden Formel (14) angegeben: [ H A k A k T 0 ] [ y λ ] = [ h ]
    Figure DE102022206949A1_0014
  • In der Formel (14) entspricht der tiefgestellte Index „k“ der Anzahl der Iterationen der Berechnungen der Rechenvorrichtung 1. Wenn die Schnittstelle 11 das Optimierungsproblem erhält und dann die Sucheinheit 22 die Berechnung zum ersten Mal unter Verwendung der von der Erzeugungseinheit 21 berechneten Bedingung durchführt, ist k = 0. Der tiefgestellte Index der realisierbaren Anfangslösung w0 steht für k = 0. Das heißt, der tiefgestellte Index „k“ der Lösung wk entspricht der Anzahl der Iterationen der Berechnung durch die Rechenvorrichtung 1. y stellt eine Lösung des Minimierungsproblems dar, wenn die Anzahl der Iterationen der Berechnung, wie durch die Formeln (12) und (13) dargestellt, k ist. λ stellt einen Lagrange-Multiplikator dar, der jeder Nebenbedingung entspricht.
  • Die Rechenvorrichtung 1 findet die Lösung y der Formel (14) mit Hilfe eines numerischen Analyseverfahrens (S22). Als Verfahren zum Auffinden der Lösung der simultanen linearen Gleichung sind folgende Verfahren bekannt: ein direktes Analyseverfahren wie das Gaußsche Eliminationsverfahren; und ein Verfahren, das ein iteratives Verfahren wie ein CG-Verfahren (konjugiertes Gradientenverfahren) oder ein GMRES-Verfahren (verallgemeinertes minimales RESidualverfahren, engl. Generalized Minimal RESidual method) verwendet. Es ist zu beachten, dass die Rechenvorrichtung 1 vor der Durchführung jedes dieser numerischen Analyseverfahren einen Vorprozess für die simultane lineare Gleichung durchführen kann, um die numerische Konvergenz und Stabilität zu erhöhen. Danach beendet die Rechenvorrichtung 1 den Suchprozess.
  • 11 ist ein Flussdiagramm, das den Aktualisierungsprozess der Rechenvorrichtung 1 gemäß der Ausführungsform zeigt. Jeder in 11 gezeigte Prozess ist in dem Aktualisierungsprozess (S3) von 8 enthalten.
  • Die Rechenvorrichtung 1 aktualisiert den Satz aktiver Nebenbedingungen und die Lösung auf der Grundlage der durch den Suchprozess (S31) erhaltenen Lösung y. Die Rechenvorrichtung 1 bestimmt eine Bedingung, die zu dem Satz aktiver Nebenbedingungen hinzuzufügen oder daraus zu entfernen ist, auf folgende Weise, um die Lösung wk zu aktualisieren.
  • Wenn es eine Bedingung gibt, die zu dem Satz aktiver Nebenbedingungen hinzugefügt werden soll, bestimmt die Rechenvorrichtung 1 den Satz aktiver Nebenbedingungen und die Lösung wk+1 auf die folgende Weise. Insbesondere, wenn die Lösung y, die durch den Suchprozess erhalten wurde, eine oder mehrere der Nebenbedingungen des Satzes Ungleichungsnebenbedingungen, der durch die Formel (9) dargestellt wird, nicht erfüllt, bestimmt die Rechenvorrichtung 1 die Lösung wk+1 unter Verwendung der folgenden Formel (15): w k + 1 = ( 1 α ) + α y
    Figure DE102022206949A1_0015
  • In der Formel (15) wird α auf den Maximalwert unter den Bedingungen gesetzt, dass 0 < α < 1 und die Lösung wk+1 die Ungleichungsnebenbedingung erfüllt. Ferner erzeugt die Rechenvorrichtung 1 einen aktualisierten Satz aktiver Nebenbedingungen, indem sie dem Satz aktiver Nebenbedingungen eine neue Bedingung hinzufügt, die die Gleichheitsnebenbedingung in Bezug auf die Lösung wk+1 erfüllt.
  • Andererseits, wenn es in dem Satz aktiver Nebenbedingungen eine zu entfernende Nebenbedingung gibt, bestimmt die Rechenvorrichtung 1 den Satz aktiver Nebenbedingungen und die Lösung wk+1 auf folgende Weise. Insbesondere, wenn die durch den Suchprozess erhaltene Lösung y alle Nebenbedingungen des durch die Formel (9) dargestellten Satzes Ungleichungsnebenbedingungen erfüllt, bestimmt die Rechenvorrichtung 1 die Lösung wk+1 unter Verwendung der folgenden Formel (16): w k + 1 = ( 1 α ) w k + α y
    Figure DE102022206949A1_0016
  • Wenn die von der Sucheinheit 22 erhaltene Lösung y Werte aufweist, die den Lagrange-Multiplikator λ < 0 erfüllen, entfernt die Rechenvorrichtung 1 aus dem Satz aktiver Nebenbedingungen eine Bedingung, die dem maximalen Absolutwert unter den Werten der Lösung y entspricht, und erzeugt dadurch einen aktualisierten Satz aktiver Nebenbedingungen.
  • Die Rechenvorrichtung 1 bestimmt, ob der Satz aktiver Nebenbedingungen aktualisiert wurde oder nicht (S32). Insbesondere, wenn keine Ungleichungsnebenbedingung zu dem Satz aktiver Nebenbedingungen hinzugefügt wird und keine Ungleichungsnebenbedingung aus dem Satz aktiver Nebenbedingungen entfernt wird (NEIN in S32), gibt die Rechenvorrichtung 1 die Lösung wk+1 als die optimale Lösung aus und beendet die Berechnung.
  • Wenn der Satz aktiver Nebenbedingungen aktualisiert wird (JA in S32), bestimmt die Rechenvorrichtung 1, ob die Anzahl der Aktualisierungen der aktiven Nebenbedingungen einen im Voraus festgelegten oberen Grenzwert erreicht hat (S33) oder nicht.
  • Wenn die Anzahl der Aktualisierungen der aktiven Randbedingungen den oberen Grenzwert erreicht hat (JA in S33), beendet die Rechenvorrichtung 1 die Berechnung. Wenn die Anzahl der Aktualisierungen der aktiven Nebenbedingungen den oberen Grenzwert nicht erreicht hat (NEIN in S33), führt die Rechenvorrichtung 1 den Suchprozess von S2 erneut durch und verwendet dabei den aktualisierten Satz aktiver Nebenbedingungen und die Lösung wk+1.
  • Auf diese Weise veranlasst die Rechenvorrichtung 1 gemäß der Ausführungsform die Sucheinheit 22, nach einer Lösung zu suchen, die die Bewertungsfunktion J unter der Randbedingung für die von der Erzeugungseinheit 21 erzeugte aktive Randbedingung minimiert. Die Rechenvorrichtung 1 veranlasst die Aktualisierungseinheit 23, den Satz aktiver Nebenbedingungen entsprechend der erhaltenen Lösung zu aktualisieren, und wiederholt den Prozess der Suche der Sucheinheit 22 nach der Lösung, die die Bewertungsfunktion unter der Bedingung für die aktualisierte aktive Nebenbedingung minimiert. Die Rechenvorrichtung 1 findet eine optimale Lösung, die die Bewertungsfunktion J minimiert und gleichzeitig alle durch die Formel (9) dargestellten Ungleichungsnebenbedingungen erfüllt.
  • In einer konventionellen Rechenvorrichtung zum Finden einer optimalen Lösung eines konvexen quadratischen Programmierproblems, wenn eine Vielzahl von Ungleichungsnebenbedingungen, die als aktive Nebenbedingungen gesetzt sind, nicht in einer linear unabhängigen Beziehung stehen, werden nachteiligerweise die Dimensionen einer simultanen linearen Gleichung, die eine Bedingung enthält, die von der optimalen Lösung erfüllt werden muss, verringert, mit dem Ergebnis, dass die optimale Lösung nicht gefunden werden kann.
  • Andererseits, selbst in dem Fall, in dem die Additionsbestimmungseinheit 113 bestimmt, dass es eine erste Ungleichungsnebenbedingung gibt, die eine Bedingung für die Hinzufügung zu dem Satz aktiver Nebenbedingungen erfüllt, veranlasst die Rechenvorrichtung 1 gemäß der Ausführungsform die Aktive-Bedingung-Additionseinheit 115 nicht, die erste Ungleichungsnebenbedingung zu dem Satz aktiver Nebenbedingungen hinzuzufügen, wenn die Lineare-Abhängigkeit-Bestimmungseinheit 114 bestimmt, dass die erste Ungleichungsnebenbedingung linear abhängig von der einen oder mehreren zweiten Ungleichungsnebenbedingungen ist, die in dem Satz aktiver Nebenbedingungen enthalten sind. Auf diese Weise kann die Computervorrichtung 1 die Vielzahl von Ungleichungsnebenbedingungen, die als aktive Nebenbedingungen festgelegt sind, in einer linear unabhängigen Beziehung halten und ein solches Problem lösen, dass die optimale Lösung nicht durch die Sucheinheit 22 erhalten werden kann. Danach veranlasst die Rechenvorrichtung 1 die Aktualisierungseinheit 23, den Satz aktiver Nebenbedingungen zu aktualisieren; jedoch wird in dem Verfahren zur Bestimmung der Ungleichungsnebenbedingung, die zu dem Satz aktiver Nebenbedingungen hinzugefügt werden soll, theoretisch keine Ungleichungsnebenbedingung hinzugefügt, die linear von einer Ungleichungsnebenbedingung abhängt, die als aktive Nebenbedingung festgelegt ist. Infolgedessen kann die Rechenvorrichtung 1 die optimale Lösung des konvexen quadratischen Programmierproblems finden.
  • Wenn Ungleichungsnebenbedingungen, die linear von Ungleichungsnebenbedingungen abhängen, die als aktive Nebenbedingungen festgelegt sind, in dem Satz der Ungleichungsnebenbedingungen existieren, der in die Rechenvorrichtung 1 eingegeben wird, und die Ungleichungsnebenbedingungen zu dem Satz der aktiven Nebenbedingungen hinzugefügt werden sollen, findet die Rechenvorrichtung 1 nicht die optimale Lösung, es sei denn, nur eine Bedingung, die die physikalisch strengste unter den hinzuzufügenden Ungleichungsnebenbedingungen ist, wird dem Satz der aktiven Nebenbedingungen hinzugefügt.
  • Diesbezüglich veranlasst die Rechenvorrichtung 1 die Maximalnebenbedingungsadditionseinheit 112, die dritte Ungleichungsnebenbedingung, die zu jedem Vorhersagezeitpunkt am stärksten vom Nebenbedingungswert abweicht, vorrangig vor den anderen Ungleichungsnebenbedingungen in den Satz der aktiven Nebenbedingungen aufzunehmen. Ferner veranlasst die Rechenvorrichtung 1 die Lineare-Abhängigkeit-Bestimmungseinheit 114 zu bestimmen, ob die erste Ungleichungsnebenbedingung, die von der Additionsbestimmungseinheit 113 als die Bedingung erfüllend bestimmt wurde, die es der ersten Ungleichungsnebenbedingung erlaubt, eine aktive Nebenbedingung zu sein, linear von der aktiven Nebenbedingung abhängig ist oder nicht, einschließlich der dritten Ungleichungsnebenbedingung, die am meisten von dem Bedingungswert abweicht, und fügt die erste Ungleichungsnebenbedingung, die linear von der aktiven Nebenbedingung abhängig ist, nicht zu dem Satz aktiver Nebenbedingungen hinzu. Das heißt, nach dem Hinzufügen der dritten Ungleichungsnebenbedingung, die am meisten von dem Nebenbedingungswert abweicht, zum Satz der aktiven Nebenbedingungen, fügt die Rechenvorrichtung 1 nicht die erste Ungleichungsnebenbedingung, die linear von der dritten Ungleichungsnebenbedingung abhängig ist, zu dem Satz der aktiven Nebenbedingungen hinzu, wobei bestimmt wird, dass die ersten Ungleichungsnebenbedingungen die Bedingung erfüllen, die es jeder ersten Ungleichungsnebenbedingung erlaubt, eine aktive Nebenbedingung zu sein. Auf diese Weise kann die Rechenvorrichtung 1 nur die physikalisch strengste Ungleichungsnebenbedingung zu dem Satz aktiver Nebenbedingungen hinzufügen.
  • Wie oben beschrieben, ist die vorliegende Offenbarung auf eine Rechenvorrichtung 1 zum Finden einer optimalen Lösung eines konvexen quadratischen Programmierproblems gerichtet. Die Rechenvorrichtung 1 umfasst: eine Schnittstelle 11 zum Erhalten einer Bewertungsfunktion J, eines Satzes von Ungleichungsnebenbedingungen und einer Anfangslösung w0in des konvexen quadratischen Planungsproblems; und einen Prozessor 12 zum Finden der optimalen Lösung auf der Grundlage der Bewertungsfunktion J, des Satzes von Ungleichungsnebenbedingungen und der Anfangslösung w0in, die durch die Schnittstelle 11 erhalten wurden. Der Prozessor 12 umfasst eine Erzeugungseinheit 21, eine Sucheinheit 22 und eine Aktualisierungseinheit 23. Die Erzeugungseinheit 21 erzeugt einen Satz aktiver Nebenbedingungen auf der Grundlage des Satzes Ungleichungsnebenbedingungen und der Anfangslösung w0in. Die Sucheinheit 22 findet eine Lösung einer simultanen linearen Gleichung, die auf der Grundlage des Satzes aktiver Nebenbedingungen und der Bewertungsfunktion J erzeugt wurde. Die Aktualisierungseinheit 23 aktualisiert den Satz aktiver Nebenbedingungen auf der Grundlage der von der Sucheinheit 22 erhaltenen Lösung. Die Erzeugungseinheit 21 umfasst eine Additionsbestimmungseinheit 113, eine Lineare-Abhängigkeit-Bestimmungseinheit 114 und eine Aktive-Nebenbedingung-Additionseinheit 115. Die Additionsbestimmungseinheit 113 bestimmt, ob der Satz der Ungleichungsnebenbedingungen eine erste Ungleichungsnebenbedingung enthält, die eine Bedingung für die Hinzufügung zum Satz aktiver Nebenbedingungen erfüllt oder nicht. Die Lineare-Abhängigkeit-Bestimmungseinheit 114 bestimmt, ob die erste Ungleichungsnebenbedingung, die die Bedingung erfüllt, linear von einer oder mehreren zweiten Ungleichungsnebenbedingungen abhängt, die in dem Satz aktiver Nebenbedingungen enthalten sind, oder nicht. Die Aktive-Nebenbedingung-Additionseinheit 115 fügt die erste Ungleichungs-Nebenbedingung, die von der Lineare-Abhängigkeit-Bestimmungseinheit 114 als nicht linear abhängig von der einen oder mehreren zweiten Ungleichungs-Nebenbedingungen bestimmt wurde, zu dem Satz aktiver Nebenbedingungen hinzu.
  • Gemäß einer solchen Konfiguration kann die Rechenvorrichtung 1 die eine oder mehrere zweite Ungleichungsnebenbedingung(en), die als aktive Nebenbedingung(en) festgelegt sind, in einer linear unabhängigen Beziehung halten, mit dem Ergebnis, dass die optimale Lösung des konvexen quadratischen Programmierproblems gefunden werden kann, während eine große Berechnungslast so weit wie möglich vermieden wird.
  • Vorzugsweise stellt die Lineare-Abhängigkeit-Bestimmungseinheit 114 fest, dass die erste Ungleichungsnebenbedingung linear von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen abhängig ist, wenn ein oder mehrere Elemente, die in der einen oder mehreren zweiten Ungleichungsnebenbedingung(en) enthalten sind und Nicht-Null-Koeffizienten haben, eine Teilmenge von einem oder mehreren Elementen sind, die in der ersten Ungleichungsnebenbedingung enthalten sind und Nicht-Null-Koeffizienten haben, und wenn die Anzahl des einen oder der mehreren Elemente, die in jeder der einen oder mehreren zweiten Ungleichungsnebenbedingung(en) enthalten sind und die Nicht-Null-Koeffizienten haben, mehr als oder gleich der Anzahl des einen oder der mehreren Elemente ist, die in der ersten Ungleichungsnebenbedingung enthalten sind und die Nicht-Null-Koeffizienten haben.
  • Gemäß einer solchen Konfiguration kann die Rechenvorrichtung 1 bestimmen, ob die erste Ungleichungsnebenbedingung linear von der einen oder mehreren zweiten Ungleichungsnebenbedingungen abhängt oder nicht, indem sie nur bestimmt, ob der Koeffizient einer relevanten Ungleichungsnebenbedingung 0 ist oder nicht, indem sie ein solches Merkmal verwendet, dass ein Nicht-Null-Element nur in einem Element existiert, das einer Steuervariablen vor einem Vorhersagezeitpunkt entspricht, der jeder Ungleichungsnebenbedingung in den Ungleichungsnebenbedingungen entspricht, die durch die modellprädiktive Steuerung erhalten werden. Auf diese Weise kann in der Rechenvorrichtung 1 der Rechenaufwand im Vergleich zu einem Bestimmungsverfahren, das eine allgemeine numerische Berechnung verwendet, verringert werden.
  • Vorzugsweise stellt die Lineare-Abhängigkeit-Bestimmungseinheit 114 in der Reihenfolge einer oder mehrerer Ungleichungsnebenbedingungsnummern der einen oder mehreren zweiten Ungleichungs-Bedingungen ein oder mehrere Lineare-Abhängigkeit-Flags für ein oder mehrere Elemente auf, die Nicht-Null-Koeffizienten haben und für die keine Lineare-Abhängigkeit-Flags aufgestellt worden sind, und die Lineare-Abhängigkeit-Bestimmungseinheit 114 bestimmt, dass die erste Ungleichungsnebenbedingung linear von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen abhängt, wenn die eine oder die mehreren Lineare-Abhängigkeit-Flags für alle der einen oder mehreren Elemente, die in der ersten Ungleichungsnebenbedingung enthalten sind und die Nicht-Null-Koeffizienten haben, bestimmt werden.
  • Gemäß einer solchen Konfiguration kann die Rechenvorrichtung 1 unter Verwendung der Lineare-Abhängigkeit-Flags bestimmen, ob die erste Ungleichungsnebenbedingung linear von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen abhängt oder nicht. Ferner kann die Rechenvorrichtung 1 ein Lineare-Abhängigkeit-Flag nur in Abhängigkeit davon erzeugen, ob der Koeffizient einer relevanten Ungleichungsnebenbedingung 0 ist oder nicht. Auf diese Weise kann in der Rechenvorrichtung 1 der Rechenaufwand im Vergleich zu einem Bestimmungsverfahren, das eine allgemeine numerische Berechnung verwendet, verringert werden.
  • Vorzugsweise fügt die Erzeugungseinheit 21 bei der Anfangslösung w0in eine dritte Ungleichungsnebenbedingung zu dem Satz aktiver Nebenbedingungen hinzu, die Vorrang vor anderen Ungleichungsnebenbedingungen hat, wobei die dritte Ungleichungsbedingung ist eine Bedingung, die in dem Satz der Ungleichungsbedingungen enthalten ist und die zu jedem Vorhersagezeitpunkt am meisten von einem Bedingungswert abweicht.
  • Gemäß einer solchen Konfiguration kann die Rechenvorrichtung 1 nur die physikalisch strengste Ungleichungsnebenbedingung des Satzes von Ungleichungsnebenbedingungen zu dem Satz aktiver Nebenbedingungen hinzufügen. Ferner fügt die Rechenvorrichtung 1 nach dem Hinzufügen der dritten Ungleichungsnebenbedingung, die am meisten von dem Nebenbedingungswert abweicht, zu dem Satz aktiver Nebenbedingungen keine erste Ungleichungsnebenbedingung hinzu, die linear von der dritten Ungleichungsnebenbedingung unter den ersten Ungleichungsnebenbedingungen abhängt, die so bestimmt wurden, dass sie die Bedingung erfüllen, die jeder ersten Ungleichungsnebenbedingung erlaubt, eine aktive Nebenbedingung zu sein, mit dem Ergebnis, dass nur die physikalisch strengste Ungleichungsnebenbedingung zu dem Satz aktiver Nebenbedingungen hinzugefügt werden kann. Auf diese Weise kann die Rechenvorrichtung 1 in geeigneter Weise die optimale Lösung des konvexen quadratischen Programmierproblems finden.
  • Die vorliegende Offenbarung betrifft ein Verfahren zum Finden einer optimalen Lösung eines konvexen quadratischen Programmierproblems durch einen Computer (Prozessor 12). Das Rechenverfahren umfasst: (S1) Erzeugen eines Satzes aktiver Nebenbedingungen auf der Grundlage eines Satzes Ungleichungsnebenbedingungen und einer Anfangslösung w0in in dem konvexen quadratischen Programmierproblem; (S2) Finden einer Lösung einer simultanen linearen Gleichung, die auf der Grundlage des Satzes aktiver Nebenbedingungen und einer Bewertungsfunktion J in dem konvexen quadratischen Programmierproblem erzeugt wurde; und (S3) Aktualisieren des Satzes aktiver Nebenbedingungen auf der Grundlage der durch das Finden (S2) der Lösung erhaltenen Lösung. Das Erzeugen (S1) umfasst: (S14) Bestimmen, ob der Satz der Ungleichungsnebenbedingungen eine erste Ungleichungsnebenbedingung enthält, die eine Bedingung für die Hinzufügung zu dem Satz aktiver Nebenbedingungen erfüllt; (S16) Bestimmen, ob die erste Ungleichungsnebenbedingung, die die Bedingung erfüllt, linear von einer oder mehreren zweiten Ungleichungsnebenbedingungen abhängt, die in dem Satz der aktiven Nebenbedingungen enthalten sind, oder nicht und (S17) Hinzufügen der ersten Ungleichungsnebenbedingung, die durch die Bestimmung (S16), ob die erste Ungleichungsnebenbedingung, die die Bedingung erfüllt, linear von der einen oder mehreren zweiten Ungleichungsnebenbedingungen, die in dem Satz aktiver Nebenbedingungen enthalten sind, abhängig ist oder nicht, als nicht linear abhängig von der einen oder mehreren zweiten Ungleichungsnebenbedingungen bestimmt wurde, zu dem Satz aktiver Nebenbedingungen.
  • Gemäß einem solchen Verfahren kann der Prozessor 12 (Computer) der Rechenvorrichtung 1 die eine oder mehrere zweite Ungleichungsnebenbedingung(en), die als aktive Nebenbedingung(en) festgelegt sind, in einer linear unabhängigen Beziehung halten, mit dem Ergebnis, dass die optimale Lösung des konvexen quadratischen Programmierproblems gefunden werden kann, während eine große Berechnungslast so weit wie möglich vermieden wird.
  • Obwohl die vorliegende Erfindung im Detail beschrieben und illustriert wurde, versteht es sich von selbst, dass dies nur zur Veranschaulichung und als Beispiel dient und nicht als Nebenbedingung zu verstehen ist, wobei der Umfang der vorliegenden Erfindung durch die Bedingungen der beigefügten Ansprüche interpretiert wird.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • JP 201610009 [0002]

Claims (5)

  1. Eine Rechenvorrichtung (1) zum Finden einer optimalen Lösung eines konvexen quadratischen Programmierproblems, wobei die Rechenvorrichtung umfasst: eine Schnittstelle (11) zum Erhalten einer Bewertungsfunktion, eines Satzes von Ungleichungsnebenbedingungen und einer Anfangslösung des konvexen quadratischen Programmierproblems; und einen Prozessor (12) zum Finden der optimalen Lösung auf der Grundlage der Bewertungsfunktion, des Satzes von Ungleichungsnebenbedingungen und der durch die Schnittstelle erhaltenen Anfangslösung, wobei der Prozessor umfasst: eine Erzeugungseinheit (21) zum Erzeugen eines Satzes aktiver Nebenbedingungen auf der Grundlage des Satzes von Ungleichungsnebenbedingungen und der Anfangslösung, eine Sucheinheit (22) zum Finden einer Lösung einer simultanen linearen Gleichung, die auf der Grundlage des Satzes aktiver Nebenbedingungen und der Bewertungsfunktion erzeugt wurde, und eine Aktualisierungseinheit (23) zum Aktualisieren des Satzes aktiver Nebenbedingungen auf der Grundlage der von der Sucheinheit erhaltenen Lösung, die Erzeugungseinheit (21) umfasst: eine Additionsbestimmungseinheit (113) zum Bestimmen, ob der Satz der Ungleichungsnebenbedingungen eine erste Ungleichungsnebenbedingung enthält oder nicht, die eine Bedingung für die Addition zu dem Satz aktiver Nebenbedingungen erfüllt, eine Lineare-Abhängigkeit-Bestimmungseinheit (114) zum Bestimmen, ob die erste Ungleichungsnebenbedingung, die die Bedingung erfüllt, linear von einer oder mehreren zweiten Ungleichungsnebenbedingungen, die in dem Satz aktiver Nebenbedingungen enthalten sind, abhängig ist oder nicht, und eine Aktive-Nebenbedingung-Additionseinheit (115), um die erste Ungleichungsnebenbedingung, die von der Lineare-Abhängigkeit-Bestimmungseinheit als nicht linear abhängig von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen bestimmt wurde, zu dem Satz aktiver Nebenbedingungen hinzuzufügen.
  2. Die Rechenvorrichtung nach Anspruch 1, wobei die Lineare-Abhängigkeit-Bestimmungseinheit (114) bestimmt, dass die erste Ungleichungsnebenbedingung linear von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen abhängig ist, wenn ein oder mehrere Elemente, die in jeder der einen oder mehreren zweiten Ungleichungsnebenbedingungen enthalten sind und Nicht-Null-Koeffizienten aufweisen, eine Teilmenge von einem oder mehreren Elementen sind, die in der ersten Ungleichungsnebenbedingung enthalten sind und Nicht-Null-Koeffizienten aufweisen, und wenn die Anzahl des einen oder der mehreren Elemente, die in der einen oder den mehreren zweiten Ungleichungsnebenbedingungen enthalten sind und die Nicht-Null-Koeffizienten aufweisen, größer oder gleich der Anzahl des einen oder der mehreren Elemente ist, die in der ersten Ungleichungsnebenbedingung enthalten sind und die Nicht-Null-Koeffizienten aufweisen.
  3. Die Rechenvorrichtung nach Anspruch 1, wobei die Lineare-Abhängigkeit-Bestimmungseinheit (114) in der Reihenfolge einer oder mehrerer Nebenbedingungsnummern der einen oder mehreren zweiten Ungleichungs-Bedingungen ein oder mehrere Lineare-Abhängigkeit-Flags für ein oder mehrere Elemente festlegt, die Nicht-Null-Koeffizienten haben und für die keine Lineare-Abhängigkeit-Flags festgelegt worden sind, und die Lineare-Abhängigkeit-Bestimmungseinheit (114) bestimmt, dass die erste Ungleichungsnebenbedingung linear von der einen oder den mehreren zweiten Ungleichungsnebenbedingungen abhängt, wenn der eine oder die mehreren linearen Abhängigkeit-Flags für alle des einen oder der mehreren Elemente, die in der ersten Ungleichungsnebenbedingung enthalten sind und die Nicht-Null-Koeffizienten haben, bestimmt werden.
  4. Die Rechenvorrichtung nach Anspruch 1, wobei in der Anfangslösung die Erzeugungseinheit (21) eine dritte Ungleichungsnebenbedingung zu dem Satz aktiver Nebenbedingungen mit Vorrang vor anderen Ungleichungsnebenbedingungen hinzufügt, wobei die dritte Ungleichungsnebenbedingung eine Bedingung ist, die in dem Satz der Ungleichungsnebenbedingungen enthalten ist und die bei jeder Vorhersagezeit am meisten von einem Bedingungswert abweicht.
  5. Ein Rechenverfahren zum Finden einer optimalen Lösung eines konvexen quadratischen Programmierproblems durch einen Computer, wobei das Rechenverfahren umfasst: Erzeugen eines Satzes von aktiven Nebenbedingungen auf der Grundlage eines Satzes von Ungleichungsnebenbedingungen und einer Anfangslösung in dem konvexen quadratischen Programmierproblem; Finden einer Lösung einer simultanen linearen Gleichung, die auf der Grundlage des Satzes von aktiven Nebenbedingungen und einer Bewertungsfunktion in dem konvexen quadratischen Programmierproblem erzeugt wird; und Aktualisieren des Satzes von aktiven Nebenbedingungen auf der Grundlage der Lösung, die durch das Finden der Lösung erhalten wurde, wobei das Erzeugen umfasst: Bestimmen, ob der Satz der Ungleichungsnebenbedingungen eine erste Ungleichungsnebenbedingung enthält, die eine Bedingung für die Hinzufügung zu dem Satz aktiver Nebenbedingungen erfüllt oder nicht, Bestimmen, ob die erste Ungleichungsnebenbedingung, die die Bedingung erfüllt, linear von einer oder mehreren zweiten Ungleichungsnebenbedingungen, die in dem Satz der aktiven Nebenbedingungen enthalten sind, abhängig ist oder nicht, und Hinzufügen der ersten Ungleichungsnebenbedingung, die durch das Bestimmen, ob die erste Ungleichungsnebenbedingung, die die Bedingung erfüllt, linear von der einen oder mehreren zweiten Ungleichungsnebenbedingungen, die in dem Satz der aktiven Nebenbedingungen enthalten sind, abhängig ist oder nicht, als nicht linear abhängig von der einen oder mehreren zweiten Ungleichungsnebenbedingungen bestimmt wurde, zu dem Satz der aktiven Nebenbedingungen.
DE102022206949.8A 2021-09-13 2022-07-07 Rechenvorrichtung und Rechenverfahren Pending DE102022206949A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/473,505 2021-09-13
US17/473,505 US20230083788A1 (en) 2021-09-13 2021-09-13 Computing device and computing method

Publications (1)

Publication Number Publication Date
DE102022206949A1 true DE102022206949A1 (de) 2023-03-16

Family

ID=85284662

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022206949.8A Pending DE102022206949A1 (de) 2021-09-13 2022-07-07 Rechenvorrichtung und Rechenverfahren

Country Status (4)

Country Link
US (1) US20230083788A1 (de)
JP (1) JP7330313B2 (de)
CN (1) CN115809398A (de)
DE (1) DE102022206949A1 (de)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016010009A (ja) 2014-06-24 2016-01-18 Kddi株式会社 基地局装置、無線信号制御方法およびコンピュータプログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10613490B2 (en) * 2018-02-05 2020-04-07 Mitsubishi Electric Research Laboratories, Inc. Method and apparatus for preconditioned predictive control

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016010009A (ja) 2014-06-24 2016-01-18 Kddi株式会社 基地局装置、無線信号制御方法およびコンピュータプログラム

Also Published As

Publication number Publication date
JP7330313B2 (ja) 2023-08-21
US20230083788A1 (en) 2023-03-16
JP2023041583A (ja) 2023-03-24
CN115809398A (zh) 2023-03-17

Similar Documents

Publication Publication Date Title
EP3785177B1 (de) Verfahren und vorrichtung zum ermitteln einer netzkonfiguration eines neuronalen netzes
DE202017105528U1 (de) Ausführen von Mittelwert-Poolbildung in Hardware
DE102018100239A1 (de) Schleifen- und Bibliotheksfusion
DE102017121887A1 (de) Ausführen von Kerndurchschreiten in Hardware
DE112004001214T5 (de) Schnelles Merkmalsauswahlverfahren und System zur Maximalentropiemodellierung
DE112016002296T5 (de) Vektor-recheneinheit in einem neuronalen netzwerkprozessor
DE102020211851A1 (de) Auf bayes&#39;scher optimierung basierende abfrageeffiziente gegnerische black-box-angriffe
DE112020004471T5 (de) Folgerungsvorrichtung, Trainingsvorrichtung, Folgerungsverfahren und Trainingsverfahren
DE102020204351A1 (de) Vorrichtung und verfahren zum planen einer mehrzahl von aufträgen für eine vielzahl von maschinen
DE112023000011T5 (de) Ein primäres Frequenzmodulationssteuersystem der thermischen Stromerzeugungseinheit mit kleinen Störungen
DE102021200012A1 (de) Optimierte quantisierung für neuronale netze mit verringerter auflösung
DE112019001278T5 (de) Globale suchvorrichtung und programm für ein kontinuierliches optimierungsproblem
DE112011103259T5 (de) Verfahren, Programm und Vorrichtung zum Gruppieren einer Vielzahl von Elementen
DE102022206949A1 (de) Rechenvorrichtung und Rechenverfahren
DE10222700B4 (de) Computergestütztes Verfahren zur Massen- und/oder Funktionsoptimierung von Fahrzeugkomponenten und -strukturen
DE102019208264A1 (de) Verfahren und Vorrichtung zum Ermitteln einer Regelungsstrategie für ein technisches System
DE202018100066U1 (de) Schleifen- und Bibliotheksfusion
DE102018109851A1 (de) Verfahren und Vorrichtung zum Ermitteln einer Netzkonfiguration eines neuronalen Netzes
DE102021212483A1 (de) Datenverarbeitungsvorrichtung sowie Verfahren und Programm zum tiefen Lernen eines neuronalen Netzwerkes
DE102022204162A1 (de) Rechenvorrichtung und Rechenverfahren
DE112020005759T5 (de) Verfahren und System zum Bestimmen der Aufgabenkompatibilität in neuronalen Netzen
DE102020123155A1 (de) Quantisierungsverfahren eines künstlichen neuronalen Netzwerks und Operationsverfahren unter Verwendung eines künstlichen neuronalen Netzwerks
DE102021109757A1 (de) Verfahren und Vorrichtung zum Ermitteln von Netzkonfigurationen eines neuronalen Netzes unter Erfüllung einer Mehrzahl von Nebenbedingungen
DE102022101766A1 (de) Quantisierungsverfahren und Quantisierungsvorrichtung für ein neuronales Netz
DE112022003426T5 (de) Maschinenlernvorrichtung

Legal Events

Date Code Title Description
R012 Request for examination validly filed