kramann.info
© Guido Kramann

Login: Passwort:










kramann.info
© Guido Kramann

Login: Passwort:




Algorithmen

  • Algorithmen wurden erfunden lange bevor es Computer gab. Viele konnten aber erst mit Hilfe der heutigen Technik wirklich nutzbringend eingesetzt werden.
  • Auch in der Simulationstechnik benötigt man eine Vielzahl an Algorithmen.
  • Ein Beispiel stellt die Parameterstudie dar: Hier werden alle Kombinationen an Parametern durchgespielt, die man zuvor in einem bestimmten Bereich gerastert hat.
  • Ein weiteres Beispiel aus der Simulationstechnik stellt das Gradientenverfahren dar, das ebenfalls zum Auffinden günstiger Modell-Parameter verwendet wird.
  • Die breiteste Anwendung finden aber wahrscheinlich Such- und Sortieralgorithmen.
  • In den folgenden Abschnitten wollen wir eine Auswahl an Algorithmen behandeln.
  • Sie sollen allerdings gleich objektorientiert in JAVA umgesetzt werden.
  • Zunächst soll das bereits behandelte Simulationsprogramm und der darin enthaltene Integrator weiterentwickelt werden.
  • Dann soll ein Optimierer implementiert werden, der einen genetischen Algorithmus verwendet.
  • Beide Teile sollen zu einem Simulations- und Parameter-Optimierungsprogramm zusammengefaßt und mit einer grafischen Benutzeroberfläche versehen werden.
  • Das folgende Schaubild soll eine Vorstellung von dem geplanten Projekt geben:
Simulationsumgebung

Bild 0-1: Simulations- und Optimierungsumgebung (vergl. nachfolgenden Text).

  • Um verschiedene Modelle mit verschiedenen Integrator-Verfahren kombinierbar zu machen, soll es für beides abstrakte Oberklassen geben, in denen Pflichtmethoden, die die erbenden Klassen implementieren müssen festgelegt werden.
  • Es gäbe prinzipiell auch die Möglichkeit Interfaces (Schnittstelle, Schlüsselwort: interface) als Oberklassen zu nehmen, jedoch muß dann alles in der Oberklasse abstrakt sein.
  • Ein Modellobjekt soll bei einem Integrator-Objekt registriert werden.
  • Eine Gütefunktion des Optimierers soll zwei Modellintegratoren verwenden:
  • Das erste soll Messungen simulieren, beim zweiten sollen Parameter so optimiert werden, dass dessen Verhalten dem ersten möglichst gut entspricht.
  • Das Ganze soll ein eine GUI eingebettet werden.
  • Im linken Bereich sollen die Parameter C und D eines linearen Schwingers eingestellt werden.
  • Per Knopfdruck "Optimieren" soll dann eine Parametersuche mit Hilfe des zweiten Modells starten und die Ergenisse im Verlauf rechts dargestellt werden.
  • Salopp gesagt: Wir haben zwei strukturell gleiche Modelle eines linearen Schwingers. Wir tun so, als sei das erste "die Realität" und als würden wir Messungen von diesem gedachten realen Schwinger bekommen.
  • Diese Messungen sollen möglichst gut in Deckung mit der Simulation des zweiten Modells gebracht werden.
  • Dies erledigt der Optimierer, indem er immer wieder neue Parameterkombinationen festlegt und das Ergebnis der entsprechenden Simulation mit "der Realität" vergleicht.