Benutzerspezifische Werkzeuge

Simulation

Simulation (von lat. simulare: nachbilden, nachahmen, vortäuschen, heucheln) ist eine in fast allen wissenschaftlichen Disziplinen eingesetzte Analysemethode zur Optimierung der Planung und des Betriebs komplexer (Real-) Systeme.

Definition und Zielsetzung

Der Verein deutscher Ingenieure (VDI) definiert Simulation allgemein als die

„Nachbildung eines Systems mit seinen dynamischen Prozessen in einem experimentierfähigen Modell, um zu Erkenntnissen zu gelangen, die auf die Wirklichkeit übertragbar sind” ( [VDI 2013]).

Der Einsatz von Simulation empfiehlt sich immer dann, wenn Experimente und Messungen in der Realität zu langsam (Bevölkerungsentwicklungen), zu schnell (Explosionsverhalten), zu gefährlich (Crashtests), unmöglich (Urknall) oder schlicht teuer (Fabrikplanung) wären. Insbesondere bei komplexen Realsystemen sind die Grenzen analytischer Methoden und Beschreibungen schnell erreicht. Simulation dagegen kann, auf Basis einer geeigneten Modellierung, sehr umfangreiche Systeme handhaben und dem Anwender die Zusammenhänge der einzelnen Systemvariablen deutlich machen (vgl. [Law und Kelton 2000], S. 106ff.). Über Simulationsläufe wird das zeitliche Ablaufverhalten von Systemen abgebildet; zusätzlich kann es protokolliert, reproduziert, analysiert und interpretiert werden und Sensitivitätsanalysen werden ermöglicht.

Mit Simulation können bestehende Systeme iterativ optimiert werden, bspw. durch effizienteren Einsatz von Ressourcen oder die Verbesserung von Steuerungsstrategien während des Betriebs. Zudem kann die Planung noch nicht existenter Systeme unterstützt werden: Allein die schlichte Visualisierung des dynamischen Systemverhaltens kann die Analyse komplexer Zusammenhänge ungemein erleichtern und erlaubt den Einsatz von Simulationsmodellen als Schulungsinstrument.

Alles in allem bringt der geschickte Einsatz von Simulation in der Praxis oftmals erhebliche Kostenvorteile mit sich, deckt Kostenrisiken erst auf oder verschafft eine höhere Investitionssicherheit. Andererseits ist die zur Gewinnung valider Erkenntnisse über das Realsystem notwendige Isomorphie zwischen dem System und dem zu bildenden Modell schwer zu gewährleisten. Außerdem kann eine schlechte Datenbasis die Ergebnisse dramatisch verfälschen (was allerdings kein simulationsspezifischer Nachteil ist). Es ist zu bedenken, dass Simulationsstudien an sich aufwendig und damit teuer sind, ein Erfolg aber nicht garantiert werden kann. 

Simulationsstudien mit ihren teils umfangreichen Experimenten und Berechnungen werden teilweise als Allheilmittel zur Systemverbesserung oder gar zur Optimierung missverstanden. In Wahrheit liefert Simulation jedoch im besten Fall ein Optimum unter den getroffenen Annahmen und einer endlichen Anzahl untersuchter Alternativen. Aktuell erfährt das Forschungsgebiet der Kopplung von Simulations- und Optimierungsmethoden eine wachsende Bedeutung.

Es ist absehbar, dass sich der Einsatz von Simulationstechniken in Zukunft mit der Verfügbarkeit schnellerer Rechner und immer leichter bedienbarer Werkzeuge weiter verstärken wird. Eine Grenze der Möglichkeiten der Simulation ist prinzipiell nicht in Sicht. Problematisch ist am ehesten der mit einer höheren Detaillierung im Bereich der Modellierung einhergehende steigende Datenbedarf, der zur Berechnung sinnvoller Ergebnisse ebenfalls einer entsprechenden Qualität bedarf.

Aspekte der Modellierung realer Systeme

Fast jedes Realsystem ist in irgendeiner Form problembehaftet (vgl. [Liebl 1995, S. 113ff.]), so dass die Modellierung und Simulation der problemrelevanten Bestandteile und Eigenschaften zu wünschenswerten Verbesserungen führen könnte. Ein Modell besitzt im Gegensatz zum Realsystem lediglich eine eingeschränkte Menge an Variablen, die das prinzipielle Verhalten eines Systems abbilden (vgl. [Smith 1968, S. 1]). Dabei werden nur die für den spezifischen Untersuchungszweck relevanten Parameter und Einflussgrößen berücksichtigt. Ein Modell soll das reale System abstrahieren und auf die Fragestellung schnell eine aussagekräftige Antwort geben. Bei der Modellerstellung darf nie das Ziel der Untersuchung aus den Augen gelassen werden; ein Modell allein besitzt keine Existenzberechtigung.

Modelle lassen sich wie folgt klassifizieren:

  • Deterministisch/stochastisch: Wenn der Eintritt einer Zustandsänderung mit einer gewissen Wahrscheinlichkeit behaftet ist, heißt ein Modell stochastisch. Dabei werden verschiedene Wahrscheinlichkeitsverteilungen empirischer oder theoretischer Art verwendet, um das reale Verhalten möglichst identisch nachzuahmen.
  • Diskret/kontinuierlich: Ändern sich Systemvariablen und -zustände diskret, heißt ein Modell diskret, ansonsten kontinuierlich (vgl. [Liebl 1995, S. 9]). In diskreten Modellen besitzen die Systemvariablen fest definierte Zustände, zwischen denen sie wechseln können, z.B.: Frei, In Arbeit, Blockiert, Wartend und Unterbrochen. Neben der strikten Trennung von diskreter und kontinuierlicher Simulation existiert auch die Möglichkeit, beide Typen als hybride Form zu kombinieren.
  • Fixe oder variable Zeitinkremente: Die Zeitsteuerung während einer Simulation kann mittels fixer oder variabler Zeitintervalle geschehen. Für die diskrete Simulation von Systemen hat sich i.d.R. die variable Zeiteinteilung als vorteilhaft herausgestellt. Dabei wird die Simulationszeit mit den Eintrittszeitpunkten aufgetretener Ereignisse inkrementiert. Die Alternative besteht darin, jeweils um ein festes Zeitintervall zu inkrementieren und dann alle eingetretenen Zustandsänderungen und deren Abhängigkeiten zu bestimmen. Letzteres ist leichter technisch zu implementieren, es besteht aber die Notwendigkeit der Sequenzierung und Synchronisation, was den Rechenaufwand erhöht.
  • Stationär/nicht stationär: Stationäre Modelle werden i. Allg. nach einer Einschwingphase in einen gleichgewichtigen Zustand eintreten. In diesem sind die Outputvariablen nicht mehr trendbehaftet, können jedoch durchaus eine hohe Varianz aufweisen. Die Einschwingphase kann die Outputgrößen positiv oder negativ verzerren, so dass sie ggf. entfernt werden muss. Stationäre Modelle haben prinzipiell einen unendlichen Zeithorizont, im Gegensatz zu den nicht stationären. Diese weisen oftmals Strukturbrüche während ihres Ablaufs auf (z.B. variierende Ankunftsraten) oder haben ein natürliches Ende, welches den Eintritt des stationären Zustands verhindert. Ob ein Modell als stationär oder nicht stationär simuliert wird, hängt stark vom jeweiligen Untersuchungszweck ab. 

 

Parallele und verteilte Simulation

Wie viele andere rechenintensive Aufgaben auch, können große Simulationsmodelle durch eine geeignete Parallelisierung auf verschiedene Prozessoren in ihrer Laufzeit verkürzt werden. Die „parallele und verteilte Simulation“ (vgl. [Fujimoto 2000]) kann dabei auf verschiedene Arten genutzt werden, um einen Simulationslauf zu beschleunigen:

Eine bloße Verteilung häufig benötigter Routinen (Generierung von Pseudozufallszahlen, statistische Berechnungen, usw.) auf andere Prozessoren (vgl. [Mehl 1994, S. 7]) kann bereits sequenzielle Simulationsmodelle ohne Auswirkungen auf die Modellierung beschleunigen. Weitere Geschwindigkeitssteigerungen sind darüber hinaus nur zu erzielen, wenn das Modell selbst aufgeteilt und parallelisiert wird, also verschiedene Ereignisse desselben Laufs auf unterschiedlichen Prozessoren berechnet werden. Die so entstehenden Submodelle werden jeweils von einem eigenen ereignisgesteuerten Simulator ausgeführt und als logische Prozesse (LP) bezeichnet. Damit die Simulation dann tatsächlich beschleunigt wird, ist eine geeignete Aufteilung des Modells zu finden. Dies erweist sich als nicht trivial (vgl. [Mehl 1994, S. 9ff.]).

In der Praxis wird üblicherweise ein vereinfachtes Verfahren zur schnelleren Berechnung von Simulationsexperimenten verwandt, indem eine spezifische Modellkonfiguration auf einem einzelnen Rechner berechnet wird, die zur Berechnung des Experimentes benötigten Replikationen oder weiteren Konfigurationen und Parametrierungen des Simulationsmodells jedoch in Rechnernetzen verteilt werden. Diese Form der verteilten Simulation ist technisch weniger anspruchsvoll, weil die einzelnen Simulationsläufe unabhängig voneinander berechnet werden können und nur im Bereich der Analyse des Experimentes die gesammelten Informationen wieder zentral gesammelt und ausgewertet werden müssen.

 

Softwaresysteme zur Simulation

Simulationswerkzeuge dienen in erster Linie der Unterstützung der Durchführung von Simulationsstudien. Prinzipiell kann zwischen allgemeinen und speziellen Werkzeugen unterschieden werden.

Zu allgemeinen Werkzeugen ist jede Programmiersprache (z. B. C, C++, C#, JAVA, etc.) zu zählen. Je nach Komplexität des Systems und spezieller Anforderungen an z. B. Geschwindigkeit oder Speichereffizienz kann es notwendig werden, ein Simulationsmodell direkt in einer dieser Sprachen zu erstellen. Für die meisten Programmiersprachen liegen mittlerweile leistungsstarke Funktions- bzw. Klassenbibliotheken vor. Zusätzlich existieren spezielle Werkzeuge zur Erstellung von Simulationsprogrammen. Dies sind zum einen für die besonderen Anforderungen der Simulation konzipierte Simulationssprachen, z.B. Simscript, GPSS oder Simula. Daneben gibt es visuelle Systeme, die mit grafischen Benutzeroberflächen die Erzeugung von Simulationsprogrammen unterstützen (z.B. Plant Simulation, Arena, Enterprise Dynamics, FlexSim, etc.).

Jede Simulationsumgebung sollte bestimmte Grundfunktionalitäten zur Verfügung stellen. Zu diesen zählen Generierung von Zufallszahlen unterschiedlichster Verteilungen, Management der Simulationszeit (diskret/kontinuierlich), Ereignishandling, Warteschlangenmanagement, Datensammlung, Datenanalyse und Reportgenerierung. Weitere Qualitätsaspekte, die einen entscheidenden Einfluss auf die Handhabbarkeit haben, sind Portierbarkeit sowie Art und Qualität der Dokumentation. Im Allgemeinen gilt ein in einer Programmiersprache direkt umgesetztes Modell aufgrund der niedrigeren Abstraktion als viel zeit- und ressourcenaufwendiger in der Entwicklung, aber auch weitaus performanter als ein (visuelles) Simulationstool.

 

Vorgehensmodelle für Simulationsstudien

Eine Simulationsstudie kann durchaus wie ein „normales“ Projekt behandelt werden. Die Anwendung eines strukturierten Vorgehens ist folglich ebenso wichtig wie in jedem anderen Projekt. Von Anfang an müssen dabei Fehler im Projektablauf vermieden und gemeinsam mit dem Auftraggeber abgestimmte Zielsetzungen konsequent verfolgt werden.

Law und Kelton haben ein Modell zur Durchführung einer Simulationsstudie vorgeschlagen, dass sie „Steps of a sound simulation study” nennen (vgl. [Law/Kelton 2000]).

  1. Vorstudie: Zunächst muss eine genaue Problemdefinition durch und mit dem Auftraggeber erfolgen.
  2. Konzeptuelle Modellierung und Datensammlung: Informationen über die Systemstruktur und -abläufe müssen unter Zuhilfenahme diverser Erhebungstechniken gesammelt werden. Ebenfalls sehr früh sollten repräsentative Eingabedaten erhoben werden, weil mit deren Vorhandensein der Erfolg der Studie steht und fällt.
  3. Validierung: In dieser Phase wird die Frage nach der Gültigkeit des konzeptuellen Modells gestellt. Dies kann bspw. mittels strukturierter Modellüberprüfungen erfolgen, die von den beteiligten Experten gemeinsam durchgeführt werden. Ist das Modell nicht valide, wird zu Schritt 2 zurückgesprungen.
  4. Implementierung: Das Modell wird in der gewählten Entwicklungsumgebung umgesetzt. Das entstehende Programm muss anschließend verifiziert werden, um zu garantieren, dass das Simulationsprogramm (technisch) korrekt läuft.
  5. Testläufe: Das Simulationssystem wird mit echten Daten getestet, die bspw. aus existenten, vergleichbaren Systemen stammen oder plausibel generiert wurden.
  6. Validierung des implementierten Modells: Anwendungs- und Simulationsexperten sollen nochmals die Korrektheit feststellen. Es gibt keinen „richtigen Weg“, ein noch nicht existentes System zu validieren und nur sehr wenige „echte“ Validierungstechniken (Ansätze zu finden in [Rabe et al, 2008]). Sinnvoll seien in jedem Fall Expertengespräche und eine gute Dokumentation. Kein nicht triviales Modell kann jemals total validiert werden. Durch gezieltes Verändern der Inputdaten kann außerdem eine Sensitivitätsanalyse durchgeführt werden, um die wirklich relevanten Inputfaktoren zu bestimmen und damit die nachfolgende Experimentation zu verkürzen. Auch nach der erneuten Validierung ist ein Rücksprung vorgesehen, falls das Modell der Überprüfung nicht standhält.
  7. Experimentationsdesign: Für jede zu untersuchende Systemkonfiguration werden die Länge des Simulationslaufes und der Anlaufphase sowie die Anzahl der unabhängigen Laufwiederholungen (Replikationen) spezifiziert. Dabei kann die Zahl der Replikationen durch die Kombinatorik bei vielen zu untersuchenden Einflussgrößen leicht prohibitiv groß werden, um in der geplanten Zeit zu den gewünschten Ergebnissen zu gelangen. Ein gutes Design ist also für den Erfolg der Studie von zentraler Bedeutung. In der Praxis finden hier zumeist Verfahren der statistischen Versuchsplanung Anwendung.
  8. Produktionsläufe durchführen: Die Produktionsläufe sollten sorgfältig protokolliert werden, um anschließend die gewünschten Analysen durchführen zu können.
  9. Outputanalyse: Hauptziele sind oft die Bestimmung absoluter Leistungskennzahlen von Systemen, der Vergleich verschiedener Konfigurationen oder die Optimierung des Vektors der Inputfaktoren. Letzteres ist das weitaus schwierigste Ziel, wird aber mittlerweile durch einige Softwarepakete unterstützt, welche mittels Optimierungsalgorithmen die Inputfaktoren derart variieren, dass die Outputzielgröße iterativ verbessert wird.
  10. Dokumentation, Ergebnispräsentation: Die Dokumentation sollte eigentlich studienbegleitend durchgeführt werden. Alle Annahmen, das entwickelte Simulationssystem sowie die Ergebnisse müssen sehr gut dokumentiert und dem Auftraggeber präsentiert werden. Die Ergebnisse müssen dabei sowohl valide als auch glaubwürdig sein.

Anschließend gilt es, die gewonnenen Erkenntnisse auf das Realsystem zu übertragen. Neben der Dokumentation muss es selbstverständlich weitere übergreifende Tätigkeiten geben, die jedoch nicht im Ursprungsmodell genannt sind. Üblicherweise fallen hier heute alle Aufgaben an, die dem klassischen Projektmanagement zugerechnet werden können.

Literatur

Fujimoto, R. M.: Parallel and distributed Simulation Systems. New Xork : Wiley 2000.

Law, A. M., Kelton, W.: Simulation Modeling and Analysis. Boston : McGraw Hill, 4th edition 2007.

Liebl, F.: Simulation. München : Oldenbourg, 1995.

Mehl, H.: Methoden verteilter Simulation. Braunschweig : Vieweg 1994.

Rabe, M., Spieckermann, S., Wenzel, S.: Verifikation und Validierung für die Simulation in Produktion und Logistik: Vorgehensmodelle und Techniken (VDI-Buch) , Springer Verlag, 2008

Smith, J.: Computer Simulation Models. London : Griffin 1968.

VDI-Richtlinie 3633: Simulation von Logistik-, Materialfluss- und Produktionssystemen - Grundlagen. Düsseldorf : VDI Verlag, 2013.

 

Autoren


 

Prof. Dr.-Ing. habil. Wilhelm Dangelmaier, Universität Paderborn, Heinz-Nixdorf-Institut, Wirtschaftsinformatik, insb. CIM, Fürstenallee 11, 33102 Paderborn

Autoreninfo


 

Prof. Dr. Christoph Laroque, Westsächsische Hochschule Zwickau, Dr.-Friedrichs-Ring 2a, 08056 Zwickau

Autoreninfo


Zuletzt bearbeitet: 23.11.2016 14:14
Letzter Abruf: 23.06.2017 09:12
Artikelaktionen