Software: SimX - Nadelantrieb - Aktordynamik - Nennwertoptimierung

Aus OptiYummy
Zur Navigation springenZur Suche springen

Nennwert-Optimierung
Software SimX - Nadelantrieb - Aktordynamik - Nennwertfenster-Eigenschaft.gif

Hinweis:

  • Für die "Nennwert-Verläufe" werden im OptiY Diagramme genutzt, deren Achsen-Beschriftung nicht unabhängig voneinander konfiguriert werden können.
  • Standardmäßig werden 2 Ziffernstellen nach dem Komma angezeigt (Gleitkommastelle=2), was für die ganzzahligen Werte der Optimierungsschritte ungünstig ist.
  • Deshalb wurden für die folgenden Darstellungen alle Nennwert-Verläufe mit Gleitkommastelle=1 konfiguriert, was aber auch für die Y-Achse wirkt.

Nach dem Start des Experiments entwickeln sich die Nennwerte der Entwurfsparameter "optimistisch":

.
  • Mit größter Wahrscheinlichkeit endet die Verringerung der Zykluszeit bald bei einem relativ großen Wert. Die im obigen Bild erreichte Zykluszeit von ca. 3,5 ms entspricht noch nicht vollständig unseren Zielvorstellungen. Auch wenn der Wert schon die Forderung an die Zykluszeit erfüllt, wurde der Maximalstrom von 1,5 A bei weitem nicht ausgeschöpft!
  • Bevor wir dieses Problem lösen, einige Erläuterungen zu den Nennwert-Verläufen.

Restriktionsgrößen:

  • Grenzwerte werden als waagerechte Linie eingeblendet, wenn sie sich im Darstellbereich der Y-Achse befinden.
  • Man erkennt dies an der Linie für -200 V für die Abschaltspannung vMax.
  • Während der Optimierung wird dieser Grenzwert -200 V angestrebt, da die max. zulässige Schaltspannung zum schnellstmöglichen Abfallvorgang führt:
    .

Grenzen der Entwurfsgrößen:

  • Bei der Konfiguration des Versuchsstandes hat man sich bereits Gedanken zu sinnvollen Grenzwerten der Entwurfsgrößen gemacht.
  • Dabei hat man auch einen gewissen Sicherheitszuschlag in Hinblick auf den Optimierungsprozess berücksichtigt.
  • Wenn es im Optimierungsprozess zur Konvergenz von Entwurfsgrößen an ihre Grenzwerte kommt, muss man überlegen, welche Maßnahmen man ergreift (z.B. Widerstand des Spulendrahtes):
    Software SimX - Nadelantrieb - Aktordynamik - grenzwert entwurfsgroesze.gif
  1. Grenzwert ändern:
    • Wenn Werte außerhalb der bisherigen Grenzen auch technisch realisierbar sind.
    • Wenn man vermutet, dass die Verletzung der bisherigen Grenzwerte nur temporär während des Optimierungsprozesses auftritt.
    • Nach Änderung des Grenzwertes kann man eine angehaltene Optimierung fortsetzen.
  2. Entwurfsgröße fixieren:
    • Im Beispiel scheint ein Spulenwiderstand von 0 Ohm (und weniger) im Sinne des Optimums am besten zu sein. Das stößt auf Probleme bei der technischen Umsetzung!
    • Deshalb könnte man diese Entwurfsgröße auf einen technisch sinnvollen Wert setzen und konstant lassen (z.B. auf den Startwert=1 Ohm).
Hinweis: Im Unterschied zur optimalen Anfangsposition der Nadelspitze (möglichst dicht an der Papieroberfläche), ist hier die Sachlage nicht so eindeutig! Im Zweifelsfall sollte man eine Entwurfsgröße nicht fixieren, sondern für die Lösungssuche noch variabel lassen. Wir warten erst noch die Ergebnisse der weiteren Optimierung ab!

Problem der Randoptima

Bei technischen Problemstellungen wird die optimale Lösung meist an Restriktionsgrenzen liegen. Das wird mit großer Wahrscheinlichkeit zu Problemen mit der Konvergenz in Richtung einer optimalen Lösung führen:

  • Bei der in OptiY verwendeten hierarchischen Optimierungsstrategie wird aus den aktuellen Restriktionsverletzungen der Wert einer Straf-Funktion berechnet.
  • Um zuerst alle Forderungen zu erfüllen, hat die Minimierung des Straf-Funktionswertes die höchste Priorität.
  • Erst wenn alle Forderungen erfüllt sind (Straf-Funktionswert=0), widmet sich die Optimierungsstrategie der Verfolgung unserer Wünsche (Minimierung der Gütekriterien).
  • Eine bessere Erfüllung unserer Wünsche (tZyklus kleiner) führt zwangsläufig wieder zu einer Verletzung von Restriktionen.
  • Damit schaltet der Optimierungsprozess an dieser Stelle ständig zwischen zwei Zielfunktionen hin und her (Forderungen und Wünsche).
  • Die Konvergenz zur optimalen Lösung wird damit meist verhindert!
  • Beispielhaft tritt dies hier für an der kritischen Grenze von "vMax" auf. Nachdem diese Grenze erreicht wurde, tritt das Pendeln zwischen den beiden Zielfunktionen auf:
    Software SimX - Nadelantrieb - Aktordynamik - strafe an vmax-grenze.gif

Dieses Problem lässt sich zum Glück einfach lösen, indem man alle Wünsche als Forderungen formuliert:

  • Diese Änderung führen wir über den Workflow-Editor durch.
  • Wir löschen das Gütekriterium "tZyklus".
  • Ergänzen eine neue Restriktionsgröße, die wir ebenfalls "tZyklus" nennen.
  • Wir verknüpfen diese Restriktionsgröße mit der zugehörigen Ausgangsgröße des Modells:
    Software SimX - Nadelantrieb - Aktordynamik - korrigierter workflow.gif
  • Als oberen Grenzwert geben wir eine anzustrebende Zykluszeit ein (unter Beachtung der Maßeinheit!).
  • Achtung:
    • Unvollendete Prägezyklen führen zu Zykluszeiten nahe Null. Das darf vom OptiY nicht als zulässige Lösung interpretiert werden!
    • Deshalb sollte man als unteren Grenzwert für tZyklus einen Wert unterhalb des physikalisch Möglichem wählen (z.B. 1 ms).
  • Unser Gütekriterium "Zykluszeit" ist nun selbst Bestandteil der Straf-Funktion und es existieren keine separaten Gütekriterien.
  • Damit entfällt das Umschalten zwischen den Zielfunktionen an den Restriktionsgrenzen und das Verfahren sollte numerisch stabil auf der Straffunktion zum Optimum konvergieren:
Software SimX - Nadelantrieb - Aktordynamik - straffunktion.gif

Hinweis zu R_Spule: Im konkreten Beispiel entfernte sich der Spulenwiderstand wieder von seiner unteren Grenze von 0,1 Ohm. Der zum Schluss erreichte Wert ist technisch wahrscheinlich realisierbar. Allerdings kann abhängig von der gewählten Ausgangslösung auch eine Konvergenz des Spulenwiderstands gegen einen technisch unsinnigen Wert stattfinden. Dann muss man eine technisch sinnvolle Grenze vorgeben. Wahrscheinlich ist der Einfluss des Spulenwiderstandes in einem weiten Bereich praktisch kaum wahrnehmbar!

Software SimX - Nadelantrieb - Aktordynamik - nennwertkonvergenz.gif
  • Erfüllt die Optimierung alle Forderungen (Strafe=0), so können wir sie anhalten (falls wir nicht auf den automatischen Stopp warten möchten).
  • Wir verschärfen unsere Forderung für die Zykluszeit in sinnvollem Maße. Und hoffen erneut, dass die Zielstellung erreicht wird.
  • Hinweis: Eine Fortsetzung der Optimierung vom bisher erreichten Bestwert führt meist nicht zur gewünschten Verbesserung! Man sollte die Optimierung zurücksetzen und erneut von der originalen Ausgangslösung starten.
  • Diese iterative Taktik führen wir solange fort, bis die Optimierung die gewünschte Zykluszeit nicht mehr erreicht.
  • Den "exakt" möglichen Wert des Optimums kann man dann recht schnell eingrenzen.
  • Das Nennwert-Optimum für die minimal mögliche Zykluszeit muss immer die Grenzwerte für die Abschaltspannung und den Spulenstrom ausschöpfen!
  • Im gezeigten Beispiel werden diese beiden Grenzwerte noch nicht vollständig ausgeschöpft. Der Antrieb könnte also noch etwas schneller werden.
Achtung: Speichern nicht vergessen!