|
|
Optimierung: Parameterschätzproblem; genetischer Algorithmu |
|
Thilo99 |
Forum-Anfänger
|
|
Beiträge: 14
|
|
|
|
Anmeldedatum: 14.11.17
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 15.11.2017, 15:24
Titel: Optimierung: Parameterschätzproblem; genetischer Algorithmu
|
|
|
|
|
Hallo zusammen,
ich bin ziemlicher Neuling in Matlab und hätte zunächst mal eine Frage zur grundsätzlichen Vorgehensweise eines Optimierungsproblems.
Kurz zu mir: ich studiere Maschinenbau und arbeite gerade an einem Optimierungsproblem für eine Projektarbeit.
Es geht um die Parameterschätzung /-Identifikation eines Simulationsmodells. Das Modell steht bereits und wird berechnet mittels 6 Eingangsparameter. Diese sind sehr schwer zu ermitteln, daher möchte ich einen genetischen Algorithmus (wird zunächst mal vorausgesetzt) zur Parameteroptimierung nutzen. Diesen habe ich auch bereits programmiert. Ich bin mir nur noch nicht ganz schlüssig, wie ich am besten die Ablaufschleife definieren und das Simulationsmodell integrieren kann um die Parameter zu bestimmen.
Es stehen mir Matlab figures (Messdaten) zur Verfügung. Das Modell spuckt mir eine Kraft pro Zeitschritt aus, welche ich per Fast Fourier Transformation noch auf die richtigen Größen umrechnen will.
Die Zielfunktion des GA wäre demnach am besten das Integral der Differenz zwischen Messwerten und simulierten Werten.
also: min Summendifferenz Messwerte - simulierte Werte mit einem variablen Exponent.
Mich interessiert wie gesagt erst mal der Ablauf.
1. Einlesen der XData; YData der Messwerte
2. InitialGuess: 6 Eingangsparameter
3. Modellsimulation
4. Optimierung nach Zielfunktion, also müsste der Optimierer ja neue Parameter ausgeben und diese wiederum in das Modell einspeißen um neue simulierte Werte zu generieren?
Müsste demnach das Simulationsmodell innerhalb der Zielfunktion des GA aufgerufen werden?
Wie würde das genau funktionieren, mit der Optimierung der Parameter (welche Schrittweite zb?) durch den GA und der Einspeißung wiederum in das Modell.
Ich entschuldige mich schon mal für den wahrscheinlich unnötig kompliziert geschriebenen Text:)
Ich würde mich über jede Art Hilfe sehr freuen!
Beste Grüße
Thilo
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.448
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 15.11.2017, 23:40
Titel:
|
|
Hallo,
ich würde empfehlen, die vorhandenen Optimierer (z.B. ga) zu nutzen. Oft liefern aber andere Solver schneller bessere Ergebnisse, siehe z.B. hier:
https://de.mathworks.com/help/gads/.....osing-another-solver.html
In der Ziel-/Fitnessfunktion berechnest du das Modell für die Parameter und gleichst das mit den tatsächlichen Ergebnissen ab.
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
|
|
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.
|
|