WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

fminsearch Randbedingung

 

humpel
Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 06.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.02.2018, 10:45     Titel: fminsearch Randbedingung
  Antworten mit Zitat      
Hallo,

ich schlage mich zZ mit fminsearch rum...

Ich nutze die Funktion um ein Minimum innerhalb bestimmter Randbedinungen zu finden. Das Problem ist, dass die Berechnung eines einzelnen Schrittes ca. 30 min dauert. Ich bin somit auf die Effiziens meines Matlab Codes angewiesen.

Mein erster Versuch war es, das Ergebnis mit einem Multiplikator (Straffunktion) zu versehen, wenn fminsearch sich außerhalb des erlaubten Bereiches befindet. Das hat dazu geführt, dass sich die Funktion anschließend weit von der Randbedingung entfernt gehalten hat bzw. sich nur sehr langsam näherte.
Um das ganze zu Entschärfen ist der Multiplikater nun im zweiten Versuch linear abhängig von der Distanz zur Randbedingung. Leider rechnet mein Tool weiterhin viel zu lange ...

Den Multiplikator habe ich entsprend des maximalen Ergebnisbereiches gewählt .. nicht zu klein, nicht zu groß.

Habt ihr eine Idee wie man die Straffunktion idealerweise gestaltet um eine schnelle Rechnung zu ermöglichen?

Bin dankbar für alle Tipps.

Klaus
Private Nachricht senden Benutzer-Profile anzeigen


Erano1
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 26.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.02.2018, 13:57     Titel:
  Antworten mit Zitat      
Hallo Klaus,

Zitat:
Ich nutze die Funktion um ein Minimum innerhalb bestimmter Randbedinungen zu finden.


Gibt es einen bestimmten Grund dafür, dass du das Problem mit fiminsearch lösen möchtest? Wenn du Strafterme dazu nimmst kannst du ja trotzdem nie sicher sein, dass deine Lösung im zulässigen Bereich liegt. Ansonsten macht es Sinn "fimincon" zu verwenden, da du mit dem Solver auch ein beschränktes Problem lösen kannst.

Viele Grüße,
Erano1
Private Nachricht senden Benutzer-Profile anzeigen
 
humpel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 06.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.02.2018, 14:17     Titel:
  Antworten mit Zitat      
Hallo Erano1,

vielen Dank für deine schnelle Antwort.

Natürlich hast du recht damit, dass die gefundene Lösung nicht im erlaubten Bereich liegt. Das muss ich nach der Rechnung im Einzelfall prüfen und ggf. die Straffunktion anpassen. Außerdem sind meine Randbedingungen nicht auf die letzte Nachkommastelle fixiert, sie sind eher ein schwammiger Übergangsbereich....

fminsearch nutze ich, weil ich keine fmincon Toolbox besitze und keine andere Alternative kenne.

Gruß,
Klaus
Private Nachricht senden Benutzer-Profile anzeigen
 
Erano1
Forum-Fortgeschrittener

Forum-Fortgeschrittener


Beiträge: 59
Anmeldedatum: 26.04.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.02.2018, 14:28     Titel:
  Antworten mit Zitat      
Hallo Klaus,

hast du es schon mal getestet? Ich muss sagen, dass ich was Toolboxen erwerben und Lizenzen wenig bis keine Ahnung habe, da mir bislang alles nötige meistens gestellt wurde, aber es würde mich wundern, wenn du "fminsearch" nutzen kannst und "fmincon" nicht. Beide sind doch in der Optimization Toolbox enthalten. Wie alt ist deine Version? War "fmincon" bei älteren Versionen vielleicht noch nicht dabei? Ansonsten würde ich dir empfehlen externe Solver zu finden. Hier kann man sich eigentlich einen guten Überblick über das Thema schaffen: https://yalmip.github.io/allsolvers/.

Viele Grüße,
Erano1
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.432
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 21.02.2018, 16:50     Titel:
  Antworten mit Zitat      
Hallo,

fmincon ist in der Optimization Toolbox, fminsearch ist direkt in MATLAB enthalten.

Falls die Optimization Toolbox derzeit nicht verfügbar ist, würde ich bei MathWorks eine Trial-Lizenz der Toolbox herunterladen und es damit versuchen.

Generell wäre es hilfreich, möglichst viel über Zielfunktion und Nebenbedingungen zu erfahren. Sind beide (einigermaßen) glatt? Handelt es sich evtl. um irgendeine Art von Simulation?

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
humpel
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 32
Anmeldedatum: 06.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.02.2018, 15:53     Titel:
  Antworten mit Zitat      
Hallo,

die fmincon Funktion ist leider nicht vorhanden, nur die fminsearch.

Das zu optimierende Problem ist eine Funktion, welche von vier Parametern abhängig ist. Welchen Einfluss die Parameter auf das Ergebnis haben ist nur schwer abzuschätzen...
Edit: Eigentlich ist es keine Funktion, sondern ein numerisches modell eines technischen Gerätes. Hier ändere ich vier Maße und bewerte das Ergebnis. Eine dieser numerischen Rechnungen ist recht zeitintensiv.

In Sachen externe Solver bin ich ein blutiger Anfänger, ... werde mich aber direkt auf die Suche machen.
Irgendwelche Tipps? Gibts zufällig einen externen Sovler namens fmincon_free? Wink

Vielen Dank soweit!

Klaus
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.