globale Optimierung einer min-Funktion |
03.07.2013, 16:23 | marocaine | Auf diesen Beitrag antworten » |
globale Optimierung einer min-Funktion welcher globale und gradienten-basierte Optimierungsalgorithmus ist für folgendes Problem angemessen: s.t. mit In einer Einführung zum Optimierungspaket nloptr für die Software R (Link) bin ich schließlich auf den Tip gestoßen, das Ganze wie folgt umzuschreiben: s.t. Nun ist die (triviale) Zielfunktion stetig differenzierbar und ich kann für sie einen Gradienten angeben. Ebenso kann ich für die Nebenbedingungen eine exakte Jakobi-Matrix angeben, und wäre somit theoretisch in der Lage, einen gradienten-basierten globalen Optimierungsalgorithmus zu verwenden. Gradienten-basiert ist wichtig, weil ich über tausende von optimiere. Hat mir jemand Algorithmen-Namen, optimalerweise mit Implementierung in R? Danke und beste Grüße, maro |
||
05.08.2013, 02:55 | Frehmen | Auf diesen Beitrag antworten » |
hallo marocaine, du kannst dir überlegen, dass für das Optimum die n+1 Gleichungen und gelten. Das Gleichungssystem lässt sich mit dem eindimensionalen Newtonverfahren lösen, da du aus berechnen kannst, somit erhältst du die Problemstellung . Da die Nullstelle einfach ist, konvergiet das Verfahren quadratisch. |
||
28.08.2013, 20:46 | marocaine | Auf diesen Beitrag antworten » |
Hi Frehmen, danke für deine Antwort! Ich habe das ganze bei mir auf der Software R umgesetzt und in ein paar Sekunden eine Antwort erhalten. Allerdings macht sie grafisch betrachtet nicht viel Sinn, weshalb ich mal meine konkrete Ausführung darlege: Durch die Bedingung erhalte ich . Ich löse nach auf und erhalte . Daraus folgt dann Ich habe das nun mit folgenden Werten für bzw. per Newton-Verfahren gelöst:
Für erhalte ich die Lösungen
Wie man sieht, ist relativ zu den anderen Variablen enorm groß. Mir scheint das zu groß zu sein, weshalb ich einen Fehler meinerseits vermute. Habe ich im Post irgendwo einen Denkfehler gemacht? Falls nicht: Hat jemand die Möglichkeit, das Optimierungsproblem auf seinem Computer zu lösen und seine Ergebnisse zu posten? Dann kann ich sehen, ob der Fehler vielleicht in meinem R-Code liegt. Danke und beste Grüße, maro |
||
29.08.2013, 03:29 | marocaine | Auf diesen Beitrag antworten » |
Korrektur (K vergessen): |
|
Verwandte Themen
Die Beliebtesten » |
|
Die Größten » |
|
Die Neuesten » |
|