LabVIEWForum.de
3 Variablen optimieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: 3 Variablen optimieren (/Thread-3-Variablen-optimieren)



3 Variablen optimieren - Blubber - 17.12.2014 16:24

Hallo Leute, ich habe ein nicht-labview-spezifisches Problem, welches aber ich aber in Labview umsetzen muss.

Ich habe eine Funktion, die aus 3 Variablen eine Kurve berechnet, diese mit einer realen Kurve vergleicht und eine durchschnitliche Abweichung erstellt. Um also eine möglichst gute Fitkurve zu bekommen, sollen so lange verschiedene Variablen probiert werden, bis die Abweichung unter einem bestimmten Wert liegt (oder eine bestimmte Laufzeit überschritten wurde).
Alle drei Variablen befinden sich innerhalb festgelegter Grenzen.

Bei der bisherigen Version gibt der User für zwei der Variablen zwei halbwegs passende Werte an und anhand dieser wird die Kurve mit mit einigen tausend möglichen Werten berechnet und die Variante mit dem niedrigsten durchschnittlichen Fehler genommen. Dann werden alle möglichen Werte (bis zu einer bestimmten Nachkommastelle) der anderen beiden Variablen durchprobiert und die beste Kombination von Werten ausgegeben. Dabei kamen auch halbwegs brauchbare Werte raus, bloß gibt es zwei Probleme: a) dauert das ganze 5+ Minuten pro Kurve, was viel zu lang für die Anwendung ist.
b) Wenn die Startwerte des Users mehr als ca. 10% neben den optimalen Werten liegen, kommt nur Mist raus.

Irgendwie fällt mir echt nix mehr ein, wie man das ganze optimieren kann Blink

Nochmal eine kurze Zusammenfassung:
Es sollen 3 konkrete Werte für Variablen gefunden werden, bei denen beim Verarbeiten mit einer Funktion ein annehmbar niedriger Wert rauskommt.
Alle 3 Variablen liegen in bestimmten Bereichen, eine der drei ist diskret, die anderen beiden sollen bis zu 2 bzw 6 Kommastellen genau berechnet werden.

Für Ideen wäre ich sehr dankbar Blush


RE: 3 Variablen optimieren - GerdW - 17.12.2014 16:35

Hallo blubber,

es gibt in bei den Mathematik-Funktionen eine ganze Palette zum Thema Optimierung (z.T. mit Beispiel-VIs), vielleicht ist das was dabei…

Ansonsten könntest du ja einen rekursiven Ansatz wählen:
- Ein grobes Gitter über deine 3 Variablen aufspannen, z.B. je 10 Werte. Das macht dann 10^3 Funktionsaufrufe.
- Der so ermittelte "Minimalwürfel" wird wieder in je 10 Werte unterteilt und durchgerechnet, usw.


RE: 3 Variablen optimieren - Blubber - 18.12.2014 11:40

Hallo Gerd,
das mit den Gittern tue ich momentan mit zwei der Variablen, da es, wenn man eine der beiden Verändert und die anderen beiden beibehält nur ein Minimum gibt.
Wenn man aber die Andere verändert, ergeben sich mehrere Nebenminima, die Gittermethode fällt hier also flach :/

Ich werde mir mal die Palette angucken, danke.