|
|
Diskrete Optimierung zur Auswahl von Bauteilen |
|
Yeti |
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 19.08.14
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 03.02.2015, 11:45
Titel: Diskrete Optimierung zur Auswahl von Bauteilen
|
|
|
|
|
Hallo gomatlab,
ich schreibe eine Masterarbeit, in der ich mechanische Bausteile aus einem Katalog, bzw einer noch zu erstellenden Datenbank, mittels Optimierungsalgorithmus auswählen möchte. Es handelt sich um Standardteile, wie zB Wälzlager, Kupplungen etc., so dass es sich um ein diskretes Problem handelt.
Ich habe eine Funktion geschrieben, die mechanische Eigenschaften dieser Teile anhand eines Simulink-Modells auswertet und einen Gütewert zurück gibt.
Ich habe mit fminsearch() bereits testweise eine kontinuierliche Optimierung erfolgreich durchgeführt.
Doch wie setze ich jetzt die diskretisierung mit konkreten Teilen um?
Welchen Algorithmus mit welchen Randbedingungen würdet ihr empfehlen?
Wie kann man vorteilhaft eine Datenbank aufbauen, so dass sie a) gut mit o.g. Algorithmus zusammearbeitet und b) leicht zu handhaben ist?
mir schwebt eine art Tabelle mit den Spalten Bezeichnung-Eigenschaft1-Eigenschaft2...EigenschaftN vor. ist das sinnvoll?
Ich bin für jeden Input dankbar,
viele Grüße
Stefan
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 03.02.2015, 13:48
Titel:
|
|
Hallo,
wieviele Teile gibt es, und wieviele Wahlmöglichkeiten gibt es?
Je nachdem würde ich über alle Möglichkeiten iterieren oder die Funktion ga (genetischer Algorithmus) verwenden.
Grüße,
Harald
|
|
|
Yeti |
Themenstarter
Forum-Newbie
|
|
Beiträge: 3
|
|
|
|
Anmeldedatum: 19.08.14
|
|
|
|
Wohnort: Aachen
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.02.2015, 10:23
Titel:
|
|
Hallo Harald,
Danke für den Input!
Den ga hatte ich mir auch schon ausgeschaut. befasse mich gerade damit, wie ich ihn mit Daten aus einer Datenbank gefüttert bekomme.
Es sind je nach Konfiguration vier oder fünf Teile, die in Reihe geschaltet werden. Die sollen aus einem digitalisierten Katalog bzw. Datenbank mit jeweils ~100 Teilen ausgewählt werden.
Die Funktion benötigt für jede Auswertung ~0.5s Rechenzeit (auf meinem langsamen Arbeitsrechner), für eine Berechnung aller Varianten würde man also 0,5s*100^5=158 Jahre benötigen. Das ist leider zu lang
Vielen Dank und Grüße
Stefan
|
|
|
Winkow |
Moderator
|
|
Beiträge: 3.842
|
|
|
|
Anmeldedatum: 04.11.11
|
|
|
|
Wohnort: Dresden
|
|
|
|
Version: R2014a 2015a
|
|
|
|
|
|
Verfasst am: 04.02.2015, 18:01
Titel:
|
|
die frage ist ja ob es da einen wirklichen zusammenhang gibt oder ob die bauteile quasi wild verteilt sind..... angenommen ich halte 4 teile fest und spiele dann am 5. rum kann ich dann eine verbesserung erkennen oder ist das einfach nur zufällig verteilt je nachdem welches bauteil ich auswähle. wenn das einfach nur zufällig ist weis ich nicht ob das mit dem optimieren so einfach ist. falls das aber einen zusammenhang gibt würde ich mal nen optimierer nehmen und das minimum suchen. du musst dann halt ja nur deine auswahl parameter von 1 bis 100 wählen und dann halt 5 parameter die angeben welches bauteil benutzt wird.
und dann ist noch die frage ob die bauteile irgendwie zusammen hängen. wenn nicht alle bauteile miteinander verbaut werden können würde das die berechnunc ja doch stark verkürzen.
_________________
richtig Fragen
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.02.2015, 00:06
Titel:
|
|
|
|
|
Hallo,
damit ga erfolgreich sein kann, sollte man die Teile in irgendeiner Form sortieren, z.B. nach Abmessungen. Insbesondere in der Mutation Function wird ja "ein bisschen" variiert, und das ist nur dann sinnvoll, wenn ähnliche Teile auch nah beieinander sind.
Andererseits kann man natürlich auch selbstgeschriebene Mutation und Crossover Funktionen schreiben, die das erledigen.
Andererseits ist man bei vier Teilearten selbst bei 100 Auswahlmöglichkeiten schnell in einem Bereich, in dem sich alle Kombinationen parallel auf einem Cluster durchtesten lassen. Wenn es z.B. um einen Prozess in der Massenfertigung geht, kann ich mir gut vorstellen, dass man gerne dazu bereit ist, diesen Aufwand zu betreiben, um auch wirklich die bestmögliche Kombination zu haben.
Wie winkow auch schon angedeutet hat: ist wirklich die Interaktion aller Teile miteinander entscheidend oder können vielleicht 2 Teile getrennt von den anderen 2-3 optimiert werden? Das würde den Prozess natürlich erheblich abkürzen.
Grüße,
Harald
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|