Software: SimX - Nadelantrieb - Robust-Optimierung - Ausschuss-Minimierung: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(65 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}
[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&uarr;]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Problem|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|&rarr;]] </div>
[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&uarr;]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Problem|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|&rarr;]] </div>
<div align="center">''' Ausschuss-Minimierung (Experiment-Ergebnisse) '''</div>
<div align="center">''' Ausschuss-Minimierung (Experiment-Ergebnisse) '''</div>


Die für den Optimierungsverlauf wichtigen Kenngrößen wollen wir in Diagrammen darstellen. In gewissem Sinne gehört dies noch zur Experiment-Konfiguration. Um den Computer schon zu beschäftigen, können wir aber die Optimierung zuvor starten:
Die für den Optimierungsverlauf wichtigen Kenngrößen wollen wir in Diagrammen darstellen:
* '''Nennwert-Verläufe:'''
* '''Nennwert-Verläufe'''
** Versagen
** Strafe (= Versagen für aktuelle Nennwerte)
** Versagen (= Maß für Ausschuss-Quote der Stichprobe)
** Diagramme der variablen Entwurfsparameter (Nennwerte)
** Diagramme der variablen Entwurfsparameter (Nennwerte)
** Nennwert-Verläufe der Restriktionen ''tZyklus'', ''L_Magnet'' und ''d_Draht''   
** Nennwert-Verläufe der Restriktionen ''tZyklus'', ''L_Magnet'' und ''d_Draht''   
* '''Verteilungsdichten:'''
* '''Verteilungsdichten'''
** Die geometrisch determinierten Restriktionen ''d_Draht'' und ''L_Magnet'' sind im Experiment nicht von streuenden Parametern abhängig und brauchen deshalb auch nicht als Verteilungsdichten dargestellt werden
** Die geometrisch determinierten Restriktionen ''d_Draht'' und ''L_Magnet'' sind im Experiment nicht von den berücksichtigten Streuungen abhängig und brauchen deshalb auch nicht als Verteilungsdichten dargestellt werden.
** Dafür kommen nur die streuenden Restriktionen ''tZyklus'', ''Praegung'' und ''dT_Draht'' in Frage.
** Dafür kommen nur die streuenden Restriktionen ''tZyklus'', ''Praegung'' und ''dT_Draht'' in Frage.
Die Verbesserung der Lösung im Sinne einer Ausschuss-Minimierung ist für das Beispiel deutlich sichtbar:
 
* Das ursprüngliche Nennwert-Optimum ist vor allem gekennzeichnet durch teilweises Nichtprägen. Daraus resultiert aus dem Modell die scheinbare Temperaturerhöhung, welche durch die vereinfachte Temperaturermittlung bedingt ist. Der untere Wert von kleiner Null für ''tZyklus'' resultiert ebenfalls aus den "nichtprägenden" Simulationsläufen und hat auch nichts mit der Realität zu tun:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_start.gif| ]]</div>
'''Ausschuss-Minimierung''' ist ein zweistufiger Prozess:
* Nach der Ausschuss-Minimierung erfolgt innerhalb des Streubereiches ein stabiles Prägen:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_end1.gif| ]]</div>
# Das Finden einer zulässigen Lösung für die Nennwerte der Entwurfsparameter besitzt höchste Priorität ('''Strafe''' als Zielfunktion). Wenn das vorherige Nennwert-Optimum Restriktionen noch geringfügig verletzte, dauert es einige Schritte, bis '''Strafe=0''' erreicht wird. Sollte dies nicht gelingen, so muss man sich Gedanken zu einer Abmilderung der Forderungen machen!
# Erst wenn Strafe=0 erreicht ist, benutzt die Optimierung das '''Versagen''' als Zielfunktion. Die weitere Optimierung hat das Ziel, '''Versagen=0''' zu erreichen.
 
* Das ursprüngliche Nennwert-Optimum kann durch teilweises Nichtprägen gekennzeichnet sein. Daraus resultiert dann im Modell eine scheinbare Temperaturerhöhung, welche durch die vereinfachte Temperaturermittlung bedingt ist. Die sehr kleinen Werte für ''tZyklus'' resultieren ebenfalls aus den "nichtprägenden" Simulationsläufen und haben nichts mit der Realität zu tun:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Struktur-Optimierung_-_verteilungsdichte_moment-methode.gif| ]]</div>
'''''Achtung:'''''
'''''Achtung:'''''
* Leider ist die unstetige Restriktionsgröße '''Praegung''' für die probabilistische Optimierung ziemlich anspruchsvoll.
* Leider ist die unstetige Restriktionsgröße '''Praegung''' für die probabilistische Optimierung ziemlich anspruchsvoll.
* Es kann passieren, dass der Bereich des teilweisen Nichtprägens bei der Optimierung nicht verlassen wird, weil sich dort ein flaches lokales Minimum der Zielfunktion befindet.
* Ist die Startlösung bereits durch teilweisen Nichtprägen gekennzeichnet, so kann der Bereich des vollständigen Prägens durch die Optimierung nicht zielgerichtet angestrebt werden. Ursache ist die Unstetigkeit des Übergangs zwischen Prägen und Nichtprägen. Man kann die Entwurfsparameter in weiten Bereichen ändern, ohne dass sich das Verhalten in Bezug auf das Prägen ändert. Am Übergang genügt dann eine winzige Änderung der Parameter. Deshalb sollte man grundsätzlich die Startlösung so modifizieren, dass man ein stabiles Prägen innerhalb der gesamten Streuung erreicht!
* Stellt man dies fest, sollte man die Ausgangslösung so Umkonfigurieren, dass die zugehörige Stichprobe zum kompletten Prägen führt. Dafür gibt es zwei einfache Varianten:
* Für dieses Umkonfigurieren gibt es zwei einfache Varianten:
# Verringerung des Nennwertes '''k_Feder''' um 30 bis 50%. Damit steht mehr Kraft für das Prägen zur Verfügung. Die davon ausgehende Optimierung vermeidet Bereiche des unvollständigen Prägens und führt wahrscheinlich zum minimalen Versagen.
*# Verringerung des Nennwertes '''k_Feder''' um 30 bis 50%. Damit steht mehr Kraft für das Prägen zur Verfügung. Die davon ausgehende Optimierung vermeidet Bereiche des unvollständigen Prägens und führt wahrscheinlich zum minimalen Versagen.
# Falls die erste Variante nicht hilft, kann man auch '''d_Anker''' um ca. 10% vergrößern, so dass die Stichprobe der neuen Ausgangslösung ebenfalls zum komletten Prägen der Stichprobe führt.
*# Falls die erste Variante nicht hilft, kann man zusätzlich schrittweise '''d_Anker''' um jeweils ca. 10% vergrößern.
Im Beispiel gab es keine Probleme infolge des teilweisen Nichtprägens der Ausgangslösung. Aber es gelingt nicht, mit der vorgegebenen Obergrenze für ''tZyklus'' von 3,4&nbsp;ms ein Versagen=0 zu erreichen, ca. 4% der Lösungen liegen noch leicht oberhalb der Grenzwerte für die Zykluszeit und für die Temperaturerhöhung:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_nicht_null.gif| ]]</div>
* Zur Überprüfung des kompletten Prägens muss man nur die probabilistische Simulation für die modifizierte Ausgangslösung durchführen und sich die Verteilungsdichte der Prägung anschauen.
* Die Verbesserung des ursprünglichen, instabilen Verhaltens wurde in der Optimierung durch eine weichere Rückhol-Feder in Kombination mit einem etwas größerem Ankerdurchmesser und einer Verringerung der Windungszahl erreicht.
'''''Wichtig:''''' Gelangt die Lösung bei der Optimierung trotzdem stabil in einen Bereich, welcher durch teilweises Nichtprägen gekennzeichnet ist, so kann man dieses Problem wie folgt beheben:
* Die Ausschuss-Minimierung ist ein zweistufiger Prozess:
* Definition einer zusätzlichen Restriktion '''Sigma_Praegung''' im OptiY-Workflow, deren Wert sich zu '''sigma(_Praegung)''' ergibt.
# Das finden einer zulässigen Lösung für die Nennwerte der Entwurfsparameter besitzt höchste Priorität ('''Strafe''' als Zielfunktion). Da im Beispiel das Nennwert-Optimum noch Restriktionen geringfügig verletzte, dauert es eine Weile, bis '''Strafe=0''' erreicht wird.
* Komplettes Prägen der gesamten Stichprobe führt zu Sigma-Werten nahe Null, man kann deshalb '''Obergrenze=0.001''' bei '''Untergrenze=0''' setzen.
# Erst wenn Strafe=0 erreicht ist, benutzt die Optimierung '''Versagen''' als Zielfunktion. Die weitere Optimierung hat das Ziel, '''Versagen=0''' zu erreichen.
* Der Vorteil dieses Konstrukts besteht darin, dass durch teilweises Nichtprägen der Stichprobe ein Straf-Anteil für die Nennwert-Bewertung entsteht. Damit wird bereits beim Anstreben von Strafe=0 das vollständige Prägen der gesamten Stichprobe berücksichtigt und nicht erst bei der Minimierung des Versagens.
Im Beispiel wurde das Ziel von 3,4&nbsp;ms für die maximale Zykluszeit um ca. 10% verfehlt, was ärgerlich ist! Dagegen ist das geringfügige Überschreiten der zulässigen Erwärmung unkritisch:
 
* Es wurde mit 25&nbsp;K bewusst ein kleiner Wert gewählt, um einen thermisch günstigen Magneten zu erhalten.
Kritisch bei der Ausschuss-Minimierung ist im Einzelfall der ständige Wechsel zwischen den beiden Zielfunktionen ''Strafe'' und ''Versagen'' an Restriktionsgrenzen:
* Aus den bisherigen Nennwert-Optimierungen konnte man die Erkenntnis gewinnen, dass die minimal mögliche Zykluszeit sehr stark von der zulässigen Erwärmung abhängt.
# Nennwerte des Magnetkreises der jeweils aktuellen Lösung führen zu einem Ausschöpfen vorgegebener Grenzwerte.
* Wir werden deshalb den zulässigen Wert für die Erwärmung auf '''dT_Spule=40&nbsp;K''' erhöhen.
# Tendiert die Versagensverringerung zu einem Überschreiten solcher Grenzwerte, so hangelt sich das Optimierungsverfahren an der zugehörigen Restriktionsgrenze entlang. Das behindert die Konvergenz zum globalen Ausschuss-Minimum, wie dies im folgenden Bild gezeigt wird:
Die Zykluszeit streut innerhalb der Stichprobe ziemlich stark. Das Ziel besteht darin, die gesamte Streuung unterhalb der max. zulässigen Zykluszeit von 3,4 ms zu platzieren. Dafür hat sich im Beispiel die folgende Strategie bewährt:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_nicht_null.gif| ]]</div>
* Man setzt vor der Optimierung die obere Grenze von '''tZyklus=3.1&nbsp;ms'''.
* Im obigen Beispiel kommt man trotz der Konvergenzbehinderung an der Begrenzung L_Magnet=30&nbsp;mm zu einer Ausschuss-Quote von praktisch Null.
* Dann startet man die Optimierung.
* Es ergibt sich zufällig ein optimaler Drahtdurchmesser von 0.6&nbsp;mm, so dass man sich eine weitere Optimierung in Hinblick auf zulässige Drahtdurchmesser sparen kann.
* '''''Hinweis:''''' Da es im Beispiel nun Probleme gab, eine vollständig prägende Stichprobe zu erhalten, wurde für die Anfangslösung der Ankerdurchmesser um 1&nbsp;mm erhöht! Deshalb wird in der ersten Phase der Optimierung eine zulässige Nennwert-Lösung gesucht.
'''Hinweis:'''
* Ist Strafe=0 erreicht, so beginnt die Ausschuss-Minimierung, welche im Beispiel bei '''Versagen=5%''' endet:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_og3_1ms.gif| ]]</div>
* Falls die Forderung nach max. 30&nbsp;mm Magnetlänge die Konvergenz der Lösungssuche zum Optimum behindert, sollte man diese Forderung zumindest temporär aufweichen.
* Dies entspricht hier ausschließlich der Teilversagenswahrscheinlichkeit von tZyklus! Setzt man anschließend die obere Grenze von tZyklus=3,4&nbsp;ms, so liegt praktisch die gesamte Stichprobe im geforderten zulässigen Bereich:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_og3_4ms.gif| ]]</div>
* Im Sinne einer kurzen Zykluszeit tendiert der Antrieb insgesamt zu einer kurzen Magnetlänge. Das globale Optimum wird wahrscheinlich nur eine geringfügige Vergrößerung der Magnetlänge erfordern.
* Es wird im Extremfall nun eine Erwärmung der Spule von ca. 40&nbsp;K erreicht. Im Mittelwert bleibt die Erwärmung jedoch unter 30&nbsp;K.
* Falls dies der Fall ist, lässt sich dieser zusätzliche Bauraum nach Abstimmung mit den Bearbeitern anderer Drucker-Komponenten sicher realisieren.
* Im Beispiel wurde eine mittlere Zykluszeit von ca. 2.9&nbsp;ms erreicht:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_null.gif| ]]</div>
Wenn wie im Beispiel keine Restriktionsverletzung für die Nennwerte mehr auftritt, kann das Versagen ungestört minimiert werden:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_null.gif| ]]</div>
Nach der Ausschuss-Minimierung wird mit großer Wahrscheinlichkeit innerhalb des Streubereiches ein stabiles Prägen erreicht ("Praegung" im Bild bei starrem Anschlag):<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_end1.gif| ]]</div>
Der veränderte Drahtdurchmesser wird wahrscheinlich keinem Normdraht entsprechen (0.3 / 0.32 / 0.35 / 0.37 / 0.40 / 0.45 / 0.50/ 0.55 / 0.60 / 0.65 / 0.70 / 0.75 / 0.80 / 0.90 / 1.00 / 1,20 / 1,50 / 1,80 / 2,00&nbsp;mm):
Der veränderte Drahtdurchmesser wird wahrscheinlich keinem Normdraht entsprechen (0.3 / 0.32 / 0.35 / 0.37 / 0.40 / 0.45 / 0.50/ 0.55 / 0.60 / 0.65 / 0.70 / 0.75 / 0.80 / 0.90 / 1.00 / 1,20 / 1,50 / 1,80 / 2,00&nbsp;mm):
* Im Beispiel verringerte sich der optimale Drahtdurchmesser von 0.6&nbsp;mm auf 0.559&nbsp;mm. Der anzustrebende Wert beträgt also 0.55&nbsp;mm.
* Im Beispiel vergrößerte sich der optimale Drahtdurchmesser von 0.55&nbsp;mm auf etwas über 0.6&nbsp;mm.  
* Durch Festlegen geeigneter Grenzen für ''d_Draht'' muss man nun erneut eine Ausschuss-Minimierung vornehmen.
* Der anzustrebende Wert beträgt also 0.60&nbsp;mm.
* Führt man das im Beispiel für den Draht von 0.55&nbsp;mm durch, so sollte man die obere Grenze auf 0.55&nbsp;mm setzen. Die untere Grenze sollte auf 0.53&nbsp;mm gesetzt werden.
Das Einhalten der erforderlichen Draht-Restriktion wird die Versagensminimierung infolge von Strafe>0 stören. Man sollte versuchen, diese Störungen möglichst gering zu halten (z.B. durch folgende Vorgehensweise):
Infolge der wirksamen Draht-Restriktion verläuft die Ausschuss-Minimierung nicht mehr ganz so ungestört wie zuvor:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_normdraht.gif| ]]</div> 
* Ohne Drahtrestriktion wurde ausgehend von 0.55&nbsp;mm der Drahtdurchmesser durch das Optimierungsverfahren stetig erhöht. Am Ende erfolgte eine geringe Reduktion des Drahtdurchmessers auf das Optimum von 0.61&nbsp;mm.
* Der Suchpfad der Ausschuss-Minimierung verläuft hier entlang der oberen Grenze für ''d_Draht''.  
* Die '''untere Grenze''' des Drahtdurchmessers setzt man deshalb unterhalb des Startwertes (z.B. d_Draht≥0.54&nbsp;mm). So kann die Minimierung des Versagens am Anfang ungestört von Restriktionsverletzungen beginnen.[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_versagen_mit_drahtwichte1.gif|right]]
* Immer wenn die Nennwerte der Entwurfsparameter zu einer noch so geringen Verletzung dieser Restriktion führen, wird dafür eine Teilversagenswahrscheinlichkeit von 1 als gewichteter Anteil zum Maß des Gesamt-Versagens addiert.
* Die '''obere Grenze''' setzt man auf den zu erreichenden Drahtdurchmesser (d_Draht≤0.6&nbsp;mm). Die Lösung müsste sich dieser oberen Grenze annähern, weil das eigentliche Optimum oberhalb dieser Grenze liegt.
* Die maximal auftretende Zykluszeit wird sich infolge der wirksamen Draht-Restriktion etwas vergrößern. Auch ist die Erwärmung geringfügig höher:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_mit_draht.gif| ]]</div>  
'''''Hinweise'':'''
'''''Achtung:''''' Die optimale Lösung für die Ausschuss-Minimierung soll '''nicht''' als neuer Startwert für die Optimierung übernommen werden. Die sich noch anschließende Robust-Optimierung wird wieder vom Nennwert-Optimum ausgehen!
* Der '''Gewichtsfaktor=1''' für die Restriktion '''d_Draht''' äußert sich im Versagen durch jeweilige Überhöhungen um den Wert=1, wenn Strafe>0 infolge unzulässigem Drahtdurchmessers (Beispiel im Bild rechts).
 
* Für das Teilversagen in Bezug auf eine Restriktionsgröße wird das prozentuale Teilversagen (beim unzulässigen Drahtdurchmesser jeweils Versagen der gesamten Stichprobe (=100%) mit dem zugehörigen Gewichtsfaktor multipliziert.
 
* Damit man die tendenzielle Veränderung des Versagens im Diagramm besser erkennen kann, sollte man alle '''Gewichtsfaktoren=0.001 setzen, welche z.B. die Geometrie betreffen!''' Das Ergebnis der Optimierung wird dadurch nicht verändert.
* Die funktionsrelevanten Restriktionen sollten den Gewichtungsfaktor=1 behalten, damit der Versagenswert das Maß für die Gesamtversagenswahrscheinlichkeit in 100% widerspiegelt.
<center> [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_ausschussmin_mit_draht1.gif| ]] </center>
Mit '''d_Draht=0.60&nbsp;mm''' gelangen wir im Beispiel zu einem etwas längeren Magneten im Vergleich zur ursprünglichen Lösung mit L_Magnet=30&nbsp;mm:
* In der Ausschussquote gibt es praktisch keinen Unterschied zwischen der längeren und der kürzeren Lösung.
* Da eine weitere Verkürzung der Zykluszeit mit dem größeren Magneten kaum möglich sein wird, kann man sich im Beispiel für den kleineren Magneten als optimale, ausschussminimierte Lösung entscheiden.  
=== Experiment-Ergebnisse (Ausschuss-Minimierung) ===
=== Experiment-Ergebnisse (Ausschuss-Minimierung) ===


Mit welchen technisch sinnvollen Nennwerten ergibt sich bei Berücksichtigung von Normdrähten und einer zulässigen Spulen-Erwärmung von '''40&nbsp;K''' eine möglichst schnelle Antriebslösung mit einer Ausschuss-Quote von "praktisch" Null:
Mit welchen technisch sinnvollen Nennwerten ergibt sich bei Berücksichtigung von Normdrähten und einer zulässigen Spulen-Erwärmung von '''40&nbsp;K''' eine möglichst schnelle Antriebslösung mit einer Ausschuss-Quote von "praktisch" Null:
 
* '''d_Anker''' (Ankerdurchmesser)
* '''d_Anker''' (Ankerdurchmesser)  
* '''L_Magnet''' (Magnetlänge ohne Restriktion!)
* '''R20_Spule''' (Widerstand der Spule bei 20°C)  
* '''R20_Spule''' (Widerstand der Spule bei 20°C)  
* '''w_Spule''' (Windungszahl)  
* '''w_Spule''' (Windungszahl)  
Zeile 58: Zeile 71:
* '''Feder.s0''' (Vorspannweg)  
* '''Feder.s0''' (Vorspannweg)  
* '''Widerstand.R''' (Abschaltwiderstand)  
* '''Widerstand.R''' (Abschaltwiderstand)  
* '''t_Zyklus''' (Mittelwert und unterer/oberer Grenzwert)  
* '''t_Zyklus''' (Mittelwert sowie min. und max. auftretende Werte)
 
'''''Hinweis:''''' Zu technisch sinnvollen Werten gehört auch die Wahl einer vernünftigen Anzahl von Ziffernstellen!
 
'''''Hinweis:'''''<br>Zu technisch sinnvollen Werten gehört auch die Wahl einer vernünftigen Anzahl von signifikanten Ziffernstellen!
 
 
'''Einzusendende Ergebnisse:'''
* Teilnehmer der Lehrveranstaltung [http://www.ifte.de/lehre/konstruktionstechnik/uebung.html "Konstruktionstechnik"] schicken ihre Ergebnisse per Mail an '''a.kamusella[[Bild:Char-ed.gif]]mailbox.tu-dresden.de'''
* Als Anhang dieser Mail sind mit (xx=Teilnehmer-Nummer 01...99) folgende konfigurierte Modelldateien möglichst in einem Archiv-File zu senden:
: '''Etappe6_xx.ism'''
: '''Etappe6_xx_Ausschuss.opy'''
* Einsendeschluss ist der Termin der nächsten Übungsetappe.
 
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Problem|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|&rarr;]] </div>
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ausschuss-Problem|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|&rarr;]] </div>

Aktuelle Version vom 27. November 2019, 09:52 Uhr

Ausschuss-Minimierung (Experiment-Ergebnisse)

Die für den Optimierungsverlauf wichtigen Kenngrößen wollen wir in Diagrammen darstellen:

  • Nennwert-Verläufe
    • Strafe (= Versagen für aktuelle Nennwerte)
    • Versagen (= Maß für Ausschuss-Quote der Stichprobe)
    • Diagramme der variablen Entwurfsparameter (Nennwerte)
    • Nennwert-Verläufe der Restriktionen tZyklus, L_Magnet und d_Draht
  • Verteilungsdichten
    • Die geometrisch determinierten Restriktionen d_Draht und L_Magnet sind im Experiment nicht von den berücksichtigten Streuungen abhängig und brauchen deshalb auch nicht als Verteilungsdichten dargestellt werden.
    • Dafür kommen nur die streuenden Restriktionen tZyklus, Praegung und dT_Draht in Frage.

Ausschuss-Minimierung ist ein zweistufiger Prozess:

  1. Das Finden einer zulässigen Lösung für die Nennwerte der Entwurfsparameter besitzt höchste Priorität (Strafe als Zielfunktion). Wenn das vorherige Nennwert-Optimum Restriktionen noch geringfügig verletzte, dauert es einige Schritte, bis Strafe=0 erreicht wird. Sollte dies nicht gelingen, so muss man sich Gedanken zu einer Abmilderung der Forderungen machen!
  2. Erst wenn Strafe=0 erreicht ist, benutzt die Optimierung das Versagen als Zielfunktion. Die weitere Optimierung hat das Ziel, Versagen=0 zu erreichen.
  • Das ursprüngliche Nennwert-Optimum kann durch teilweises Nichtprägen gekennzeichnet sein. Daraus resultiert dann im Modell eine scheinbare Temperaturerhöhung, welche durch die vereinfachte Temperaturermittlung bedingt ist. Die sehr kleinen Werte für tZyklus resultieren ebenfalls aus den "nichtprägenden" Simulationsläufen und haben nichts mit der Realität zu tun:
Software SimX - Nadelantrieb - Struktur-Optimierung - verteilungsdichte moment-methode.gif

Achtung:

  • Leider ist die unstetige Restriktionsgröße Praegung für die probabilistische Optimierung ziemlich anspruchsvoll.
  • Ist die Startlösung bereits durch teilweisen Nichtprägen gekennzeichnet, so kann der Bereich des vollständigen Prägens durch die Optimierung nicht zielgerichtet angestrebt werden. Ursache ist die Unstetigkeit des Übergangs zwischen Prägen und Nichtprägen. Man kann die Entwurfsparameter in weiten Bereichen ändern, ohne dass sich das Verhalten in Bezug auf das Prägen ändert. Am Übergang genügt dann eine winzige Änderung der Parameter. Deshalb sollte man grundsätzlich die Startlösung so modifizieren, dass man ein stabiles Prägen innerhalb der gesamten Streuung erreicht!
  • Für dieses Umkonfigurieren gibt es zwei einfache Varianten:
    1. Verringerung des Nennwertes k_Feder um 30 bis 50%. Damit steht mehr Kraft für das Prägen zur Verfügung. Die davon ausgehende Optimierung vermeidet Bereiche des unvollständigen Prägens und führt wahrscheinlich zum minimalen Versagen.
    2. Falls die erste Variante nicht hilft, kann man zusätzlich schrittweise d_Anker um jeweils ca. 10% vergrößern.
  • Zur Überprüfung des kompletten Prägens muss man nur die probabilistische Simulation für die modifizierte Ausgangslösung durchführen und sich die Verteilungsdichte der Prägung anschauen.

Wichtig: Gelangt die Lösung bei der Optimierung trotzdem stabil in einen Bereich, welcher durch teilweises Nichtprägen gekennzeichnet ist, so kann man dieses Problem wie folgt beheben:

  • Definition einer zusätzlichen Restriktion Sigma_Praegung im OptiY-Workflow, deren Wert sich zu sigma(_Praegung) ergibt.
  • Komplettes Prägen der gesamten Stichprobe führt zu Sigma-Werten nahe Null, man kann deshalb Obergrenze=0.001 bei Untergrenze=0 setzen.
  • Der Vorteil dieses Konstrukts besteht darin, dass durch teilweises Nichtprägen der Stichprobe ein Straf-Anteil für die Nennwert-Bewertung entsteht. Damit wird bereits beim Anstreben von Strafe=0 das vollständige Prägen der gesamten Stichprobe berücksichtigt und nicht erst bei der Minimierung des Versagens.

Kritisch bei der Ausschuss-Minimierung ist im Einzelfall der ständige Wechsel zwischen den beiden Zielfunktionen Strafe und Versagen an Restriktionsgrenzen:

  1. Nennwerte des Magnetkreises der jeweils aktuellen Lösung führen zu einem Ausschöpfen vorgegebener Grenzwerte.
  2. Tendiert die Versagensverringerung zu einem Überschreiten solcher Grenzwerte, so hangelt sich das Optimierungsverfahren an der zugehörigen Restriktionsgrenze entlang. Das behindert die Konvergenz zum globalen Ausschuss-Minimum, wie dies im folgenden Bild gezeigt wird:
Software SimX - Nadelantrieb - Robust-Optimierung - ausschussmin nicht null.gif
  • Im obigen Beispiel kommt man trotz der Konvergenzbehinderung an der Begrenzung L_Magnet=30 mm zu einer Ausschuss-Quote von praktisch Null.
  • Es ergibt sich zufällig ein optimaler Drahtdurchmesser von 0.6 mm, so dass man sich eine weitere Optimierung in Hinblick auf zulässige Drahtdurchmesser sparen kann.

Hinweis:

  • Falls die Forderung nach max. 30 mm Magnetlänge die Konvergenz der Lösungssuche zum Optimum behindert, sollte man diese Forderung zumindest temporär aufweichen.
  • Im Sinne einer kurzen Zykluszeit tendiert der Antrieb insgesamt zu einer kurzen Magnetlänge. Das globale Optimum wird wahrscheinlich nur eine geringfügige Vergrößerung der Magnetlänge erfordern.
  • Falls dies der Fall ist, lässt sich dieser zusätzliche Bauraum nach Abstimmung mit den Bearbeitern anderer Drucker-Komponenten sicher realisieren.

Wenn wie im Beispiel keine Restriktionsverletzung für die Nennwerte mehr auftritt, kann das Versagen ungestört minimiert werden:

Software SimX - Nadelantrieb - Robust-Optimierung - ausschussmin null.gif

Nach der Ausschuss-Minimierung wird mit großer Wahrscheinlichkeit innerhalb des Streubereiches ein stabiles Prägen erreicht ("Praegung" im Bild bei starrem Anschlag):

Software SimX - Nadelantrieb - Robust-Optimierung - ausschussmin end1.gif

Der veränderte Drahtdurchmesser wird wahrscheinlich keinem Normdraht entsprechen (0.3 / 0.32 / 0.35 / 0.37 / 0.40 / 0.45 / 0.50/ 0.55 / 0.60 / 0.65 / 0.70 / 0.75 / 0.80 / 0.90 / 1.00 / 1,20 / 1,50 / 1,80 / 2,00 mm):

  • Im Beispiel vergrößerte sich der optimale Drahtdurchmesser von 0.55 mm auf etwas über 0.6 mm.
  • Der anzustrebende Wert beträgt also 0.60 mm.

Das Einhalten der erforderlichen Draht-Restriktion wird die Versagensminimierung infolge von Strafe>0 stören. Man sollte versuchen, diese Störungen möglichst gering zu halten (z.B. durch folgende Vorgehensweise):

  • Ohne Drahtrestriktion wurde ausgehend von 0.55 mm der Drahtdurchmesser durch das Optimierungsverfahren stetig erhöht. Am Ende erfolgte eine geringe Reduktion des Drahtdurchmessers auf das Optimum von 0.61 mm.
  • Die untere Grenze des Drahtdurchmessers setzt man deshalb unterhalb des Startwertes (z.B. d_Draht≥0.54 mm). So kann die Minimierung des Versagens am Anfang ungestört von Restriktionsverletzungen beginnen.
    Software SimX - Nadelantrieb - Robust-Optimierung - ausschussmin versagen mit drahtwichte1.gif
  • Die obere Grenze setzt man auf den zu erreichenden Drahtdurchmesser (d_Draht≤0.6 mm). Die Lösung müsste sich dieser oberen Grenze annähern, weil das eigentliche Optimum oberhalb dieser Grenze liegt.

Hinweise:

  • Der Gewichtsfaktor=1 für die Restriktion d_Draht äußert sich im Versagen durch jeweilige Überhöhungen um den Wert=1, wenn Strafe>0 infolge unzulässigem Drahtdurchmessers (Beispiel im Bild rechts).
  • Für das Teilversagen in Bezug auf eine Restriktionsgröße wird das prozentuale Teilversagen (beim unzulässigen Drahtdurchmesser jeweils Versagen der gesamten Stichprobe (=100%) mit dem zugehörigen Gewichtsfaktor multipliziert.
  • Damit man die tendenzielle Veränderung des Versagens im Diagramm besser erkennen kann, sollte man alle Gewichtsfaktoren=0.001 setzen, welche z.B. die Geometrie betreffen! Das Ergebnis der Optimierung wird dadurch nicht verändert.
  • Die funktionsrelevanten Restriktionen sollten den Gewichtungsfaktor=1 behalten, damit der Versagenswert das Maß für die Gesamtversagenswahrscheinlichkeit in 100% widerspiegelt.
Software SimX - Nadelantrieb - Robust-Optimierung - ausschussmin mit draht1.gif

Mit d_Draht=0.60 mm gelangen wir im Beispiel zu einem etwas längeren Magneten im Vergleich zur ursprünglichen Lösung mit L_Magnet=30 mm:

  • In der Ausschussquote gibt es praktisch keinen Unterschied zwischen der längeren und der kürzeren Lösung.
  • Da eine weitere Verkürzung der Zykluszeit mit dem größeren Magneten kaum möglich sein wird, kann man sich im Beispiel für den kleineren Magneten als optimale, ausschussminimierte Lösung entscheiden.

Experiment-Ergebnisse (Ausschuss-Minimierung)

Mit welchen technisch sinnvollen Nennwerten ergibt sich bei Berücksichtigung von Normdrähten und einer zulässigen Spulen-Erwärmung von 40 K eine möglichst schnelle Antriebslösung mit einer Ausschuss-Quote von "praktisch" Null:

  • d_Anker (Ankerdurchmesser)
  • L_Magnet (Magnetlänge ohne Restriktion!)
  • R20_Spule (Widerstand der Spule bei 20°C)
  • w_Spule (Windungszahl)
  • d_Draht (aus Normreihe)
  • Feder.k (Elastizitätskonstante)
  • Feder.s0 (Vorspannweg)
  • Widerstand.R (Abschaltwiderstand)
  • t_Zyklus (Mittelwert sowie min. und max. auftretende Werte)

Hinweis: Zu technisch sinnvollen Werten gehört auch die Wahl einer vernünftigen Anzahl von Ziffernstellen!