|
|
Optimization Toolbox - Pattern Search - Variablenskalierung |
|
eifelmaster |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 16.08.2011, 14:51
Titel: Optimization Toolbox - Pattern Search - Variablenskalierung
|
|
Hallo zusammen,
ich arbeite gerade an einer Optimierung bei der die Eingangsparamter schrittweise angepasst werden sollen, d.h. in 0.1 bzw. 1- er Schritten. Da fmincon dafür ja scheinbar ungeeignet ist, wollte ich es nun einmal mit Pattern search versuchen.
Da ich ein Einsteiger bin in Matlab:
Wie nimmt man die Variablenskalierung bei Patternsearch sinnvoll vor, um eine gwünschte Schrittweite zu erreichen?
Danke schonmal.
|
|
|
|
|
eifelmaster |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 23.08.2011, 07:33
Titel:
|
|
Hat wirklich keiner eine Idee?
|
|
|
eifelmaster |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.09.2011, 09:52
Titel:
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 05.09.2011, 17:46
Titel:
|
|
|
|
|
Hallo,
PatternSearch ist für die Optimierung kontinuierlicher Probleme gedacht.
Du kannst über PSOPTIMSET verschiedene Einstellungen vornehmen. Am interessantesten dürften für deine Zwecke ScaleMesh (wahrscheinlich off, denn du wirst eine eigene Skalierung vornehmen müssen) und TolMesh (die Gitterweite ist in jeder Richtung gleich, du musst das also entsprechend skalieren).
Ob das zum Erfolg führt, kann ich nicht beurteilen, denn wie gesagt: PatternSearch ist für die Optimierung kontinuierlicher Probleme gedacht.
Alternativ würde ich es mal mit Genetic Algorithms (ga) versuchen. In der soeben erschienenen 2011b kann man dort angeben, wenn Variablen nur Integer-Werte annehmen dürfen. In den vorherigen MATLAB-Versionen ist das etwas mühsamer.
Ganz alternativ gäbe es noch andere Möglichkeiten:
1. als kontinuierliches Problem behandeln und runden
2. brute force (alle Kombinationen durchprobieren)
3. eine Kombination von 1. und 2.: brute force in "der Nähe" des kontinuierlichen Minimums.
(und wohl noch andere)
Grüße,
Harald
|
|
|
eifelmaster |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.09.2011, 10:06
Titel:
|
|
Danke.
Mit einer Kombination aus Patternsearch mit Variablenrundung und einem alternativen Brute Force Ansatz komme ich nun zu einem sehr guten und brauchbaren Lösung .
Gruß eifelmaster
|
|
|
|
|
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.
|
|