Hallo,
mein Problem vor dem ich gerade stehe stellt sich folgendermaßen dar.
Ich möchte eine Mehrzieloptimierung bzgl. zwei konkurierender Ziele durchführen. Sodass ich mehrere Paretomengen auf einer Paretofront und die jeweils dazu gehörenden Parameter erhalte.
Ich habe eine Funktion welche einen Vektor als Eingang und einen als Ausgang hat. Der Funktionsaufruf und die dahintersteckende Simulation laufen problemlos.
Es gibt ja von Matlab unterschiedliche Methoden für die Optimierung. Für mein Problem denke ich das 'fmincom' der richtige Weg ist.
Außerdem gibt es ja für eine Mehrzieloptimierung mehrer Ansätze wie man an die Paretomengen bzw. Paretofronten kommt. Zum Beispiel gibt es ja die "Normal-Boundary Intersection" kurz NBI. Mit der Methode soll es Möglich sein gleichmäßig verteilte Paretomengen auf einer Front zu erhalten.
Meine Frage: Wie bringe ich das 'fmincom' und die 'NBI' zusammen? Implementiere ich die 'NBI' als Nebenbedingung? Oder muss ich eine neue Funktion schreiben in welche ich bereits die NBI-Methode mit reinschreibe und diese dann hinterher erst mit 'fmincon' minimiere?
In der Hilfe wird ja 'fmincom' folgendermaßen beschrieben aber ich krieg es leider nicht auf die Reihe meine Bedingungen in die Form zu bringen die ich brauche.
Hallo Harald,
danke für die schnelle Antwort. 'gamultiobj' hab ich mir noch garnicht angeschaut, da es nicht bei den optimierungsalgorithmen stand. Hast du schonmal mit diesem Algorithmus gearbeitet?
Zu 'fmincom': An welcher Stelle wird eine Kombination eingetragen?
Was gemacht werden soll:
Eine Mehrzieloptimierung bezügliche zweier Ziele. Bei welcher der Regelparameter d_sky[x, y, phi] verändert werden soll. Es es sollen ca. 20 Paretomengen berechnet werden, sodass eine schöne Paretofront herauskommt.
Da aber mehrere Optimierungen mit jeweils unterschiedlicher Anregung gerechnet und später miteinander verglichen werden sollen. Muss eine gleichmäßige, bekannte und wiederholbare Verteilung der Punkte auf den Fronten passieren. Sodass später, die jeweils zusammengehörenden Punkte der einzelnen Paretofronten und die Fronten als ganzen verglichen werden können.
Jetzt geht es darum erstmal eine Optimierung mit bekannter Verteilung der Punkte ans laufen zu bekommen.
die Kombination könntest du am Ende der Zielfunktion eintragen. Natürlich müsstest du das Verhältnis der Gewichte lambda_i variieren, um unterschiedliche optimale Punkte zu bekommen.
Alternativ: ein Ziel minimieren unter der Nebenbedingung, dass das andere Ziel einen Schwellwert nicht überschreiten darf.
Hallo,
wie sieht es denn mit dem 'gamultiobj' aus. Haben Sie da Erfahrungen mit? Welche der beiden Möglichkeiten wäre denn die Elegantere, ihrer Meinung nach?
relativ wenig. Ich würde es jedoch für diese Problemart damit versuchen.
Insgesamt würde ich mehrere Ansätze versuchen und sehen, was die besten Ergebnisse liefert.
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
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.