|
|
Optimierungsproblem. Wie lösen? |
|
Maya |

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 22.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.11.2012, 20:49
Titel: Optimierungsproblem. Wie lösen?
|
 |
Hallo ihr Lieben,
habe erstmal abseits der Programmierung nur die Frage für wie realistisch ihr es haltet folgendes Problem mit Matlab zu lösen:
wobei
und
uBdN:
Alle Werte von sigma und beta sind natürlich gegeben (Skalier zwischen 0 und 1)
Alternativ würde statt einem Minproblem oben auch folgendes gehen:
Wie lässt sich sowas mit Matlab lösen? Lagrange?
Vielen Dank für eure Ideen.
Gruß
Maya
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.11.2012, 21:47
Titel:
|
 |
Hallo,
mit fmincon aus der Optimization Toolbox. Falls diese nicht vorhanden ist, fminsearch.
Grüße,
Harald
|
|
|
Maya |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 22.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.11.2012, 21:59
Titel:
|
 |
Hallo,
Danke für die Antwort. Über die Uni habe ich eigentlich Zugriff auf sämtliche Toolboxes.
Klappt es (wenn man alles richtig macht) denn sicher mit der Opt.Box? Bin momentan stark unter Zeitdruck und ein fruchtloses "Reinfuchsen" wäre echt fatal...
Mir erscheint die Optimierungsgleichung halt so komplex (Quadrieren etc.), dass ich Zweifel habe.
Hast du darüberhinaus eine Idee für den Alternativweg über das Verhältnis? Dieser wäre nämlich evtl. sogar besser, da man auch ggf. für c auch 0.995 einsetzen könnte etc.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.11.2012, 22:11
Titel:
|
 |
Hallo,
prinzipiell kann man mit der Optimization Toolbox auch deutlich komplexere Probleme als dieses lösen. Das einzige Problem ist, dass nach lokalen Minima gesucht wird und damit generell relativ gute Startwerte benötigt werden, damit dieses lokale Minimum dann auch sehr wahrscheinlich das (üblicherweise gewünschte) globale Minimum ist.
Alternativ kannst du Algorithmen aus der Global Optimization Toolbox (ga oder patternsearch) verwenden. Da die Aufrufform zunächst sehr ähnlich wie bei fmincon ist, kann man ohne weiteres mit fmincon anfangen und ggf. auf ga / patternsearch wechseln.
Bei dem Verhältnis sehe ich das Problem, dass du (inkl. NB) nur zwei Gleichungen für fünf Unbekannte hast. Da ist es gut möglich, dass es keine eindeutige Lösung oder gar unendlich viele Lösungen gibt.
Grüße,
Harald
|
|
|
Maya |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 22.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 22.11.2012, 22:24
Titel:
|
 |
Hallo,
Danke für die ausführliche Antwort.
Das mit den Startwerten leuchtet ein. Als Startwert, der die Bedingung nicht verletzt, würde ich Gleichverteilung P1...P5=0.2 auswählen. Das ist für meinen Fall schon häufig ein guter Wert. Wenn er es dann schafft die Diff. weiter zu minimieren erwarte ich eh nur kleinere Abweichungen (z.B. P1=0.18 P2=0.23 etc.).
Von daher könnte es klappen.
Das Reinhacken verschiebe ich aber auf morgen
Danke nochmal
Edit:
Mir fällt gerade nochwas ein, wie ich das mit dem Verhältnis lösen könnte. Man könnte ihn doch nur solange das Minimum suchen lassen bis sich das gewünschte Verhältnis (wenn er es bis dahin schafft) einstellt?
Also nach jeder Iteration prüfen etc.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 22.11.2012, 22:49
Titel:
|
 |
Hallo,
was das Verhältnis angeht: so könnte man eine Lösung finden, aber vermutlich mit jedem Startwert eine andere.
Grüße,
Harald
|
|
|
Maya |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 22.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.11.2012, 01:41
Titel: Re: Optimierungsproblem. Wie lösen?
|
 |
Hallo, ich habe das Problem zum Teil nun gelöst. Hänge jetzt aber vor einem anderen.
Ich versuche nun folgendes zu minimieren:
Maya hat Folgendes geschrieben: |
wobei
uBdN:
|
Ich mache das ganze momentan über globalsearch in Kombination mit fmincon.
Das Problem ist, dass Matlab nun anscheinend versucht das ganze soweit ins negative zu ziehen wie möglich (?).
Ich will aber eigentlich, dass möglichst 0 rauskommt. Sprich der Term möglichst nah an ran 19251 kommt.
Habt ihr eine Idee wie man sozusagen f(x)>=0 implementiert?
Grüße
Maya
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 25.11.2012, 10:22
Titel:
|
 |
Hallo,
entweder als Nebenbedingung oder indem man ( f(x) )^2 minimiert.
Man könnte wohl auch lsqnonlin statt fmincon als Solver verwenden.
Grüße,
Harald
|
|
|
Maya |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 13
|
 |
|
 |
Anmeldedatum: 22.11.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.11.2012, 19:25
Titel:
|
 |
Hat mit einer nichtlinearen Nebenbedingung wunderbar geklappt.
Du hast mich mit deiner Hilfe echt einen großen Sprung bei meinem Arbeiten machen lassen. Vielen Dank!
Grüße
Maya
|
|
|
|
|
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 - 2025
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.
|
|