Globale Optimierung
- Aktualisiert2025-07-30
- 8 Minute(n) Lesezeit
Löst mit Hilfe der Methode zur differentiellen Evolution (DE) eine Gleichung zur globalen Optimierung mit Randwertbedingungen sowie nicht linearen Gleichheits- und Ungleichheitsbedingungen.

Ein-/Ausgänge
Funktionswerte
—
Funktionswerte enthält statische Daten, die von der benutzerdefinierten Funktion während der Ausführung benötigt werden.
Ziel- und Bedingungsfunktion
—
Ziel- und Bedingungsfunktion ist die Referenz auf das VI, mit dem die nicht lineare Funktion sowie die nicht lineare Gleichheits- und Ungleichheitsbedingungsfunktion als separate Ausgänge implementiert werden. Im VI, auf das verwiesen wird, darf die Zielfunktion nicht leer sein. Die Parametergrenzen sind hingegen optional. Daher kann sowohl der Ausgang der Gleichheits- als auch der Ungleichheitsbedingungen leer sein. Für dieses VI gibt es unter labview\vi.lib\gmath\GlobalOptimization.llb\Global Optimization_Objective Function.vit eine Vorlage.
Anfangsparameter
—
Anfangsparameter sind die Anfangsparameter der Optimierung. Die Anfangsparameter werden verwendet, wenn kein Anfangszustand angegeben ist. Jede Zeile von Anfangsparameter entspricht einem Parameterset. Die Spaltenanzahl von Anfangsparameter muss mit der Länge von Min. und Max. in Begrenzungen übereinstimmen. Wenn die Zeilenanzahl in Anfangsparameter kleiner als die Größe der Grundgesamtheit ist, initialisiert LabVIEW die verbleibenden Parametersets. Wenn die Zeilenanzahl in Anfangsparameter größer als die Größe der Grundgesamtheit ist, werden die verbleibenden Parametersets ignoriert.
Randwerte
—
Randwerte ist ein Cluster mit dem oberen und unteren Grenzwert für die zu optimierenden Parameter.
Anfangszustand
—
Anfangszustand enthält die Anfangswerte der Grundgesamtheiten und Pareto-Indizes. Der Anfangszustand ist üblicherweise der Endzustand einer vorherigen Optimierung, mit dessen Hilfe sofort wieder mit der Optimierung begonnen werden kann. Wenn unter Anfangszustand ein Wert angegeben ist, ignoriert LabVIEW die Anfangsparameter.
Fehler (Eingang, kein Fehler)
—
Fehler (Eingang) beschreibt Fehlerbedingungen, die vor der Ausführung des Knotens auftreten. An Fehler (Eingang) werden Standardfehlerdaten übergeben.
DE-Einstellungen
—
DE-Einstellungen enthält zusätzliche, für die differentielle Evolution (DE) benötigte Einstellungen.
Stoppkriterien
—
Stoppkriterien sind die Bedingungen, die zum Abbruch des Optimierungsprozesses führen.
Anzahl der Funktionsaufrufe
—
Anzahl der Funktionsaufrufe gibt an, wie oft die Zielfunktion während des Optimierungsprozesses aufgerufen wird. Wenn Max. Funktionsaufrufe auf -1 eingestellt wird, ist die Anzahl der Funktionsaufrufe gleich Größe der Grundgesamtheit * (Max. Iterationen + 1).
Minimum
—
Minimum ist das berechnete globale Minimum aller möglichen Minima.
F(Minimum)
—
F(Minimum) ist der Funktionswert der Zielfunktion am Minimum.
Endzustand
—
Endzustand enthält die endgültigen Werte der Grundgesamtheiten und Pareto-Indizes nach Abschluss der Optimierung.
Fehler (Ausgang)
—
Fehler (Ausgang) enthält Angaben zum Fehler. Dieser Ausgang ist ein Standardausgang zur Fehlerausgabe. |
Das VI löst eine Gleichung der globalen Optimierung. Dabei ermittelt das VI den Wert x zur Minimierung von f(x), das seinerseits folgenden Beschränkungen unterliegt:
| Randwertbedingungen | min ≤ x ≤ max |
| Gleichheitsbedingungen | g(x) = 0 |
| Ungleichheitsbedingungen | h(x) ≤ 0 |
x ist die Reihe zu optimierender Parameter. f(x) ist die Reihe zu optimierender Zielfunktionen. Die Gleichheits- und die Ungleichheitsbedingung sind bei diesem Problem optional.
Die differentielle Evolution (DE) ist eine Möglichkeit zum Lösen von Problemen zur globalen Optimierung. Mit ihrer Hilfe wird durch wiederholtes Mutieren und Verbessern der Kandidatenparameter eine Näherung an das tatsächliche globale Optimum erzielt.
Bei langwierigen Berechnungen der Zielfunktion muss die DE-Methode die Zielfunktion je nach Größe der Grundgesamtheit mehrmals pro Schleifeniteration aufrufen. Das VI kann jedoch Zielfunktionsaufrufe auf parallel ausgeführte For-Schleifen und somit auf mehrere Prozessoren verteilen. Für parallele Schleifeniterationen müssen Sie folgende Vorbereitungen treffen:
- Ändern Sie das VI für die Berechnung der Zielfunktion in ein ablaufinvariantes VI, in dem Kopien von den Instanzen gemeinsam verwendet werden.
- Erstellen Sie mit der Option 0x40 eine Referenz auf das VI (vgl. folgende Abbildung):

In der folgenden Abbildung wird dargestellt, wie das VI eine Gleichung zur globalen Optimierung löst.

Beispiele
Die folgenden Beispieldateien sind in LabVIEW enthalten.
- labview\examples\Mathematics\Optimization\Find Global Min on Surface.vi
- labview\examples\Mathematics\Optimization\Two Circles Optimization.vi
Funktionswerte
—
Ziel- und Bedingungsfunktion
—
Anfangsparameter
—
Randwerte
—
Min.
—
Grundgesamtheit
—
Pareto-Indizes
—
Fehler (Eingang, kein Fehler)
—
DE-Einstellungen
—
Menge
—
Skalierungsfaktor
—
Randwert-Umrechnungsmethode
—
Anzahl der Funktionsaufrufe
—
Minimum
—
Endzustand
—
Grundgesamtheit
—
Pareto-Indizes
—
Fehler (Ausgang)
—