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:
|
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.
|