Simulation: Grundlagen, Techniken, Anwendungen [Reprint 2018 ed.] 9783110842739, 9783110042108


196 83 14MB

German Pages 223 [224] Year 1975

Report DMCA / Copyright

DOWNLOAD PDF FILE

Table of contents :
Vorwort
Inhalt
1. Grundlegende Begriffe und Erläuterungen
2. Techniken der Simulation
3. Simulationssprachen
4. Ausgewählte Anwendungsgebiete
Literatur
Namen- und Sachregister
Recommend Papers

Simulation: Grundlagen, Techniken, Anwendungen [Reprint 2018 ed.]
 9783110842739, 9783110042108

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

de Gruyter Lehrbuch Krüger • Simulation

Simulation Grundlagen, Techniken, Anwendungen

von

Siegfried Krüger

W DE G

Walter de Gruyter • Berlin • New York 1975

Dr. rer. nat. Siegfried Krüger, Dipl. math., Leiter des Fachbereichs „Führungsmodelle und -techniken" der Management Akademie des Berufsfortbildungswerks Bad Zwischenahn.

© Copyright 1974 by Walter de Gruyter & Co., vormals G. J. Göschen'sche Verlagshandlung, J. Guttentag, Verlagsbuchhandlung Georg Reimer, Karl J. Trübner, Veit & Comp., Berlin 30. Alle Rechte, insbesondere das Recht der Vervielfältigung und Verbreitung sowie der Übersetzung, vorbehalten. Kein Teil des Werkes darf in irgendeiner Form (durch Photokopie, Mikrofilm oder ein anderes Verfahren) ohne schriftliche Genehmigung des Verlages reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden. - Satz: IBM-Composer, Ilmgaudruckerei, Pfaffenhofen. Druck: Karl Gerike, Berlin. Bindearbeiten: Dieter Mikolai, Berlin. Printed in Germany ISBN 3 11 004210 X

Vorwort

Die Simulation ist sicherlich heute eines der leistungsfähigsten Analyse- und Prognoseinstrumente. Wenn in einem Arbeitsbereich die Möglichkeit zur Quantifizierung der Zusammenhänge gegeben ist, kann dieses Instrument zur Analyse und Prognose von Abläufen eingesetzt werden. Es verwundert daher nicht, daß Anwendungen der Simulation in Naturwissenschaft und Technik, in Wirtschafts- und Sozialwissenschaften in zunehmendem Maße zu finden sind. Um so erstaunlicher ist es, daß von der Simulation im deutschsprachigen Raum noch vergleichsweise wenig Gebrauch gemacht wird. Große Simulationsmodelle, zum Beispiel in den USA zur Steuerung wirtschaftlicher Abläufe aktiv eingesetzt, existieren hier nicht oder führen nur ein Dasein am Rande, häufig eher als Spielerei denn als Arbeitsinstrument eingestuft. Die Diskussion um das Weltmodell aus „Grenzen des Wachstums" von Meadows [1.15] zeigte denn auch auf allen Seiten vorwiegend mangelnde Einsichten in die Möglichkeiten der Simulation. Diese fehlende Information hat eine Ursache im geringen Angebot einführender Schriften, vor allem solcher, die zugleich leicht verständlich und doch umfassend die Grundlagen, Techniken und Anwendungen der Simulation darstellen. Das vorliegende Lehrbuch will diese Lücke schließen helfen. Es wird versucht, eine Übersicht über die Möglichkeiten und Probleme der Simulation insgesamt zu geben, ohne von vornherein eine willkürliche Beschränkung auf Teilgebiete (z. B. diskrete Simulation, Warteschlangen) vorzunehmen. Auch moderne Konzepte wie das Prozeß-Konzept finden Berücksichtigung. Die kontinuierliche Simulation mit mathematischen Modellen ist in die Darstellung aufgenommen. Insbesondere werden die Anwendungsmöglichkeiten und Aussagekraft im wirtschafts- und sozialwissenschaftlichen Bereich diskutiert. Der umfassenden Unterrichtung wurde - wenn erforderlich - der Vorzug vor allzu großer Tiefe gegeben, da beides gleich zu behandeln den Rahmen dieses Lehrbuchs gesprengt hätte. Zudem wurde versucht, mit einem Minimum an mathematischen und computertechnischen Vorkenntnissen auszukommen. Damit wendet sich das Buch an Studierende und Praktiker aller Fachrichtungen, die das Instrument „Simulation" kennenlernen und die Verwendbarkeit in ihrem Arbeitsgebiet prüfen möchten. Auch als Einstieg zur erstmaligen Lösung eines Simulationsproblems dürfte es nützlich sein.

6

Vorwort

Korrekturen und Vorschläge zur Verbesserung werde ich stets mit Dank entgegennehmen. Dem Verlag danke ich für die gute Zusammenarbeit und Christa Wehnelt und Urda Blohm für die Reinschrift des Manuskripts.

Bad Zwischenahn Dr. Siegfried Krüger

Inhalt

Seite 1. Grundlegende Begriffe und Erläuterungen

1.1 Einfuhrung 1.2 Systeme, Modelle, Experimente 1.3 Die Simulationsarten 1.3.1 Überblick 1.3.2 Die Modelltypen der digitalen Simulation 1.4 Einsatz der Simulation 2. Techniken der Simulation

2.1 Der Entwurf von Modellen 2.1.1 Das Prozeß-Konzept 2.1.2 Modelle in mathematischer Formulierung 2.2 Hilfsmittel aus der Mathematischen Statistik 2.2.1 Begriffe 2.2.2 Statistische Modelle 2.2.2.1 Wahrscheinlichkeitsverteilungen 2.2.2.2 Stochastische Prozesse 2.2.3 Statistische Datenanalyse 2.3 Die Monte-Carlo-Methode 2.4 Erzeugung von Zufallszahlen 2.4.1 Zufallszahlengeneratoren 2.4.2 Statistische Tests 2.4.3 Generierung von Zufallszahlen mit beliebigen Verteilungen 3. Simulationssprachen

3.1 Simulation mit Computern 3.2 Überblick über die Simulationssprachen 3.3 Ausgewählte Sprachen 3.3.1 GPSS 3.3.2 SIMULA 3.3.3 CSMP

9

9 13 24 24 30 41 51

51 51 61 75 75 79 79 88 91 101 106 106 109 112 118

118 125 131 131 137 142

Inhalt

8

Seite 4. Ausgewählte Anwendungsgebiete

4.1 Übersicht 4.2 Modelle zur Lösung von Management-Aufgaben 4.2.1 Warteschlangen 4.2.1.1 Begriffe 4.2.1.2 Einige Grundmodelle und analytische Lösungen 4.2.1.3 Simulation von Wartesystemen 4.2.1.4 Anwendungsmöglichkeiten der Warteschlangenmodelle 4.2.2 Simulation in der Lagerhaltung 4.2.2.1 Grundlagen 4.2.2.2 Einige analytisch ermittelte Ergebnisse . . . 4.2.2.3 Simulation von Lagerhaltungssystemen . . . 4.2.3 Simulation von Produktionsabläufen 4.3 Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics

146

146 155 155 155 162 166 170 172 172 177 180 183 195

Literatur

210

Namen- und Sachregister

221

1. Grundlegende Begriffe und Erläuterungen

1.1 Einführung

Der Begriff „Simulation" läßt jemanden, der mit dieser modernen Technik nicht vertraut ist, vielleicht an Situationen denken, in denen „Simulanten" sich unter Vorgabe irgendwelcher Krankheiten ihrer Pflicht zu entziehen suchen und Kollegen oder Kameraden die entstandenen Lücken ausfüllen müssen. So negativ diese Assoziation zunächst auch sein mag, der Simulant hat schon ein wesentliches Merkmal gemeinsam mit dem wissenschaftlichen Begriff „Simulation". Er versucht, durch vorgespielte Symptome den Eindruck zu vermitteln, er leide an einer bestimmten Krankheit, also ein Erscheinungsbild zu erzeugen, das dem einer wirklichen Krankheit möglichst ähnlich ist, ohne daß er tatsächlich unter dieser Krankheit leidet. Wie sich herausstellen wird, ist die Erzielung dieses Effekts geradezu ein Wesensmerkmal der Simulation. Im Mittelpunkt stehen Modelle, die bezüglich einiger besonders interessierender Eigenschaften der Realität möglichst genau nachgebildet sind. Hinzu kommt der Gedanke, mit solchen Modellen Abläufe durchzuspielen, zu „simulieren", die aus den unterschiedlichsten Gründen in der Realität nicht beobachtbar sind. Zum erstenmal konsequent verfolgt wurde dieser Gedanke, als während und nach dem zweiten Weltkrieg in den USA internationale Forschergruppen an der Entwicklung der Kernwaffen arbeiteten und in einen Engpaß gerieten. Die mathematischen Gleichungen zur Beschreibung der Vorgänge während einer Kernwaffenexplosion waren mit herkömmlichen Mitteln (analytisch) nicht zu lösen. Die erforderlichen Informationen über den Ablauf der Kettenreaktion konnten somit aus ihnen nicht auf überkommene Weise gewonnen werden. Andererseits kann man keine beliebig kleinen Kernwaffenversuche im Labor ausführen, es muß dabei mindestens die „kritische Masse" spaltbaren Materials beteiligt sein, die sogleich eine vernichtende Energie freisetzt. Was also tun, wollte man keine unzulässigen Risiken eingehen? Der Ausweg bestand schließlich darin, mit Hilfe der mathematischen Gleichungen eine Kernwaffenexplosion „auf dem Papier" ablaufen zu lassen. Dadurch konnte man aus den Gleichungen alle Werte der für den Vorgang interessanten, physikalischen Größen in ähnlicher Weise gewinnen als habe man sie bei einem

10

1. Grundlegende Begriffe und Erläuterungen

Versuch gemessen. Die Wissenschaftler nannten ihr neues Untersuchungsverfahren „Monte-Carlo-Methode", da hierbei statistische Methoden eingesetzt wurden, die ans Roulette erinnerten. Aus der Retrospektive kann man heute wohl feststellen, daß hier die ersten Simulationen durchgeführt wurden, wenn auch die Bezeichnung selbst erst später in der Literatur auftaucht und sich nicht ganz mit der Monte-Carlo-Methode deckt. Naturgemäß breitete sich das neue Verfahren zuerst in dem Bereich aus, wo es erfunden wurde, nämlich der Physik. Aber schon bald erkannte man die Anwendungsmöglichkeiten in vielen anderen Gebieten. So wird sie bereits 1954 als ein wirksames Instrument des Operations Research in den USA erwähnt. Bis heute hat sich die Simulation zu einem universell einsetzbaren Verfahren entwickelt, für das es kaum Vergleichbares gibt. Es werden mit ihr zum Beispiel Telefonnetze, Fertigungsabläufe, Fördersysteme, Verkehrsnetze, Supermärkte und Computersysteme untersucht, bevor diese realisiert werden. Automobile werden auf ihre Fahreigenschaften hin getestet, noch bevor die ersten Prototypen gebaut sind. Im wirtschafts- und sozialwissenschaftlichen Bereich simuliert man heute Unternehmen, Städte, ja ganze Staaten, um ihr Verhalten zu erforschen und ihre Entwicklung vorherzusagen. Als ein Höhepunkt der Entwicklung bis heute sei hier die Arbeit des Massachusetts Institut of Technology (MIT) aus den Jahren 1971/72 genannt (vgl. [1.15]). Es wurde ein sozio-ökonomisches Modell der gesamten Menschheit entwickelt („Weltmodell"), mit dessen Hilfe die Entwicklung der für die Lebensbedingungen auf unserem Planeten relevanten Faktoren wie Bevölkerungszahl, Rohstoffvorräte, Industrieproduktion, pro Kopf-Einkommen, usw. bis ins Jahr 2100 prognostiziert wurde. Die Simulationsergebnisse ermöglichen eine weitreichende Analyse der Maßnahmen, die erforderlich sind, um eine Katastrophe für die Menschheit innerhalb der nächsten 130 Jahre zu vermeiden. Die heftige Diskussion dieser Ergebnisse in der Öffentlichkeit machen jedem Beobachter, unabhängig von seinem Standpunkt, vor allem eines klar: die Kenntnisse über das Wesen der Simulation und die Bedeutung ihrer Ergebnisse sind noch sehr unzureichend. Die folgenden Ausführungen sollen dem Leser einen Zugang zu Grundlagen, Techniken und ausgewählten Anwendungsgebieten der Simulation öffnen. Die Bedeutung dieses Lehrbuches für den Leser auf seinem Weg zu perfekten Simulations-Kenntnissen kann der'Abbildung 1 — 1 entnommen werden. Der erste Lernschritt, zumeist der schwierigste, kann mit Hilfe dieses Lehrbuches vollzogen werden. Es wurde versucht, die erforderlichen Voraussetzungen für das Verständnis der Inhalte so niedrig wie möglich zu halten. Insbeson-

1.1 Einführung

Abbildung 1 - 1 . Ein (guter) Weg zum „perfekten Simulator"

11

1. Grundlegende Begriffe und Erläuterungen

12

dere werden keine mathematischen Vorkenntnisse für das Verständnis der mathematischen Modelle und statistischen Zusammenhänge vorausgesetzt, um auch dem Wirtschafts- und Sozialwissenschaftler einen leichten Zugang zur Simulation zu verschaffen. Einige mathematische Schulkenntnisse erleichtern jedoch das Verständnis der betreffenden Kapitel. In dem sehr weiten und heterogenen Gebiet der Simulation bereitet es einige Schwierigkeiten, bei allen angeschnittenen Problemen keine Vorkenntnisse vorauszusetzen. Wenn also dieses Prinzip einmal durchbrochen wurde, dann notgedrungen aus Platzgründen und nach Überzeugung des Verfassers nicht bei substantiell wesentlichen Themen. Lernziel dieser Einführung ist die Fähigkeit, einfache Simulationen von Hand durchführen, kompetent unter Simulationstechniken und Simulationssprachen wählen und die Anwendungsmöglichkeiten auf praktische Probleme abschätzen zu können. In der nächsten, über diese Ausführungen hinausgehenden Lernphase ist dem Leser zu raten, sich die Möglichkeiten des Computers durch Erlernen einer Programmiersprache zunutze zu machen und die analytisch-statistischen Kenntnisse zu vertiefen. Wenn er sich schließlich der Bearbeitung praktischer Probleme zuwendet, wird weitere Literatur bezüglich der Problemstellung und bezüglich der spezifischen Simulationstechniken heranzuziehen sein. In dem hier aufgezeigten Rahmen ist der Inhalt der folgenden Kapitel zu sehen. Die allgemeinen, grundlegenden Prinzipien werden, bewußt getrennt von technischen Einzelheiten, im ersten Kapitel dargestellt. Der Leser wird feststellen, daß dieser S t o f f vom Verständnis her wenig Schwierigkeiten bereitet und in Anbetracht der aufgezählten Leistungen der Simulation sogar einfach erscheint. Eine solche Feststellung führt leicht zu einem stufenweisen Erkenntnisprozeß: 1. 2. 3. 4. 5. 6.

Phase: Phase: Phase: Phase: Phase: Phase:

kritische Zurückhaltung Erkennen der Einfachheit des grundlegenden Prinzips begeisterte Anwendung schlechte und fehlerhafte Ergebnisse eingehendes Studium der Fehlerquellen erfolgreiche Anwendung

Daher sei hier ausdrücklich die Empfehlung eingefügt, zur Vermeidung der Phase 4 , die leicht zur Resignation führen kann, nicht auf das Studium des schwierigeren 2. Kapitels zu verzichten. Hier wird eine Vielzahl technischer Einzelheiten dargestellt, deren Kenntnis beim Einsatz der Simulation notwendig ist. Insbesondere ist keine Simulation von Zufallsprozessen ohne Hilfsmittel

1.2 Systeme, Modelle, Experimente

13

aus der mathematischen Statistik möglich. Gerade in der Untersuchung stochastischer Abläufe liegt jedoch ein Hauptanwendungsgebiet der Simulation. Zu den Techniken der Simulation gehören auch die Simulationssprachen (genauer: Simulations-Programmier-Systeme), die im 3. Kapitel behandelt werden. In diesem Kapitel wird die Bedeutung des Computers für die Simulation aufgezeigt, und die Programmiermöglichkeiten werden diskutiert. Eine vollständige Darstellung einer oder mehrerer Sprachen ist im Rahmen dieser Einführung nicht beabsichtigt. Vorkenntnisse über den Computer und seine Programmierung sind nicht erforderlich. Im 4. Kapitel wird eine Übersicht über die Anwendungsgebiete der Simulation gegeben, und ausgewählte Anwendungen werden dargestellt. Da entsprechend der Zielsetzung die Ausführungen nicht erschöpfend sind, bietet das Literaturverzeichnis entsprechende Hinweise zur Fortführung und Vertiefung.

1.2 Systeme, Modelle, Experimente

In jungen Bereichen der Wissenschaften, die sich zudem in einer stürmischen Entwicklung befinden, werden vielfach Begriffe gebraucht, deren Abgrenzung uneinheitlich ist und über deren Inhalt unterschiedliche Auffassungen vorliegen. Zweifellos gehört dazu die „Simulation". Hier ist es nicht das Ziel, eine Aufzählung unterschiedlicher Definitionen zu geben und in die wissenschaftliche Diskussion einzutreten, sondern eine pragmatische, für die weitere Arbeit zweckmäßige Definition dieses Begriffes soll im folgenden erarbeitet werden. Ausgangspunkt dazu sind Systeme. In den unterschiedlichsten Bereichen wird heute der System-Begriff verwendet. So spricht man von Computer-Systemen, Transportsystemen, Informations(Kommunikations-)systemen, Lagerhaltungssystemen, Wirtschaftssystemen, aber auch dem Planetensystem, dem Periodensystem der Elemente oder dem Kfz-Nummer-System. Was ist diesen Systemen gemeinsam? Wie kann ein System charakterisiert werden?

14

1. Grundlegende Begriffe und Erläuterungen

Ein System wird festgelegt durch seine: - Ziele (Zwecke, Aufgaben) - Elemente nach Anzahl und Eigenschaften - Relationen (Beziehungen) zwischen den Elementen und zu seiner Umgebung. Ein betriebliches Informationssystem wird demnach zum Beispiel beschrieben durch: - seine Ziele: a) Informationen aktuell und in möglichst zweckmäßiger Form den Entscheidungsträgern im Betrieb (Management) zu liefern über: - den Betrieb, wie Lagerbestand, Produktionskapazitäten und -Auslastung, technische Möglichkeiten - die Situation auf dem Absatzmarkt (Marktvolumen, Marktanteile und deren Veränderungen) - den Beschaffungsmarkt (Rohstoffe, Zulieferungen) b) Informationen über Entscheidungen und daraus resultierende Maßnahmen schnell an die richtige ausführende Stelle zu leiten. - seine Elemente: die betrieblichen Funktionsbereiche und ihre Entscheidungsträger zum Beispiel Vertrieb, Materialwirtschaft, Produktion, Fertigungssteuerung, Einkauf - seine Relationen: die Informationsbeziehungen zwischen den Funktionsbereichen zum Beispiel der Strom von Bestellungen, Fertigungsaufträgen, Lieferterminen, das Berichtswesen. Eine sehr plausible Darstellungsweise von Systemen vereinfacht die Arbeit mit dem Systembegriff: - Elemente werden als Knoten (Kreise, Rechtecke) dargestellt -

Relationen werden als Kanten (Verbindungslinien) zwischen den betreffenden Elementen dargestellt.

- Ziel, Zweck, Aufgabe des Systems dienen in dieser Darstellung zu seiner Abgrenzung. Mit diesen Mitteln sind in Abbildung 1 - 2 einige Elemente und Beziehungen eines betrieblichen Informationssystems dargestellt. Diese Darstellungsform erleichtert auch das Verständnis des mathematischen Systembegriffes. Danach besteht ein System aus: - der Menge M = { x j der n Elemente x¡, i = 1, 2, . . . , n

1.2 Systeme, Modelle, Experimente

15

Abbildung 1 - 2 .

-

der Menge R = {(xj, xj)} der zweistelligen Relationen (xj, xj) mit i, j = 1, 2, . . . , n

Theorie und Praxis kennen auch Systeme, die nur durch die Annahme von mehr als zweistelligen Relationen erklärt werden können. Ohne auf den Mengenbegriff näher einzugehen, sei hier unter „Menge" eine bestimmte Anzahl voneinander unterscheidbarer Elemente verstanden (im Gegensatz etwa zu einer „Menge" Wasser, die, wenn man die Zusammensetzung aus einzelnen nicht sichtbaren Molekülen außer acht läßt., nicht eine Menge im mathematischen Sinn ist). Eine Menge ist durch eine geschweifte Klammer { . . . } gekennzeichnet.

Abbildung 1 - 3 .

16

1. Grundlegende Begriffe und Erläuterungen

In der Abbildung 1—3 ist demnach ein System aus drei Elementen { x i , x 2 , x 3 } und den sechs Relationen {(xi, x 3 ), (x 2 , x 3 ), (x 3 , x 2 ), (x 2 , Xi), (x 3 , x ^ , ( x 1 ; x 2 ) } dargestellt. Ein System mit 6 Elementen X], x 2 , x 3 , x 4 , x s , x 6 scheint sich von dem mit dreien in Abbildung 1—3 zunächst nur quantitativ zu unterscheiden. Bei einem System mit 3 Elementen sind maximal 3 - 2 = 6 Relationen, bei einem mit 6 Elementen jedoch bereits 6 - 5 = 3 0 Relationen möglich, von denen in der Praxis nicht alle auftreten müssen. Diese schnell wachsende Zahl wirft grundsätzlich neue Probleme auf. Systeme mit vielen Elementen, insbesondere jedoch auch den vielen daraus resultierenden Relationen, sind nur schwer überschaubar, und ihr Verhalten ist intuitiv selten erfaßbar. Daher existiert neben dem quantitativen ein qualitativer Unterschied zwischen Systemen mit wenigen und solchen mit vielen Elementen, wenn bei letzterem ein großer Teil der möglichen Relationen auch tatsächlich existiert. Man spricht in diesem Fall von einem „komplexen System". Die Komplexität eines Systems wird allgemein charakterisiert durch den hohen Grad der Verflechtung zwischen den Elementen, das heißt durch eine große Zahl von Relationen. Die Zahl der Elemente spielt hierbei, wie oben angedeutet, nur insofern eine Rolle, als daß ein hoher Verflechtungsgrad eine Mindestzahl von Elementen voraussetzt. Nicht zu verwechseln mit der Komplexität ist die „Kompliziertheit" eines Systems, die von der Anzahl unterschiedlicher Eigenschaften der Elemente und Relationen abhängt. In dem System der Abbildung 1—3 existieren keine Relationen, die die (gestrichelt gezeichnete) Abgrenzung überschreiten. Daher spricht man von einem „abgeschlossenen System". Beim Informationssystem in der Abbildung 1—2 dagegen existieren solche Beziehungen zum Beispiel zu den unterschiedlichen Märkten. Hier spricht man von einem „offenen System". Die Beziehungen, die die Grenzen des Systems überschreiten, bezeichnet man als „externe" Relationen. Reale Systeme sind praktisch immer offen. Nur durch Vereinfachungen können reale Systeme als abgeschlossen angenommen werden. Im folgenden wird daher ein System stets als offen vorausgesetzt, wenn es nicht spezifiziert ist. Eine neben der Unterscheidung „offen - geschlossen" wesentliche Charakterisierung besteht in der Gegenüberstellung „statischer" und „dynamischer" Systeme. In einem statischen System verändern sich im Zeitablauf Elemente und Relationen nicht. Es ist durch eine feste innere Ordnung gekennzeichnet. Beispiele

1.2 Systeme, Modelle, Experimente

17

dafür sind Zahlen- und Nummern-Systeme. Im dezimalen Zahlensystem sind die Ziffern 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 die unveränderlichen Elemente. Die Größen-Relationen zwischen den Ziffern sind ebenfalls statisch. Dynamische Systeme dagegen besitzen aktive Elemente und im Zeitablauf variierende Relationen. Im betrieblichen Informationssystem zum Beispiel sind aktive Elemente die Funktionsbereiche, die Informationen aufnehmen, erzeugen und umwandeln. Entlang der Relationen dieses Systems fließen Ströme von Informationen im Austausch zwischen den Elementen. So nimmt der Vertrieb den Strom von Bestellungen der Kunden auf, sendet den Kunden Bestätigungen ihrer Aufträge und Informationen über die Produkte, gibt den Bedarf an die Fertigungssteuerung weiter, wenn die Bestände im Fertiglager zur Neige gehen, und teilt der Geschäftsleitung Umsatzzahlen mit. Charakteristisch für dynamische Relationen ist das „Strömen" bestimmter Größen wie Information, Material, Geld, Energie, usw. Ein aktives Element eines Systems kann selbst wiederum als dynamisches System interpretiert werden. Man spricht hierbei von einem Teilsystem oder Subsystem. In diesem Sinne ist der betriebliche Funktionsbereich „Vertrieb" aus dem eben skizzierten Informationssystem ein Subsystem (Abbildung 1 - 4 ) .

1 1

Abbildung 1 - 4 .

Vertrieb als System („Black Box")

Zunächst sind von ihm nur seine externen Beziehungen bekannt, die innere Struktur tritt nicht hervor. Interessieren allgemein bei einem offenen System lediglich die Abgrenzung und sein Verhalten bezüglich der Ein- und Ausgabe über die externen Beziehungen, so spricht man von einer „Black Box" (schwarzer Kasten). Die innere Struktur des Subsystems Vertrieb könnte das in Abbildung 1—5 skizzierte Aussehen haben. Hier ist nicht mehr zu unterscheiden, ob es sich um ein System oder Subsystem handelt. Umgekehrt kann daher auch jedes offene System als Subsystem eines übergeordneten Systems betrachtet werden. Zum Beispiel kann das betriebliche Informationssystem als „Black Box" und schließlich als aktives Element eines übergeordneten Systems angesehen werden (Abbildung 1 - 6 ) .

18

1. Grundlegende Begriffe und Erläuterungen

Abbildung 1 - 5 .

/ / / / / /

Betriebliches / Informations/ -system x /

V

/

/

/ / 1

Abbildung 1 - 6 .

Von besonderem Interesse sind Systeme, in denen Informationsschleifen vorliegen. In Abbildung 1—6 besteht eine solche Schleife zwischen betrieblichem Informationssystem, Absatzmarkt, Verbraucher-Verbänden, Staat und wiederum betrieblichem Informationssystem. Die Wirkung der Schleife soll an einem

1.2 Systeme, Modelle, Experimente

19

Beispiel demonstriert werden: Vom Unternehmen wird Information über ein Produkt durch die Werbung an den Verbraucher gebracht. Ein Verbraucherverband erfährt auf diesem Wege ebenfalls von diesem Produkt und nimmt Anstoß, weil es wegen seiner chemischen Zusammensetzung eine gesundheitliche Gefährdung in sich birgt. Der Verband wirkt daher auf staatliche Organe ein, die eine Vorschrift erlassen, nach der eine andere Zusammensetzung des Produktes erforderlich wird. Der Informationskreis ist damit geschlossen. Eine derartige Informationsschleife bezeichnet man als „Rückkopplung". Die Rückkopplung wirkt in einem System, wie im Beispiel, zumeist stabilisierend auf ein bestimmtes Ziel. Man spricht daher häufig auch von „Regelung" und „Regelkreisen". Die Rückkopplung ist charakteristisch für eine große Zahl von Systemen. Das Studium des Verhaltens solcher Systeme ist Schwerpunkt des Wissenschaftsgebietes „Kybernetik". Man spricht daher auch von „kybernetischen Systemen", wenn in dynamischen Systemen Rückkopplungsschleifen vorliegen. Die bisherige Klassifikation der Systeme bezog sich ausschließlich auf die Struktur. Sie ist in der Abbildung 1—7 noch einmal zusammengestellt.

SYSTEME (definiert durch Ziele, Elemente und Relationen)

geschlossen (keine externen Relationen)

offen (mit externen Relationen)

statisch (Zustand zeitlich konstant)

dynamisch (Zustand verändert sich im Zeitablauf)

nicht kybernetisch (ohne Rückkopplungen)

kybernetisch (mit Rückkopplungen)

Abbildung 1 - 7 .

Eine andere Klassifizierungsmöglichkeit besteht in einer inhaltlichen Aussage über die Elemente und Relationen. Einige wichtige Systeme dieser Art sind: organische Systeme

20

1. Grundlegende Begriffe und Erläuterungen

-

technische Systeme

-

ökonomische Systeme

-

soziale Systeme

Im weiteren Verlauf werden überwiegend die beiden letzteren betrachtet. In ökonomischen Systemen werden zwischen ökonomischen Einheiten wie zum Beispiel Erzeugern, Verbrauchern, öffentlichen Haushalten als Elementen Leistungen und Zahlungsmittel ausgetauscht. In sozialen Systemen sind Menschen oder menschliche Gruppierungen als Elemente zu interpretieren, und die Relationen werden über die Kommunikation (Informationsaustausch im weitesten Sinne) und andere aufeinander bezogene Handlungen hergestellt. Nach weitgehend übereinstimmender Auffassung der Sozialwissenschaftler können die hier skizzierten Begriffe der Systemtheorie für soziale Systeme nur den Ausgangspunkt einer sozialwissenschaftlichen Systemtheorie bilden. Diese Entwicklungen seien jedoch nicht weiter verfolgt (vgl. zum Beispiel Luhmann [1.13]). Sind in einem System sowohl soziale als auch ökonomische Aspekte zu berücksichtigen, so nennt man es sozio-ökonomisches System. Ein Beispiel hierfür ist jedes Wirtschafts-Unternehmen. Meist sind sozio-ökonomische Systeme von hoher Komplexität. Den Aufbau und das Verhalten eines Systems zu erforschen, ist Aufgabe der Systemanalyse. Die analytische Vorgehensweise ist nicht neu und nicht an den Systembegriff gebunden. Jedoch erweist es sich als vorteilhaft, bei der Untersuchung der Struktur und des Verhaltens eines Objektes von Systemkriterien auszugehen. Daraus resultiert die folgende Aufgabengliederung der Systemanalyse: -

Analyse der Ziele

-

Analyse der Elemente

-

Analyse der Relationen

Dann schließt sich an: -

Analyse des Systemverhaltens.

Bei der praktischen Ausführung lassen sich die einzelnen Arbeitsschritte nicht exakt trennen. Insbesondere wird die Möglichkeit eines Rücksprunges aus jeder Arbeitsphase in eine der vorangegangenen erforderlich sein. Dieses schrittweise „iterative" Heranarbeiten an Systemstruktur und - Verhalten bringt in der Praxis vielfach mit sich, daß bereits in der analytischen Phase konzipierende Arbeit geleistet wird. Das heißt, es wird nicht nur Information

1.2 Systeme, Modelle, Experimente

21

über das vorhandene System (Ist-Zustand) gesammelt, sondern zugleich eine bessere Alternative konzipiert (Soll-Zustand). Eine Verflechtung der Systemanalyse und der Systemkonzipierung findet man häufig in der elektronischen Datenverarbeitung, wo es um die Integration eines Computers in das System der betrieblichen Informationsverarbeitung geht. Welche Techniken und Arbeitsmethoden können in der Systemanalyse eingesetzt werden? Das klassische Verfahren zur Informationsgewinnung ist das Experiment mit dem zu erforschenden System (= Objekt) (vgl. Abbildung 1—8). Einwirken Experimentator

Beobachten

Objekt

Rückschlüsse

Abbildung 1 - 8 .

Der Experimentator wirkt auf das Objekt (= zu erforschendes System) ein und stellt sicher, daß gleichzeitig keine anderen Einflüsse auf das Objekt möglich sind. Die Reaktionen des Objektes interpretiert er als Folgen seiner Einwirkungen, und es ist ihm so möglich, Gesetzmäßigkeiten aufzustellen. Als einfaches Beispiel dient hier der Fallversuch. Objekt ist das System aus den Elementen Erde (als Planet) und einem Gewicht, die Relation zwischen beiden ist die Gravitation. Im Experiment soll die Relation dieses Systems, die Gravitation, erforscht werden. Der Experimentator läßt dazu das Gewicht aus unterschiedlichen Höhen auf die Erde fallen und mißt die Fallzeit. Zwischen den beobachteten Größen „Weg" s und „Zeit" t kann er die folgende Gesetzmäßigkeit feststellen, wenn er einen konstanten Faktor g einführt: s = 1/2 g t 2 In Naturwissenschaft und Technik sind Experimente mit dem Objekt Ausgangspunkt jeder Informationsgewinnung und letzter Prüfstein jeder Hypothese über ein Objekt. In den Wirtschafts- und Sozialwissenschaften ist es in vielen Fällen nicht möglich oder sinnvoll, Experimente auszuführen. Bei sozialen Systemen läßt sich vielfach eine abgegrenzte Experimental-Situation nicht herstellen oder sie wirkt sich verfälschend auf das Ergebnis aus. Beispiele hierfür findet man bei der Entscheidungsforschung in der Psychologie. Der menschliche Entscheidungsprozeß läuft in der abgegrenzten Laborsituation anders ab, zumeist auch mit anderen Ergebnissen, als in der entsprechenden realen Situation.

22

1. Grundlegende Begriffe und Erläuterungen

Die Wirtschaftswissenschaften, insbesondere die Volkswirtschaftslehre, haben die Unmöglichkeit von Experimenten lange als Handicap empfunden. Einen Ausweg bietet das Modell-Experiment (Abb. 1—9):

Statt unmittelbar mit dem Objekt experimentiert der Forscher mit einem Modell des Objektes. Damit Rückschlüsse auf das Objekt möglich sind, muß das Modell in den für das Experiment wesentlichen Eigenschaften dem Objekt entsprechen. Das heißt, diese Eigenschaften müssen auf das Modell übertragen oder „abgebildet" sein. Andererseits brauchen gerade nur diese Eigenschaften und keine weiteren abgebildet zu sein. Als Beispiel für die unterschiedlichen Möglichkeiten der Abbildung von Eigenschaften können Flugzeugmodelle dienen. Diese sind nie in allen Eigenschaften ihren Vorbildern nachgebildet. Anschauungsmodelle haben zwar das gleiche Aussehen wie ihr Vorbild, sind jedoch nicht funktionstüchtig und können zum Beispiel nicht fliegen. Flugmodelle haben zwar diese Eigenschaft, gleichen dafür in ihrem Aussehen selten den Vorbildern. Schließlich haben Windkanalmodelle - insbesondere von Überschallflugzeugen - weder das gleiche Aussehen wie der Flugzeugtyp, zu dessen Erprobung sie dienen, noch können sie fliegen. Aus ihren aerodynamischen Eigenschaften können jedoch Schlüsse auf diejenigen des Vorbilds gezogen werden. Das Modellexperiment im Windkanal kann zum Beispiel in folgender Weise ablaufen: -

Übertragen der Formen eines geplanten Flugzeugtyps auf ein Modell nach den bekannten Gesetzen der Strömungslehre

-

Experimente mit dem Modell, das heißt Messung von Strömungswiderständen und Strömungsverhalten (Auftreten von Turbulenzen, etc.)

-

Rückübertragung der gewonnenen Meßwerte auf das Original-Flugzeug (wiederum nach den bekannten Gesetzen der Strömungslehre) und Rückschluß auf Flugverhalten und Leistungsbedarf.

1.2 S y s t e m e , Modelle, E x p e r i m e n t e

23

Das Modellexperiment vermittelt auf diese Weise neue Kenntnisse über das Objekt, obwohl für die Konstruktion des Modells nur bereits bekannte Informationen verwendet werden können. Das Modellexperiment liefert also dann neue Erkenntnisse über ein System, wenn zwar ausreichend Informationen zur Konstruktion des Modells vorliegen, (Systemstruktur, Eigenschaften von Elementen), diese Informationen aber unmittelbar keine Kenntnisse über das Systemverhalten vermitteln. Gerade bei sehr komplexen Systemen ist dies jedoch der Fall, wie oben schon aufgezeigt wurde. Daneben ist mit dem Modellexperiment eine Überprüfung von Hypothesen möglich, die über Struktur und Verhalten eines Systems aufgestellt wurden. Ist zum Beispiel eine bestimmte Annahme über die Form der Relation zwischen Besteuerung und Investitionsneigung von Unternehmen getroffen, so läßt sich mit einem Modell der Volkswirtschaft überprüfen, ob die aus dieser Relation resultierenden Werte mit den beobachteten übereinstimmen. Angelpunkt des Modellexperiments ist die Abbildung zwischen Modell und Objekt. Wie das Experiment mit einem Windkanalmodell zeigt, muß nicht nur die Abbildung der Eigenschaften des Objektes auf das Modell eindeutig sein, sondern umgekehrt muß auch der Schluß vom Modell auf das Objekt möglich sein. Die Abbildung muß demnach umkehrbar eindeutig sein (Doppelpfeil in Abbildung 1 - 9 ) . Eine derartige Abbildung hat nur selten die Anschaulichkeit wie bei den drei Arten von Flugzeugmodellen. Hier war die gleiche Eigenschaft bei Objekt und Modell jeweils nur in einem anderen Ausmaß oder einer anderen Intensität vorhanden. Dagegen kann etwa bei einer Abbildung lediglich die Systemstruktur (Zahl der Elemente und Relationen) erhalten bleiben, die Natur der Elemente und Relationen kann durch die Abbildung gänzlich anders werden. So kann zum Beispiel der reale Zeitablauf durch einen Zahlenwert Z nachgebildet werden, der stets wächst, ohne jemals zu fallen. Der Zeitpunkt, zu dem ein bestimmtes Ereignis stattfindet, wird durch einen Wert Z¡ dieser Größe markiert, zum Beispiel Ereignis E, durch Z¡, E2 durch Z 2 , usw. Ist nun Z 2 größer als Z 1 ( so heißt das: „E 2 hat nach E, stattgefunden". Die zeitliche Ordnung wird so auf die Zahlenordnung abgebildet. Die Möglichkeiten der Abbildungen erlauben es, Modelle von Systemen jeglicher Art herzustellen und Experimente mit ihnen auszuführen. Eine Auswahl von Modellexperimenten mit Objekt und Modell ist in Tabelle 1—10 gegeben. Die Ähnlichkeit zwischen abgebildetem System und dem Modell erlaubt es, ein Modell selbst wieder als System zu interpretieren.

24

1. Grundlegende Begriffe und Erläuterungen

Tabelle 1 - 1 0 . Objekt

Modell

Experiment

Absatzmarkt

Testmarkt

Gesamtproduktion Menschl. Körper

Stichprobe Meerschweinchen

Gesamtbevölkerung

Repräsentativer Querschnitt

Probeverkauf eines Produktes Qualitätskontrolle Erprobung von Pharmaprodukten Meinungsbefragung

Ist die korrekte Abbildung zwischen Objekt und Modell gesichert, so lassen sich die Abläufe des realen, dynamischen Systems im Modell nachvollziehen und Kenntnisse über das Modellverhalten sammeln, die schließlich auf das Objekt übertragen werden können. Diese Vorgehensweise, letztlich eine Technik der Systemanalyse, wird als „Simulation" bezeichnet. In etwas kürzerer Formulierung heißt das: •

Simulation ist die Durchführung von Experimenten



mit Modellen dynamischer Systeme.

Die Einschränkung auf dynamische Systeme ist zunächst willkürlich, erweist sich jedoch zur begrifflichen Abgrenzung gegenüber anderen Analyseverfahren, zum Beispiel Monte-Carlo-Methode und reinen Probier-Verfahren, als zweckmäßig.

1.3 Die Simulationsarten

1.3.1 Überblick Für die weiteren Ausführungen soll der Simulationsbegriff eingeschränkt werden. Das geschieht durch eine weitere Spezifikation der verwendeten Modelle und adäquaten Untersuchungsmethoden. Eine der möglichen Klassifizierungen von Modellen gibt die Abbildung 1 — 11. Danach können materielle und abstrakte Modelle unterschieden werden. Materielle Modelle sind physikalisch-energetischer Natur. Ihre Anwendung liegt im naturwissenschaftlich-technischen Wissenschaftsbereich. Zu ihnen zählen die bereits erwähnten Flugzeugmodelle, Schiffsmodelle für Strömungsversuche, Landschaftsmodelle für hydrologische Untersuchungen, aber auch Tiere für pharmakologische Tests. Letztere sind als „natürliche M o d e l l e " zu verstehen, während die übrigen künstlich erzeugt sind („künstliche M o d e l l e " ) .

1.3 Die Simulationsarten

25 MODELLE

Klassifizierung nach Modellcharakter

künstliche Modelle

mögliche UntersuchungsMethode

Beispiele

natürliche Modelle

Analog-Simulation Strömungsmodell auf dem Analogrechner

bildlich-verbale Modelle

mathematische Modelle

verbale Diskussion

analytische Verfahren

digitale Simulation

volkswirtschaftliche Erklärungsmodelle

Lageroptimierung mit Differentialrechnung

Warteschlange bei der Kundenbedienung

Abbildung 1 -, 11.

Die adäquate Untersuchungsmethode für Modelle dieser Art ist die Analog-Simulation. Analog ist hier zu verstehen im Sinne von kontinuierlich-proportional. Physikalische Größen, deren zeitliches Verhalten von Natur aus stetig, kontinuierlich ist, werden durch Größen mit gleicher Verhaltensweise im Modell dargestellt. Zwischen meßbaren Größen besteht dabei ein bekanntes Verhältnis, entsprechend dem griechischen Wortstamm von analog: ana logon, das bedeutet: im richtigen Verhältnis. Der Strömungswiderstand eines Flugzeugmodells im Windkanal verändert sich stetig mit der Windgeschwindigkeit. Er steht in einem bekannten Verhältnis zu dem des geplanten Flugzeuges bei entsprechender Geschwindigkeit. Die verglichenen Größen sind hier, bei Objekt und Modell, Kräfte. Diese Übereinstimmung liegt nicht immer vor. Beim Analogrechner zum Beispiel werden die Rechengrößen durch Spannungen wiedergegeben, die proportional zum Wert der Rechengröße eingestellt sind, und für die Operationen wird ein physikalisches Modell bereitgestellt (Abbildung 1 - 1 2 ) . Dieses Modell ist eine elektronische Schaltung, die die Spannungen als kontinuierliche Maßstäbe für die Rechengrößen Multiplikand und Multiplikator derart verknüpft, daß der Wert des Produktes von der Höhe der Ausgangsspannung abgegriffen werden kann.

26 Rechenoperation:

1. Grundlegende Begriffe und Erläuterungen z = x-y

Analog-Modell:

Spannungen proportional

£T

Multiplikator (elektronische Schaltung)

r

Spannung pro— p o r t i o n a l zu z

Abbildung 1 - 1 2 .

Neben dieser Analogie Rechengröße — Spannung weist der Analogrechner eine zweite auf: die elektronische Schaltung zur Lösung eines Problems wird in ihm jeweils als Modell mit der Struktur des auszuführenden Rechenganges erzeugt. Die Rechnung selbst ist dann eine Simulation mit Hilfe dieses Modells. Somit ist der Analogrechner ä priori für Simulationen prädestiniert. Ihm sind jedoch prinzipielle Grenzen der Genauigkeit gesetzt, die nur die Simulation relativ einfacher Modelle ermöglichen. Bei Modellen komplexer Systeme wird, durch die Vielzahl der Verknüpfungen auch eine Vielzahl technisch nicht zu beseitigender Störungen (Rauschen) eingeschleppt, die die Ergebnisse schließlich verwischen. Das schränkt seine Bedeutung für die Simulation insgesamt stark ein. Große Bedeutung hat die Simulation aufgrund von Experimenten mit abstrakten- und zwar logisch-mathematischen - Modellen gewonnen. Mit diesen Modellen wurde für viele Wissenschaftsbereiche, hier besonders die Wirtschafts- und Sozialwissenschaften, erst die oben diskutierte Möglichkeit der Erkenntnisgewinnung mit Experimenten geschaffen. Nicht von Interesse in diesem Zusammenhang sind bildlich-verbal formulierte Modelle, wie sie zum Beispiel in der Volkswirtschaft diskutiert werden. Die Beziehungen zwischen den Größen im Gedankenmodell einer Volkswirtschaft werden dort rein qualitativ beschrieben, so zum Beispiel: bei zunehmender Arbeitslosigkeit sinkt die Kaufkraft, der Absatz von Konsumgütern läßt nach, gleichzeitig die Investitionsneigung der Unternehmen, usw. Soll ein solcher Zusammenhang auch quantitativ gefaßt werden, um etwa Aussagen zum Ausmaß eines wirtschaftlichen Konjunkturaufschwangs machen zu können, müssen die untersuchten Größen quantitativ erfaßt und formelmäßig verknüpft werden. Es entsteht ein logisch-mathematisches Modell der Volkswirtschaft. Allgemein sind mathematische Modelle dargestellt in einer formalen Sprache, die eindeutig Elemente und Relationen von Systemen zu beschreiben erlaubt. Hier findet das Instrumentarium der Mathematik Verwendung, zum Beispiel die Theorie der Systeme von Gleichungen und Ungleichungen, die Statistik, Vektor- und Matrizenalgebra, Graphentheorie, usw.

1.3 Die Simulationsarten

27

Eine unerläßliche Voraussetzung für die Abbildung eines Systems auf ein mathematisches Modell ist die „Quantifizierbarkeit" der Elemente und Relationen des Systems. Das bedeutet, daß die Elemente und Relationen zumindest näherungsweise durch Zahlenwerte beschrieben werden können. Zur Formulierung des oben angesprochenen mathematischen Modells einer Volkswirtschaft war es ja gerade erforderlich, Arbeitslosigkeit, Kaufkraft, Marktvolumen, Investitionsneigung, usw. zahlenmäßig zu fassen. Von dieser Voraussetzung wird in den weiteren Ausführungen stets ausgegangen. Die Grenzen für den Einsatz der Simulation liegen praktisch in dieser Forderung nach Quantifizierbarkeit des zu untersuchenden Systems. Auf welche Weise erhält man aus dem mathematischen Modell die gewünschten Informationen? Bisher wurde dazu nur das Experiment angeführt. Die klassische und im Sinne „strenger" Wissenschaften lange Zeit einzig zulässige Untersuchungsmethode für ein mathematisches Modell bestand im Einsatz von analytischen Verfahren. Analytischen Verfahren liegen Algorithmen zugrunde. Ein Algorithmus ist eine Folge von Bedingungen und Operationen (Rechenvorschriften, Umformungen usw.), die für eine bestimmte Klasse von Aufgaben zu einem Ergebnis führt oder mit Nachweis der Unlösbarkeit endet. Der Unterschied zwischen analytischem Verfahren und Berechnungsexperiment sei an einem einfachen Beispiel erläutert. Wie im Kapitel 4.2.2 erläutert werden wird, sind in einem speziellen Lagerhaltungssystem die Gesamtkosten gegeben durch:

Darin C = q = r = C! = c2 =

sind: Gesamtkosten Bestellmenge (in Stück pro Bestellung) Bedarfsrate (in Stück pro Zeiteinheit) Lagerkosten (in DM pro Stück und pro Zeiteinheit) bestellfixe Kosten (in DM pro Bestellung)

Da in diesem Lagersystem Bedarfsrate, Lagerkosten und bestellfixe Kosten durch äußere Einflüsse vorgegeben sind, können die Gesamtkosten nur noch über die Bestellmenge q beeinflußt werden. Die Frage lautet also: welche Menge q ist in festen Zeitabständen jeweils zu bestellen, damit die Gesamtkosten minimal werden? Die Antwort auf diese Frage kann der Gleichung (1.1) entnommen werden, die ein mathematisches Modell für dieses System darstellt.

28

1. Grundlegende Begriffe und Erläuterungen

Für dieses recht einfache Modell liefert die Differentialrechnung ein analytisches Lösungsverfahren. Die rechte Seite der Gleichung (1.1) wird nach q abgeleitet (zur Ableitung siehe Abschnitt 2.1.2), gleich Null gesetzt und nach q aufgelöst: dC dq

rc 2

Cl 2

O

=

rc 2 Cl 2 ~ q2

qopt

=

4 12rc2 Cl

Da die zweite Ableitung nach q für diesen Wert von q o p t offensichtlich positiv ist, liegt tatsächlich ein Minimum der Gesamtkosten und nicht etwa ein Maximum vor. Die Gesamtkosten selbst belaufen sich für diesen Wert auf: C o p t = V 2 rc, c 2 1 Mit dieser Lösung lassen sich nun unmittelbar für jede Wertekombination von r, Ci, c 2 die optimale Bestellmenge q o p t und die minimalen Gesamtkosten C o p t berechnen. Anders ist die Situation beim Berechnungsexperiment. Für die Rechnungen müssen unmittelbar Zahlenwerte von ci, c 2 und r gegeben sein: ci = - , 2 0 DM/Stück/Monat c 2 = 2 0 , - DM/Bestellung r = 100 Stück/Monat Mit diesen Werten erhält die Gleichung (1.1) das Aussehen: C = 0.1.q

+

200p

(L2)

Für q werden nun wachsende Werte eingesetzt, wie etwa in der Tabelle 1 — 13 geschehen: Tabelle 1 - 1 3 .

q C

50 45,-

100 30,-

150 28,33

200 30,-

250 33,-

Danach ist unter den eingesetzten q-Werten 150 derjenige, der die geringsten Gesamtkosten verursacht.

1.3 Die Simulationsarten

29

Eine Gegenüberstellung der analytisch ermittelten Lösung liefert: Qopt ~

Copt ^

141

28.28

Aus diesem Vergleich zwischen analytischem Verfahren und Berechnungsexperiment können einige Eigenschaften beider Verfahren entnommen werden, die sich auch allgemein bestätigen lassen: -

das analytische Verfahren liefert mehr Informationen in allgemeiner Form

-

das Berechnungsexperiment liefert nur Informationen für einen bestimmten Fall

-

der Arbeitsaufwand ist beim Berechnungsexperiment meist höher, will man die gleichen Informationen wie bei der Anwendung eines analytischen Verfahrens erhalten

-

das Berechnungsexperiment erfordert lediglich die Ausführung relativ einfacher Operationen (z. B. addieren, multiplizieren usw., nicht ableiten)

-

die mit Berechnungsexperimenten gefundenen Ergebnisse sind vergleichsweise ungenau und nur mit großem Aufwand zu verbessern.

Trotz dieser für das Berechnungsexperiment insgesamt negativen Aussagen behält es seine Bedeutung für die Untersuchung von Modellen komplexer Systeme, da hier häufig keine analytischen Verfahren zur Verfügung stehen. Treten zum Beispiel in einem Lagersystem lediglich Rabatte bei der Beschaffung größerer Mengen auf, so ist die Formel (1.1) nicht mehr gültig, es gibt keine ähnlich einfache Formel und das analytische Verfahren ist nicht mehr in gleicher Form einsetzbar. Daneben kann auch ein analytisches Verfahren so aufwendig sein, daß das Berechnungsexperiment vorzuziehen ist, wenn die Rechenarbeiten auf einen Computer übertragen werden können. Die hier allgemein für Berechnungsexperimente gewonnenen Aussagen gelten sämtlich auch für die Simulation. Berechnungsexperimente mit mathematischen Modellen dynamischer Systeme werden als „digitale Simulation" bezeichnet (da man mit digits = Ziffern rechnet). Sie ist damit abgegrenzt zur Analog-Simulation. Um diese Experimente vom reinen Ausprobieren abzugrenzen, muß zusätzlich gefordert werden, daß die Dynamik des Systems im Modell erhalten bleibt. Im Gegensatz zu den oben mit der Gleichung (1.1) durchgeführten Berechnungen wird in der Simulation also auf irgendeine Weise der zeitliche Ablauf nachvollzogen. Das einmalige Durchspielen eines bestimmten Zeitablaufs mit einem Modell wird künftig als ein Simulationslauf oder eine Simulation bezeichnet. Im folgenden wird ausschließlich die digitale Simulation weiter verfolgt.

1. Grundlegende Begriffe und Erläuterungen

30

1.3.2. Die Modeiltypen der digitalen Simulation

Die digitale Simulation beinhaltet ein so umfangreiches und heterogenes Gebiet, daß weitere Unterscheidungskriterien zweckmäßig sind. Ein erstes Paar von Kriterien ist die Unterscheidung: determiniert-stochastisch. Ein Modell heißt determiniert, wenn durch die Eingabedaten bereits eindeutig die Abläufe im Modell und die Ergebnisse festgelegt sind. Diese Festlegung (=. Determiniertheit) hat zur Folge, daß man bei gleichen Eingabedaten auch die gleichen Modellzustände und Ergebnisse findet (vgl. Abbildung 1 — 14).

Eingabe

Ergebnisse

Modell

Abbildung 1 - 1 4 .

Ein charakteristisches Beispiel für determinierte Abläufe liefert die Reihenfolgeplanung in der Fertigungssteuerung eines Produktionsbetriebes (diese Fragestellung wird eingehend in 4.2.3. behandelt werden). Es sei angenommen, daß drei Aufträge A 1, A 2, A 3 auf zwei Maschinen M 1 und M 2 bearbeitet werden sollen. Alle Aufträge müssen die Maschinen in der Reihenfolge M 1, M 2 durchlaufen. Die Bearbeitungszeiten für die drei Aufträge sind durch die Tabelle 1 — 15 gegeben (jeweils in Stunden): Tabelle 1 - 1 5 .

A1

A2

A3

M1

1

4

1

M 2

2

3

4

Vor den Maschinen befinden sich jeweils Lager L 1, L 2, in denen Teile bis zu ihrer weiteren Bearbeitung abgelegt werden können, hinter den Maschinen befindet sich ein Fertiglager. Gefragt ist nach der Dauer, bis die drei Aufträge beide Maschinen passiert haben, wenn die Reihenfolge A 1, A 2, A 3 beibehalten wird (Ermittlung der „Gesamtdurchlaufzeit"). Um die wesentlichen Zustände des beschriebenen Ablaufs abzubilden, genügt als „Modell" eine Tabelle. In dieser ist vertikal der Zeitablauf festgehalten, horizontal sind die festen Elemente des Systems, Lager und Maschinen, gekennzeichnet. Der Ablauf kann dann beschrieben werden, wie es in Tabelle 1 — 16 geschehen ist:

1.3 Die Simulationsarten

31

Tabelle 1 - 1 6 . Zeit

Lager L 1

0 1 2 3 4 5 6 7 8 9 10 11 12

A3, A2, AI A3, A 2 A 3 A 3 A 3 A 3

13

Maschine M 1

Lager L 2

Maschine M 2

_

-

-

A A A A A A

1 2 2 2 2 3

-

-

-

-

-

-

-

-

_

-

-

-

-

-

-

-

-

-

Fertiglager

_

-

-

_ _

A 1 A 1

-

-

-

-

_

A A A A A A A

A 3 A 3 -

A A A A A A A A A

2 2 2 3 3 3 3

1 1 1 1 1 1, A 1, A 1, A 1, A

2 2 2 2

A 1, A 2, A 3

-

Dieser Tabelle ist zu entnehmen, daß nach 12 Stunden die drei Aufträge beide Maschinen passiert haben. Eine Eingabe in dieses Modell war die Forderung, die Reihenfolge A 1, A 2, A 3 der Aufträge beizubehalten. Verändert man die Eingabe und fordert, daß jeweils der Auftrag als nächster bearbeitet wird, der die kürzeste Zeit in Anspruch nimmt, so ergibt sich die Tabelle 1 — 17: Tabelle 1 - 1 7 . Zeit 0 1 2 3 4 5 6 7 8 9 10

Lager L 1 A 3, A 2, A 1 A3, A 2 A 2 -

-

_ _

Maschine M 1

_ A A A A A A

1 3 2 2 2 2

Lager L 2

_ _ -

A 3 -

_ -

_

_ _

-

-

-

-

-

-

-

A 2 -

Maschine M 2

Fertiglager

_

-

-

-

A A A A A A A A A

1 1 3 3 3 3 2 2 2

-

A 1 A 1 A 1 A 1. AI, A 1, AI,

A 3 A3 A 3 A3

A 1 , A 2, A 3

Auf diese Weise konnte die Gesamtzeit offenbar um 2 Stunden verkürzt werden. Dies ist wegen der Determiniertheit des Modells der einzig veränderten Eingabe, nämlich der Auswahlvorschrift für den nächsten Auftrag, zuzuschreiben. In der Realität sind Abläufe jedoch nie vollständig determiniert. Die Determiniertheit des obigen Beispiels wurde nur durch vereinfachende Annahmen erreicht. Daß der Auftrag A 2 auf der Maschine M 1 4 Stunden benötigt, ist eine Vereinfachung der Erfahrung, daß für diesen Arbeitsgang im Mittel 4 Stunden

1. Grundlegende Begriffe und Erläuterungen

32

benötigt werden, aber auch eine Streuung dieser Zeit etwa um ± 0,5 Stunden möglich ist. Welche Zeit exakt benötigt wird, läßt sich nicht steuern, sondern hängt vom Zufall ab. Modelle, die auch solche zufälligen Einflüsse enthalten, werden als „stochastisch" bezeichnet (Abbildung 1—18): stochastische Einflüsse

Eingabe

Abbildung 1 - 1 8 .

Viele Systeme können genügend genau nur durch stochastische Modelle abgebildet werden. Als Beispiel für ein stochastisches Modell sei hier ein einfaches Warteschlangenmodell herangezogen (die sehr vielseitig verwendbaren Warteschlangenmodelle werden in Kapitel 4.2.1 eingehender behandelt). Ein elementares Warteschlangensystem besteht aus einem Bedienungsschalter und einem Warteraum (vgl. Abb. 1 — 19). — ^

Warteraum

o—- —- oooo er--

BedienungsStation

Abbildung 1 - 1 9 .

Kunden treffen in zufälligen Zeitabständen ein und wünschen, möglichst sofort bedient zu werden. Die für die Bedienung der einzelnen Kunden erforderlichen Zeiten sind meist auch nicht konstant, sondern streuen ebenfalls zufällig. Je nach Eintreffhäufigkeit von Kunden und der Länge der Bedienungszeiten bildet sich vor dem Schalter eine Warteschlange. Es sind die mittlere Länge der Warteschlange und die mittlere Wartezeit zu ermitteln, um Auslastung der Station und Kundenservice beurteilen zu können. An einer Kaufhauskasse zum Beispiel treffe im Mittel alle 3 Minuten ein Kunde ein, wobei die Zeiten zwischen 1 und 5 Minuten gleichmäßig streuen. Die Abfertigung des Kunden dauere im Mittel 2 Minuten, wobei die Zeit zwischen 1 und 3 Minuten gleichmäßig streut. Wie groß sind mittlere Wartezeit und mittlere Schlangenlänge vor der Kasse? Welchen Bruchteil der Gesamtzeit wird die Kasse überhaupt in Anspruch genommen (Auslastungsgrad)? Es wird vorausgesetzt, daß die Kunden wie üblich in der Reihenfolge ihres Eintreffens bedient werden.

1.3 Die Simulationsarten

33

Um den Ablauf an der Kasse durchspielen zu können, reicht als „Modell" wiederum eine Tabelle aus, in der die einzig interessierenden Ereignisse jeweils festgehalten werden, nämlich: 1. Ein neuer Kunde tritt in die Warteschlange ein 2. Ein Kunde ist bedient und verläßt die Kasse Dieses Modell bedarf einer Ergänzung, mit der das zufällige Eintreffen der Kunden und die zufällige Dauer der Bedienung nachgebildet werden. Diese Nachbildung geschieht mit Hilfe von Zufallszahlen. Diese Zahlen streuen zufällig und gleichmäßig zwischen den Werten 0 und 1. Sie können jederzeit einfach erzeugt werden, etwa durch Würfeln. (Die Diskussion von Zufallszahlen erfolgt in Abschnitt 2.4). Ausgehend von diesen Zufallszahlen, die hier mit x, bezeichnet werden, lassen sich die Ankunfts- und Bedienungszeiten durch folgende Formeln ermitteln: aj = 1 + 4 Xj

(1.3)

bj = 1 + 2 Xj

(1.4)

Eine einfache Probe zeigt: wenn Xj gleichmäßig und zufällig zwischen 0 und 1 streut, streut aj gleichmäßig und zufällig zwischen 1 und 5, bj zwischen 1 und 3. Das waren gerade die oben aufgestellten Forderungen an Ankunfts- und Bedienungszeiten, die damit korrekt nachgebildet sind. Die Simulation des Ablaufs erfolgt nun mit der Tabelle 1—20. Zur Vereinfachung der Rechnung sind die Zeiten auf ganze Minuten gerundet (unter Beachtung der Forderung nach Gleichverteilung). Der Zeitablauf ist hier in anderer Form erfaßt als in den Tabellen 1 — 16 und 1 — 17. Da jeweils zwischen den beiden Ereignissen 1 (Kunde trifft ein) und 2 (Bedienung eines Kunden ist abgeschlossen) nichts geschieht, würde hier ein Fortschreiben der einzelnen Minuten (analog zu den Stunden in den Tabellen 1—16 und 1—17) nur die Tabelle verlängern und den Arbeitsaufwand vergrößern. Stattdessen orientiert sich die Tabelle 1—20 an den Ankunftsereignissen, die fortlaufend durchnumeriert sind. Für jede Ankunft wird zunächst ein a, (Zwischenankunftszeit) ermittelt. Die Modellzeit wird jeweils um diese Beträge fortgeschrieben. Der Ablauf der Simulationsschritte ist grafisch in der Abbildung 1—21 dargestellt. Aus der gesamten, simulierten Zeit t g e s und der gesamten Bedienungszeit b g e s errechnet sich die Auslastung (oder „Verkehrsdichte") p zu: P =

tLgges es

= 0,64

34

1. Grundlegende Begriffe und Erläuterungen

Tabelle 1 - 2 0 . Nr

ai

ti

bi

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

1 3 2 5 4 1 3 2 2 5 4 1 3 3 1 1 4 5 3 5 4 1 2 2 1 1 5 3 3 3 2 1 1 3 5 4 4 1 4 3 4 1 5 5 3 3 5 4 3 5

1 4 6 11 15 16 19 21 23 28 32 33 36 39 40 41 45 50 53 58 62 63 65 67 68 69 74 77 80 83 85 86 87 90 95 99 103 104 108 111 115 116 121 126 129 132 137 141 144 149

1 3 2 2 3 3 1 3 3 2 2 1 2 2 1 1 2

z

ges = 50

2

3 2 3 3 2 1 2 1 1 2 1 3 3 1 1 3 2 1 1 3 1 2 3 1 2 3 1 1 1 1 1 3

£ bj

fi

4 6 8 11 14 15 18 21 23 25 26 28 30 31 32 34 36 39 41 44 47 49 50 52 53 54 56 57 60 63 64 65 68 70 71 72 75 76 78 81 82 84 87 88 89 90 91 92 95

2 7 9 13 18 21 22 25 28 30 34 35 38 41 42 43 47 52 56 60 65 68 70 71 73 74 75 79 81 86 89 90 91 94 97 100 104 107 109 113 118 119 123 129 130 133 138 142 145 152

tges

bges

= 149

= 95

Wj Zeichenerklärung: 1

2 2 1 2 1 1 1

Nr : fortlaufende Nummer des ankommenden Kunden : Zeit zwischen der letzten Ankunft und der Ankunft des Kunden mit Nr. i (Zwischenankunftszeit) : Zeitpunkt der Ankunft (Modellzeit)

2 3 3 3 4

1 3 3 1

2

w ges = 36

bi : Dauer der Bedienung des Kunden mit Nr. i Zeitpunkt, zu dem die Kasse vom Kunden i geräumt wird Wartezeit des Kunden i

1.3 Die Simulationsaiten

C

START

)

Setze t 0 = fo = O i = 1

Ziehe a, für Kunden i

tj = t ^ + a j

Ziehe bj fiir Kunden i

ja

Ist fi-1 < tj? Wj = f j . J - t j

wj = O fi = t i

+

bj

fi = f j - i + b j I

1

Erhöhe i um 1

Simulation beendet? ja tges bg e s wges

1 \ ermitteln J

T

Auslastung der Station, mittlere Schlangenlänge, mittlere Wartezeit errechnen

^ Abbildung 1 - 2 1

STOP

^

36

1. Grundlegende Begriffe und Erläuterungen

Die mittlere Wartezeit w pro Kunde ist: _ _ wges . w = = 0,72 m m z

ges

Die mittlere Schlangenlänge s ist:

iges

Die kurze mittlere Wartezeit und mittlere Schlangenlänge spricht zwar für guten Kundendienst, aber das Kassenpersonal ist nur 64 % der Zeit beschäftigt. Die Simulation mit stochastischen Modellen wirft einige neue Probleme auf. So hängt das Ergebnis stets von der verwendeten Zufallszahlenfolge ab, die nur eine „Stichprobe" (vgl. Kapitel 2.2.3) aus allen möglichen Ereignissen darstellt. Das hat zur Folge, daß die ermittelten Werte im stochastischen Sinne nie sicher sind und meist eine sehr große Zahl von Simulationsschritten erforderlich ist. Die 50 im Beispiel ausgeführten Simulationsschritte würden in einem komplexen stochastischen Modell niemals ausreichen. Größenordnungen von einigen Tausend und Zehntausend sind durchaus üblich. Wegen des Arbeitsaufwandes ist die Simulation mit stochastischen Modellen praktisch nur unter Einsatz eines Computers möglich. Ein weiteres, bedeutsames Kriterium zur Klassifizierung von Simulationsmodellen ist die Unterscheidung: diskret - kontinuierlich Sie bezieht sich auf den Zeitablauf im Modell. Die bisher diskutierten Modelle sind beide diskreter Natur, das heißt der Zeitablauf erfolgte in einzelnen Schritten über feste (bei Fertigungsablauf) oder variable (bei der Warteschlange) Zeitintervalle. Man spricht hier von diskreten Zeitschritten. Zweckmäßig ist diese Form des Zeitablaufs meist bei detaillierter Nachbildung von Systemen, in denen die Relationen zwischen den Elementen durch den Austausch einzelner, diskreter Einheiten Zustandekommen (Abbildung 1—22). Es kann dann angenommen werden, daß ein Austausch jeweils zu einem bestimmten, festen Zeitpunkt stattfindet. Nur zu einem solchen Zeitpunkt verändert sich der Zustand des Systems. Man spricht hierbei von einem „Ereignis". Beim Fertigungsablauf (Tabelle 1—16) finden zum Beispiel solche Ereignisse zu den Zeiten 1 (A 1 geht von L 1 auf M 1 über), 2 (AI geht von M 1 auf M 2, A 2 von L 1 auf M 1 über), 4 (A 1 verläßt M 2) usw. statt. In der Tabelle 1—20 zum Beispiel Warteschlange ist in jeder Zeile mindestens ein Ereignis festgehalten. Wie bereits zu dieser Tabelle erläutert, reicht es in solchen Systemen aus, von Ereigniszeitpunkt zu Ereigniszeitpunkt zu springen und eine Buchhaltung über

1.3 Die Simulationsarten

37

Abbildung 1 - 2 2 .

die Bewegung der Elemente zu führen, um den Ablauf im System vollständig zu erfassen. Bei einem kontinuierlichen Modell wird ein stetiger Zeitablauf zugrundegelegt. Entsprechend werden die Relationen zwischen den Systemelementen als kontinuierlich angesehen. Einer solchen Relation würde in der Realität zunächst einmal nur ein kontinuierlicher Strom von Elektrizität, Gas, Wasser, usw. entsprechen. Für die Formulierung von Modellen ist eine wichtige Erkenntnis, daß es nur auf die Perspektive des Betrachters ankommt, ob eine Relation als kontinuierlich oder diskret anzusehen ist. So ist der Verkehr für einen Betrachter, der neben einer Straßenkreuzung steht, eine ständige Folge einzelner Fahrzeuge. Will man die Verkehrsabläufe auf der Kreuzung nachbilden, so wird hierzu nur ein diskretes Modell geeignet sein. Dagegen beobachtet ein Verkehrspolizist aus einem Hubschrauber auf der Autobahn unter sich einen Verkehrsstrom, auf den sich Engpässe wie Flaschenhälse bei einer Flüssigkeit auswirken. Hier ist die Nachbildung des Verkehrsflusses als kontinuierlicher Strom durchaus adäquat. Entscheidend ist also der Grad der Auflösung, der erreicht werden soll. Bei vielen Modellen liegt den kontinuierlichen, stetigen Relationen ein Strom diskreter Elemente zugrunde, der im Detail nicht betrachtet zu werden braucht. Wenn diese Abstraktion möglich ist, ist sie häufig auch vorzuziehen, da auf diese Weise das Modell an Klarheit und Übersichtlichkeit gewinnt, ohne daß ein merklicher Informationsverlust auftritt und die Struktur verfälscht wird.

1. Grundlegende Begriffe und Erläuterungen

38

Dieser Tatbestand sei am kontinuierlichen Modell eines diskreten Systems demonstriert. In einem Unternehmen soll für ein bestimmtes Produkt die Produktion P in Abhängigkeit vom Lagerbestand L gesteuert werden. Dazu geht man von einem Sicherheitsbestand S aus. Ist der Lagerbestand L größer als S, so ist die Produktion zu drosseln, im umgekehrten Fall zu steigern. Ins Lager geht jeweils die Differenz zwischen der produzierten Menge P und der an die Kunden des Unternehmens ausgelieferten Menge A, die hier der Einfachheit halber als konstant angenommen wird. Man hofft, mit dieser Produktionspolitik eine ausgeglichene Produktion und einen konstanten Lagerbestand in der Nähe von S zu erreichen. Mit einem einfachen kontinuierlichen Modell soll nun untersucht werden, ob das Unternehmen auf diese Weise das gesteckte Ziel erreichen kann. Dazu werden P und L entsprechend der vorgegebenen Daten als Funktionen der Zeit angenommen: P =

P(t)

L =

L(t)

Die Änderung der Größen P und L wird durch P ' ( t ) und L'(t), ihre Ableitungen nach der Zeit , gegeben. Vereinfachend kann für P ' und L' die Veränderung während einer bestimmten Zeitspanne zwischen ti und t 2 gesetzt werden: P' =

P f e )

t2

-

(1.5)

P ( t l )



t!

L- -

a 6 )

Die oben gegebene Politik hat dann in Gleichungsform das Aussehen: P ' ( t ) = - 0 , 2 ( L ( t ) - S)

(1.7)

L' (t) = P(t) - A

(1.8)

In der Gleichung ( 1 . 7 ) wurde, um mit der Produktion nicht allzu hektisch auf die Abweichungen zwischen Lager- und Sicherheitsbestand zu reagieren, der dämpfende Faktor 0,2 eingeführt. Durch das negative Vorzeichen wurde erreicht, daß tatsächlich bei Beständen L > S die Produktion gedrosselt, bei Beständen L < S gesteigert wird. Nach Gleichung ( 1 . 8 ) wächst der Lagerbestand, wenn die produzierte Menge P größer als die ausgelieferte Menge A ist, ansonsten fällt er. Mit diesem Modell ist nun der Zeitablauf zu simulieren. Dazu werden konkrete Zahlenwerte über die Ausgangssituation eingesetzt: wöchentlich ausgelieferte Menge A angestrebter Sicherheitsbestand S

= 1 0 0 Stück/Woche = 1 5 0 Stück

1.3 Die Simulationsarten

39

produzierte Menge zum Startzeitpunkt Pi Lagerbestand zum Startzeitpunkt L,

= 90 Stück/Woche = 1 7 0 Stück

Zur Durchführung der Rechnung wird P ' und L' nach (1.5) und (1.6) ersetzt, wobei t 2 - t, = konstant = 0,01 Woche und P(t 2 ) = P 2 , P ( t j ) = P , , L(t 2 ) = L 2 , L ( t i ) = L! gesetzt wird: P2 - P . 0,01 L 2 - Li

0,01

= -0,2(L,-S)

(1.9)

=P,-A

(1.10)

Eine fortlaufende Rechnung ermöglichen nun die folgenden Gleichungen, indem man mit i = 1 beginnend, von Zeitintervall zu Zeitintervall schreitet, wobei nach jeweils 100 Schritten eine Woche abgeschlossen ist: P i + 1 = Pj - 0,002 (Lj - 150)

(1.11)

L i + 1 = L j + 0,01

(1.12)

(Pj - 100)

Die Ergebnisse für 15 Wochen sind in der Tabelle 1—23 zusammengestellt: t

0

1

2

3

4

5

6

7

L P

170.0 90.0

158.4 87.1

145.2 86.7

132.9 89.0

123.9 93.4

120.0 99.2

122.1 105.0

129.8 109.9

t

8

9

10

11

12

13

14

15

L P

141.3 112.6

154.8 113.3

111.1

166.8

176.1 106.7

180.0 100.9

177.9 95.2

170.4 90.2

158.6 87.3

Den Verlauf von Lagerbestand L und Produktionsrate P zeigt grafisch die Abbildung 1 - 2 4 . Ein überraschender, intuitiv kaum vorhersehbarer Effekt geht daraus deutlich hervor: obwohl die wöchentlich ausgelieferte Menge konstant ist, führt ein exaktes Einhalten der Produktions- und Lagerpolitik zu periodisch schwankenden Lagerbeständen und Produktionsraten. Ungefähr nach 14 Wochen wiederholt sich der gleiche Ablauf, die Produktion läuft ständig hinter dem Lagerbestand her. Störungen dieses Ablaufs würden nicht zu einem Abbau der Schwankungen führen, sondern die „Schwankungsbreite" (exakt: die Schwingungsamplitude) eher noch vergrößern (vgl. Kapitel 2.1.2, Abbildung 2—13). Selbst wenn man zunächst Produktionsrate P = A und Lagerbestand L = S setzt, würde das System durch Störungen nach kurzer Zeit wieder in Schwingungen geraten. Die Produktions- und Lagerpolitik des Unternehmens ist also vom Ansatz her schlecht. Man muß eine bessere finden. Trotzdem ist die hier aufgezeigte Erscheinung in vielen Unternehmen zu beobachten.

40 L

1. Grundlegende Begriffe und Erläuterungen

'

P

2 0 0 - 125

L = L(t)

P = P(t)

,

1 5 0 - • 100

0

1

2

3

4

5

6

7

9

10

i 11

12

13

> 14

l ^ 15

100 - 75

Abbildung 1 - 2 4 .

Mit diesem Beispiel wird gezeigt, daß ein diskretes System (die Produktion und Auslieferung mag in einzelnen Stücken oder Losen erfolgen) in einigen charakteristischen Eigenschaften durch ein kontinuierliches Modell (Differentialgleichungen) beschrieben werden kann. Dies gelingt allgemein umso besser, je umfassender das Modell ist, wobei die Eigenschaften des vorgegebenen Systems nicht mehr bis in alle Einzelheiten exakt nachgebildet werden. In den Wirtschaftswissenschaften spricht man in diesem Zusammenhang von „stark aggregierten" Modellen. Kontinuierliche Modelle erscheinen zunächst durch ihre Form ungeeignet für die digitale Simulation. Tatsächlich konnten die Gleichungen (1.7) und (1.8) des oben diskutierten Beispiels nicht unmittelbar für die Berechnungsexperimente verwendet werden. Erst nach der Umformung in den Gleichungen (1.9) und (1.10), in denen diskrete Zeitpunkte t, eingeführt wurden, war ein schrittweises Errechnen der Systemzustände im Zeitablauf möglich. Wie in diesem Beispiel müssen kontinuierliche Modelle für die digitale Simulation stets nachträglich diskretisiert werden. Zwar bietet sich Analog-Simulation für kontinuierliche Modelle an, jedoch sind für komplexe Modelle die Rechenhilfsmittel, wie in 1.3.1 bereits ausgeführt, unzureichend. Kontinuierliche Simulation bedeutet nicht, wie es zunächst scheinen mag, daß stochastische Einflüsse im Modell ausgeschlossen sind. Vielmehr können nach

41

1.4 Einsatz der Simulation

der Diskretisierung des Modells zu jedem diskreten Zeitpunkt beliebige Zufallsereignisse wirksam werden. Zum Beispiel ließe sich in Gleichung (1.10) mit Hilfe von Zufallszahlen (wie in den Gleichungen (1.3) und (1.4)) eine zufällig und gleichmäßig zwischen 90 t und 110 t pro Woche schwankende Nachfrage auf die folgende Weise einbauen: Aj = 90 + 20 Xj Die Gleichung (1.12) erhielte dann das Aussehen: Lj+i = Li + 0,01 (Pj - 90 - 2 0 xO Eine Übersicht über die Simulationsarten gibt abschließend die Tabelle 1—25: Tabelle 1 - 2 5 . Simulationsarten und Beispiele

determiniert

diskret

kontinuierlich

Produktions-Ablaufplanung

Produktions- u. Lagerpolitik (Konstante Auslieferung)

Warteschlange

Produktions- u. Lagerpolitik (zufällig schwankende Auslieferung)

stochastisch

1.4 Einsatz der Simulation Zu der Frage, wann und wie Simulation einzusetzen sei, gibt es bislang wenig allgemeine Aussagen. Eine Ursache dafür ist sicherlich die Vielschichtigkeit und Unterschiedlichkeit der Simulationsprobleme selbst, die die Formulierung allgemeiner Aussagen hierzu schwierig gestaltet. Zum anderen beginnt man sich erst in neuerer Zeit ernsthaft mit dem Problem der Durchführung von Simulationen zu beschäftigen. Der Ablauf in Abbildung 1 - 2 6 dient als Leitfaden für die folgende Diskussion der beim Einsatz der Simulation auftretenden Probleme. Bei der Bearbeitung eines Simulations-Problems mag er als Leitfaden dienen. Weitgehende Übereinstimmung existiert darüber, daß die in diesem Ablauf zusammengefügten Aktivitäten bei jeder konsequent durchgeführten Simulation in irgendeiner Form wahrgenommen werden müssen. Die hier gewählte Reihenfolge, deren Vorzug die innere Logik des Ablaufs ist, wird sich in der Praxis jedoch nicht konsequent einhalten lassen. Einzelne Aktivitäten werden sich bei der Ausführung überschneiden, und für ein gegebenes Problem kann eine vertauschte Reihenfolge zweckmäßiger sein.

1. Grundlegende Begriffe u n d Erläuterungen

Abbildung 1 - 2 6 .

Ablauf eines S i m u l a t i o n s p r o j e k t e s (beispielhaft)

1.4 Einsatz der Simulation

43

Phase I Am Anfang jeder Problembearbeitung sollte eine möglichst genaue Problemformulierung stehen. Dazu gehört notwendigerweise eine Spezifikation der Ziele, die bei der Lösung eines Problems erreicht werden sollen, da sonst eine Kontrolle und ein geordneter Abschluß der Arbeiten nicht möglich ist. Die Frage, ob für die Lösung des Problems die Simulation eingesetzt werden soll, läßt sich praktisch nicht von der Problemformulierung trennen. Mit Hilfe der Simulation können Informationen gewonnen werden über: a) das gegenwärtige und zukünftige Verhalten des im Modell abgebildeten Systems b) die Struktur des abgebildeten Systems c) die Einflußmöglichkeiten auf das Verhalten des abgebildeten Systems, insbesondere die Optimierung dieses Verhaltens in bezug auf gegebene Zielkriterien („optimale Steuerung") zu a): Es leuchtet unmittelbar ein, daß mit einem Modell, das das gegenwärtige Verhalten eines Systems abbildet, dieses Verhalten auch in der Zukunft (unter der Bedingung gleichbleibender Einflüsse auf das System) ermittelt werden kann. Die Simulation wird so zum Prognoseinstrument. Marktmodelle, volkswirtschaftliche Modelle und das Weltmodell (aus Meadows „Grenzen des Wachstums") dienen diesem Zweck. zu b): Kenntnisse über die innere Struktur eines Systems werden nur indirekt mit Hilfe der Simulation zu ermitteln sein. Da die Modellkonzipierung schon recht gute Systemkenntnisse voraussetzt, muß zunächst eine Hypothese über die Systemstruktur aufgestellt werden. Die Überprüfung erfolgt dann mit Hilfe der Modellexperimente. Diese Vorgehensweise entspricht der in Naturwissenschaft und Technik, wenn an die Stelle des Modellexperiments (mit abstrakten Modellen) das Objektexperiment tritt (Induktion, Trial-and-Error-Methode). Die Überprüfung der in einem Simulationsmodell über ein System aufgestellten Hypothese wird grundsätzlich vor jedem Simulationsexperiment auch zu den unter a) und c) genannten Zwecken erforderlich sein (vgl. IV Validierung). zu c): Durch wiederholte Experimente lassen sich die Auswirkungen von veränderten Eingabedaten und Modellelementen auf das Modellverhalten ermitteln. Es wird möglich, das bezüglich der gegebenen Kriterien beste Verhalten auszuwählen

44

1. Grundlegende Begriffe und Erläuterungen

und auf das reale System zu übertragen. Diese Vorgehensweise wird inzwischen in der Simulation allgemein als „Optimierung" bezeichnet. Wenn auch einige grundlegende Unterschiede zum Optimierungsbegriff der mathematischen Programmierung vorhanden sind, so sind sie jedoch überwiegend theoretischer Natur. Daher wird der Begriff Optimierung im folgenden in gleicher Weise verwendet. Die unter a), b), c) aufgezählten Informationen können analytische Verfahren und Objektexperimente in gleicher Weise oder unter Umständen besser liefern. Objektexperimente sind jedoch gerade im wirtschafts- und sozialwissenschaftlichen Bereich zu teuer, zu gefährlich oder aus anderen Gründen unpraktikabel. Solche Gründe können z. B. sein: lange zeitliche Ausdehnung, eine grundsätzliche Verfälschung der Ergebnisse durch Schaffung der Versuchssituation, oder ethische Vorbehalte. Analytische Verfahren liefern mit den gleichen mathematischen Modellen im allgemeinen mehr und sicherere Informationen als Modellexperimente. Der Aufwand an Routinearbeit ist bei ihrem Einsatz i. a. ebenfalls geringer. Trotzdem kann die Simulation heute meist als das effektivere Verfahren angesehen werden, selbst wenn der bei realistischen Modellen häufige Fall ausgeklammert wird, daß kein analytisches Verfahren zur Lösung existiert und ohnehin nur die Simulation in Frage kommt. Ein wesentlicher Grund dafür ist, daß nicht die Kenntnis mathematisch sehr anspruchsvoller und meist nur auf eine enge Problemklasse anwendbarer analytischer Verfahren, sondern die einfacheren und breiter anwendbaren Techniken der Simulation zu erlernen sind. Unterstützt wird dieses Argument häufig durch die Tatsache, daß die von einer analytischen Lösung gelieferte Informationsfülle nicht nötig ist, sondern nur einige gezielte Fragen beantwortet werden müssen. Schließlich kann in der Regel der erhöhte Aufwand an Routinearbeiten für die Simulation auf einen Computer übertragen werden. Diese Ausführungen dürfen nicht zu dem falschen Schluß verleiten, Simulationstechniken seien grundsätzlich trivial. Das Gegenteil ist insbesondere bei stochastischer Simulation der Fall, wo häufig allerdings keine analytischen Verfahren zur Wahl stehen. Analytische Verfahren behalten auch für die Simulation ihre Bedeutung, die vor allem in der Phase IV „Validierung" aufgezeigt wird. Neben den bisher diskutierten Gründen für den Einsatz der Simulation können pädagogische Überlegungen für die Simulation sprechen. Durch die Simulation lassen sich die Abläufe in einem komplexen System auch mit einem abstrakten mathematischen Modell anschaulicher vermitteln als zum Beispiel durch die Präsentation der analytischen Lösungen (vgl. Beispiele in Abschnitt 1.3). Der enge Zusammenhang zwischen der Entscheidung für die Simulation und

1.4 Einsatz der Simulation

45

der Problemformulierung resultiert daraus, daß für die Simulation die Fragestellungen detailliert zu formulieren sind. Da jeder Simulationslauf nur sehr spezifische Informationen liefert, müssen die gewünschten Informationen gezielt angesteuert werden können, wenn der Arbeitsaufwand nicht unerträglich groß werden soll. Bei der Untersuchung eines Absatzmarktes für ein Unternehmen ist so zum Beispiel nicht allgemein nach der „Marktsituation" zu fragen, sondern es ist zu spezifizieren, ob nur der eigene Marktanteil zu ermitteln, ein Vergleich zwischen konkurrierenden Firmen oder eine ganze Rangfolge unter den Mitbewerbern aufzustellen ist. Das kann die Kosten der Simulation erheblich reduzieren.

Phase II Für die Simulation sind im wesentlichen 3 Voraussetzungen zu schaffen: a) der Bearbeiter (oder das eingesetzte Projektteam) muß die erforderlichen Kenntnisse und Fertigkeiten besitzen b) ein geeigneter Computer muß zur Verfügung stehen c) die erforderlichen Daten müssen ermittelt oder bereitgestellt werden. zu a): Bei größeren Simulationsprojekten ist i. a. ein Team von Mitarbeitern mit der Durchführung zu beauftragen. Aber auch wenn das nicht der Fall ist, sind in der Regel die folgenden Kenntnisse und Fertigkeiten erforderlich: -

intensive Kenntnisse und Erfahrungen in dem Fachgebiet, aus dem das Simulationsproblem stammt,

-

Kenntnisse und Erfahrungen auf dem Gebiet des Operations Research zur Modellformulierung,

-

Kenntnisse der Wahrscheinlichkeitstheorie und der mathematischen Statistik bei stochastischen Simulationsmodellen, da hier subtile Prüf- und Testmethoden eingesetzt werden müssen,

-

gute Programmierkenntnisse, möglichst die Beherrschung einiger Programmier- und Simulationssprachen.

zu b): Der Arbeitsaufwand für die Simulationsläufe kann nur bei einfachen Problemen überhaupt von Hand erbracht werden. Daher muß ein geeigneter Computer zur Verfügung stehen (vgl. auch Abschnitt 3.1).

46

1. Grundlegende Begriffe und Erläuterungen

zu c): Die Durchführung von Simulationsläufen erfordert zumeist mehr Daten als entsprechende analytische Verfahren. Die Bereitstellung der erforderlichen Datenmengen in ausreichender Qualität macht gerade bei betriebswirtschaftlichen Problemen einen erheblichen Teil des Aufwandes aus. Auch in anderen Bereichen werden die statistisch zu ermittelnden Daten selten in der gewünschten Form bereitstehen.

Phase III Sammeln von Daten und Modellformulierung werden parallel erfolgen können, wobei eine Wechselbeziehung auch schon vor der eigentlichen "Validierung bestehen wird, das heißt die Einzelheiten des Modells werden nach der verfügbaren Information (Daten) ausgestaltet. Bei der Modellformulierung ist zunächst in Abhängigkeit vom gesteckten Ziel zwischen diskreten und kontinuierlichen Modellformulierungen zu wählen (vgl. Kapitel 1.3). Für beide stehen unterschiedliche Konzepte zur Verfügung, die in Kapitel 2 noch erläutert werden. Dafür werden einige Hilfsmittel zu erarbeiten sein, wie zum Beispiel mathematische Systemtheorie in Form von Differentialgleichungen und für Modelle mit stochastischen Elementen mathematische Statistik. Zur Modellformulierung zählt ebenfalls die Erstellung der Computerprogramme, Diese Problematik wird in Kapitel 3 behandelt.

Phase IV Unter Validierung ist die Überprüfung der Abbildung zwischen Modell und nachgebildetem System zu verstehen. So wird also die Frage geklärt, ob das entwickelte Modell die Eigenschaften des Systems mit genügender Genauigkeit widerspiegelt. Da hiervon die Übertragbarkeit der Simulationsergebnisse auf das reale System überhaupt abhängt, ist die Validierung der Angelpunkt jeder Simulation. Andererseits gehen die Kenntnisse über das nachgebildete System meist noch nicht sehr weit, da durch die Simulation schließlich Informationen über das System gewonnen werden sollen. So wird die Validierung zugleich zur schwierigsten Aufgabe im Rahmen eines Simulationsprojektes. Von der Validierung streng zu unterscheiden ist der Test des Computerprogrammes, in dem das Modell niedergelegt ist, auf seinen formal und logisch richtigen Aufbau.

1.4 Einsatz der Simulation

47

Zwei Möglichkeiten der Validierung bestehen grundsätzlich: a) Vergleich von Simulationsergebnissen mit Vergangenheit- und (oder) aktuellen Daten aus dem nachgebildeten System. b) Vergleich von Simulationsergebnissen mit analytischen Lösungen beim vereinfachten Modell. zu a): Auf diese Überprüfung der Simulationsergebnisse wird praktisch in keinem Fall letztlich verzichtet werden können. Ein beliebiger Zeitraum in der Vergangenheit, für den das Verhalten des nachgebildeten Systems bekannt ist, wird mit dem Modell simuliert und die Ergebnisse werden mit dem Systemverhalten verglichen. Eine Schwierigkeit liegt bei der stochastischen Simulation gerade in diesem Vergleich. Es muß ermittelt werden, ob die realen und simulierten Daten der gleichen statistischen Grundgesamtheit mit genügend großer Sicherheit entstammen können. Hier setzt zum Beispiel die Varianzanalyse (Kapitel 2.2.3) an. zu b): Bei diesem Verfahren geht man davon aus, daß das Modell eine Anzahl von Spezialfällen enthält, in denen die Struktur des Problems stark vereinfacht ist. Für solche Spezialfälle existiert häufig eine analytisch gefundene Lösung, deren Übereinstimmung mit dem nachgebildeten System als genügend sicher gelten kann. Die Simulationsergebnisse können für den Spezialfall dann mit dieser Lösung verglichen werden. Häufig ist dann der Schluß berechtigt, daß das Modell auch allgemein das reale System zutreffend abbildet. Bei einer ganzen Reihe von Systemen (z. B. Wartesysteme Kapitel 4.2.1) ist diese Validierungstechnik sehr hilfreich. Bei großen Modellen komplexer Systeme ist eine ganzheitliche Validierung äußerst schwierig. Hier wird man das Modell zergliedern und schrittweise vorgehen [1.19, S. 314]: 1. Kontrolle der einzelnen im Modell verwendeten Relationen anhand fundierter wissenschaftlicher Untersuchungen 2. Validierung von Modellsegmenten nach einem der angegebenen Verfahren (siehe oben) 3. Validierung des Gesamtmodells. Fallen die Ergebnisse unbefriedigend aus, so sind Voraussetzungen, Daten und Modell zu überprüfen. Unter Umständen muß auch die Frage neu gestellt werden, ob die Simulation eingesetzt werden soll. Allerdings auch nach einem

48

1. Grundlegende Begriffe und Erläuterungen

erfolgreichen Validierungsprozeß sollten die Simulationsergebnisse nicht unkritisch übernommen werden.

Phase V Planung, Durchführung und Auswertung der Simulationsläufe mit dem validierten Modell sollen schließlich die Lösung des Ausgangsproblems liefern. In dieser Phase hat vor allem die Planung der Simulationsläufe (engl, „experimental design") an Bedeutung gewonnen. Der Arbeitsaufwand, den Experimente mit Modellen komplexer Systeme verursachen, ist auch beim Einsatz eines Computers beachtlich und verursacht entsprechende Kosten. Daher ist sorgfältig abzuwägen, welche Experimente erforderlich sind, um gezielt die in Phase I formulierten Fragen zu beantworten. Bei Strukturanalysen und Steuerungsproblemen (Optimierung des Systemverhaltens) müssen Abhängigkeiten im Modell geklärt werden. Dazu teilt man die den Modellzustand beschreibenden Größen in „ F a k t o r e n " und „Reaktionen" (engl, „responses") ein. Faktoren werden vorgegeben, Reaktionen werden durch das Experiment ermittelt. Beim Beispiel „Produktions- und Lagerhaltungspolitik" im Abschnitt 1.3 waren Auslieferungsrate A, Sicherheitsbestand S, die Startwerte L 0 und P 0 für Lagerbestand und Produktionsrate sowie der „Dämpfungsfaktor" a = 0,2 Faktoren. Reaktionen waren die Werte der Produktionsrate und des Lagerbestandes zu jedem Zeitpunkt und ihr Verhalten während des Zeitablaufs, das heißt ihr Mittelwert, die Schwankungsbreite (Amplitude) und die Periode, das heißt die Zeit, bis sich der gleiche Ablauf wiederholte. Bei einer Faktorenanalyse ist nun zu untersuchen, wie sich die Veränderungen in einzelnen Faktoren auf die Reaktionen auswirken. Dazu werden alle Faktoren konstant gehalten bis auf einen, den man stufenweise verändert. So kann man zum Beispiel für den Dämpfungsfaktor a nacheinander die Werte 0.1, 0.2, 0.3, 0.4, 0.5 einsetzen, einen Simulationslauf durchführen und die Reaktion ermitteln. Man wird feststellen, daß sich zum Beispiel die Periode des Ablaufs dabei wie folgt verändert: Dämpfungsfaktor a Periode (Wochen)

I1

0-1 20

0.2

0.3

0.4

0.5

14

11,5

10

9

Um den Einfluß der übrigen Faktoren auf die Periode zu ermitteln, m u ß diese Versuchsserie für alle Wertekombinationen der übrigen Faktoren wiederholt werden. Auch die anderen Reaktionen des Modells zeigen Verschiebungen. Will

1.4 Einsatz der Simulation

49

man die Abhängigkeiten auf diese Weise für jeden der 5 Faktoren ermitteln, so werden 5 - 5 - 5 - 5 - S = 55 = 3 1 2 5 Simulationsläufe erforderlich. Das ist schon für dieses einfache Modell eine beachtliche Zahl. Soll allgemein jeder von n Faktoren k Stufen durchlaufen, so werden k n Simulationsläufe erforderlich. Da das nicht praktikabel ist, wird man gezielt fragen müssen. Zu dieser Schwierigkeit, die schon bei der determinierten Simulation auftritt, k o m m t bei der stochastischen Simulation eine weitere. Wie in Abschnitt 2.2.3 eingehend zu zeigen ist, streuen die Simulationsergebnisse zufällig und konvergieren nur sehr langsam gegen die gesuchten Werte. Diese mit „Gesetz der großen Zahl" bezeichnete Konvergenz besagt, daß zur Verdopplung der Genauigkeit die Zahl der Experimente vervierfacht werden muß. Zum Gewinn einer Stelle im Ergebnis muß der Fehler auf 1/10 reduziert werden; dazu muß die Zahl der Experimente verhundertfacht werden. Gezielte Fragestellungen allein helfen hier nicht weiter. Es müssen Wege gefunden werden, die bei gleichem Aufwand schneller zum gesuchten Ergebnis führen. Solche Verfahren sind unbedingt einzusetzen. Einige werden im Kapitel 2.3 vorgestellt. Trotz dieser Möglichkeiten ist es bei der stochastischen Simulation sehr aufwendig und in Anbetracht der Qualität der Ausgangsdaten meist sinnlos, zu große Genauigkeiten zu fordern. Die gesuchten Antworten sind im allgemeinen bei der stochastischen Simulation erst durch eine statistische Analyse der Ergebnisdaten herauszuarbeiten. Zuverlässigkeit und Signifikanz der Daten muß festgestellt werden, Zusammenhänge (Relationen) werden erst durch Korrelationsanalysen aufgezeigt (vgl. Kapitel 2.2.3). „Auswertung der Daten" bezieht sich auf eine problem- und sachbezogene Aufbereitung, die die gewonnenen Informationen auch für mit Simulation und Statistik nicht vertraute Personenkreise verständlich und interpretierbar macht. Ein Original-Computer-Ausdruck ist hier selten das geeignete Mittel. In vielen Fällen wird es sich lohnen, Modell und Simulationsläufe so zu dokumentieren, daß ein Zugriff jederzeit ohne großen Aufwand möglich ist. Diese Mühe zahlt sich dann ganz besonders aus, wenn ein Modell mit dem Ausbau des nachgebildeten Systems weiterentwickelt werden soll. Diese Forderung nach Dokumentation ist sicherlich eine der trivialsten im gesamten Projektablauf, mindestens ebenso sicher jedoch auch die in der Praxis am meisten mißachtete.

50

1. Grundlegende Begriffe und Erläuterungen

Das Problem der Optimierung von Systemabläufen mit Hilfe der Simulation erstreckt sich über die gesamte Planung, Durchführung und Auswertung von Simulationsläufen. Zielgerichtete Verfahren lehnen sich an die mathematische Optimierungstheorie an und sollen im Rahmen dieser Ausführungen nicht behandelt werden. Eine heuristisch-experimentelle Vorgehensweise, bei der lediglich eine Anzahl von Simulationsläufen unter variierenden Modellbedingungen ausgeführt und abschließend die beste Möglichkeit bezüglich eines gegebenen Kriteriums ausgewählt wird, wirft keine besonderen Probleme auf. Auf eine eigene Diskussion der Optimierung kann daher im folgenden verzichtet werden.

2. Techniken der Simulation

In den weiten u n d heterogenen Anwendungsgebieten der Simulation k o m m t eine umfangreiche Palette von Techniken zum Einsatz. Erster Schritt einer Simulation, zu dem eine Fülle von Techniken zur Verfügung steht, ist die Modellformulierung (vgl. Abbildung 1—26). Für die K o n s t r u k t i o n diskreter und kontinuierlicher Modelle werden in den folgenden beiden Abschnitten Konzepte beschrieben. Diese stellen eine Auswahl bezüglich weitreichender, universeller Anwendbarkeit dar. Dabei wurde aus didaktischen Gründen der Versuch u n t e r n o m m e n , das Modell-Konzept zunächst von der abschließenden Formulierung des Modells in einer speziellen Simulations-Programmiersprache zu trennen. Denn wie sich im Kapitel 3 zeigen wird, liegt jeder Simulations-Programmiersprache ein Modell-Konzept zugrunde. Auf dem hier angesprochenen Prozeß-Konzept basiert die Programmiersprache SIMULA, es kann j e d o c h ohne Schwierigkeiten auch in anderen Sprachen wie F O R T R A N u n d PL1 realisiert werden. A m Beispiel des Prozeß-Konzeptes werden zugleich einige allgemeine Techniken der Simulation mit diskreten Modellen aufgezeigt, insbesondere der Ablaufsteuerung. Überwiegend zur Formulierung kontinuierlicher Modelle dient der Inhalt des Abschnitts 2.1.2. Bei stochastischen Modellen sind für K o n s t r u k t i o n u n d Simulationsläufe Kenntnisse der Statistik unerläßlich. Das Prinzip der Monte-Carlo-Methode, häufig mit stochastischer Simulation gleichgesetzt, wird in einem eigenen Abschnitt erläutert. Die Erzeugung von Zufallszahlen wird schließlich im Hinblick auf den Einsatz von (digitalen) C o m p u t e r n dargestellt.

2.1 Der Entwurf von Modellen

2.1.1 Das Prozeß-Konzept Mit Hilfe des Prozeß-Konzeptes lassen sich diskrete Simulationsmodelle zu vielen unterschiedlichen Systemen formulieren u n d zumeist auch ohne große Schwierigkeiten programmieren. Dieses K o n z e p t steht am Ende einer Entwicklung, die durch steigende A n f o r d e r u n g e n an die Möglichkeiten der Simulation u n d durch k o n s e q u e n t e n Einsatz von Digitalrechnern geprägt ist.

52

2. Techniken der Simulation

Dabei k o m m t dieses Konzept der menschlichen Anschauung sehr entgegen. Es geht davon aus, daß Modelle komplexer Systeme insgesamt für einen Bearbeiter nicht mehr gleichzeitig überschaubar sind. Es muß sich vielmehr auf Teilbereiche konzentrieren können, die in sich geschlossene Einheiten darstellen. Solche Teilbereiche beschreibt er zunächst weitgehend unabhängig voneinander, indem Elemente, Relationen und Abläufe festgelegt werden. Das geschieht in Form einzelner Prozesse, zwischen denen durchaus Querverbindungen geknüpft werden können, deren logisch und zeitlich korrektes Ineinandergreifen im Gesamtmodell jedoch nicht schon bei der Formulierung sichergestellt werden muß, sondern erst bei den Simulationsläufen durch eine systematische Ablaufsteuerung erreicht wird. Im Abschnitt 1.3.2. wurde am Beispiel einer Kaufhauskasse das Modell eines elementaren Wartesystems vorgestellt (vgl. Abbildung 1 — 19). Für die Nachbildung dieses Systems reichte es aus, bestimmte Elemente, die Kunden, zu erzeugen und nur solche Zeitpunkte zu betrachten, in denen ein Element seine Position im System veränderte, das heißt sich zwischen festen Systemelementen wie „Warteraum" und „Bedienungsschalter" bewegte. Diese Zeitpunkte werden als Ereignisse bezeichnet. Der kontinuierliche zeitliche Ablauf wird im Modell also ersetzt durch eine Folge von Ereignissen. Zwischen zwei aufeinanderfolgenden Ereignissen ist der Zustand des diskreten Modells konstant. Umgekehrt ist ein Ereignis der Übergang zwischen zwei Zuständen des Modells, es hat selbst keine zeitliche Ausdehnung. Der Zeitpunkt, zu dem ein Ereignis stattfindet, wird auch als „kritische" Zeit bezeichnet. Im Beispiel „Kaufhauskasse" gibt es nur drei Arten von Ereignissen: Eintritt eines Kunden in die Warteschlange (Ankunft), Eintritt in die Bedienungsstation (Beginn der Bedienung), Verlassen der Bedienungsstation (Ende der Bedienung). Eng mit der Ereignisfolge verbunden ist die Nachbildung des realen Zeitablaufs im Modell. Wie das Beispiel „Kaufhauskasse" zeigte, (vgl. Tabelle 1—20) wird dazu lediglich ein Zahlenwert um die zwischen zwei aufeinanderfolgenden Ereignissen liegenden Zeitbeträge fortgeschrieben. In der Tabelle 1—20 geschieht dies in der 3. Spalte mit den Werten t¡. Dieser Zahlenwert wird als die „Modellzeit" bezeichnet. Sie hat mit der realen Zeit nur gemeinsam, daß sie nicht abnehmen kann, was ja einer Umkehrung des Zeitablaufs entsprechen würde. Dagegen bleibt die Modellzeit durchaus konstant, bis alle auf einen kritischen Zeitpunkt fallenden Ereignisse abgewickelt sind. Die Modellzeit entspricht also nicht dem natürlichen menschlichen Empfinden des Zeitablaufs. Insbesondere steht sie in keiner Beziehung zu der Zeit, die zum Durchspielen des Modells erforderlich ist. Dieser Zeitablauf k o m m t vielmehr als dritter Zeitbegriff in der Simulation hinzu. Wenn Simulationen mit

2.1 Der Entwurf von Modellen

53

dem Computer ausgeführt werden, spricht man hier von der Computer-Zeit, sonst von Abiaufzeit. Der Zusammenhang zwischen Modell- und Computer-Zeit wird durch die Abbildung 2—1 charakterisiert: Modellzeit Abiaufzeit (Computerzeit)

Abbildung 2 - 1 .

Durch die Kette von Ereignissen E 0 , E!, E 2 , . . . und die zwischen diesen liegenden Zeiten Ti, T 2 , T 3 , . . . ist die Dynamik des Modells gegeben. Der Computer (ggf. auch ein menschlicher Bearbeiter) benötigt zur Ausführung der Operationen, die jeweils zu einem in der Modellzeit verzuglosen Ereignis gehören, (z. B. Ermittlung der Bedienungszeit für einen an die Kasse getretenen Kunden) die Zeiten t 0 , t , , t 2 , . . . Dagegen geschehen die Übergänge Ao, A , , A 2 , . . . von Ereignis zu Ereignis ohne nennenswerten Zeitaufwand. Es werden lediglich die Beträge T , , T 2 , T 3 , . . . auf den Wert der Modellzeit T addiert. Es lassen sich grundsätzlich zwei Techniken für die Fortschreibung der Modellzeit unterscheiden, die beide in den Beispielen des Abschnitts 1.3.2 eingesetzt wurden. Bei der Reihenfolgeplanung für Aufträge in einem Maschinenpark wurde die Zeit jeweils um konstante Beträge A T = 1 Stunde fortgeschrieben (vgl. Tabelle 1 — 17). Am Ende eines jeden Zeitintervalls A T wurden die fälligen Ereignisse ausgeführt. Wie das Beispiel mit der 4., 5., 8. und 9. Stunde zeigt, muß nicht in jedem Zeitintervall ein Ereignis stattfinden. In einem solchen Fall wird die Modellzeit unverzüglich weitergeschrieben. Diese Vorgehensweise wird als zeitorientierte Ablaufsteuerung (engl, „time sequencing") bezeichnet. Dem steht die ereignisorientierte Ablaufsteuerung (engl, „event sequencing") gegenüber, die bereits im Beispiel Warenhauskasse in einfachster Form angewandt wurde. In der Tabelle 1—20 wurde die Modellzeit nicht um feste Intervalle A T fortgeschrieben, sondern um variable Zeiten Ti, T 2 , T 3 , . . . , wobei eine einseitige Orientierung ausschließlich an den Ankunftereignissen wegen der Übersichtlichkeit des Modells noch möglich war. Die Modellzeit wurde also jeweils um die Zeit zwischen zwei Ankünften erhöht. Allgemein bezieht man im Modell alle Ereignisse in die ereignisorientierte Ablaufsteuerung ein und schreitet von Ereignis zu Ereignis fort.

54

2. Techniken der Simulation

In der Abbildung 2—2 sind zeit- und ereignisorientierte Ablaufsteuerung einander gegenübergestellt: zeitorientiert

ereignisorientiert

E, 1 T,

E 2 E1 3 1— —i T2 T3

E4 H T4

E,

E2 E 3

E,

Es

E6

E,

H T,

(—( T2 T 3

1 T4

1 Ts

1 T6

1 T,

i T,

E1s

i T6

E1 6

i T7

1 T,

E7 H 1 T , T10

1 T„

Modellzeit

Modellzeit

Abbildung 2 - 2 .

Beide Vorgehensweisen haben Vorzüge und Nachteile, so daß allgemein keine Empfehlung für eine der beiden gegeben werden kann. Bei der zeitorientierten Ablaufsteuerung werden alle in einem Intervall A T liegenden Ereignisse als am Intervallende zusammenfallend betrachtet. Dadurch wird es schwierig, eine geeignete Größe für A T zu finden. Denn A T muß klein genug sein, damit keine unlogischen Situationen entstehen können, zum Beispiel Ankunft, Bedienung und Austritt eines Kunden in einem Wartesystem zusammenfallen. Andererseits erhöht ein zu kleines A T den Arbeitsaufwand beträchtlich, da dann in vielen Intervallen keine Ereignisse vorliegen, im Modell bei jedem Zeitschritt jedoch einige Operationen auszuführen sind. Die ereignisorientierte Ablaufsteuerung vermeidet diese Schwierigkeit. Hier ist es jedoch erforderlich, allen Ereignissen den Zeitpunkt ihres Stattfindens vorab zuzuordnen und stets eine aktuelle Liste aller momentanen und künftigen Ereignisse zu führen. Diese Liste, in der die Ereignisse nach dem Zeitpunkt ihres Eintreffens geordnet sind, wird gemeinhin als „Ereigniswarteschlange" bezeichnet. Bei komplexen Modellen erfordert die ständige Aktualisierung der Ereigniswarteschlange einigen Aufwand. Zudem können einige Schwierigkeiten grundsätzlicher Art auftreten. Wenn verschiedene Ereignisse auf den gleichen kritischen Zeitpunkt fallen, müssen zwischen ihnen Prioritäten nach festen Regeln geschaffen werden. Da auch solche Ereignisse in kausalem Zusammenhang stehen können, ist die Lösung dieses Problems äußerst schwierig. Hier liegt eine Erklärung für das Attribut „kritisch" bei den Ereigniszeitpunkten. Die vielfältigen Verknüpfungen in einem komplexen Modell lassen häufig keine endgültige Vorhersage künftiger Ereignisse im Modell zu. Für jedes Ereignis können neue Bedingungen eine Verschiebung des kritischen Zeitpunktes bewirken. Dann ist die Ereigniswarteschlange umzuordnen.

2.1 Der Entwurf von Modellen

55

Z u r L ö s u n g dieses l e t z t e n P r o b l e m s w e r d e n z w e i unterschiedliche T e c h n i k e n eingesetzt. A n d e m P r i n z i p , ständig aus d e m aktuellen M o d e l l - S t a t u s die kritischen Z e i t e n der Ereignisse zu errechnen, w i r d bei der i m p e r a t i v e n A b l a u f s t e u e r u n g ( e n g l , „ i m p e r a t i v e s e q u e n c i n g " ) festgehalten. D i e in der Ereigniswarteschlange steh e n d e n T e r m i n e sind b i n d e n d . Dieser V o r g e h e n s w e i s e liegt die I d e e z u g r u n d e , die M o d e l l z e i t l a u f e eigenständig ab u n d löse zu b e s t i m m t e n Z e i t p u n k t e n die Ereignisse aus. Ein anderer W e g w i r d bei der i n t e r r o g a t i v e n A b l a u f s t e u e r u n g (engl, „ i n t e r r o g a tive s e q u e n c i n g " ) eingeschlagen. H i e r w e r d e n alle Z e i t p u n k t e festgehalten, zu d e n e n ein Ereignis m ö g l i c h e r w e i s e s t a t t f i n d e n kann. Z u j e d e m dieser Z e i t p u n k te w e r d e n B e d i n g u n g e n für das E i n t r e f f e n des Ereignisses geprüft. D e r erste Z e i t p u n k t , z u d e m sie erfüllt sind, löst das Ereignis aus. Dieser V o r g e h e n s w e i s e liegt die I d e e z u g r u n d e , daß ein Ereignis nicht durch die Z e i t , sondern durch b e s t i m m t e V o r a u s s e t z u n g e n u n d Einflüsse ausgelöst w i r d . O b w o h l die interrogative A b l a u f s t e u e r u n g meist recht a u f w e n d i g ist, w i r d sie durchaus eingesetzt. D i e Ü b e r l e g u n g e n bis hierher lassen e r w a r t e n , daß sich bei kleineren, w e n i g e r k o m p l e x e n M o d e l l e n die ereignisorientierte, bei g r o ß e n u n d k o m p l e x e n M o d e l len die z e i t o r i e n t i e r t e A b l a u f s t e u e r u n g im allgemeinen als die e f f e k t i v e r e erw e i s t . Diese E r w a r t u n g w i r d durch die Erfahrung bestätigt. Ereignisse w u r d e n d e f i n i e r t als Zustandsänderungen i m M o d e l l , w o b e i solche Zustandsänderungen bei den b e i d e n bisher b e t r a c h t e t e n Beispielen für diskrete M o d e l l e durch die B e w e g u n g v o n E l e m e n t e n z w i s c h e n f e s t e n Einrichtungen h e r v o r g e r u f e n w u r d e n ( A u f t r ä g e - M a s c h i n e n , K u n d e n - K a s s e ) . D a h e r b i e t e t es sich zunächst an, in S i m u l a t i o n s m o d e l l e n grundsätzlich z w e i A r t e n v o n Elementen zu definieren: -

b e w e g l i c h e E l e m e n t e , die sich durch ein N e t z v o n K a n ä l e n i m M o d e l l b e w e gen. D i e s e E l e m e n t e sind passiv, b e s t i m m e n j e d o c h die D y n a m i k i m M o d e l l , da sie die diskreten E i n h e i t e n darstellen, die i m realen, a b z u b i l d e n d e n System entlang der R e l a t i o n e n z w i s c h e n den S y s t e m - E l e m e n t e n ausgetauscht w e r d e n ( z . B. K u n d e n , A u f t r ä g e ) .

-

f e s t e E l e m e n t e , die auf die b e w e g l i c h e n E l e m e n t e e i n w i r k e n . Diese E l e m e n te sind aktiv, b e s t i m m e n j e d o c h die ( s t a t i s c h e ) Struktur des M o d e l l s , da sie die aktiven E l e m e n t e des n a c h z u b i l d e n d e n , d y n a m i s c h e n S y s t e m s darstellen ( z . B. Maschinen, L a g e r , W a r t e r a u m , Bedienungsstation).

D a m i t entspricht ein solches M o d e l l k o n z e p t u n m i t t e l b a r der A b b i l d u n g

1—22:

X j sind die f e s t e n E l e m e n t e , die Z e i c h e n o-> d e u t e n die b e w e g l i c h e n E i n h e i t e n

56

2. Techniken der Simulation

an. Als Basis u. a. der Simulationssprache GPSS (vgl. Abschnitt 3.3.1) findet dieses Konzept in weiten Bereichen Anwendung. Die grundsätzliche Unterscheidung zwischen aktiven und passiven Elementen kann bei der Nachbildung komplexer Systeme jedoch eine Beschränkung der Möglichkeiten bedeuten. Bei der Verkehrssimulation eines Flughafens können die Flugzeuge selbst zum Beispiel gleichzeitig passive Elemente (in bezug auf die Benutzung von Start- und Landebahn oder Terminals) und aktive Elemente (in bezug auf die Flugpassagiere) sein. Solche und weitere Schwierigkeiten umgeht das Prozeß-Konzept, indem nur ein Grundtyp von Elementen benutzt wird. Jedes dieser Elemente gestaltet sowohl die Struktur als auch die Dynamik des Modells mit. Dazu werden jedem Element zwei Sätze von Informationen zugeordnet. Einer dieser Sätze beschreibt die statischen Eigenschaften des Elements; dazu gehört zum Beispiel die Bezeichnung und die Zugehörigkeit zu bestimmten Gruppen, wie im Wartesystem die Zugehörigkeit zur Gruppe der Kunden. Der zweite Informationssatz gibt jeweils Auskunft über den Status des Elements im Modell, beschreibt also die Dynamik des Elements. Die einzelnen Daten in diesem Informationssatz werden mit dem aus dem englischen übernommenen Begriff „ A t t r i b u t " bezeichnet. Attribute sind variable Zahlenwerte oder veränderliche logische Größen. Ein Attribut eines Elementes „ K u n d e " im Wartesystem gibt zum Beispiel an, ob sich dieses Element in der Warteschlange oder an der Kasse befindet. Die Veränderung eines Attributes bedeutet somit eine Zustandsveränderung für das betreffende Modellelement, also eine Änderung des Modellstatus. Das ist jedoch gerade ein Ereignis. Die Ereignisse im Modell werden daher als von den Elementen ausgelöst interpretiert. Die möglichen Ereignisfolgen, die durch ein bestimmtes Element im Modell ausgelöst werden können, bezeichnet man als einen „Prozeß". Die durch diesen Prozeßbegriff abgegrenzten Komponenten eines Modells sind für sich genommen überschaubar und anschaulich aufgebaut. Die durch einen Kunden im Warenhaus ausgelösten Ereignisse und die durch einen Auftrag im Maschinenpark ausgelösten Bearbeitungsgänge sind isoliert betrachtet nicht verwirrend. Erst das vielfältige Ineinandergreifen der unterschiedlichsten Prozesse macht das Geschehen komplex. Die für die Nachbildung der Kaufhauskasse erforderlichen 3 Prozesse sind in der Abbildung 2—3 in Form von Ablaufdiagrammen gegeben. Diese Prozesse werden durch die drei Elemente Kasse, Kassierer und Kunde bestimmt.

57

2.1 Der Entwurf von Modellen Kasse

Kassierer

Kunde

I 1

8 Uhr Kasse ö f f n e n

Kassierer aus G2 rufen

13 Uhr Kasse schließen

15 Uhr Kasse ö f f n e n passivj Kassierer aus G2 rufen

J Q

18 Uhr Kasse schließen

Abbildung 2 - 3 .

G l : Gruppe wartender Kunden Gruppe wartender Kassierer

G2:

An dieser Darstellung fällt auf, daß nur „der K u n d e " beschrieben ist, bei der Simulation in Tabelle 1—20 hatten jedoch 50 Kunden die Kasse passiert. Um begriffliche Klarheit zu schaffen, m u ß daher unterschieden werden zwischen: a) „dem K u n d e n " als abstraktem Begriff mit bestimmtem Inhalt b) „den Kunden", die konkret beim Simulatiönslauf die Kasse passieren. „Der K u n d e " als abstraktes Element wird im Prozeß-Konzept durch eine Prozeß-Klasse dargestellt. In der Prozeß-Klasse „ K u n d e " werden formal die Eigenschaften und Abläufe beschrieben, die allen Kunden gemeinsam sind und als charakteristisch für die Kunden angesehen werden können. Diese Beschreibung dient als Form oder Matrize, nach der während der Simulationsläufe die einzelnen, konkreten Prozesse, „die Kunden", gebildet werden, die dann zu unterschiedlichen Zeiten im Warteraum der Kasse eintreffen. Ein

2. Techniken der Simulation

58

bestimmter Prozeß „ K u n d e " im Modell ist also eine Realisierung, ein Beispiel aus der Prozeß-Klasse „Kunde". Die Prozesse einer Klasse stimmen somit nur strukturell überein. Sie können sich während des Ablaufs durchaus in ihren Eigenschaften voneinander unterscheiden. Im einfachen Beispiel der ProzeßKlasse „ K u n d e " unterscheiden sich die einzelnen Prozesse „ K u n d e " zum Beispiel durch die unterschiedlichen Bedienungszeiten an der Kasse. Prozesse haben im allgemeinen eine zeitliche Ausdehnung bezüglich der Modellzeit. Da Ereignisse definitionsgemäß keine zeitliche Dauer haben, müssen in einem Prozeß unterschiedliche Phasen abgegrenzt werden. Der Beginn jeder neuen Phase wird durch eine Marke, den „Reaktivierungspunkt" gekennzeichnet. Ein Prozeß kann drei Zustände annehmen: 1. aktive Phase: die Ereignisse zwischen zwei Reaktivierungspunkten laufen ab; diese Phase verbraucht keine Modellzeit. 2. passive Phase: der Prozeß wartet in der Ereigniswarteschlange (siehe oben) auf die Beendigung einer Modellzeit verbrauchenden „Tätigkeit" (vgl. Abbildung 2—3: Kassierer „bedient", Kunde „wird bedient"). Der Zeitpunkt der Reaktivierung ist bereits festgelegt. 3. inaktive Phase: der Prozeß befindet sich in einer Gruppe Gj und wartet auf seine Reaktivierung. Der Zeitpunkt hierfür ist jedoch noch nicht festgelegt, vielmehr geschieht die Reaktivierung nach gegebenen Auswahlregeln, wenn sich mehrere Elemente in der angesprochenen Gruppe befinden. Zum Beispiel enthält die Gruppe Gi in Abbildung 2—3 alle vor der Kasse wartenden Kunden. Diese werden in der Reihenfolge ihres Eintreffens in der Gruppe auch wieder aus der Gruppe herausgerufen, womit die meist übliche Disziplin in Warteschlangen nachgebildet ist. Es können aber auch beliebige andere Rangfolgen gewählt werden. Der Ablauf der Modellzeit in einem Prozeß kann jedoch nicht beliebig erfolgen, sondern muß im gesamten Modell, das aus vielen Prozessen bestehen kann, zentral gesteuert werden. Diese Prozeß-Steuerung ist in ihren wesentlichen Zügen in der Abbildung 2—4 dargestellt. Die Ereigniswarteschlange nimmt die aktiven Phasen (das heißt die Ereignisse) der Prozesse nach aufsteigender Modellzeit auf, sobald der Zeitpunkt für ihr Stattfinden festliegt. Die Ereignisse sind jeweils gekennzeichnet durch: -

Zeitpunkt des Stattfindens zugehörigen Prozeß (z. B. P2 für E 0 ) Reaktivierungspunkt im Prozeß (z. B. RP1 für E 0 )

59

2.1 Der Entwurf von Modellen Ereigniswarteschlange

i E

_ Prozeß-Steuerung

passiv E3

n-1

E2

E, Zeit P RP

aktiv

Eo__

Modell-

Zeit

[1111 |

P2~

Zeit

rp T

r

(_ inaktjv_

P1 RP 1 RP 2

RP 3 RP 1

P 2

P 3

P i

G 1

G 2

G m

RP 1 RP 2 RP 3 RP k

• = Ablaufsteuerung

= Prozeßwege

Abbildung 2 - 4 .

Die Prozeß-Steuerung entnimmt das erste Ereignis der Ereigniswarteschlange. Sie setzt die Modellzeit gleich dem Zeitpunkt dieses Ereignisses (dabei darf die Modellzeit nur gleichbleiben oder wachsen). Dann springt sie den Prozeß (z. B. P2) auf dem Reaktivierungspunkt (z. B. RP1) an, der im Ereignis (hier: E 0 ) vermerkt ist. Der Prozeß ist nun aktiv. Die Anweisungen zu diesen Aktivitäten enthält der Prozeß selbst (z. B. von RP1 bis RP2). Solange der Prozeß aktiv bleibt, ist die Modellzeit konstant. Die Aktivität eines Prozesses schlägt sich in Manipulationen der Prozeß-Attribute nieder. Dabei kann es sich um die Attribute des gerade aktiven Prozesses selbst handeln, aber auch um solche anderer Prozesse. Dadurch werden unter Umständen Ereignisse verschoben. Im Extremfall kann dadurch ein anderer Prozeß die Aktivitäten des laufenden Prozesses unterbrechen und selbst sofort aktiv werden. Die aktive Phase eines Prozesses endet, indem er -

entweder in einer der Gruppen Gj inaktiv wird

-

oder für eine definierte Zeitspanne passiv wird. Dann erhält er einen neuen Ereigniszeitpunkt und wird damit in die Ereigniswarteschlange eingeordnet.

60

2. Techniken der Simulation

Das nächste Ereignis wird dann der Ereigniswarteschlange entnommen. Liegen mehrere Ereignisse mit gleichem Ereigniszeitpunkt vor, muß die Auswahl durch Prioritäten eindeutig geregelt sein. Der Steuer-Zyklus beginnt nun von neuem. Auf diese Weise läuft eine ganze Reihe von Prozessen scheinbar gleichzeitig ab, denn auch inaktive und passive Prozesse „laufen" ja weiter. Deshalb wird für diese Form der Ablaufsteuerung, die das zentrale Problem der Modellzeitführung in komplexen, diskreten Modellen auf sehr elegante Weise löst, die Bezeichnung „quasi-parallel" verwendet (quasi-parallel-processing, dieses Verfahren ist eng mit dem time-sharing-Betrieb moderner Computer verwandt). Die vollständige Nachbildung der Kaufhauskasse mit dem Prozeß-Konzept setzt sich zusammen aus den 3 Prozessen der Abbildung 2—3 sowie den beiden Gruppen G! „Warteschlange" und G 2 „wartender Kassierer". G 2 enthält demnach höchstens ein Element. Wie die Abbildung 2—3 anschaulich zeigt, können die Prozesse zunächst unabhängig voneinander aufgebaut werden. Die Wechselbeziehungen zwischen den Prozessen werden an zwei Punkten deutlich: der Antritt aus den Gruppen Gi und G 2 wird jeweils durch einen anderen Prozeß veranlaßt. Die Kunden aus der Gruppe Gi „Warteschlange" werden durch den Prozeß „Kassierer" gerufen, der Kassierer aus der Gruppe G 2 „Wartender Kassierer" durch einen eintreffenden Prozeß aus der Prozeßklasse „Kunde". Die wesentlichen Begriffe aus der Ablaufsteuerung diskreter Modelle und dem Prozeß-Konzept sind in der Tabelle 2—5 zusammengestellt. Tabelle 2 - 5 . Begriff

Merkmal

Element

Informationseinheit im Modell, besitzt statischen Teil: Eigenschaften, dynamischen Teil: Attribute

temporär, transient, passiv (Element)

nur zeitweise im Modell (z. B. Kunde)

permanent, aktiv (Element)

ständige Modellbestandteile (z. B. Bedienungsschalter)

Modellzeit

monoton wachsender Zahlenwert, mit dem im Modell der reale Zeitablauf nachgebildet wird

Abiaufzeit (Computerzeit)

reale Zeit, die für den Simulationslauf mit einem Modell erforderlich ist

Ereignis

Zustandsänderung des Modells, zum Beispiel ein Element verändert seinen Status. Ein Ereignis hat keine zeitliche Ausdehnung bezüglich Modellzeit

Prozeß

durch ein bestimmtes Element ausgelöste Ereignisfolge

Prozeßklasse

formale Beschreibung einer Prozeß-Struktur Vereinbarungen über Eigenschaften, Attribute, Operationen

61

2.1 Der Entwurf von Modellen Begriff

Merkmal

kritische Zeit

Zeitpunkt, zu dem ein Ereignis stattfindet

Ereigniswarteschlange

enthält künftige Ereignisse nach kritischen Zeiten geordnet, dient der zentralen Ablaufsteuerung des Modells

zeitorientierte Ablaufsteuerung

die Modellzeit wächst in festen Zeitschritten A t, die in einen Zeitschritt fallenden Ereignisse gelten als am Ende stattfindend

ereignisorientierte Ablaufsteuerung

die Modellzeit springt von Ereignis zu Ereignis, vgl. imperative und interrogative Ablaufsteuerung

interrogative Ablaufsteuerung

Grundidee:

ein Ereignis findet statt, wenn sich die erforderlichen Bedingungen eingestellt haben

imperative Ablaufsteuerung

Grundidee:

die Modellzeit läuft und löst Ereignisse aus

aktive Phase (eines Prozesses)

der Prozeß löst Ereignisse aus

inaktive Phase (eines Prozesses)

der Prozeß wartet in einer Gruppe, Zeitpunkt der Reaktivierung liegt nicht fest

passive Phase (eines Prozesses)

eine Modellzeit benötigende „Tätigkeit" im Prozeß (Zeitpunkt der Reaktivierung liegt fest)

Reaktivierungspunkt

dient zur Beendigung passiver Phasen

quasi-parallele Prozesse

zu einem Zeitpunkt ist nur ein Prozeß in einer aktiven Phase, beliebig viele aber in jeweils einer passiven

2.1.2 Modelle in mathematischer Formulierung Ziel dieses Abschnittes ist es, einige der mathematischen Grundlagen zu vermitteln, die zur Formulierung eines Modells in Gestalt von Gleichungen erforderlich sind. Häufig können die Elemente eines dynamischen Systems durch eine Anzahl signifikanter Zahlenwerte beschrieben werden. Diese Werte, die sich mit dem Zeitablauf verändern, bezeichnet man als Variable. So wird das Element „Fertiglager" eines Systems „Unternehmen" durch eine Variable „Bestand" für jedes Produkt im Lager beschrieben; das Element „Produktion" wird zum Beispiel durch die Variablen „Produktionskapazität" für die verschiedenen Produkte gekennzeichnet (vgl. Abbildung 2 - 6 ) . Auch die Relationen eines Systems können, wie der Zustand der Elemente, häufig durch Variable charakterisiert werden. Die durch die „Produktionsrate" Pi beschriebene Menge des Produktes 1 gelangt aus der Fertigung ins Lager. Die „Auslieferung" Ai aus dem Lager stellt die Verbindung zum Markt her.

62

2. Techniken der Simulation

PK,: Produktionskapazität für Produkt 1 L,: Lagerbestand von Produkt 1

P,: BV,: BD,: A,:

Produktionsrate für Produkt 1 Bestandsveränderung bei Produkt 1 Bedarf an Produkt 1 Auslieferung von Produkt 1

Abbildung 2 - 6 .

Durch Relationen werden Verknüpfungen zwischen den Elementen eines Systems hergestellt. Zustandsänderungen eines Elements haben dadurch Auswirkungen auf Relationen oder den Zustand anderer Elemente. Damit liegen auch Abhängigkeiten zwischen den beschreibenden Variablen vor, die häufig durch Gleichungen angegeben werden können. Sehr einfache Gleichungen liegen vor, wenn man in Abbildung 2—6 annimmt, daß: BV, = A, ?!

=

BVi

Das mathematische Modell eines Systems besteht also aus: - Variablen, die Elemente und Relationen des Systems beschreiben, - Gleichungen, die die Verknüpfungen zwischen den Variablen beschreiben. Zunächst gilt es also, geeignete Variable für die Beschreibung des Systems zu finden. Grundsätzlich können in einem Modell drei Typen von Variablen unterschieden werden (vgl. Abbildung 2—7): Zustandsvariable

63

2.1 Der Entwurf von Modellen

-

endogene Variable exogene Variable

Zustandsvariable beschreiben den Status der Systemelemente zu einem festen Zeitpunkt. Sie beziehen sich ausschließlich auf das Innere des Systems. Typische Zustandsvariable sind zum Beispiel Lagerbestände L x , L 2 , L 3 . . . und Produktionskapazitäten PKi, PK 2 , P K 3 . . . . Modell Parameter Eingabe

exogene

Zustandsvariable

endogene Variable

Ausgabe

Variable

Abbildung 2 - 7 .

Endogene und exogene Variable beziehen sich auf die Beschreibung der externen Relationen des Systems. Endogene Variable haben ihren Ursprung im Modell. Ihr Wert wird durch Struktur und Dynamik des Modells bestimmt. Man kann sie daher auch als Ausgabe bzw. Reaktionen des Modells interpretieren. Beispiel für eine endogene Variable ist in Abbildung 2—6 die Auslieferungsrate A i , die sich nach Lagerbestand und Produktionskapazität richtet. Exogene Variable haben ihren Ursprung nicht im Inneren des Modells, sondern ihr Wert wird durch äußere Einflüsse bestimmt. Struktur und Dynamik des Modells selbst haben höchstens indirekten Einfluß auf die exogenen Variablen. Sie können daher auch als Eingabe in das Modell interpretiert werden. Beispiel für eine exogene Variable ist in Abbildung 2—6 der Bedarf BDi. Die in Abbildung 2—7 gekennzeichneten Parameter dienen nicht der Beschreibung der Modellzustände oder der externen Relationen. Mit ihrer Hilfe können vielmehr die Verknüpfungen zwischen den Variablen beeinflußt werden. Als Beispiel hierfür dient der Faktor a in den noch folgenden Gleichungen (2.1) und (2.2), die bereits in 1.3.2 (Gleichungen (1.7) und (1.8)) vorgestellt wurden. Zentrales Problem der Modellformulierung ist die Aufstellung geeigneter Gleichungen für die Verknüpfung der Variablen. Durch sie sollen ja die Abhängigkeiten zwischen den Variablen in quantitativ gleicher Weise wie im nachgebildeten System gegeben werden. Einige der wichtigsten Gleichungstypen sollen im folgenden vorgestellt werden. Während Gleichungen lediglich in allgemeiner Form eine Verknüpfung zwischen Variablen beschreiben, in denen mindestens ein Gleichheitszeichen vorkommt, definieren Funktionen eine eindeutige Abhängigkeit.

2. Techniken der Simulation

64

Der Ausdruck: y =

f(x)

weist y als Funktion von x aus. Das bedeutet: jedem Wert von x wird eindeutig ein Wert von y zugeordnet, x

bewegt sich also in dieser Funktion frei,

wird daher als unabhängige Variable bezeichnet, die Werte von y werden durch x bestimmt, daher heißt y abhängige Variable. Richtet sich zum Beispiel in Abbildung 2—6 die Produktionsrate P j eines Produktes nach dem Bedarf B D i , so kann Pi als Funktion von BDi geschrieben werden: Pj

=

f(BD0

Häufig findet man auch die Schreibweise P»

=

Pi(BD0

Im Abschnitt 1.3.1 wurden die Gesamtkosten C in einem speziellen Lagerhaltungssystem als Funktion der Bestellmenge q gegeben: c

=

+

2

q

C(q) Die Konstanten r, Ci und c 2 sind hierin Parameter. Für die dort gegebenen Werte der Parameter wurde daraus:

Diese Funktion läßt sich in einem Achsenkreuz als Kurve darstellen (Abbildung

2-8): c

Abbildung 2 - 8 .

q

65

2.1 Der Entwurf von Modellen

Allgemein bezeichnet man eine Funktion als stetig, die sich in einem Achsenkreuz als glatte, ununterbrochene Kurve darstellen läßt. Die Stetigkeit ist die mathematische Entsprechung des anschaulichen Begriffs der Kontinuität. Für die Erstellung kontinuierlicher Modelle werden vorwiegend stetige Funktionen (und dem entsprechend auch Gleichungen) verwandt. Unstetigkeiten treten i. a. nur in Sonderfällen auf. Die Kostenfunktion des Lagerhaltungssystems ist zum Beispiel für den nur theoretischen Fall q = 0 unstetig. Der Wert von C wächst hier gegen unendlich. Durch fehlerhafte Verknüpfungen in einem komplexen Modell könnte dieser Fall eintreten. Auch reale Zusammenhänge fuhren in der Nachbildung zu Unstetigkeiten einer Funktion. Das ist zum Beispiel der Fall, wenn man in einem Lagersystem von einer bestimmten Bestellmenge an Rabatte erhält, die gegen die Lagerkosten aufzurechnen sind. Wird in obigem Beispiel ab einer Bestellmenge von 200 Stück ein Rabatt von 2 % auf den Kaufpreis von DM 5 , - gewährt, so erhält die Kostenfunktion das Aussehen: O.lq+^p

für q < 2 0 0

0,lq+^0

_ i o für q > 200

Die neue Kurve ist in Abbildung 2—9 dargestellt: C "

200

q

Abbildung 2 - 9 .

Die Kurve weist an der Stelle q = 200 einen Sprung auf, ist dort also nicht mehr stetig.

2. Techniken der Simulation

66

Solche Unstetigkeiten bedürfen in einem kontinuierlichen Modell stets besonderer Aufmerksamkeit. Eine Verallgemeinerung des Funktionsbegriffes ergibt sich, wenn eine Variable y nicht nur von einer, sondern mehreren Variablen Xi, x 2 . . . x n abhängt. Das wird durch die Schreibweise ausgedrückt: y = f ( x i , x2 . . . , x n ) Hängt zum Beispiel die Produktionsrate in Abbildung 2—6 nicht ausschließlich vom Bedarf, sondern auch vom vorhandenen Lagerbestand und der Produktionskapazität ab, so würde diese Funktion geschrieben: Pl =

^(BDlLLPK,)

Gilt allgemein, daß m Variable y ! , y 2 , . . . y m von unabhängigen Variablen X!, x 2 , . . . x n abhängen, so ist die ausführliche Schreibweise: Yi = f i ( x i , x 2 , . . . , x n ) y2 = f 2 ( x i , x 2 , . . . , x n ) Ym =

f"m ( x i > x 2 . • • • > x n )

Zur Vereinfachung faßt man die Variablen zusammen: y

= (yi, y2, •••, y m )

X = (Xi, x 2 , . . . , x m ) Solche Zahlengruppen werden als Vektoren, die Variablen x t , x 2 , - • • x n selbst als Vektorenkomponenten bezeichnet. Die Zahlen n bzw. m sind Dimensionen der Vektoren. Der Zusammenhang zwischen x und y wird nur durch eine Vektorfunktion gegeben: y

=

f(x)

In der modernen Literatur unterscheidet man nur noch selten durch die Schreibweise zwischen einer Variablen (die ja nur einen Zahlenwert darstellt) und einem Vektor, da sich die Bedeutung meist eindeutig aus dem Zusammenhang ergibt oder Zweifel anderweitig ausgeschlossen werden. Sind in einem Vektor alle Variablen zusammengefaßt, die den Zustand eines Systems oder Systemelementes beschreiben, so bezeichnet man ihn häufig als „Zustandsvektor" (des Systems). Die Zusammenfassung von Variablen zu Vektoren dient lediglich zur kürzeren Schreibweise und besseren Übersicht. Die Überlegungen zur Stetigkeit sind hierbei bezüglich jeder einzelnen Vektorkomponente anzustellen. Das gleiche gilt für die weiteren Untersuchungen.

2.1 Der Entwurf von Modellen

67

Neben der Stetigkeit ist die Differenzierbarkeit die wichtigste qualitative Eigenschaft einer Funktion. Hier sei nur die Bedeutung der Ableitung (= Differentiation) einer Funktion kurz erläutert. In der Abbildung 2—10 ist erneut die Kostenfunktion C = C (q) des Lagerhaltungssystems grafisch dargestellt.

Die Ableitung C ' der Funktion C (q) an der Stelle q 0 = 200 gibt gerade die Steigung der Tangente an die Kurve in diesem Punkt an. Der Wert der Steigung ist 0,05. Für die Tangente beschreibt die Steigung, um wieviel C sich verändert, wenn q um eine Einheit wächst. Wird q zum Beispiel um 50 Einheiten vergrößert, wird der durch die Tangente bestimmte Wert von C um 0,05 • 50 = 2,5 DM größer. Umgekehrt verringert sich der Betrag von C um 2,5 DM, wenn q um 50 Stück reduziert wird. Die Steigung der Tangenten gilt für die Kostenkurve exakt nur an der Stelle q = 200. An der Stelle qi = 250 ist der Wert der Kostenfunktion 33, an der Stelle 150 ist er 28,33. Es ergeben sich also Abweichungen gegenüber den mit der Tangente errechneten Werten 30 - 2,5 = 27,5 und 30 + 2,5 = 32,5. In der unmittelbaren Umgebung von q 0 = 200 (z. B. q = 199, 201) ist jedoch die Interpretation erlaubt, daß sich die Kosten um C ' • (qi — q 0 ) ändern, wenn sich q nur um eine kleine Differenz (qi — q 0 ) ändert. Allgemein ist die Ableitung y' einer Funktion f ( x ) an einer bestimmten Stelle x 0 also ein Maß für die Änderung der abhängigen

68

2. Techniken der Simulation

Variablen y. Insbesondere gibt sie an, ob die Funktion wächst (y' > 0), fällt (y' < 0) oder sich nicht verändert (y' = 0), wenn x wächst. Meist ist auch die Ableitung y einer Funktion f (x) nach der unabhängigen Variablen x selbst eine Funktion dieser Variablen: y = y'(x). Für genügend kleine Differenzen x 0 — Xi gilt nach obigen Ausführungen offenbar näherungsweise: \

_

y(Xo)

-

v

y(*o) ~

y(xi)

x0-x,

Den rechts stehenden Ausdruck bezeichnet man als „Differenzenquotient". Eine besondere Klasse von Funktionen zeichnet sich dadurch aus, daß ihre Ableitung für alle x konstant ist: y' = a = konstant für alle x Diese Funktionen haben allgemein das Aussehen: y = ax + b Ihre Bilder im (x, y)-Achsenkreuz sind Geraden. Man bezeichnet deshalb diese Funktionen als „linear". Das Wesen der Linearität besteht darin, daß die Variablen sich direkt proportional zueinander verhalten. Diesen Zusammenhang findet man in der Praxis recht häufig oder kann ihn angenähert voraussetzen. Zum Beispiel ist oft die produzierte Menge ein Gutes proportional zur Zeit, die Produktionskosten sind proportional zur produzierten Menge, der Rohgewinn ist proportional zur verkauften Stückzahl. Eine lineare Funktion mehrerer Veränderlicher xi, x 2 , . . . , x n hat das Aussehen: y = aiXi + a 2 x 2 + . . . + a n x n + b das heißt die abhängige Variable ist proportional zu jeder der unabhängigen Variablen. Modelle, in denen nur lineare Funktionen und Gleichungen enthalten sind, bezeichnet man insgesamt als linear. Funktionen und ihre Ableitungen haben für die Formulierung von Modellen dynamischer Systeme eine überragende Bedeutung. Insbesondere können die Variablen des Modells stets als Funktionen der Zeit angenommen werden. Gelingt es, diese Funktionen zu bestimmen, so ist das Modellverhalten (und damit das des Systems) insgesamt geklärt. Eine direkte Konstruktion einer Funktion ist jedoch selten möglich (sie würde die Simulation erübrigen). Vielmehr ist es häufig nur möglich, allgemeinere Gleichungen zwischen den Variablen und ihren Ableitungen aufzustellen. Das war zum Beispiel in den Gleichungen (1.7) und (1.8) des Abschnitts 1.3.2 der

69

2.1 Der Entwurf von Modellen

Fall, mit denen das einfache System der Abbildung 2—6 beschrieben wird. Die Ä n d e r u n g L' des Lagerbestandes L eines P r o d u k t e s wird darin zu j e d e m Zeitp u n k t t d u r c h die Differenz zwischen der Produktionsrate P (t) u n d der Auslieferungsrate A ( t ) = k o n s t a n t = A ausgedrückt: L'(t) = P ( t ) — A

(2.1)

Die Ä n d e r u n g P ' der Produktionsrate P z u m Z e i t p u n k t t des P r o d u k t e s wird als negativ proportional zur Differenz zwischen dem Lagerbestand L ( t ) u n d einem Sicherheitsbestand S a n g e n o m m e n : P'(t)

= -a-(L(t)-S)

(2.2)

a u n d S sind in dieser Gleichung Parameter (S k ö n n t e in einem anderen Ansatz auch endogene Variable sein), A ist exogene Variable, P u n d L sind Zustands-Variable. Ihr Verlauf in der Zeit ist zu ermitteln. Die Gleichungen (2.1) u n d (2.2) werden als Differentialgleichungen bezeichnet, da neben den Variablen auch deren Ableitungen (= Differentiale) in die Gleichung eingehen. Diese Differentialgleichungen heißen linear, da alle Abhängigkeiten zwischen den Variablen u n d ihren Ableitungen linear sind. Allgemein h a t ein System linearer Differentialgleichungen das Aussehen: t

y i =

+ ai2

y2

+ . • • ain yn

+ fl (t)

a22

y2

+ . .. a2n yn

+ fa (t)

n i y i + a n 2 y2

+ . • • ann yn

+ fn (t)

a , . yi

t

y 2 = a 2 j yi y"n =

a

=

Als Lösungen dieses Differentialgleichungssystems bezeichnet m a n die Funktion y i = y i ( t ) , y 2 = y 2 ( t ) , . . . , y n = y n ( t ) , für die sämtliche Gleichungen zu allen Zeiten t erfüllt sind. Die Lösungen setzen sich allgemein aus den Funktionen f! (t), f 2 ( t ) , . . . , f n ( t ) u n d drei G r u n d f u n k t i o n e n z u s a m m e n : yi(t) = c,eM

(2.3)

y2(t) = c2sin(a2t)

(2.4)

y3(t) = c3cos(a3t)

(2.5)

Die F u n k t i o n ( 2 . 3 ) bezeichnet m a n als E x p o n e n t i a l f u n k t i o n , e ist darin die Eulersche Zahl mit dem Wert 2,7182. Ihr Verlauf ist für a! > 0 ( = + l ) ( e x p o n e n tiell wachsend) u n d a! < 0 (= —1) (exponentiell fallend) in Abbildung 2—11 dargestellt.

70

2. Techniken der Simulation

Die Funktionen (2.4) und (2.5) stellen Schwingungen dar, die phasenverschoben 27T 27T sind. Die Amplitude ist c2 bzw. c 3 . Die Periode beträgt — bzw. — (vgl. Abbil32 33 dung 2 - 1 1 ) .

Abbildung 2 - 1 1 .

71

2.1 Der Entwurf von Modellen

Es erstaunt nun nicht mehr, daß als Lösungen zu den Gleichungen (1.7) und (1.8) in Abschnitt 1.3.2 mit Hilfe der Simulation Schwingungen gefunden wurden. Diese sind: L(t) = 1 5 0 - 3 0 sin (0.4472 t - 0 . 7 3 ) P(t) = 100 - 13.4166 cos (0.4472 t - 0.73) Solche und komplizierter aus den drei Grundfunktionen zusammengesetzte Lösungen sind mithin bei jedem linearen Differentialgleichungssystem zu erwarten. Nichtlineare Differentialgleichungen haben die Form: y = f(y,t)

(2.6)

y und y' sind darin Vektoren, f ist eine Vektorfunktion. Allgemeine Aussagen über die Lösungen sind bei diesen Differentialgleichungssystemen nicht mehr wie im linearen Fall möglich. Auch ein analytisches Verfahren zur Konstruktion der Lösungen kann allgemein nicht angegeben werden. Hier ist man häufig ganz auf die Simulation angewiesen. Aber auch im linearen Fall ist eine analytische Lösung des Differentialgleichungssystems, wenn es bei der Beschreibung komplexer Systeme umfangreich wird, nur theoretisch möglich. Das gleiche gilt für die überwiegende Mehrzahl mathematischer Modelle die sich allgemein in der Form umfangreicher Gleichungssysteme präsentieren. Die Ermittlung der Funktionen yi (t), y 2 ( t ) , . . . , y n ( t ) , die das Verhalten der Modellvariablen explizit in Abhängigkeit von der Zeit beschreiben, erfolgt daher mit Hilfe der Simulation. Da auch hier, wie bei diskreten Modellen, für die Simulation nahezu ausschließlich Digitalrechner eingesetzt werden, muß das kontinuierliche Modell zur schrittweisen Nachbildung des Zeitablaufs diskretisiert werden. Die Vorgehensweise für den Fall eines Systems von Differentialgleichungen wurde bereits in Abschnitt 1.3.2 demonstriert. Es wurde zunächst der Zeitablauf diskretisiert, indem an die Stelle der Variablen t, die kontinuierlich alle reellen Zahlen durchläuft, eine diskrete Punktfolge t 0 , t ] , t 2 , . . . , t„ gesetzt wurde (vgl. Abbüdung 2 - 1 2 ) . Statt der stetigen Funktion y (t) sucht man nun die Wertefolge y j , y 2 , . . . , y n dieser Funktion für die diskreten Zeitwerte t j zu ermitteln. Zweckmäßig ist es, zwischen die diskreten Zeitwerte tj, i = 1 , 2 , . . . eine konstante Distanz h zu legen, also tj+1 — t; = h. h ist so klein zu wählen, daß näherungsweise die Ableitungen im Differentialgleichungssystem durch den Differenzquotienten ersetzt werden können. y'(tO

yi+i - yi V i - ti

72

2. Techniken der Simulation

Abbildung 2 - 1 2 .

Die Umformungen der Gleichungen (2.1) und (2.2) (für spezielle Werte von h in 1.3.2 bereits geschehen) ergeben zum Beispiel: Lj+i -

L'(tO

Pj+1 ~ Pj

P'(ti)

Vi

Lj+i -

Lj

ti+i

tj

-

Pj+1 - Pi ti+i

Lj

ti+1 - tj

-

^

Pi -

ti A

- a (Lj -

Li+i = Li + h (Pj -

S)

A)

P i + 1 = Pj - h a (Li -

S)

h = tj+i — tj = konstant

(2.7)

(2.8)

Die Gleichungen (2.7) und (2.8) entsprechen näherungsweise den Gleichungen (2.1) und (2.2). Man bezeichnet sie als Differenzengleichungen. Differenzengleichungen dieser Art lassen sich nun lösen, indem man, ausgehend von einem Zeitpunkt t 0 und einem Anfangszustand des Systems, der mit L 0 und

73

2.1 Der Entwurf von Modellen

P 0 gegeben ist, fortschreitend die Wertefolgen der Funktionen L ( t ) und P ( t ) für die Zeitpunkte t¡, i = 1, 2, 3 . . . errechnet. Die beschriebene Methode läßt sich allgemein auf Differentialgleichungssysteme der Form (2.6) anwenden: Y

i

+

1

y i

~ y •r*\ (ti) -= T ti+i - t¡

yi+i

= yi + h f ( y i , t¡)

(2.9)

Die Differenzengleichung (2.9) stellt die einfachste Gleichung dar, die ein System (2.6) in diskreter Form wiedergibt. In Naturwissenschaft und Technik werden vielfach genauere, aber auch komplizierte Umformungen vorgenommen. Die Erfahrung zeigte jedoch, daß die Form (2.9) auch für die Simulation mit sehr umfangreichen und komplexen Modellen genügend genaue Ergebnisse liefert. Sie liegt zum Beispiel dem Ansatz „Industrial Dynamics" von Forrester zugrunde, der in Abschnitt 4.3 vorgestellt wird. Die diskrete Simulation großer, kontinuierlicher Modelle in Form von Differenzengleichungssystemen wirft einige Probleme auf, die bislang noch wenig beobachtet wurden, in der Mathematik aber seit längerem bekannt sind. Das System (2.7) und (2.8) wurde im Abschnitt 1.3.2 mit der recht kleinen Schrittweite h = 0,01 simuliert. Warum diese kleine Schrittweite? Es zeigt sich, daß bei einer Vergrößerung von h die Lösungen für P und L in systematischer und höchst unerfreulicher Weise von der richtigen Lösung abwandern (die exakte Lösung steht hier ja zur Verfügung). In der Abbildung 2 - 1 3 sind Lösungen für P und L eingetragen, die sich mit Schrittweiten h = 0,2, 0,5 und 1,0 ergeben haben. Besonders deutlich wird darin, daß die Amplituden der Schwingungen von P und L in allen Fällen zu starkem Anwachsen neigen. Bei der Simulation mit der Schrittweite h = 1,0 würde die Amplitude von L, im exakten Fall 30, schon nach 35 Schritten auf über 1000 anwachsen. Wo liegt die Ursache für diese offenbar nicht unsystematischen Fehler? Das durch die Diskretisierung entstehende Differenzengleichungssystem hat i. a. mehr Lösungsmöglichkeiten als das zugrundeliegende Differentialgleichungssystem. Es existieren für das Differenzengleichungssystem also mehr Lösungsfunktionen y¡ (t) als für das Differentialgleichungssystem. Auch das Differentialgleichungssystem selbst besitzt i. a. mehr Lösungsfunktionen, als bei einem speziellen Problem gesucht sind. Solange diese überzähligen Lösungen nur unmerklich „im Verborgenen" existieren, stört das nicht weiter. Durch Ungenauigkeiten bei der Lösung (z. B. Rundefehler, Ersetzen der Ableitung durch den Differenzenquotienten) werden jedoch solche Lösungen eingeschleppt.

74

2. Techniken der Simulation

Wie oben angegeben, hat ein lineares Differentialgleichungssystem 3 Funktionstypen als Lösung: y = c eat,

y = c sin at,

y = c cos at.

Die beiden letzten sollten bei der Simulation mit den Gleichungen (2.7) und (2.8) konstruiert werden. Große Schrittweiten h führen jedoch zu Ungenauigkeiten, die auch den ersten Funktionstyp (Exponentialfunktion) einschleppen. Dieser überlagert sich mit der vorhandenen Schwingung und führt zu einer Schwingung mit exponentiell wachsender Amplitude (Abbildung 2—13). Neigt ein Differenzengleichungssystem leicht zum Einschleppen fremder, nicht gesuchter Lösungen, so bezeichnet man es als „instabil". Einziges Mittel zur Vermeidung von Instabilität und damit völliger Verfälschung der Simulationsergebnisse ist die Verkleinerung von h. Meist ist es erforderlich, zwei Simulationsläufe mit deutlich unterschiedlichen h-Werten (z. B. 0,1 und 0,5) durchzuführen, um das Stabilitätsverhalten des Systems zu erkennen. Zeigt sich zwischen zwei solchen Läufen eine deutliche Verschiebung der Simulationsergebnisse (Verlauf der Lösungsfunktionen), so ist auf Instabilität zu schließen und h weiter zu verkleinern. Da mit kleinem h zugleich der Rechenaufwand beträchtlich ansteigt, liegt in der Bestimmung von h ein zentrales Problem der kontinuierlichen Simulation.

Abbildung 2 - 1 3 .

2.2 Hilfsmittel aus der Mathematischen Statistik

75

2.2 Hilfsmittel aus der Mathematischen Statistik

2.2.1 Begriffe Zwischen Simulation und Mathematischer Statistik besteht eine enge Beziehung. Die Ursache ist darin zu suchen, daß die Objekte der beiden Sachgebiete eine gewisse Analogie aufweisen. Die Simulation befaßt sich mit der Klärung von Struktur und Eigenschaften vorzugsweise komplexer dynamischer Systeme. Darin sind Ursachen und Wirkungen einander nicht immer determiniert zuzuordnen, allein schon deshalb, weil nicht alle Ursachen erfaßbar und alle Verknüpfungen sichtbar sind. Schon in einem gut durchorganisierten Maschinenpark kann die Güte jedes einzelnen Produktes nicht mit Bestimmtheit vorhergesagt werden. Um so weniger ist natürlich der Ablauf des Straßenverkehrs vorherzusagen, an dem eine Vielzahl individuell handelnder Verkehrsteilnehmer beteiligt ist. Die Mathematische Statistik befaßt sich jedoch gerade mit Ereignissen, deren Ergebnis im Einzelfall nicht mehr vorhersagbar ist, die in ihrer Summe jedoch gewissen Gesetzmäßigkeiten folgen. Einfachstes Beispiel dafür ist der Würfel. Bei einem (idealen) Würfel ist nicht vorhersagbar, welche Augenzahl er nach einem Wurf zeigen wird, jedoch ist zu erwarten, daß bei einer Vielzahl von Würfen jede Augenzahl etwa gleich häufig erscheinen wird. Diese Aussage über eine Gesamtheit von Würfen ermöglicht es, weitergehende Kalkulationen vorzunehmen, zum Beispiel bei wievielen Würfen zwei Sechsen hintereinander erwartet werden können. Mit Hilfe der Methoden der Statistik ist es also möglich, auch dann über die Qualität von Produkten oder den Verkehrsfluß an Kreuzungen wesentliche Aussagen zu machen, wenn der Einzelfall unbestimmt ist. Es lassen sich grundsätzlich zwei Mengen von Ereignissen definieren: 1. determinierte (sichere) Ereignisse 2. unbestimmte Ereignisse, hierunter interessieren speziell: stochastische Ereignisse Zur Definition geht man von einem festen Satz S von Bedingungen und Ursachen aus. Diesen Satz S bezeichnet man auch als Ursachenkomplex oder Versuchsanordnung. Jede Realisation von S bezeichnet man als „Ereignis". Ein Ereignis im statistischen Sinn ist also ein Experiment in der Anordnung S mit einem bestimmten Ergebnis (Dieser Ereignisbegriff unterscheidet sich zunächst also von dem bei diskreten Modellen). Zum Würfelexperiment gehört als Bedingungssatz S etwa: ein Würfel ist lose aus der offenen Hand schräg auf eine

76

2. Techniken der Simulation

feste, ebene Fläche so zu werfen, daß er auf der Fläche ausrollt und zum Stillstand kommt; als Ergebnis gilt die Zahl der Punkte, die auf der oben liegenden Fläche zu sehen sind. Der Würfel muß symmetrisch und ausgewogen sein. Führt jedes Experiment in S zum gleichen Ergebnis, so heißt das Ereignis sicher oder determiniert. Treten bei mehrfacher Realisierung von S unterschiedliche Ereignisse auf, so heißen diese Ereignisse unbestimmt. Alle möglichen Ereignisse bei der Realisierung von S bezeichnet man als die zu S gehörende Ereignismenge M. Diese kann endlich oder unendlich sein. Beim Würfel besteht die (endliche) Ereignismenge aus den 6 möglichen Ergebnissen eines Wurfs. Die Statistik befaßt sich nun nicht mit allen unbestimmten Ereignissen, sondern nur mit einem Teil, bei dem über die Ereignismenge M insgesamt Aussagen möglich sind. Bei häufigem Würfeln zum Beispiel zeigt sich, daß die Häufigkeit n¡, i = 1, 2, . . . 6, mit der jede Augenzahl bei n Würfen auftritt, dicht bei n/6 liegt. Anders formuliert: die relative Häufigkeit liegt bei 1/6. Sind allgemein die Bedingungen erfüllt, daß 1. die Realisation von S beliebig oft möglich ist und 2. die relativen Häufigkeiten der Ereignisse E¡ aus der zu S gehörenden Ereignismenge M gegen bestimmte Zahlenwerte p (E¡) konvergieren, so bezeichnet man die Ereignisse E¡ als „stochastisch" oder zufällig. p(E¡) nennt man die Wahrscheinlichkeit von E¡. Entsprechend ist beim Würfeln die Wahrscheinlichkeit für jede Augenzahl 1/6. Für die relativen Häufigkeiten gilt definitionsgemäß, wenn n die Zahl der Realisationen von S (Experimente) ist und n¡ die Häufigkeit, mit der E¡ auftritt:

2. 0 < H ( E i ) < 1 3. Z H (Ej) = 1 Ei Die Summe ( 2 ) in 3. ist über alle Ereignisse Ej aus M zu erstrecken. Bei einem Würfel ergab sich zum Beispiel bei einer Serie von 600 Wurf: Augenzahl

1

2

3

4

5

6

97

104

105

96

101

97

0.16

0.17

0.18

0.16

0.17

0.16

Häufigkeit relat. Häufigkeit

Summe 600 1.0

2.2 Hilfsmittel aus der Mathematischen Statistik

77

Für die Wahrscheinlichkeiten p(E) gilt entsprechend: 1. 0 < p (E)

< 1

2. 2

< 1

p(E)

Sichere Ereignisse haben die Wahrscheinlichkeit p (E) = 1, unmögliche die Wahrscheinlichkeit p (E) = 0. Gilt bei der Beziehung 2. das Zeichen < , so ist die Menge M der Ereignisse unvollständig, gilt das Gleichheitszeichen, so ist M vollständig. Den Wert der Wahrscheinlichkeiten erhält man entweder unmittelbar aus logischen Überlegungen oder über ein statistisches Modell (vgl. Abschnitt 2.2.2.1). Beim Würfel sind die Wahrscheinlichkeiten unmittelbar mit Hilfe von Symmetrieüberlegungen zu ermitteln. Setzt man einen exakt gearbeiteten Würfel mit homogener Massenverteilung voraus, so ist bei jedem Wurf die Wahrscheinlichkeit für jede Augenzahl gleich, das heißt p ( l ) = p (2) = p(3) = . . . = p(6) = p. Es gilt jedoch: £ p ( i ) = 1; i= 1

2 P = 1; i= 1

6p = 1;

p = 1/6

Nicht immer gelingt es auf diese Weise, Wahrscheinlichkeiten zu ermitteln. Dann hilft eine Aussage über den Zusammenhang zwischen relativer Häufigkeit und Wahrscheinlichkeit weiter, die unter der Bezeichnung „Gesetz der großen Zahl" (von Bernoulli) bekannt ist: •

Ist p (E) die Wahrscheinlichkeit für ein Ereignis E und H (E) die relative Häufigkeit, dann ist für große Versuchszahlen n die Wahrscheinlichkeit nahezu gleich 1, daß sich H(E) und p(E) wenig unterscheiden; oder in anderer Formulierung: das Ereignis H (E) — p (E) = 0 ist für große n nahezu sicher.

Dieses Gesetz besagt zwar nicht, daß H (E) mit wachsendem n definitiv gegen p (E) konvergiert, liefert jedoch eine in der Praxis ausreichende Rechtfertigung dafür, daß die gesuchten Wahrscheinlichkeiten durch die leichter ermittelbaren relativen Häufigkeiten ersetzt werden. Dieser Zusammenhang wird in Abschnitt 2.2.3 weiter ausgeleuchtet. Zwei grundlegende Rechengesetze für Wahrscheinlichkeiten sind der Multiplikationssatz und der Additionssatz. Der Multiplikationssatz lautet: • Sind die Ereignisse E t , E 2 , . . . , E n unabhängig voneinander und ihre Wahrscheinlichkeiten p(Ei), p(E 2 ), . . . , p(E„) gegeben, dann hat das gleichzeitige Eintreffen aller n Ereignisse die Wahrscheinlichkeit: P = p(Ei)p(E2) ... p(En)

78

2. Techniken der Simulation

Bei einem Würfel ist zum Beispiel die Wahrscheinlichkeit, bei einem Wurf eine 6 zu werfen, 1/6. Wie groß ist die Wahrscheinlichkeit, mit zwei Würfeln bei einem Wurf zwei sechsen zu werfen? Da die Ereignisse unabhängig voneinander sind, das heißt die Augenzahl des einen Würfels beeinflußt nicht die Augenzahl des zweiten Würfels, gilt: p = 1/6 • 1/6 = 1/36 Die entscheidende Voraussetzung für die Gültigkeit dieser Rechenregel ist die statistische Unabhängigkeit der Einzelereignisse. Jedes Ereignis trifft danach zufällig mit der ihm zugeordneten Wahrscheinlichkeit ein, unbeeinflußt dadurch, welche Ereignisse vorher, nachher oder gleichzeitig stattfinden. Beim zweiten Wurf mit einem Würfel ist jede Zahl wieder gleich wahrscheinlich, unabhängig davon, welche Zahl das Ergebnis des ersten Wurfs war. Ist dieses Beispiel noch trivial, so fällt es schon vielen Freunden des Zahlenlottos schwer einzusehen, daß bei einer Ziehung am Samstagabend die Zahlenkombination der vorhergehenden Woche wieder mit der gleichen Wahrscheinlichkeit auftreten kann wie jede andere. Denn die Ziehungen sind im Rahmen der allerdings sehr guten technischen Möglichkeiten statistisch unabhängig. Der Additionssatz für Wahrscheinlichkeiten lautet: • Sind die Ereignisse E i , E 2 , . . . , E n unvereinbar und ihre Wahrscheinlichkeiten p i E j ) , p ( E 2 ) , . . . , p ( E n ) gegeben, dann ist die Wahrscheinlichkeit für das Eintreffen eines dieser Ereignisse: p = p(E,) + p ( E 2 ) + . . . + p(En) Bei einem Würfel ist demnach die Wahrscheinlichkeit, bei einem Wurf eine 6, eine 4 oder eine 2 zu werfen: p = 1/6 + 1/6 + 1/6 = 1/2 Diese Ereignisse schließen sich gegenseitig aus, das heißt sie sind unvereinbar, da nicht gleichzeitig eine 6 und eine 4 auftreten kann. Übersieht man die Vereinbarkeit von Ereignissen, so wird das Ergebnis der Rechnung schnell gänzlich falsch. Wie groß ist zum Beispiel die Wahrscheinlichkeit, mit einem Würfel beim ersten, zweiten oder dritten Wurf eine 6 zu würfeln? Man ist zunächst geneigt, auch hier die Wahrscheinlichkeiten zu addieren, also: p = 1/6 + 1/6 + 1/6 = 1/2 Spätestens bei der Betrachtung von acht Würfen zeigt sich, daß ein fundamentaler Fehler vorliegen muß, denn dann wäre: p = 8 • 1/6 = 1.33

79

2.2 Hilfsmittel aus der Mathematischen Statistik

Eine Wahrscheinlichkeit kann jedoch nie einen Wert größer als 1 annehmen. Es wurde hier übersehen, daß die betrachteten Ereignisse vereinbar sind, das heißt es ist möglich, im ersten und zweiten Wurf je eine 6 zu werfen usw. Der auf diesen Fall anzuwendende erweiterte Additionssatz soll hier nicht näher erläutert werden (vgl. [2.17]). Stochastische Ereignisse führen zu geeigneten Modellen bei logisch und kausal schwer durchschaubaren Zusammenhängen. Dabei ist es wenig relevant, ob der der Realität nachgebildete Prozeß tatsächlich seinem Wesen nach stochastisch ist oder ob sich, was wegen des Prinzips von Ursache und Wirkung eher zu erwarten ist, dem Beobachter lediglich einige Ursachen entziehen.

2.2.2 Statistische Modelle 2.2.2.1 Wahrscheinlichkeitsverteilungen Bei stochastischen Ereignissen muß jedem Element Ej der Ereignismenge M eines Ursachenkomplexes S eine Wahrscheinlichkeit p (Ej) zugeordnet sein. Diese Zuordnung erfolgt mit Hilfe von Wahrscheinlichkeitsverteilungen. In den für die Praxis interessanten Fällen lassen sich die Elemente Ej der Ereignismenge M eindeutig auf die reelle Zahlengerade x abbilden. In diesen Fällen kann jedem Ereignis Ej aus M ein Stück der Zahlengeraden x zugeordnet werden. Ein Ereignis Ej besteht dann also darin, daß eine Variable X einen bestimmten Zahlenwert annimmt. Die Zuordnung der Wahrscheinlichkeiten zu den Werten von X wird anhand der Abbildung 2—14 erläutert. /

i 0,5

1

Wendepunkt ^

—^— 1j • i i

-2

^

i

i

i iii • | i -1

i

i

i 0

f(x)

11 ^s,. \ 11 dx' 1 'TT? 1 1j 1 , 1 x 1



11 2

X

Abbildung 2 - 1 4 .

Als Maß für die Wahrscheinlichkeit, daß X im Intervall x + dx liegt (dies ist das Äquivalent für ein Ereignis aus M), gilt die schraffierte Fläche unter der Kurve f ( x ) . Diese Fläche wird näherungsweise gegeben durch f ( x ) • dx. Die Funktion f (x) gibt so die Dichte der Wahrscheinlichkeit über der Zahlengera-

80

2. Techniken der Simulation

den x an. Man bezeichnet sie daher als die Wahrscheinlichkeitsdichte. Sie muß die Normierungsforderung erfüllen:

7

— oo

f (x) dx = 1

Darin „summiert" das Integral, anschaulich formuliert, die Wahrscheinlichkeiten zu allen möglichen Ereignissen, das heißt Werten von x, auf. Die Normierungsforderung ist plausibel, denn es soll ja gerade die Summe der Wahrscheinlichkeiten für alle Ereignisse aus der Ereignismenge M gleich 1 sein. Die Dichtefunktion f ( x ) in der Abbildung 2 - 1 4 ist stetig. Die Variable X kann kontinuierlich alle Werte der x-Achse durchlaufen. Davon zu unterscheiden sind diskrete Wahrscheinlichkeitsdichten, wie sie zum Beispiel beim Würfel vorliegen. Das Ergebnis eines Wurfs kann nur die 6 Werte 1, 2, . . . , 6 annehmen. In diesem Fall ordnet man jedem der diskreten Ereignisse einen Punkt auf der x-Achse zu und trägt über diesem die zugehörige Wahrscheinlichkeit auf. Für den Würfel ergibt sich Abbildung 2—15. Da die Wahrscheinlichkeit für jedes der Ereignisse gleich ist, ergeben sich 6 Säulen gleicher Länge.

Ein anderes Bild ergibt sich, wenn im kontinuierlichen Fall die Wahrscheinlichkeiten für alle Werte von x gleichmäßig über ein Intervall (zum Beispiel [0,1] in Abbildung 2—16) verteüt sind. Dann spricht man von einer Gleichverteilung oder auch Rechteckverteüung. Aus einer Dichtefunktion läßt sich im kontinuierlichen Fall unmittelbar noch keine Wahrscheinlichkeit ablesen. Daher ist eine weitere Begriffsbüdung sehr zweckmäßig, die der Summenverteilung. Ist f ( x ) wieder die Wahrscheinlichkeitsdichte, dann ist die Summenverteilung definiert durch das Integral: F(x) =

/ f ( t ) dt

2.2 Hilfsmittel aus der Mathematischen Statistik

81

0.5 -

1

x

Abbildung 2 - 1 6 .

Darin ist t lediglich ein Integrationsparameter. Definitionsgemäß gibt das Integral die Wahrscheinlichkeit dafür an, daß X im Intervall (— x) liegt (f(t) dt liefert ja die Wahrscheinlichkeit dafür, daß X in t + dt liegt, das Integral „summiert" alle diese Wahrscheinlichkeiten auf). Die zur Dichtefunktion f (x) aus Abbildung 2—14 gehörende Summenverteilung hat das Aussehen (Abbildung 2 - 1 7 ) :

Abbildung 2 - 1 7 .

Die Summenverteilung für einen Würfel hat demgegenüber das Aussehen (Abbildung 2 - 1 8 ) . In diesem Fall liegt also keine stetige Kurve, sondern eine Treppenkurve vor, da die zugrunde liegende Wahrscheinlichkeitsdichte diskret ist. Mit Hilfe der Summenverteilung läßt sich nun der Begriff der Zufallsvariablen

82

2. Techniken der Simulation

1

F(xj)

1/6 -

Abbildung 2 - 1 8 .

definieren. Eine Zufallsvariable ist eine Variable X, die mit durch F(x) gegebenen Wahrscheinlichkeiten bestimmte Werte annimmt. Es gilt also: p (X < Xj) = F ( x j ) Das heißt: die Wahrscheinlichkeit dafür, daß X einen Wert kleiner oder gleich Xj annimmt, ist F(xi). Die Wahrscheinlichkeit dafür, daß X zwischen Xi und x 2 liegt, wäre demnach: p(x, < X < x 2 )

= F(x2) — F(xi)

Entsprechend der zugrunde liegenden Verteilung spricht man von einer kontinuierlichen oder diskreten Zufallsvariablen. Der Begriff der Zufallsvariablen ist für die Simulation sehr nützlich. Mit Zufallsvariablen werden stochastische Einflüsse im Modell beschrieben. Bei der Simulation der Kaufhauskasse im Abschnitt 1.3.2 wurden zum Beispiel die Ankunftszeiten der Kunden und die Bedienungszeiten durch Zufallsvariable gegeben, die einfachen Rechteckverteilungen folgten. Das Verhalten einer Zufallsvariablen wird zwar eindeutig und vollständig bestimmt durch ihre Summenverteilung, jedoch ist es häufig wünschenswert, sie einfacher durch Kennzahlen zu charakterisieren. Zwei wesentliche Kennzahlen einer Wahrscheinlichkeitsverteilung sind der Mittel- oder Erwartungswert p und die Varianz o 2 . Die Wurzel aus der Varianz bezeichnet man als die Standardabweichung o. Der Mittelwert ß einer Zufallsvariablen gibt an, um welchen Wert die Variable verteilt ist; er fixiert in gewisser Weise die Lage der Verteilung. Die Standardabweichung beschreibt, wie groß die mittlere Abweichung

2.2 Hilfsmittel aus der Mathematischen Statistik

83

der Zufallsvariablen vom Mittelwert ist, kann also als ein Maß für die Breite der Verteilung angesehen werden. Für diskrete Verteilungen ist der Erwartungswert definiert: ß

=

2

i=l

Pi*i

Dabei sind pj die Wahrscheinlichkeiten, mit denen die Zufallsvariable X die Werte Xj annimmt. Sinngemäß gilt für kontinuierliche Verteilungen: ß

+00 = / x f ( x ) dx 00

Beim Würfel erhält man zum Beispiel 6

6

ß = 2 1/6 i = 1/6 2 i i= 1 i= 1 ß = 3.5 Die Varianz ist definiert als der Erwartungswert für das Quadrat der Abweichungen der Zufallsvariablen vom Mittelwert. Das ist bei einer diskreten Verteilung: a2

=

n 2 p i i ß - X i f

i=l

Bei stetigen Verteilungen gilt wiederum sinngemäß: a 2 = 7 (M ~ x) 2 f ( x ) d x — 00

Für die Wahrscheinlichkeitsverteilung des Würfels erhält man zum Beispiel die Varianz: a2 =

2 1/6 (3.5 - i) 2 = 2.9 i=l

Daraus die Standardabweichung: 0, ganz, a erfüllt eine Reihe zahlentheoretischer Voraussetzungen, auf die hier nicht näher eingegangen werden kann. (Der interessierte Leser sei verwiesen zum Beispiel auf [2.22]). Dann hat die erzeugte Zahlenfolge die Periode p—1. p — 1 ist die längste, überhaupt mögliche Periode. Denn bevor sich die Folge wiederholt, sind alle Zahlen außer 0 und p genau einmal aufgetreten. 0 und p dürfen jedoch nicht auftreten, da die Zahlenfolge wegen des Bildungsgesetzes dann abbricht.

2.4 Erzeugung von Zufallszahlen

109

2. m ist eine Potenz 2?, p > 4 eine beliebige ganze Zahl; für a gilt: a mod 8 = 3 oder a mod 8 = 5, das heißt a hat die Form 8q + 3 oder 8q + 5, q ist eine beliebige ganze Zahl > 0. Für x 0 schließlich gilt: x 0 = 1 mod 4, das heißt x 0 hat die Form: 4 r + 1, r ist eine beliebige ganze Zahl > 0. In diesem Fall ist die Periode der Zahlenfolge = 2P~ 2 . Für die Größenordnung von a gibt es zwei weitere Kriterien: a ~ V m = 2P/ 2 a ~ 2P-2

(I) £ = I1 ( n / 5 1 - 1)

(II)

In beiden Fällen sind die Voraussetzungen für annehmbare statistische Eigenschaften recht gut. Die Form I , die von Greenberger vorgeschlagen wird, hat jedoch den Nachteil, daß der Faktor a relativ klein zu m ist. Tritt der extreme Fall ein, daß x n einmal sehr klein wird (im Vergleich zu m), dann ist auch x n + i , x n + 2 , . . . usw. unter Umständen noch klein, das heißt es kann trotz insgesamt guter statistischer Eigenschaften zu Anhäufungen recht kleiner Werte kommen. Das wird beim Vorschlag II (von [2.1]) vermieden. Obwohl auf dem Weg 1 Generatoren mit maximaler Periode konstruiert werden können, sprechen eine Reihe von Argumenten für die Konstruktion von Generatoren auf dem Weg 2 mit Periodenlängen, die auf 1/4 reduziert sind. Ein wesentliches Argument ist die erheblich einfachere Konstruktion von Faktoren a zu gegebenem m im Fall 2. Da die statistischen Eigenschaften der erzeugten Zahlenfolgen immer erst noch getestet werden müssen, kann in Fällen unbefriedigender Ergebnisse einfacher auf einen anderen Faktor a zurückgegriffen werden. Außerdem sprechen häufig rechnerische Vorteile im Computer für den Weg 2. Wählt man nämlich p gerade gleich der Wortlänge (in bit) von binär rechnenden Computern, so ergibt sich das Residuum der Multiplikation mod 2P automatisch ohne weitere Rechenoperation durch den Überlauf im entsprechenden Register. Die Verkürzung der Periode schließlich ist zu ertragen, da sie bereits bei einer Wortlänge von p = 32 (z. B. IBM 360) trotz Reduzierung in der Größenordnung 109 liegt, also auch für umfangreiche Simulationen ausreichen dürfte.

2.4.2 Statistische Tests

Die statistischen Tests sind der Maßstab, mit dem die Güte eines Zufallszahlengenerators gemessen wird. Es sind zwei große Gruppen von Tests zu unterscheiden, theoretische Tests und empirische Tests. Da die theoretischen Tests (wie

110

2. Techniken der Simulation

etwa der Spectral-Test, [2.22]) zu umfangreiche mathematische und statistische Voraussetzungen erfordern, werden im folgenden nur die empirischen Tests erläutert. Grundsätzlich sind diese Tests für die Simulation von Interesse. Denn die zentrale Bedeutung der Zufallszahlengeneratoren für die stochastische Simulation leuchtet unmittelbar ein. Dagegen sind die statistischen Eigenschaften auch von vorhandenen Generatoren in Computer-Systemen oft unbefriedigend. Die hier diskutierten Tests sind so ausgewählt, daß sie alle recht einfach und nach einem festen Schema durchzuführen sind: Aus einer empirisch abgeleiteten Eigenschaft, die von echten, rechteckverteilten Zufallszahlen zu erwarten ist, wird eine Hypothese konstruiert, deren Richtigkeit mit Hilfe des bereits erläuterten x 2 -Tests (vgl. 2.2.3) überprüft wird. A. Test auf Gleichverteilung Dieser Test ist praktisch der x 2 -Test in seiner Grundform. Die grundlegende Eigenschaft der Zufallszahlen ist die Gleichverteilung (Rechteckverteilung) im Intervall (0,1), die hier zunächst vorausgesetzt wurde. In der Hypothese wird die Gleichverteilung der generierten Zufallszahlen postuliert. Der x 2 -Test läuft in der folgenden Weise ab: das Intervall (0,1) wird in k Klassen mit der Breite 1/k eingeteilt. Die generierten Zufallszahlen werden jeweils in die entsprechenden Klassen eingeordnet. Der Erwartungswert für jede Klasse ist bei einer Stichprobe von n Zahlen n/k. Der Test verläuft nun wie bereits in 2.2.3 erläutert. B. Serien-Test Dieser Test stellt die unmittelbare Verallgemeinerung der Gleichverteüungstests dar. Es wird überprüft, ob auch identische Serien aufeinanderfolgender Zahlen yj, yj+i, yj+2, • • •, Yi+e unabhängig und gleichmäßig verteüt sind, was in einer echten Zufallszahlenfolge zu erwarten ist. Ein einfach überschaubarer Fall ergibt sich für e = 1, also Paare von Zahlen. Dazu wird wiederum das Intervall (0,1) in k Klassen unterteilt. Jede erzeugte Zahl erhält die Nummer der Klasse, in die sie fällt. Den Zufallszahlen-Paaren wird dann das Paar ihrer Klassennummern zugeordnet, also: (yi, yj+i) = (p, q) wenn y, in die Klasse p, y i + 1 in die Klasse q fällt. Für die k Klassen ergeben sich k 2 verschiedene Kombinationsmöglichkeiten. Jede Kombination der Klassen erhält nun im x 2 -Test eine eigene, neue Klasse. Die in der Stichprobe auftretenden Paare werden diesen Klassen zugeordnet.

2.4 Erzeugung von Zufallszahlen

111

Der Erwartungswert bei zugrundegelegter Gleichverteilung der Paare ist für jede Klasse des x 2 -Tests ^ . Der Stichprobenumfang ist 2 n, das heißt die Paare werden in der Form (y 0 , y ^ , (y 2 , y 3 ), (y 4 , y 5 ) usw. gebildet. Da nach der Faustregel beim x 2 -Test jede Klasse zumindest 5 Elemente enthalten sollte, ist n genügend groß, also mindestens > 5 k 2 , zu wählen. Der x 2 -Test wird mit diesen Daten in der Standardform durchgeführt. C. Gap-Test

(Lücken-Test)

Für diesen Test wird aus dem Grundintervall (0,1) ein Teilintervall [a, b] herausgelöst. Zu untersuchen ist, wieviele Zahlen der Folge yj jeweils zwischen zwei Zahlen aus dem Teilintervall [a, b] liegen. Liegt y n - i in [a, b] und dann erst wieder y n +j, so bezeichnet man die i nicht in [a, b] liegenden Zahlen als Lücke der Länge i. Zweckmäßig bei diesem Test ist es, nicht von der Anzahl n der erzeugten Zahlen auszugehen, sondern n Lücken zu untersuchen und für sie einen x 2 -Test aufzubauen. Dazu werden q + 2 Klassen jeweils für Lücken der Länge i = 0, 1, . . . , q sowie eine für alle Lücken mit i > q eingeführt. Die für den x 2 -Test erforderlichen Wahrscheinlichkeiten errechnen sich, wenn voraussetzungsgemäß die Wahrscheinlichkeit p für eine Zufallszahl im Intervall [a, b] p = —- ist, in Abhängigkeit von i in der folgenden Weise: 0—3 i = 0: po = p; i = 1: pi = p ( 1 - p ) ; i = 2: p 2 = p ( 1 - p ) 2 ; . . . ; i = q: Pq = p ( l - p ) q ; i > q: P q + l = ( 1 - p ) « * 1 . Die Zahl der betrachteten Lücken n und die q+2 Klassen sind für den x 2 -Test so aufeinander abzustimmen, daß sich wieder in jeder Klasse wenigstens 5 Elemente befinden. Eine Rolle spielt außerdem die Wahl von a und b. Rechnerische Vereinfachungen für den Test ergeben sich, wenn entweder a = 0 oder b = 1 gewählt wird. Eine Sonderform des Gap-Tests stellt der „Test auf Läufe unterhalb bzw. oberhalb des Mittelpunkts" dar. In solchen Fällen ist praktisch a = 0, b = 0,5, oder a = 0,5, b = 1. Die Wahrscheinlichkeiten sind dann ausgehend von p = 2 : „ - 1 „ - 1 „ _ 1 „ _ 1 . P o - y . P i - T , . - - , P q " ^ . P q +1 D. Maximum-Test Aus jeweils einer Gruppe von k aufeinanderfolgenden Zahlen der generierten Folge wird die größte ausgewählt: Xj = max (y n , y n + i , y n + 2 , . . . , y n + k - l ) Die Potenzen x 2 sind wiederum gleichverteilt im Intervall (0,1), wofür ein x 2 Test in der Grundform durchgeführt wird.

112

2. Techniken der Simulation

E. Permutations-Test Bei diesem Test wird jeweils eine Gruppe von k Zahlen auf ihre Ordnung hin untersucht, also in welcher Folge sich kleinere und größere Werte abwechseln. Für k = 3 Zahlen gibt es zum Beispiel die 6 möglichen Permutationen: 1: x n < x n + i < x n + 2 ;

2: x n < x n + 2 < x n + i ;

3: x n + 2 < x n < x n + i ;

4: x n + 2 < x n + i < x n ;

5: x n + 1 < x n + 2 < x n ;

6: x n + i < x n < x n + 2 .

Allgemein gibt es für k Zahlen k! (= 1 • 2 • 3 • . . . • k) mögliche Permutationen, die bei einer Gleichverteilung der Zahlenfolge alle die gleiche Wahrscheinlichkeit p = 7"; haben. r k! Daher ist hier ein x 2 -Test über die Gleichverteilung der verschiedenen Permutationen auf k! Klassen durchzuführen. Eine gewisse Schwierigkeit liegt lediglich darin, die einzelnen Permutationen in einem Computerprogramm zu identifizieren. Damit sei die Reihe der einfach durchzuführenden, empirischen Tests für Zufallszahlenfolgen abgeschlossen. Ein Zufallszahlengenerator sollte zumindest diese Tests bestehen.

2.4.3 Generierung v o n Zufallszahlen m i t beliebigen Verteilungen

Ausgehend von gleichverteilten Zufallszahlen, deren Verfügbarkeit in ausreichender Zahl und mit genügend guten statistischen Eigenschaften nun vorausgesetzt werden kann, sind für ein stochastisches Simulationsmodell Zufallszahlen zu konstruieren, deren Verteilungen den in der Realität angetroffenen Verhältnissen entsprechen. Eine in der Simulationspraxis immer wiederkehrende Aufgabe besteht in der Realisierung einer Zufallsvariablen mit klassifizierter, empirischer Verteilung. Eine solche Verteilung ist zum Beispiel gegeben durch die Stufenfunktion (AbbÜdung 2 - 2 8 ) . Sie beschreibt die Verteilung der Bedienungszeiten tb in einem einfachen Wartesystem. Ein Weg, aus gleichverteilten Zufallszahlen Zufallszahlen mit beliebiger Verteilung zu erzeugen, wurde in 2.2.2.1 aufgezeigt. Ist X z eine Zufallsvariable mit der Summenverteilung F ( x ) , also: p(Xz 1

Die Anzahl n der Summanden hat bei ständiger Wiederholung dieses Prozesses die gewünschte Poisson-Verteilung.

3. Simulationssprachen

3.1 Simulation mit Computern

Bevor die Simulationssprachen als das eigentliche Thema dieses Abschnittes behandelt werden, soll ein kurzer Überblick über den Einsatz von Rechnern in der Simulation gegeben werden. Zwar ist der Digitalrechner, auf den sich die Simulationssprachen beziehen, das sehr viel häufiger benutzte maschinelle Hilfsmittel, jedoch sollen auch kurz die Möglichkeiten des Analogrechners aufgezeigt werden, der bei einer Reihe von Simulationsproblemen Vorzüge aufweist. Beim Analogrechner werden die Rechengrößen durch Spannungen dargestellt, die sich kontinuierlich und proportional zur Rechengröße verhalten. Die Verknüpfungen zwischen den Größen, das heißt die Nachbildung von Gleichungen einschließlich Differentialgleichungen, geschieht durch physikalische Modelle in Form elektronischer Schaltungen. Der Analogrechner besitzt für jede Operation wie Addition, Multiplikation, Integration usw. besondere Schaltelemente. Er wird in sehr einfacher Weise programmiert, indem solche Schaltelemente entsprechend (= „analog") zur Rechenvorschrift (= Gleichung) über eine Schalttafel verknüpft werden. Feste Eingangswerte werden durch Anfangsspannungen gegeben, Funktionen durch sogenannte Funktionsgeber. Da für jede Operation eine Vielzahl von Schaltungen zur Verfügung steht, erfolgen die Verknüpfungen sowohl parallel als auch sequentiell. An bestimmten Stellen im elektronischen Modell können die Ergebnisgrößen ebenfalls in Form von Spannungen abgegriffen werden, die leicht zum Beispiel optisch auf dem Oszillographen wiedergegeben werden können. Schon diese kurze Erläuterung zeigt wesentliche Vorzüge des Analogrechners. Er ist einfach und ohne großen Lernaufwand auch von Nicht-Fachleuten zu programmieren. Schaltungen, Eingangsgrößen, Eingangsfunktionen sind leicht zu variieren, die Auswirkungen auf die Ergebnis-Werte oder -Funktionen sind unmittelbar zu verfolgen. Experimente in Richtung auf eine bestimmte gewünschte Lösung gestalten sich so denkbar einfach. Wie der Digitalrechner primär auf diskrete Probleme ausgerichtet ist, ist der Analogrechner primär auf kontinuierliche Probleme beschränkt. Diese ergeben sich naturgemäß vorzugsweise im physikalisch-technischen Bereich in Form von mechanischen Systemen, elektrischen Schaltungen, Regelungen und Steuerungen, usw. Wie bei der Charakterisierung verschiedener Modelltypen in 1.3 je-

3.1 Simulation mit Computern

119

doch dargestellt wurde, kommt es nur auf den Grad der Auflösung an, der einem Modell zugrundeliegen soll, ob es den diskreten oder kontinuierlichen Charakter des abzubildenden Systems beibehält oder verändert. Es wurde darauf hingewiesen, daß der Verkehrsfluß auf den Straßen, der Austausch von Gütern zwischen Staaten, die Wanderung von Personen zwischen sozialen Gruppen durchaus diskreter Natur sind, im großen jedoch recht gut durch kontinuierliche Modelle beschrieben werden können. Alle Modelle, die die Form von Gleichungen oder Differentialgleichungen haben, können mit dem Analogrechner untersucht werden. Es besteht mit dem Analogrechner jedoch nicht die Möglichkeit, vorgegebene diskrete Modelle zu behandeln, wie es etwa mit dem Digitalrechner grundsätzlich möglich ist, nachträglich kontinuierliche Modelle zu diskretisieren. Neben dieser prinzipiellen Einschränkung fiir den Einsatz des Analogrechners treten noch weitere, technisch bedingte Schwierigkeiten auf. So sind zum Beispiel der Genauigkeit recht enge Grenzen gesetzt, so daß die Behandlung sehr umfangreicher und komplexer Modelle praktisch nicht möglich ist. Die Variationsbreite der Rechengrößen ist sehr viel enger begrenzt als beim Digitalrechner. Beliebige Funktionen können nur recht ungenau mit Funktionsgebern nachgebildet werden. Schließlich lassen sich Ergebnisse wie auch andere Rechengrößen nur schwierig speichern. Insgesamt ist der Analogrechner somit geeignet, einen raschen Überblick über die Eigenschaften eines einfachen, kontinuierlichen Modells zu verschaffen, wenn die hohe Genauigkeit von Digitalrechnern nicht erforderlich ist. Der breite Einsatz des Digitalrechners für betriebswirtschaftliche und verwaltungstechnische Aufgaben sowie seine hervorragende Eignung zur Aufnahme von diskreten Modellen, prädestinieren ihn für den Einsatz in der Simulation. Im Digitalrechner werden alle Rechengrößen ziffernmäßig dargestellt. Den Benutzer braucht nicht zu interessieren, wie und in welcher physikalischen Form das geschieht, vielmehr ist hier eher von Interesse, wieviel (Dezimal-) Ziffern zur Darstellung jeweils einer Rechengröße zur Verfügung stehen, um Rechengenauigkeit und Variationsbreite der Modellgrößen abschätzen zu können. Die Operationen mit den Variablen des Modells werden von einem einzigen Rechenwerk ausgeführt, das über ein festes Repertoire möglicher Operationen verfügt. Welche Operation gerade mit welcher Rechengröße auszuführen ist, wird über ein Steuerwerk geregelt. Dieses Steuerwerk bezieht seine Anweisungen in Form von Befehlen aus einem Programm, das selbst ebenso wie die Rechengrößen (Daten) in einem Speicher steht und von dort nach Bedarf vom Steuerwerk abgerufen wird (Abbildung 3—1).

120

3. Simulationssprachen

Abbildung 3 - 1 . Übersicht über einen Digitalrechner.

Dieser grundlegende Aufbau eines Digitalrechners hat zur Folge, daß Steuerwerk und Rechenwerk zu einem bestimmten Zeitpunkt gerade immer nur an einem Programm oder Programmstück arbeiten können. Deshalb können im Digitalrechner alle Prozesse, das heißt Programmstücke, im Prinzip nur hintereinander, also sequentiell, ablaufen. Im Prozeßkonzept für Simulationsmodelle war aus diesem Grund eine Möglichkeit zur quasi-parallelen Durchfuhrung von Prozessen erforderlich. Ebenso wird einsichtig, daß Computerzeit gerade dann verbraucht wird, wenn im Modell Ereignisse stattfinden, also ein Prozeß in einer aktiven Phase ist. Wegen seiner Leistungsfähigkeit ist der Digitalrechner praktisch nicht mehr von der diskreten Simulation zu trennen. Zwar existieren einfach gelagerte, meist determinierte Fälle, in denen eine Simulation auch von Hand ausgeführt werden kann. Jedoch bei praktisch relevanten Beispielen machen das Ausmaß des Modells, die Vielzahl seiner inneren Verknüpfungen sowie die zum Erhalt von signifikanten Ergebnissen erforderliche Zahl von Simulationsschritten den Einsatz eines Digitalrechners unumgänglich. Dazu ist das Simulationsmodell in die Form eines Computerprogramms zu bringen. Die Programmierung von Digitalrechnern kann auf unterschiedlichen sprachlichen Ebenen erfolgen. „Sprache" bezeichnet in diesem Zusammenhang das Medium, mit dessen Hilfe der Informationsaustausch zwischen Mensch und Rechner stattfindet. Die Sprachen lassen sich nach ihrer „Benutzerfreundlichkeit" ordnen. Unter diesem Begriff sind einige charakteristische Eigenschaften zusammengefaßt, zum Beispiel wieviel Lernaufwand für die Sprache erforderlich ist, wie übersichtlich und änderungsfreundlich die Programme sind, ob die Programme nur auf einzelne Computertypen beschränkt sind oder auf einer Vielzahl von Maschinen laufen können (sog. „Kompatibilität" der Programme).

3.1 Simulation mit Computern

121

Die verschiedenen Sprachebenen sind nach aufsteigender Benutzerfreundlichkeit geordnet: 1. Maschinensprache 2. Assembler 3. höhere Programmiersprachen (ALGOL, COBOL, FORTRAN, PL 1, usw.) 4. problemorientierte Programmiersprachen (Simulationssprachen, Sprachen zur Behandlung linearer Systeme, Dialogsprachen zur Optimierung, Sprachen zur Steuerung von Werkzeugmaschinen, usw.). Ein Programm in der Maschinensprache besteht lediglich aus Ketten von Ziffern und ist dadurch schwer lesbar. Da jede Einzeloperation, die das Rechenwerk unmittelbar ausführen kann (sog. Mikrooperationen), explizit im Programm durch einen Mikrobefehl beschrieben sein muß, werden die Programme zudem lang und unübersichtlich. Die Maschinensprache ist also denkbar ungeeignet zum unmittelbaren Programmieren, ist jedoch die einzige Sprache, deren Befehle das Steuerwerk interpretieren und das Rechenwerk ausführen kann. Jedes Programm in einer anderen Sprache, zum Beispiel in Assembler, muß vor seiner Abarbeitung in die Maschinensprache übertragen werden. Diese Übertragung kann jedoch von der Maschine selbst mit Hilfe eines Übersetzungsprogramms vorgenommen werden. Zu jeder Programmiersprache (außer der Maschinensprache) gehört also ein Übersetzungsprogramm, das für eine Assembler-Sprache selbst „Assembler", für höhere Programmiersprachen „Compiler" genannt wird. Die Bearbeitung eines Programms läuft dann in zwei Phasen ab: 1. Phase: Übersetzung in die Maschinensprache 2. Phase: Abarbeitung des Maschinenprogramms. Einen Überblick gibt Abbildung 3—2. Für die Programmierung von Simulationsmodellen sind nahezu ausschließlich die Sprachen auf den Ebenen (3) höhere Programmiersprachen und (4) problemorientierte Programmiersprachen von Interesse. Diese Sprachen sind praktisch unabhängig vom einzelnen Computertyp. Sie sind orientiert an den Erfordernissen, die allgemeine, bei der Programmierung häufig wiederkehrende Abläufe stellen. Die Übersetzungen dieser Sprachen in die Maschinensprache können auf den verschiedensten Wegen erfolgen (Abbildung 3—3). Schon die höheren Programmiersprachen können auf dem Weg über den Assembler in die Maschinensprache übertragen werden. Für die problemorientierten Sprachen gibt es 4 Wege der Übersetzung in die Maschinensprache, nach denen

122

Abbildung 3 - 2 .

3. Simulationssprachen

3.1 Simulation mit Computern

123

diese Sprachen allgemein, insbesondere jedoch auch die Simulationssprachen klassifiziert werden können. Der Sprachentyp I hat als „Basissprache" eine höhere Programmiersprache, in die das Programm zunächst übertragen wird. Die weitere Übersetzung erfolgt wie bei jedem anderen Programm dieser Sprache auch. Beim Typ II erfolgt die Übersetzung auf dem Weg über den Assem-" bler. Beim Typ III erfolgt die Übersetzung des Programms mit Hilfe eines Compilers unmittelbar in die Maschinensprache. Schließlich stellt der Typ IV den Sonderfall eines interpretativen Systems dar. Hierbei wird nicht das Programm als Einheit in ein maschineninternes Programm übertragen, sondern jeder Befehl des Programms in problemorientierter Sprache wird einzeln unmittelbar während des Arbeitslaufs interpretiert und in eine Kette maschineninterner Befehle übertragen. Für ein interpretatives System gilt also die scharfe Trennung des Bildes 3—2 in 2 Arbeitsphasen nicht. Unabhängig vom Typ im Sinne der vorausgegangenen Klassifizierung gehören zu einer Simulationssprache: 1. Die eigentliche Sprache 2. Das Übersetzungsprogramm 3. Steuer- und Hilfsprogramme Wegen dieser Aufgliederung einer Simulationssprache spricht man insgesamt auch von einem Simulationssystem. Die eigentliche Sprache ist das Element des Systems, mit der der Benutzer arbeitet. Sie gliedert sich wiederum in zwei Komponenten: einer, die zur Modellformulierung dient, und einer zweiten, die Steueranweisungen für den Ablauf der Simulation enthält. Zur Modellformulierung stellt die Simulationssprache eine Reihe vorgefertigter Elemente und Funktionen in normierter und standardisierter Form zur Verfügung. Mit diesen Elementen ist es möglich, Simulationsmodelle eines Typs innerhalb gewisser Variationsbreiten schnell und einfach zu beschreiben. Die Zahl der erforderlichen Steueranweisungen ist nur noch klein. Mit wenigen Befehlen an die Steuer- und Hilfsprogramme werden die Simulationsläufe in gewünschter Form ausgelöst. Der Benutzer braucht sich um Fragen wie zeitund ereignisorientierter Ablauf, imperative oder interrogative Ereignissteuerung und deren Erfordernisse nicht zu kümmern. Das Steuerprogramm übernimmt diese Aufgabe. Statistische Funktionen zur Erzeugung von Elementen, Zwischenzeiten, usw. nach vorgegebenen Gesetzen stehen in den meisten Fällen zur Verfügung. Zusammengefaßt haben Simulationssprachen somit die Vorzüge: 1. Der Modellbau wird durch die Verwendung der vorgegebenen Sprachelemente vereinfacht. Viel Vorarbeit für die Konzipierung des Modells braucht nicht ständig neu erbracht zu werden.

124

3. Simulationssprachen

2. Es sind nur geringe Kenntnisse vom Computer und seiner Programmierung erforderlich. 3. Der Zeitaufwand zur Erstellung und Änderung von Programmen wird erheblich reduziert. 4. Fehlermöglichkeiten werden eingeschränkt; denn wegen (2) kann häufig die Programmierung unmittelbar vom Problembearbeiter mitübernommen werden, außerdem sind die Programme recht kurz und übersichtlich. Bereits der Punkt (1) deutet auf eine gewisse Einschränkung der Verwendungsmöglichkeiten von Simulationssprachen hin. Jeder Sprache liegt ein bestimmtes Modellkonzept („Modellphilosophie") zugrunde. Obwohl diese recht allgemein und bei einigen Sprachen nahe verwandt sind, ist das eine Einschränkung für die Einsatzbreite jeder Sprache. Daneben ergeben sich einige zum Teil recht harte weitere Einsatzbeschränkungen, die im folgenden aufgelistet sind: 1. Die Einsatzbreite einer Sprache ist begrenzt. Zu einem bestimmten Problem ist mithin die geeignete Sprache auszuwählen. Schon die Auswahl erfordert jedoch gute Kenntnisse mehrerer Sprachen und damit einigen Aufwand. 2. Für den einzelnen Benutzer ist oft nur eine begrenzte Zahl von Sprachen einsetzbar, da die erreichbaren Computer hard- oder softwaremäßig nur für eine oder zwei Sprachen ausgelegt sind. 3. Der Benutzer muß die gegebene Sprache nicht nur erlernen, für den erfolgreichen Einsatz ist auch Erfahrung mit der Modellphilosophie, den Abläufen bei der Übersetzung und Modellsteuerung sowie der Ergebnisanalyse erforderlich. 4. Die Mehrkosten für das Simulationssystem müssen durch den Nutzen aufgewogen werden. Solche Kosten entstehen durch Miete oder Kauf des Compilers und sonstiger Soft- oder Hardware. Daneben benötigen diese Programme im allgemeinen längere Rechenzeiten und mehr Speicherplatz als bei problemspezifischer Programmierung erforderlich wäre. Machen diese 4 Einschränkungen den Einsatz einer Simulationssprache unmöglich, bietet sich als Alternative die direkte Programmierung des Modells in einer höheren Programmiersprache an. Hier gelten die Einschränkungen (1) bis (4) praktisch nicht mehr. Sprachen wie ALGOL, FORTRAN, PL 1 sind heute praktisch auf jeder Maschine verfügbar, die genügend groß zur Aufnahme von Simulationsmodellen ist. Die Einsatzmöglichkeiten dieser Sprachen sind nahezu universell, Modellphilosophie und Ablaufsteuerung sind dem Benutzer klar und einsichtig, er entwirft sie ja

3.2 Überblick über die Simulationssprachen

125

selbst. Natürlich ist dieser Weg mit einem erheblichen Mehraufwand an Arbeit bei der Programmierung verbunden. Insbesondere die Neuerstellung von Steuerund anderen Grundroutinen fällt jeweils stark ins Gewicht. Einen Kompromiß stellen in dieser Beziehung „offene" Simulationssysteme dar, bei denen lediglich die notwendigsten Steuer- und Grundroutinen in einer Basissprache (FORTRAN, ALGOL, PL 1) erstellt sind. Diese Routinen sind in ihrer Funktion jedem Benutzer klar und einsichtig. Er erweitert sie jeweils für sein spezielles Problem um die erforderlichen Prozeß-Routinen und weitere Hilfsprogramme. Ein Vorschlag für ein offenes System wird von Rytz mit dem Simulationssystem SIM gemacht [1.1]. Dieses System ist in PL 1 programmiert, seine Modellstruktur basiert auf dem Prozeßkonzept.

3.2 Überblick über die Simulationssprachen

So vielfältig und unterschiedlich Simulationsmodelle gestaltet sind, so groß ist die Zahl der bisher entwickelten Simulationssysteme. Schon bei oberflächlicher

Abbildung 3 - 4 .

126

3. Simulationssprachen

Durchsicht der Literatur findet man schnell über 20 verschiedene Namen. Diese Vielzahl macht eine Klassifizierung der Sprachen erforderlich, die unter 3 Gesichtspunkten möglich ist: 1. nach funktionalen Merkmalen 2. nach Implementierungsformen 3. nach der Verbreitung der Sprache. Die Gliederung nach funktionalen Merkmalen erfolgt in Abbildung 3—4. Grundsätzlich ist zwischen Simulationssprachen für kontinuierliche und diskrete Modelle zu unterscheiden. Die Sprachen für kontinuierliche Modelle lassen sich weiter nach der Form der Modellformulierung aufgliedern. In einer blockorientierten Sprache wird durch jeweils eine Anweisung ein Element des Analogrechners (wie Integrator, Relais) oder eine andere, spezifische Funktion beschrieben. Eine solche Anweisung wird als Block bezeichnet. Grafisch wird ein Block in einem Blockschaltbild dargestellt:

Eingänge

Xi

Funktion

X2

(Parameter

X,

Pi» P2 • • • Pn)

Ausgang Y

Die zugehörige Anweisung kann zum Beispiel die Form haben: Ausgang = Funktion (Parameter, Eingänge) Jede blockorientierte Sprache stellt eine Anzahl dieser Blöcke mit fester Funktion zur Verfügung, aus denen der Benutzer sein Modell aufbaut. Diese Vorgehensweise ist ähnlich einfach und übersichtlich wie die Arbeit unmittelbar mit einem Analogrechner. Ursprünglich war es auch das Ziel, mit Hilfe von blockorientierten Sprachen den Analogrechner auf dem Digitalrechner nachzubilden und dabei einige seiner Nachteile auszuschalten. Offensichtlich ist dieser Weg jedoch wenig flexibel und wird nicht den Möglichkeiten moderner Computer gerecht. So sind denn auch die hier aufgezählten Sprachen alle nur noch von geringem Interesse: DAS (= Digital Analog Simulator), MIDAS (= modified integrated DAS), PACTOLUS (Weiterentwicklung von MIDAS) und DYSAC (= digitally simulated Analog Computer).

3.2 Überblick über die Simulationssprachen

127

Bei den gleichungsorientierten Sprachen (engl, expression-oriented) weicht man diesen Nachteilen aus, indem der Benutzer für sein Modell selbst Gleichungen aufstellt, die er in einer der mathematischen Schreibweise ähnlichen Notierung formuliert. Häufig geschieht das auch in einer Programmiersprache wie FORTRAN, ALGOL oder PL 1. Das Simulationssystem übernimmt dann lediglich noch die Sortierung der Gleichungen und die Steuerung des zeitlichen Ablaufs. Die hier genannten Beispiele sind: DYSYS 71, ein an der KFK Karlsruhe für die Abläufe in Reaktoren entwickeltes System, und DYNAMO. DYNAMO wurde für die Simulation von kontinuierlichen Modellen konzipiert, die nach den Richtlinien von Forresters „Industrial Dynamics" aufgebaut sind (vgl. Abschnitt 4.3). DYNAMO liefert speziell auf diesen Ansatz zugeschnittene Sprachelemente, mit denen zugleich eine Diskretisierung der Gleichungen und die Programmierung erfolgt. Während der Simulation wird die Berücksichtigung logischer Abhängigkeiten und der richtige zeitliche Ablauf von einem Kontrollprogramm überwacht. Vielfältige Möglichkeiten stehen dem Benutzer zur Verfügung, wenn eine blockorientierte Sprache es ihm erlaubt, zusätzliche Funktionen beliebig selbst zu formulieren und der Ablaufsteuerung unterzuordnen. Solche Programmiersysteme sind in Abbildung 3 - 4 als „übergeordnete Sprachen" gekennzeichnet. Zwei Sprachen mit dieser Eigenschaft, die heute einige Bedeutung besitzen, sind CSMP und CSSL. CSMP (= Continuous System Modelling Program) wurde aus der älteren dereinst für die IBM 7090 konzipierten Sprache DSL/90 (= Digital Simulation Language on 7090) entwickelt. In ihrer derzeitigen Form steht sie für die IBM-Computer der Familie/360 sowie unter der Bezeichnung FSPC für den Computer IRIS 80 der Firma CII zur Verfügung. CSSL (= Continous System Simulation Language) wurde 1965/66 von einer amerikanischen Forschergruppe entwickelt. Ziel war, aus gut einem Dutzend bis dahin bekannter Sprachen die Vorzüge herauszukristallisieren und zu einer neuen Sprache zu vereinen. Die formale Definition war 1967 abgeschlossen (vgl. [3.13]); heute steht die Sprache zumindest auf den Anlagen der 6000-er Familie von CDC zur Verfügung. Unter den Simulationssprachen für diskrete Modelle wurden zwei Gruppen gebildet: Sprachen der 1. Stufe: Diese Sprachen liefern dem Benutzer ein allgemeines Modellkonzept zur Nachbildung realer Systeme sowie eine Ablaufsteuerung und Ablaufkontrolle. Daneben stehen in den meisten Fällen Standard-Output-Möglichkeiten zur Ver-

128

3. Simulationssprachen

fugung. Nicht vorhanden sind in diesen Sprachen bereits vorgefertigte, auf eine bestimmte Funktion festgelegte Modellelemente. Sprachen der 2. Stufe: Neben den für die Sprachen der 1. Stufe aufgezählten Möglichkeiten bieten diese Sprachen auch Modell-Elemente, deren Funktion bereits festgelegt ist (zum Beispiel für den Aufbau einer Warteschlange). Zu den Sprachen der 1. Stufe zählen: SIMSCRIPT: diese Sprache wurde ca. 1962 bei der Rand Corporation entwickelt. SIMULA: (= Simulation Language) eine ca. 1965 im norwegischen Rechenzentrum entwickelte und auf den Erfahrungen unter anderem mit SIMSCRIPT und CSL aufbauende Sprache. CSL (= Control and Simulation Language) ca. 1962 von der IBM United Kingdom entwickelte Sprache für die Esso Petroleum Zu den Sprachen der 2. Stufe zählen: GPSS (= General Purpose Simulation System) bei der IBM schon 1961 entwickelt und seitdem ständig angepaßt und verbessert GPS (= General Purpose Simulation) wie GPSS, jedoch für Honeywell-Bull-Computer SIAS (= Siemens Ablauf Simulation) wie GPSS, jedoch für Siemens-Computer SOL (= Simulation Oriented Language) ca. 1964 für Burroughs-Maschinen entwickelte Sprache, die sich im ModellKonzept an SIMSCRIPT anlehnt, jedoch wie GPSS vorgefertigte funktionale Modellelemente bereitstellt. Eine Gegenüberstellung von Sprachen der 1. und 2. Stufe erfolgt noch einmal am Ende des Abschnitts 3.3.2, wenn aus jeder Klasse eine Sprache beispielhaft erläutert ist. Die aufgeführten Sprachen lassen sich unter dem Aspekt der Implementierung erneut ordnen. Im Abschnitt 3.1 wurden für die Simulationssprachen 4 Typen definiert (Abbildung 3—3).

3.2 Überblick über die Simulationssprachen

129

Von besonderer Bedeutung für den Benutzer ist der dort definierte Typ I, denn diese Sprachen liegen nur eine Ebene über einer höheren prozeduralen Programmiersprache, der „Basissprache". Daher ist es naheliegend, den Benutzer des Simulationssystems nicht auf die Verwendung der Elemente der Simulationssprache zu beschränken, sondern ihm auch die Möglichkeit zu geben, in der Basissprache selbst beliebige weitere Modellelemente zu formulieren. Diese Programmierung ist noch recht komfortabel, da sie immerhin auf dem Level von Sprachen wie ALGOL, FORTRAN, PL 1 erfolgen kann. Andererseits ist ein solches Simulationssystem sehr viel flexibler. Man bezeichnet es als „open-ended" (bezüglich der Basissprache). Ähnliche Vorzüge weisen natürlich auch die am Ende von Abschnitt 3.1 definierten „offenen" Systeme auf, die sich daneben großer Unabhängigkeit vom Computertyp erfreuen. Der Benutzerkomfort bei einem offenen System bezüglich Modellformulierung, Ablaufsteuerung und Ausgabeaufbereitung ist jedoch vergleichsweise niedrig.

Abbildung 3 - 5 .

Die Abbildung 3—5 zeigt die Aufgliederung der Sprachen für diskrete Modelle unter dem angesprochenen Gesichtspunkt: Der Abbildung 3—5 muß der Vollständigkeit halber hinzugefugt werden, daß GPSS open-ended zur Assembler-Programmierung ist. Die besonderen, hier auftretenden Schwierigkeiten werden in Abschnitt 3.3.1 noch aufgezeigt.

3. Simulationssprachen

130

Neue Namen in Abbildung 3—5 sind: GASP (= General Activity Simulation Program) ein etwa 1963 für die US Steel Corporation entwickeltes Paket SIMON ein am Bristol College of Science and Technology entwickeltes Paket, das besonders für die Simulation von Job-Shop-Betrieben geeignet ist. SIM das schon in Abschnitt 3.1 erwähnte offene Simulationssystem von Rytz [1.1]. Alle in Abbildung 3 - 5 aufgeführten Systeme erfordern vollständige Kenntnisse der Basissprachen. Für den Einsatz einer Sprache ist ihre Verfügbarkeit Voraussetzung. Daher sind in der Tabelle 3 - 6 einige Sprachen und ihre Verfügbarkeit auf den Computern der größten Hersteller zusammengestellt. Durch die schnelle Entwicklung können sich auf diesem Gebiet leicht Veränderungen und damit Abweichungen von der Tabelle 3 - 6 ergeben, die nach zum Teil unverbindlichen Auskünften der Hersteller aufgebaut wurde. Tabelle 3 - 6 . Hersteller

Sprachen für diskrete Modelle

Sprachen für kontinuierliche Modelle

C1I CONTROL DATA HONEYWELL-BULL ICL IBM SIEMENS UNIVAC

SIMULA GPSS, SIMULA, SIMSCRIPT GPS, SIMSCRIPT CSL, SIMON GPSS, SIMULA, SIMSCRIPT SIAS GPSS, SIMULA, SIMSCRIPT

FS PC CSSL

CSMP SIKOS DYNAMO

Für die in dieser Tabelle nicht enthaltenen Sprachen gilt mindestens eine der folgenden Restriktionen: Ra) Die Sprache ist nur auf einem speziellen Computertyp implementiert. Rb) Das Simulationssystem ist für die Beschreibung einer speziellen Klasse von Modellen konzipiert. Rc) Das Simulationssystem ist auf die Erfordernisse der Probleme nur einer Firma oder nur eines Forschungsinstitutes zugeschnitten.

3.3 Ausgewählte Sprachen

131

Rd) Die Sprache ist veraltet. An ihre Stelle sind neue leistungsfähigere Systeme getreten. Re) Die Sprache wurde aus akademischem Interèsse entwickelt (Studium der Struktur von Simulations-Sprachen o. ä.). Da diese Bedingungen das allgemeine Interesse an einer Sprache einschränken, kann eine nähere Darstellung hier auf Beispiele aus der Tabelle 3—6 beschränkt werden. Anhand typischer Vertreter sollen der Aufbau und die Möglichkeiten von Sprachen der 1. und 2. Stufe bei diskreten Modellen sowie einer übergeordneten Sprache bei kontinuierlichen Modellen (vgl. Abbildung 3 - 4 ) dargestellt werden. Dazu werden in den folgenden Abschnitten diskutiert: als Sprache der 2. Stufe: GPSS als Sprache der 1. Stufe: SIMULA als Sprache für kontinuierliche Modelle: CSMP

3.3 Ausgewählte Sprachen

3.3.1 GPSS GPSS ist sicherlich die bekannteste Simulationssprache. Das mag seinen Grund im Zusammentreffen zweier günstiger Faktoren haben. Einmal wird die Sprache vom größten Computerhersteller IBM angeboten, zum anderen ist sie als Sprache der Stufe 2 bei den Problemen, für die sie zugeschnitten ist, benutzerfreundlich. Das Konzept der Sprache basiert auf einem einfachen Gedanken. Bei der Formulierung eines Modells erscheint es geradezu selbstverständlich, daß zur Verdeutlichung seiner Struktur und Funktion zunächst ein Ablaufplan gezeichnet wird. Selbst so unterschiedliche Einrichtungen wie Flugplätze, Verbrauchermärkte und Informationssysteme finden in einem Ablaufplan Darstellungen, die untereinander ähnlich sind. Bewegliche Elemente (Kunden, Flugzeuge, Passagiere, Informationen) laufen in einem Netz möglicher Wege zwischen festen Stationen. An den Stationen verrichten sie Tätigkeiten oder Operationen werden mit ihnen ausgeführt. Für einen Verbrauchermarkt könnte zum Beispiel der Ablaufplan der Abbildung 3 - 7 entstehen.

132

3. Simulationssprachen

Abbildung 3 - 7 .

In GPSS soll der System-Designer mit möglichst geringem Aufwand einen Ablaufplan in ein Simulationsprogramm umsetzen können. Dazu werden ihm zum Zeichnen eines Blockdiagramms genormte Elemente zur Verfügung gestellt. Zeichnet er schon seinen Ablaufplan mit diesen Elementen, so erfolgt die Programmierung denkbar einfach, indem lediglich an die Stelle jedes Elementes des Blockdiagramms ein Befehl gesetzt wird. Die einzelnen Elemente des Blockdiagramms und ihre entsprechenden Befehle werden als Blöcke bezeichnet. In der Praxis wird man im allgemeinen in zwei Schritten vorgehen, wie schon in Abbildung 3—7 demonstriert: zunächst wird ein grober Ablaufplan des Systems gezeichnet, sodann erfolgt eine feinere Auflösung im Blockdiagramm.

3.3 Ausgewählte Sprachen

133

Das Modellkonzept von GPSS entspricht dem Gedanken des Blockdiagramms: bewegliche Elemente, die Transactions, laufen durch eine Konfiguration von Einrichtungen, den Facilities, und werden dort jeweils vorgegebenen Operationen unterworfen. (Da es bislang nicht gelungen ist, im deutschen Sprachraum treffende Übersetzungen für „Transactions" und „Facilities" zu finden und einzuführen, wird auch hier an den englischen Begriffen festgehalten.) Elemente der Sprache sind:

Transactions: Durch ihre Bewegung ist die Dynamik des Modells festgelegt. Die Bewegung einer Transaction definiert in GPSS ein Ereignis. Sie erfolgt verzugslos zwischen den Facilities bzw. sonstigen Blöcken. Durch Parameter werden die Transactions ihrer Art und Eigenschaft nach charakterisiert.

Blocks: Die Blöcke entsprechen den im Blockdiagramm festgehaltenen Aktivitäten, die auf Transactions einwirken. Sie bewirken vier unterschiedliche Typen von Ereignissen: 1. 2. 3. 4.

Erzeugung einer Transaction oder Entfernung einer solchen aus dem System Änderung des Flusses der Transactions durchs Modell Verzögerung von Transactions um bestimmte Zeiten Änderung der Eigenschaften von Systemelementen

In neuesten GPSS-Versionen stehen dem Benutzer ca. 50 Blöcke zur Verfügung. Jeder Block stellt eine Operation dar, die an einem der Elemente einschließlich den Blöcken selbst ausgeführt wird.

Facilities: Sie sind die festen Einrichtungen im Modell, die zum Beispiel Kassen oder Bedienungsstände im Verbrauchermarkt repräsentieren. Facilities können sich jeweils mit nur einer Transaction befassen. Die Beschreibung der Facilities erfolgt durch Blöcke.

Storages: Mit Storages erfolgt die gleichzeitige Behandlung mehrerer Transactions im Modell. Sie dienen dazu, Lagerräume, Zuschauersäle, Parkplätze u. ä. nachzubilden. Die Beschreibung der Storages erfolgt ebenfalls durch Blöcke.

Logic Switches: Mit diesem Element kann der Fluß der Transaktionen durchs Modell in Abhängigkeit von vorgegebenen Bedingungen gesteuert werden. Im Verbrauchermarkt kann damit etwa eine Kasse für die Frühstückspause von 9.00 - 9.15 geschlossen werden.

134

3. Simulationssprachen

Queues: Mit diesen Elementen werden die statistischen Daten von Warteschlangen gesammelt und aufbereitet. Tables: Diese Elemente sammeln die Daten für empirische Wahrscheinlichkeitsverteilungen während des Simulationslaufs. Variables: Mit Variablen werden Zahlenwerte für die Eigenschaften von Modellelementen (Attribute) gegeben. Die Variablen können reell sein (das heißt alle reellen Zahlen durchlaufen) oder vom Booleschen Typ sein (das heißt nur zwei Werte annehmen). Mit ihnen können alle arithmetischen bzw. logischen Operationen ausgeführt werden. Functions: Mit diesen Elementen können funktionale Zusammenhänge im Modell beschrieben werden. Savevalues: Mit Hilfe dieser Elemente können einzelne Daten abgespeichert und für einen späteren Zugriff festgehalten werden. Als Beispiele für die Blöcke seien genannt:

GENERATE A, B, C, . . . , I Dieser Block erzeugt Transactions. Durch die Variablen A - I werden Zeitabstände und Anzahl sowie Struktur der erzeugten Transactions selbst spezifiziert.

TERMINATE A Durch diesen Block werden Transactions aus dem Modell entfernt. A ist die maximale Anzahl. A, B

ADVANCE A, B In diesem Block werden Transactions um durch A und B festgelegte Zeiten festgehalten.

135

3.3 Ausgewählte Sprachen

SEIZE A Durch diesen Block wird eine Facility mit Namen A eingerichtet.

RELEASE A Dieser Block entfernt eine Transaction aus der Facility mit Namen A.

QUEUE A, B

B

Igf ^

Dieser Block richtet eine Warteschlange mit Namen A ein. B gibt an, wieviel Einheiten der Warteschlange pro ankommender Transaction hinzugefügt werden. DEPART A, B

SX

Wenn eine Transaction diesen Block passiert, werden B Einheiten aus der Warteschlange A entfernt. Mit Hilfe dieser Blöcke läßt sich ein Blockdiagramm für den in Abbildung 3—7 markierten Ausschnitt zeichnen und dieser Ausschnitt programmieren (siehe nächste Seite). Die Zahlenwerte im Advance-Block besagen, daß die an der Kasse befindlichen Transactions um Zeitbeträge festgehalten werden, die im Intervall zwischen 3 - 2 = 1 und 3 + 2 = 5 Einheiten (etwa Minuten) gleichverteilt sind. Sollen stattdessen die Zeitbeträge einer vom Benutzer vorgegebenen Verteilung entnommen sein, so ist auch die Notierung möglich: ADVANCE A, FN $ VERFU VERFU ist dabei die Kennzeichnung der Verteilungsfunktion. Der Wert aus dieser Funktion wird mit dem Faktor A multipliziert, woraus das neue Zeitintervall resultiert. Ein gewisses Handicap von GPSS ist die Tatsache, daß keine Funktionen formelmäßig gegeben werden können, sondern durch Folgen diskreter Wertepaare bestimmt werden. Zwischenwerte können daraus automatisch linear interpoliert werden. Komfortabel ist dagegen der Standardoutput. Für Blöcke wie SEIZE, QUEUE sowie für Elemente wie STORAGE und

136

3. Simulationssprachen Programm

Blockdiagramm

Kasse )

w

QUEUE

SEIZE

KASSE

KASSE

Kasse

r \ Kasse 1

VX 3,2

DEPART KASSE

ADVANCE 3,2

^^Casse^/ RELEASE KASSE

Abbildung 3 - 8 .

TABLE werden automatisch ohne weitere Anweisung die wünschenswerten Angaben gesammelt und nach einem durch die Steueranweisung „Start" festgelegten Modus ausgedruckt. Die Steueranweisungen in GPSS sind ebenfalls einfach zu handhaben. Für einen Standardlauf benötigt man lediglich: SIMULATE : START

A

A gibt die Maschinenzeit an, die das Programm maximal laufen soll

Modell A, B, C, D

A gibt an, wieviel Transactions im Modell simuliert werden sollen, bevor der Lauf abgebrochen wird. B, C, D beziehen sich auf die Steuerung der Ausgabe

END Mit der gesamten inneren Ablaufsteuerung des Systems wird der Benutzer

3.3 Ausgewählte Sprachen

137

nicht belastet. Ebenso bleibt ihm die Speicherstruktur, das heißt der Aufbau und die Darstellung der einzelnen Modellelemente, verborgen. Gerade diese implizite Sprachstruktur ist bei GPSS jedoch vergleichsweise aufwendig. So wird die Ablaufsteuerung der Zeit parallel imperativ über eine Ereigniswarteschlange und interrogativ über eine Bedingungstabelle durchgeführt. Auf den hohen, für eine interrogative Zeitsteuerung erforderlichen Aufwand wurde bereits in Abschnitt 2.1 hingewiesen. Die Effizienz der Programme leidet darunter. Für den Benutzer sind diese Fragen jedoch solange nur von untergeordnetem Interesse, wie die in GPSS bereitgestellten Elemente für die Modellformulierung, Ablaufsteuerung und Druckausgabe ausreichen. Das ist im wesentlichen dann der Fall, wenn die zu simulierenden Systeme den Charakter von Warteschlangensystemen haben (vgl. dazu Abschnitt 4.2.1). Dann ist die Modellerstellung und die Programmierung sehr einfach. Allgemeine Computer- und Programmierkenntnisse sind praktisch nicht erforderlich. Die Standardausgabe signifikanter Daten für das Modellverhalten ist sehr gut. Bei komplexer werdenden Modellen anderer Natur sind jedoch sehr bald die Grenzen der Sprache erreicht. Eine Ausdehnung der Sprache auf nicht vorhandene Sprachelemente ist zwar mit Hilfe von HELP-Blöcken möglich. Jedoch für deren Programmierung muß der Benutzer die gesamte innere Struktur der Sprache kennen. Die Vorzüge von GPSS als Sprache der Stufe 2 sind damit verloren. Darüber hinaus ist auch diese Erweiterung nicht beliebig möglich. Der Einsatz von GPSS bei Systemen, die nicht als Warteschlangensysteme darzustellen sind, ist somit recht mühsam. Es wäre dann eine Sprache vom Typ SIMULA oder SIMSCRIPT vorzuziehen.

3.3.2 SIMULA Die Programmiersprache SIMULA soll hier in ihrer neuesten Version SIMULA 67 betrachtet werden. Es wird für das Verständnis der Struktur der Sprache, die für den oberflächlichen Betrachter im Vergleich zu GPSS zunächst sehr komplex erscheinen mag, dienlich sein, die Ansicht der Verfasser Ole-Johan Dahl und Kristen Nygaard zu erläutern. Danach ist SIMULA eine allgemein verwendbare höhere Programmiersprache mit Einrichtungen für die Simulation. Den Autoren geht es also um mehr als die Konzeption einer speziellen Simulationssprache. Sie wollen allgemein die Problematik der Konzipierung problemorientierter Programmiersprachen angehen. Besondere Programmpakete für bestimmte Problemklassen sind meist sehr leistungsfähig, jedoch wenig flexibel und nicht genügend erweiterbar; dies sind zum Beispiel gerade die Eigenschaften, wie sie im letzten Abschnitt für GPSS konstatiert wurden. Ein Ausweg aus dieser Situation liegt darin, dem Problem-

138

3. Simulationssprachen

bearbeiter ein Hilfsmittel in die Hand zu geben, mit dem er sich leicht und schnell spezielle Sprachelemente zur Lösung seiner stets wiederkehrenden Aufgaben herstellen kann. Bezogen auf die Simulation besagt das, daß dem Benutzer nicht vorgefertigte Modellelemente, sondern Hilfsmittel zur Anfertigung solcher Elemente in die Hand gegeben werden. Daneben enthält die Sprache alle erforderlichen Einrichtungen zur Verknüpfung der durch den Benutzer angefertigten Elemente und zur Programmablaufsteuerung. SIMULA bietet diese Hilfsmittel in sehr allgemeiner Form. Die Simulationselemente sind nach Auffassung der Autoren ein Beispiel dafür, wie man aus dem Basiskonzept eine problemorientierte Sprache aufbauen kann. Spezielle Sprachkonzepte für andere Anwendungsgebiete sind also auch denkbar; zwei Möglichkeiten sind zum Beispiel die Bearbeitung grafischer Information (Zeichnungen, Grafiken) im Computer oder spezielle Sprachelemente für „Branch-and-Bound"-Verfahren. Zur Formulierung von algorithmischen Abläufen enthält SIMULA die allgemeine prozedurale Programmiersprache ALGOL 60 mit nur geringen Abwandlungen. ALGOL 60 enthält bereits das vorteilhafte Konzept der Blockstruktur. Hier hat der Begriff Block einen anderen Inhalt als bei GPSS. Man versteht in ALGOL unter einem Block ein zwischen den Code-Worten ,BEGIN' und ,END' eingeschlossenes Programmstück mit eigenen Datenfeldern. Es hat schematisch das Aussehen: „BEGIN" Vereinbarungen; Ablaufbeschreibung „END" Ein solcher Block besitzt innerhalb des gesamten Programms eine gewisse Eigenständigkeit. Ein komplettes ALGOL-Programm besteht aus Folgen und Verschachtelungen solcher Blöcke. Das Blockkonzept führt zum Gedanken der Dekomposition eines großen Systems, bei dem viele Einzelelemente und Subsysteme in komplexen Wechselbeziehungen zueinander stehen. Jedes Element wird durch einen Block sowohl in seinem Aufbau (Struktur, statisch) als auch in seinem Ablauf (Dynamik) beschrieben. Subsysteme werden weiter aufgelöst und ebenfalls in ihren Elementen durch Blöcke beschrieben. Das Gesamtsystem entsteht durch nachträgliches, richtiges Verknüpfen der Blöcke. Jedoch sind die Möglichkeiten der Verknüpfung von Blöcken in ALGOL schon für Simulationszwecke nicht ganz ausreichend. Daher liegt SIMULA ein erweitertes Blockkonzept sowie die Möglichkeit vielfältiger Verknüpfungen zwischen diesen zugrunde. Die Verallgemeinerung des Blockkonzeptes liegt im Begriff der Klasse. Eine Klasse besteht zunächst wie ein Block aus einem Datenteil, in dem Variable, Parameter usw. spezifiziert werden, und einem prozeduralen Teil, in dem Abläufe beschrieben werden. Eine Klasse hat jedoch bei der Beschreibung durch

3.3 Ausgewählte Sprachen

139

den Programmierer erst den Charakter einer Form, vergleichbar einer Gußform. Erst während des Programmablaufs wird entsprechend den Erfordernissen, die sich aus der Ablaufsteuerung ergeben, der Klasse ein spezielles, im Modell tatsächlich vorhandenes Objekt entnommen. Bildlich gesprochen ist das Objekt also ein Abguß aus der Form „Klasse". In ihrer Struktur sind sich Objekte einer Klasse alle ähnlich, sie unterscheiden sich lediglich in ihren aktuellen Daten. Alle Passagierflugzeuge eines Typs, die einen bestimmten Flugplatz anfliegen, sind demnach Objekte aus einer Klasse; sie unterscheiden sich nur in Ankunfts- und Abflugzeiten, Zahl der beförderten Passagiere, Zuladung, Menge des nachzutankenden Treibstoffs, usw. Eine Klasse erhält einen festen Namen, zum Beispiel „Flugzeugtyp 1". Unter diesem Namen lassen sich während des Programmablaufs beliebig viele Objekte durch die Anweisung „NEW Flugzeugtyp 1" aufrufen. Unterklassen können sehr einfach gebildet werden, indem einem neuen Unterklassennamen lediglich der Hauptklassenname vorangestellt wird. Die speziellen Eigenschaften der Unterklasse werden wie allgemein für Klassen spezifiziert. Alle Elemente der Unterklasse erhalten jedoch durch das Vorausstellen des Hauptklassennamens automatisch zusätzlich zu ihren explizit definierten Eigenschaften auch sämtliche der übergeordneten Klasse. Ist in einer Klasse „Flugzeug" das festgehalten, was allgemein an Abfertigung jedem Verkehrsflugzeug auf einem Flughafen zukommt, so braucht in Typenklassen „ T y p l " , „Typ2", usw. lediglich und ausschließlich das festgehalten zu werden, was einen speziellen Flugzeugtyp auszeichnet (Anfluggeschwindigkeit, max. Abfluggewicht, max. Passagierzahl usw.). Durch Voraussetzen der Bezeichnung „Flugzeug" erhält jede der Unterklassen automatisch alle in der Klasse Flugzeug vereinbarten Eigenschaften. Die in einer Klasse im prozeduralen Teil vereinbarten Abläufe müssen von jedem aus der Klasse entnommenen Objekt ausgeführt werden. Enthält jedoch eine Klasse den Zusatz „process" vor ihrem Namen, so enthalten ihre Objekte alle Eigenschaften der übergeordneten Klasse „process", die in SIMULA generell definiert ist. Die Objekte selbst werden auch als Prozeß bezeichnet und erhalten die Eigenschaft, die Befehlsabläufe in einzelnen Teilfolgen vollziehen zu können, in den „aktiven Phasen" des Prozesses. Zwischen den aktiven Phasen liegen jeweils passive, in denen ein Prozeß Modellzeit verzehrende Aktivitäten ausfuhrt. Diese Aufgliederung der Prozesse in aktive und passive Phasen ermöglichen in SIMULA den quasi-parallelen Ablauf mehrerer Prozesse. Die Begriffe „Prozeß" und „Prozeßklasse" sind damit identisch mit den in Abschnitt 2.1.1 erläuterten. Der Benutzer braucht allerdings in SIMULA nicht selbst zwischen inaktiven und passiven Prozessen zu unterscheiden.

3. Simulationssprachen

140

Neben der Einführung von Klassen ist eine wesentliche Erweiterung von SIMULA gegenüber ALGOL 60 die Einführung von nahezu beliebigen Beziehungen und Verknüpfungen zwischen den Prozessen. Dazu wurde ein grundsätzlich neues Sprachelement, die „Referenzen", eingeführt. Mit ihnen können „Zeiger" zwischen Prozessen gesetzt werden, wie sie allgemein in der Computer-Programmierung bei der Listenverarbeitung geläufig sind. Zweck eines solchen „Zeigers" ist es, auf einen bestimmten Prozeß unter einem festen Namen zugreifen zu können. Durch die Vereinbarung REF (Flugzeugtypl) Jumbo wird festgelegt, daß unter dem Namen „Jumbo" Flugzeuge des Typs 1 angesprochen werden können. Die gezielte Ansprache eines Flugzeugtyps geschieht durch eine „denote"-Anweisung und hat das Aussehen: Jumbo: - NEW Flugzeugtypl (3) das heißt unter dem Namen Jumbo wird nach dieser Anweisung auf einen Prozeß der Klasse „Flugzeugtypl" zugegriffen. Die REF-Vereinbarung stellt dabei lediglich eine Sicherung zur Vermeidung von Fehlern dar. Wird in irgendeiner denote-Anweisung unter „Jumbo" auf Elemente einer anderen Klasse als „Flugzeugtypl" zurückgegriffen, so erfolgt die Fehlermeldung schon beim Compilieren des Programms. Damit ist eine bei Simulationsmodellen häufige Quelle schwer aufzudeckender Fehler ausgeschaltet. Wichtig für die effiziente Programmierung von Simulationsmodellen ist, daß Elemente, die nur temporär im System sind (die Prozesse einer Klasse sind häufig ja gerade solche), auch nur in dieser Zeit der Anwesenheit Speicherplatz beanspruchen. Sobald sie aus dem Modell ausscheiden, werden sie auch de facto gelöscht. Alle bedeutsamen Simulationssprachen verfügen über diese dynamische Speicherzuordnung, jedoch besteht eine mögliche Fehlerquelle darin, daß Elemente gelöscht werden, zu denen noch Verzweigungen im übrigen Programm existieren. In SIMULA werden Prozesse erst dann gelöscht, - und zwar automatisch -, wenn keine Verzweigungen mehr zu ihnen bestehen, dadurch ist auch diese Fehlerquelle ausgeschaltet. Neben dem leistungsfähigen Klassen- (Prozeß-) Konzept und den vielseitigen Verknüpfungsmöglichkeiten bietet SIMULA dem Benutzer noch eine Fülle weiterer Unterstützung, so die Möglichkeiten einer einfachen Textverarbeitung und damit verbundenen komfortablen Ein- Ausgabe-Möglichkeiten. Zum Vergleich mit GPSS sei hier das Programmstück für den gleichen Ausschnitt aus Abbildung 3—7 gegeben wie in Abbildung 3—8. Die SupermarktKasse kann in SIMULA zum Beispiel durch zwei Prozeß-Klassen beschrieben werden (vgl. Abbildung 2 - 3 in Abschnitt 2.1.1): die Prozeß-Klasse „Kasse"

3.3 Ausgewählte Sprachen

141

und die Prozeß-Klasse „Kassierer". In der Prozeß-Klasse „Kassierer" kann, in sich geschlossen, der gesamte Kassiervorgang so beschrieben werden, wie er im Ablaufdiagramm der Abbildung 2—3 dargestellt ist. Das ist in Abbildung 3 - 9 geschehen: PROCESS CLASS KASSIERER; BEGIN START : IF KASSE . CLOSED THEN PASSIVATE ELSE BEGIN IF QUEUE . EMPTY THEN PASSIVATE ELSE BEGIN QUEUE . FIRST . OUT; HOLD (UNIFORM (1.5.U)) END; END; GO TO START; Abbüdung 3 - 9 .

E N D

Die erste Abfrage (3. Zeile) stellt sicher, daß der Prozeß „Kasse" nicht geschlossen ist, bevor mit der Bedienung eines Kunden begonnen wird. QUEUE bezeichnet eine geordnete Menge wartender Prozesse aus der Klasse „Kunden". Ist QUEUE leer (5. Zeile), dann wird der Prozeß Kassierer passiv. Er würde dann erst wieder durch einen neuen in QUEUE eintreffenden Kunden aktiviert (Verknüpfungen!). Anderenfalls wird aus QUEUE der erste Kunde entfernt, der Prozeß „Kasse" durch die Anweisung „HOLD" für eine durch UNIFORM (1,5,U) zufällig aus dem Intervall [1,5] gegebenen Zeit passiv. Nach Ablauf dieser (Modell-) Zeit gilt die Bedienung als beendet und der Prozeß Kasse beginnt wieder bei „Start". An diesem Beispiel wird der Unterschied zu GPSS recht deutlich. Wie schon in der Abbildung 2—3 die Ablaufpläne, können auch die Programme der Prozeßklassen unabhängig voneinander erstellt werden. Dabei hat der Programmierer völlig freie Hand, er kann alle Möglichkeiten zur Datenbeschreibung bzw. Formulierung von Abläufen ausnutzen, die SIMULA bietet. Die Querverbindung zwischen den Prozeßklassen „Käufer" und „Kasse" geschieht über die geordnete Gruppe QUEUE bzw. eine Referenz im Käuferprozeß, wenn die Kasse einmal mangels Käufern in QUEUE passiv sein sollte. In GPSS dagegen sind Kasse und Warteschlange vorgefertigte Blöcke, die Käufer treten überhaupt nur als Transactions passiv in Erscheinung. Daraus wird ohne noch tieferes Eindringen in die Materie der Unterschied zwischen GPSS als einer Sprache der Stufe 2 und SIMULA als einer Sprache der Stufe 1 deutlich. In GPSS braucht der Benutzer lediglich die vorgefertigten, in ihrer Funktion bestimmten Modellelemente (facilities, storages, queues) anzuordnen; eine Variation ist lediglich mit Parametern innerhalb gewisser Schranken möglich. Dadurch ist zwar die Flexibilität gering, der Aufwand bei

3. Simulationssprachen

142

Modellen, die in das Konzept der Sprache passen, jedoch auch. Dagegen kann und m u ß der Benutzer in SIMULA auf der Basis des allgemeinen Grundkonzeptes (Prozeß-Klassen, Referenzen) die Funktion seiner Modellelemente in jedem Fall zunächst einmal selbst beschreiben. Mit diesem Mehraufaufwand erkauft er sich jedoch höchste Flexibilität.

3.3.3 CSMP CSMP wurde als Beispiel einer Sprache für die Simulation kontinuierlicher Modelle ausgewählt. Als eine Entwicklung, bei der auf Erfahrungen mit älteren Simulationssystemen zurückgegriffen werden konnte, ist CSMP sehr flexibel und bietet einen hohen Benutzerkomfort. Als übergeordneter Sprache (vgl. Abbildung 3—4) stehen dem Benutzer in CSMP neben 34 vorgegebenen Blöcken auch Möglichkeiten zur Verfügung, Gleichungen beliebig selbst zu formulieren und in das Modell einzubauen. In der Tabelle 3—10 ist eine Auswahl der bereitgestellten Funktionsblöcke gegeben. Tabelle 3 - 1 0 . Beispiele für Funktionsblöcke in CSMP (t = Modellzeit) Schreibweise

Bezeichnung

Erläuterung

Y = INTGRL (AB, X) Y (0) = AB

Integrator

t y = / x dt + AB 0

Y = DERIV (AB, X) X (t = 0) = AB

Ableitung

Y = INSW ( X , , X 2 , X 3 )

Relais

y = x , wenn x , < 0 y = x 3 wenn x , > 0

Y = COMPAR ( X , , X 2 )

Komparator

y = 0 y = 1

Y = AFGEN (FU, X)

Funktionsgeber

y = f(x)

yy = xx =

dt

wenn x , < x 2 wenn x , > x 2 x0 « x < x n

f(x) ist beliebig und durch Punktepaare zwischen x 0 und x n vorgegeben. Zwischen diesen wird interpoliert Y = GAUSS (X, MY, SIG)

Rauschgenerator mit Gaußverteilung

liefert eine normalverteilte Zufallsvariable y, x ist beliebig, MY ist Erwartungswert, SIG ist die Standardabweichung

Y = STEP. (X)

Sprungfunktion

y = 0 y = 1

wenn t < x wenn t > x

3.3 Ausgewählte Sprachen

143

Neben diesem Vorzug ist ein Vorteil von CSMP, open-ended bezüglich der Basis-Sprache FORTRAN zu sein. Dadurch kann der Benutzer auf sämtliche FORTRAN - Standardfunktionen (wie e x , log x, sin x, etc.,) zurückgreifen. Außerdem können weitere Blöcke in Form von FORTRAN-Prozeduren erstellt werden. Die Sprache unterscheidet 3 Anweisungstypen: 1. Strukturanweisungen Diese beschreiben die Verknüpfungen zwischen den Variablen des Modells mit Hilfe der bereitgestellten Blöcke und der vom Benutzer formulierten Gleichungen. Sie bilden die Modellstruktur nach; oft können sie einfach nach einem vorgegebenen Ablaufplan bzw. Blockschaltbild des Modells niedergeschrieben werden. Beispiele für Strukturanweisungen sind die in Tabelle 3 - 1 0 angegebenen Blöcke. 2. Datenanweisungen Diese weisen Parametern, Anfangsgrößen und auch tabellierten Funktionen Werte zu. Beispiel: PARAMETER VNULL = 880. Dieser Befehl weist dem Parameter VNULL (=Anfangsgeschwindigkeit) den Wert 880 zu. 3. Steueranweisungen Durch diese wird die Übersetzung des Programms, die Ausführung der Simulation sowie Form und Umfang der Ausgabe gesteuert. Beispiele sind: INITIAL: zwischen Initial und Dynamic stehende Anweisungen werden nur einmal zu Beginn eines Laufs ausgeführt. DYNAMIC: Anweisungen, die auf Dynamic folgen, werden erst in der eigentlichen Simulationsphase ausgeführt. FINISH: enthält Bedingungen für die Beendigung eines Laufs. PRINT. bezeichnet die Variablen, deren Werte ausgedruckt werden sollen. PRTPLT: bezeichnet Variable, für die Grafiken auf dem Drucker erstellt werden sollen. Die Strukturanweisungen der Sprache brauchen nicht entsprechend dem logisch richtigen Ablauf geordnet zu sein. Der Benutzer kann die Befehle vielmehr in beliebiger Reihenfolge niederschreiben. Ein Sortieralgorithmus bringt die An-

3. Simulationssprachen

144

Weisungen vor der Compilierung zunächst in die logisch richtige Reihenfolge. Wenn zum Beispiel eine Integration auszufuhren ist und die zu interpretierende Funktion erst aus einer Reihe von Parametern und Variablen errechnet werden muß, können die Anweisungen zum Beispiel in der Reihenfolge geschrieben sein: : | Anweisungen WEG = : PARAMETER START =

INTGRL (START, VIST) Anweisungen 100 Anweisungen

VIST =

VNULL + BESCHL • ZEIT Anweisungen

Das heißt VIST, die Funktion, über die integriert wird, folgt in der Reihe der Anweisungen erst später. Damit bei der Integration zu jeder aktuellen Modellphase das richtige VIST bereitsteht, sortiert der Übersetzer die Anweisungsfolge um. Diese Sortierung stellt eine wesentliche Hilfe für die Vermeidung von Fehlern dar. Die aktuelle Modellphase wird jeweils durch einen bestimmten diskreten Zeitpunkt bestimmt. Damit der Digitalrechner den Ablauf des kontinuierlichen Modells nachvollziehen kann, muß die Zeit diskretisiert werden (vgl. hierzu Abschnitt 2.1.2). Eine zentrale Ablaufsteuerung stellt sicher, daß sämtliche Variable den für die aktuelle Modellphase richtigen Wert haben, das heißt phasengleich sind. Für die Integrationen innerhalb eines Modells sind verschiedene Verfahren wählbar. Die Schrittweiten können durch Steueranweisungen zugewiesen werden oder werden automatisch aus vorgegebenen Fehlerschranken ermittelt. Mit den Anweisungen PRINT und PRTPLT werden Variable bezeichnet, die fortlaufend auszudrucken sind, wobei die Schrittweite des Ausdrucks nicht mit der Schrittweite der Diskretisierung übereinzustimmen braucht. Interessante Erweiterungen eröffnen sich dem Benutzer in CSMP durch die Möglichkeit, FORTRAN-Unterprogramme nicht nur als Strukturanweisungen,

3.3 Ausgewählte Sprachen

145

sondern auch für die Ablaufsteuerung einzusetzen. Damit wird es möglich, gezielt Folgen von Simulationsläufen zum Beispiel zur Optimierung bestimmter Parameter oder Zustandsvariablen durchzufuhren. Im Vergleich von CSMP mit GPSS und SIMULA zeigt sich, daß das Programmpaket zur Implementierung von CSMP weniger aufwendig und umfangreich ist. Es bietet aber wesentliche Hilfen, wobei nur wenige Programmierkenntnisse, - nur bei voller Ausnutzung aller Möglichkeiten die Kenntnis von FORTRAN - erforderlich sind und die Modellformulierung anhand von Ablaufplänen und Blockdiagrammen möglich ist. Mit der Integrationssteuerung, der Ausgabe, insbesondere jedoch dem Problem der Phasengleichheit aller Zustandsvariablen, braucht der Benutzer sich nicht selbst zu befassen. Obwohl die kontinuierliche Simulation überwiegend im naturwissenschaftlichtechnischen Bereich eingesetzt wird, wächst ihre Bedeutung auch für die Simulation sozio-ökonomischer Systeme. Der Ansatz von Forrester in „Industrial Dynamics" ist hier wegweisend (vgl. Abschnitt 4.3). Entsprechend wurde CSMP zunächst für die Simulation technisch-naturwissenschaftlicher Probleme konzipiert, bietet jedoch allgemein für die Simulation mit kontinuierlichen Modellen, also auch sozio-ökonomischer Systeme, gute Möglichkeiten. Im Beispiel der Produktions- und Lagerdisposition aus Abschnitt 1.3.2 bestand das Simulationsmodell aus den beiden Differentialgleichungen: L'(t) = P ( t ) - A P'(t) = — a (L (t) - S). In Form von CSMP-Strukturanweisungen hätte dieses Modell zum Beispiel das Aussehen: LABE PRA LAE PRAE

= = = =

INTGRL (LABO, LAE) INTGRL (PRO, PRAE) PRA - ALF - A * (LABE - SBE)

Wie oben beschrieben, braucht sich der Benutzer nicht um eine korrekte Reihenfolge der Gleichungen zu bemühen. Auch die Frage der Diskretisierung hat in dieser Phase noch keine Bedeutung. Die Erfahrung zeigt, daß CSMP selbst bei Modellen in der Form von Forresters Industrial Dynamics mit Gewinn eingesetzt werden kann. Daher wurde sie hier der Sprache DYNAMO vorgezogen, die im Abschnitt 4.3 nur noch kurz erläutert wird.

4. Ausgewählte Anwendungsgebiete

4.1 Übersicht

Da die Simulation praktisch in allen Bereichen eingesetzt wird, die die Formulierung quantitativer Modelle erlauben, ist das Anwendungsgebiet sehr weit und vielfältig. So kann hier nur eine Auswahl von Anwendungen erläutert werden. Das soll in den beiden Abschnitten 4.2 „Modelle zur Lösung von ManagementAufgaben" und 4.3 „Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics" geschehen. Es wurde der Versuch unternommen, hier die bedeutsamsten Problemstellungen herauszugreifen, obwohl jede Auswahl bei der Fülle der mit der Simulation lösbaren Probleme willkürlich sein muß. Im folgenden wird zunächst eine Übersicht über die Anwendungsgebiete der Simulation in Form einer Auflistung mit kurzen Erläuterungen gegeben. Diese orientiert sich an praktischen Aufgabenstellungen und ist in dieser oder ähnlicher Form in der Literatur gebräuchlich (vgl. zum Beispiel Naylor [4.75]). Die Reihenfolge stellt keine Gewichtung dar. A. Modelle zur Lösung von Management-Aufgaben Diese Modelle dienen vornehmlich als Entscheidungshilfe bei der Bewältigung betrieblicher Management-Aufgaben. Einige, hierunter die Warteschlangenmodelle, sind so allgemein einsetzbar, daß man sie in nahezu jedem Anwendungsgebiet wiederfindet. AI. Warteschlangenmodelle Warteschlangenmodelle werden wegen ihrer Bedeutung im Abschnitt 4.2.1 näher behandelt. Eine Übersicht über betriebliche und außerbetriebliche Wartesysteme gibt die Tabelle 4—13 im Abschnitt 4.2.1.3. A2. Modelle zur Ablaufplanung In der betrieblichen Ablaufplanung ist festzulegen, wer wann mit welchen Hilfsmitteln welche Arbeiten zu erledigen hat. Im Vordergrund stehen zwei Fragen: - nach vorgegebenen oder aus dem Ablauf resultierenden Terminen - nach der Reihenfolge der zu erledigenden Arbeiten

4.1 Übersicht

147

Letztere Fragestellung wird insbesondere mit Hilfe von „job-shop"-Modellen behandelt. Unter dem Aspekt der Ermittlung optimaler Reihenfolgen wird dieses Problem im Abschnitt 4.2.3 „Simulation von Produktionsabläufen" näher behandelt. Es wurden unter anderem folgende Probleme mit der Simulation untersucht: - Reduzierung der Wartezeiten im job-shop-Betrieb [4.35] - job-shop-Betrieb mit Abfertigung nach Prioritäten [4.12] - Vorhersage der Maschinenauslastung im job-shop-Betrieb [4.12] - Produktionsplanung in einer Woll-Spinnerei [4.49] - Analyse von Transportsystemen im Produktionsbetrieb [4.79] - Produktionsplanung in einem Stahlwerk [4.97] - Produktionsablauf an Montagebändern [4.94], [4.40] A3. Instandhaltung und Wartung Das Problem der Instandhaltung und Wartung von Industrieanlagen und Maschinen hat heute in Anbetracht steigender Investitionen und überproportional wachsender Instandhaltungskosten zwei Dimensionen: - möglichst schnelle Instandsetzung bereits defekter Anlagen und Maschinen - vorbeugende Wartung von Anlagen und Maschinen Im ersten Fall handelt es sich im wesentlichen um ein Kapazitätsproblem, das mit Hilfe von Warteschlangenmodellen gelöst werden kann (die erforderliche Datenbasis vorausgesetzt!). Die speziellen Verhältnisse erfordern hier zumeist die Simulation. Der zweite Fall (vorbeugende Instandhaltung) erfordert die Ermittlung von Wahrscheinlichkeitsverteilungen für den Ausfall von Aggregaten, für „Durchstehzeiten" (Zeit, in der das Aggregat störungsfrei arbeitet) und „Bereitschaftswahrscheinlichkeiten" (Wahrscheinlichkeit für die Betriebsfähigkeit eines Aggregates in einem Zeitintervall). Aus diesen Größen kann der von der Betriebszeit abhängende Zuverlässigkeitsgrad abgeleitet werden, über den sich die Zeitintervalle für die vorbeugende Wartung bestimmen lassen. Die Zusammenhänge sind zumeist sehr komplex und erfordern Simulationstechniken zu ihrer Analyse. Es können hier durch die Simulation häufig erheblich Kosten eingespart werden. Neben den Kosten können auch andere Größen eine systematische Instandhaltungsstrategie erzwingen. So erfordert zum Beispiel die Flugsicherheit in der Luftfahrt eine vorbeugende Wartung von Motoren und Triebwerken. Einige Luftfahrtgesellschaften verfügen daher über ein eigenes Computer-Simulationssystem zur Instandhaltungsplanung von Triebwerken (z. B. EROS = Engine Repair and Overhaul Simulation bei der Lufthansa, vgl. [4.48], [4.37]) Eine Übersicht über Methoden und Techniken der vorbeugenden Wartung gibt das Sammelwerk von Mertens/Bussmann [4.13],

148

4. Ausgewählte Anwendungsgebiete

A4. Lagerhaltungsmodelle Obwohl gerade für die Lagerhaltung eine Fülle analytischer Verfahren entwikkelt wurde, die eine Reihe grundlegender Erkenntnisse brachten (vgl. z. B. Naddor [4.71]), ist die Lagerhaltung eines der wichtigsten Einsatzgebiete der Simulation. In realistischen Lagemodellen ist zumeist eine Vielzahl stochastischer Einflüsse wirksam, die sich nur schwer und meist nur in speziellen Fällen analytisch fassen lassen. Zudem führt die Gewährung von Rabatten, Boni und Skonti zu unstetigen Kostenfunktionen, die ebenfalls eine analytische Behandlung der Probleme erschweren. Schließlich ist es nur in Handelsunternehmen sinnvoll, das Lagerhaltungsproblem isoliert zu betrachten. In den meisten Industrieunternehmen muß es in den Fertigungsablauf integriert werden und führt so zu komplexen Modellen. Der Einsatz der Simulation bietet sich dann an. Auf die Simulation mit Lagerhaltungsmodellen wird in 4.2.2 näher eingegangen. An Problemen wurden mit der Simulation unter anderem behandelt: - Lagerhaltungsstrategien bei der Kombination von Außen- und Zentrallagern [4.5] - ein integriertes Produktions- und Lagerhaltungssystem [4.26] - Lagerhaltungs- in Verbindung mit Instandhaltungsstrategien bei anfälligen Produktionsanlagen [4.70] - Einfluß von Prognosen auf die Lagerkosten [4.72], [4.77] A5. Investitions- und Finanzierungsmodelle Investitionsentscheidungen werden hauptsächlich nach drei Kriterien gefällt: - dem Zeitwert des Geldes - den Sicherheits- (Risiko-) Faktoren - steuerlichen Gesichtspunkten Bei den klassischen Investitionsmodellen der Betriebswirtschaftslehre kann der Einfluß von Risikofaktoren nicht oder nur begrenzt berücksichtigt werden. Gerade eine Analyse der Risiken stellt jedoch eine wesentliche Entscheidungshilfe dar. Zudem ist es häufig eine unzulässige Vereinfachung, einzelne Investitionsentscheidungen isoliert zu sehen. So kann zum Beispiel bei der Entscheidung zwischen dem Bau einer großen oder einer kleinen Anlage für die Bewertung von entscheidender Bedeutung sein, daß die kleine Anlage nach einiger Zeit im Bedarfsfall kurzfristig ausgebaut werden kann. Es muß also a priori eine Kette von Entscheidungen, eine ganze Investitionspolitik, ausgewählt werden. Hierbei muß analysiert werden, wie sich Risikofaktoren, die in Form von ermittelten oder geschätzten Wahrscheinlichkeitsverteilungen gegeben sind, fortpflanzen, um schließlich für jede Politik eine Risiko- (Wahrscheinlichkeits-) verteüung der möglichen Erlöse zu erhalten.

4.1 Übersicht

149

Die grundlegenden Techniken für diese Vorgehensweise stehen in der RisikoAnalyse ([4.44], [4.43]) und im Entscheidungsbaumverfahren ( [4.62], [4.63]) zur Verfugung. Sie wurden von Hespos/Strassmann [4.45] zu der Methode des stochastischen Entscheidungsbaums integriert. Eine vollständige Ausschöpfung der im Modell enthaltenen Informationen erfordert den Einsatz der Simulation. Die Autoren schlagen GPSS als geeignete Sprache zur Modellformulierung vor. Weitere, mit der Simulation behandelte Probleme der Investition und Finanzierung sind: - Zusammenstellung eines Portefeuilles unter den Gesichtspunkten des Ertrages und des Risikos [4.17], [4.18] - Vorhersage des Finanzbedarfs eines Unternehmens [4.20] - Budgetierungsmodelle [4.66] A6. Marketing-Modelle Im Marketing hat die Simulation besonders intensive Verwendung gefunden, da hier die Verhältnisse besonders komplex sind und sich jeder anderen Behandlung weitgehend entziehen. Da es hier nicht nur um die makroökonomische Betrachtung von Märkten geht, sondern der Manager Detailinformationen über den Erfolg von Marketingstrategien benötigt, gehen in diese Modelle neben volkswirtschaftlichen Relationen zur Beschreibung des Marktvolumens auch einzelne Verhaltensmerkmale des Käufers ein, mit deren Hilfe die Kaufentscheidung und ihre Beeinflußbarkeit zum Beispiel durch Verpackung, Qualität, Design, Preis simuliert werden. Marketingmodelle enthalten also Elemente aus makroökonomischen und Verhaltensmodellen. In -

diesem Bereich wurde unter anderem mit der Simulation untersucht: Entwicklung eines von mehreren Wettbewerbern umkämpften Marktes [4.3] das Konsumenten-Verhalten [4.24], [4.96] Standortauswahl für Warenhäuser [4.59]

Umfassend haben Montgomery/Urban

[4.68] dieses Thema behandelt.

A7. Forschungs- und Entwicklungsmodelle Der Vollständigkeit halber sei auf Modelle für das Management von Forschungsund Entwicklungsprojekten hingewiesen. Eine Übersicht gibt hier Roberts [4.82], B. Ökonomische Modelle Unter ökonomischen Modellen seien hier in Anlehnung an den amerikanischen Sprachgebrauch (Economic Models) Unternehmensmodelle, Modelle ganzer

150

4. Ausgewählte Anwendungsgebiete

Industrien einschließlich der Märkte sowie Modelle der gesamten wirtschaftlichen Verflechtung sozio-politischer Einheiten wie Städten, Regionen oder Staaten (makroökonomische Modelle) verstanden. Im Abschnitt 4.3 wird auf die Problematik der Unternehmensmodelle eingegangen. Mit Industrie-Modellen soll die Entwicklung in einem ganzen Industriezweig untersucht werden. Modelle existieren hier zum Beispiel für die Textil- und Bekleidungsindustrie, für die Schuh- und Lederwarenindustrie sowie für die Holzindustrie, sämtlich in den USA (vgl. [4.75]). Diese Modelle unterscheiden sich in Struktur und Aussagekraft wenig von Unternehmensmodellen. Komplexer, weil die Zahl der Einflußfaktoren größer und schwerer zu fassen ist, sind makroökonomische Modelle. Für die USA existieren zum Beispiel einige große Modelle, die von der Regierung und einigen großen Unternehmen zur Analyse und Prognose der gesamtwirtschaftlichen Entwicklung genutzt werden [4.33], [4.61], [4.27], Das bekannteste unter ihnen ist das WHARTONModell [4.27], dessen Simulationsergebnisse einigen Firmen als Eingabedaten für ihre Marketing-Modelle dienen. Dieses Modell besteht aus mehr als 70 Gleichungen, die die Verknüpfungen zwischen charakteristischen Größen wie Nationaleinkommen, Gewinnen, Investitionen, Steuern, usw. (in einem solchen Modell sind ca. 100 dieser Größen erfaßt) herstellen. Ein entsprechendes Modell für die BRD wird in [4.58] vorgestellt. C. Verhaltensmodelle Eine große Zahl von Arbeiten befaßt sich mit der Simulation des menschlichen Verhaltens zum Studium der psychologischen, soziologischen und auch biologischen Aspekte. Im Vordergrund des Interesses stehen hier aus betrieblicher Sicht die Determinanten menschlichen Verhaltens, die bei einer Kaufentscheidung bestimmend sind, sowie eine Nachbildung des menschlichen Lernprozesses. Die erste Frage ist für alle detaillierten Marktmodelle bedeutsam, da sich die Marktanteile aus der Summe aller Käuferentscheidungen ergeben. Die zweite Frage hat eine besondere Bedeutung zum Beispiel bei Produktionskostenüberlegungen gewonnen. Danach sinken die Produktionskosten überproportional mit wachsender Stückzahl (Serien), weil durch zunehmende Übung der Arbeitskräfte (Lernprozeß) die Ausschußquote sinkt. Einige weitere, mit der Simulation bearbeitete Themen sind: - Simulation sozialen Verhaltens [4.1], [4.38] - Simulation der Wechselbeziehungen in kleinen Gruppen [4.41] - der psychologische Entscheidungsprozeß bei der Personalauswahl [4.87] - die Simulation der Persönlichkeit [4.93] - die Simulation von Nervennetzen [4.98]

4.1 Übersicht

-

151

das menschliche Verhalten gegenüber neuen Ereignissen und Objekten [4.90] Simulation in der Psychiatrie [4.73] Simulation des Lernverhaltens [4.19]

D. Modelle von Computer-Systemen Beim Betrieb eines modernen Computers läuft eine große Zahl ineinandergeschachtelter Prozesse ab. Der gesamte Ablauf ist nur noch schwer zu überschauen, insbesondere lassen sich die Auswirkungen von Einzelmaßnahmen, zum Beispiel schnellerer Kanäle oder anderer Blockungsfaktoren beim Datentransport, auf die Leistungsfähigkeit des Gesamtsystems häufig nur experimentell ermitteln. Moderne Betriebsarten des Computers wie multi-programming, multiprocessing und time-sharing haben diese Problematik noch vergrößert. Bei der Entwicklung neuer Computersysteme ist es daher üblich geworden, aufgrund des angestrebten technischen und logischen Aufbaus zunächst ein Simulationsmodell zu erstellen, mit dessen Hilfe die Leistungsdaten des neuen Systems ermittelt werden können (vgl. [4.51]). Neben der Simulation des Computers selbst wird in diesen Themenkreis häufig auch die Simulation des Betriebsablaufs in Rechenzentren eingeschlossen, obwohl dieser sich zunächst nicht prinzipiell von den Abläufen in anderen Betrieben unterscheidet. Eine Rechtfertigung hierfür ist jedoch gegeben, da durch vielfältige manuelle Eingriffe wie Dateneingabe, Wechsel von Bändern und Platten die Arbeit des Computersystems mit dem Betriebsablauf im übrigen Rechenzentrum verknüpft ist. Einige speziell untersuchte Themen sind: - Simulation von time-sharing-Systemen [4.30] - Überprüfung der Computer-Logik durch Simulation [4.60] - Probleme bei der Simulation von Multiprocessor-Systemen [4.50] E. Verkehrsmodelle Beim Aufbau von Verkehrsmodellen wird primär das Ziel verfolgt, Informationen über Richtung und Stärke von Verkehrsflüssen zu erarbeiten. Diese ermöglichen eine optimale Auslegung von Verkehrswegen. Eng damit verbunden ist ein Transportproblem, wenn erst aus den zu transportierenden Mengen das Verkehrsaufkommen resultiert. Schließlich kann damit wiederum bei einem großen Industrie- oder Handelsunternehmen ein Standortproblem verbunden sein. Modelle, die ausschließlich zur Analyse von Verkehrsproblemen dienen, können sich beziehen auf: - den Straßenverkehr

4. Ausgewählte Anwendungsgebiete

152

-

den Luftverkehr den Schienenverkehr den Schiffsverkehr

Im Bereich des Straßenverkehrs wurden unter anderem behandelt: - Verkehrsfluß im Straßennetz zum Beispiel einer Großstadt [4.6], [4.54] - Verkehrsfluß auf einzelnen, komplizierten Kreuzungen [4.9] - Verkehrssteuerung mit Hilfe variabler Ampelschaltungen [4.8] - Probleme des „stehenden" Verkehrs, die Ausnutzung von Parkraum [4.99] Bei den Modellen des Luftverkehrs stehen Flughafenprobleme naturgemäß im Vordergrund. Es wurden zum Beispiel behandelt: - die Auslegung eines Lufttransportsystems [4.25] - das Problem der Flugüberwachung [4.36] - die optimale Auslastung von Start- und Landebahnen [4.64] - Simulation eines Luftverkehrssystems [4.39] Im Schienenverkehr untersuchte man zum Beispiel die Probleme: - Eisenbahnverkehr auf eingleisigen Strecken [4.21] - Steuerung des Untergrundbahnverkehrs [4.95] F. Modelle von Städten und Regionen Die hier angesprochenen Modelle unterscheiden sich dadurch von den unter Punkt B angesprochenen, daß sie nicht ausschließlich für ökonomische Fragestellungen, sondern gerade auch für soziologische, ökologische oder politische Fragestellungen entwickelt wurden. Die wirtschaftliche Situation ist in einem solchen Modell nur ein Einflußfaktor für die Entwicklung der Region oder Stadt. Daneben ist das Angebot von Arbeitsplätzen, Wohnungen, sozialen Einrichtungen, verfügbarem Bauland usw. bestimmend für die Zukunftsaussichten und damit Attraktivität einer Region oder Stadt. Ein solches Modell liefert mithin wertvolle Informationen für die Raumplanung und damit für die Regionalpolitik. Im Brennpunkt des Interesses stehen die Probleme: - eine bisher unberührte Region wirtschaftlich und sozial zu entwickeln - eine stagnierende oder verfallende wirtschaftliche und soziale Struktur zu erneuern. Das zweite Problem wurde insbesondere in den USA wegen seiner Aktualität intensiv untersucht, wobei die Simulation ein wesentliches Hilfsmittel darstellte. Forrester bietet in seinem Buch „Urban Dynamics" [4.32] ein geschlossenes Modell an, daß auf der in „Industrial Dynamics" entwickelten Methodik beruht (vgl. Abschnitt 4.3). Dieses Modell wurde inzwischen auch auf deutsche

4.1 Übersicht

153

Verhältnisse übertragen [4.57]. Es liefert Aussagen über Bevölkerungsentwicklung, Veränderungen in der Flächennutzung, die erforderlichen Infrastrukturinvestitionen sowie die Entwicklungen auf dem Arbeits- und Wohnungsmarkt. Neben solchen umfassenden Modellen, wie sie auch von anderen Autoren entwickelt wurden [4.56], [4.84], [4.91], stehen Arbeiten, die spezielle Fragestellungen behandeln. Dazu gehören: - Simulationsmodelle für Haushaltspläne von Städten [4.22] - Untersuchungen zur Entwicklung von Wohngebieten [4.15] - Modelle für die Ansiedlung neuer Industrien [4.81] G. Planspiele Planspielen liegen Simulationsmodelle zugrunde, mit deren Hilfe die Auswirkungen von Entscheidungen ermittelt werden können. Die Spielenden sehen unmittelbar Erfolg oder Mißerfolg ihrer Maßnahmen und lernen wie aus der Erfahrung. Charakteristisch für ein Planspiel ist nicht eine eigene Modellstruktur, sondern die Art der Verwendung des Modells. Der prinzipielle Ablauf eines Spiels ist in der folgenden Abbildung dargestellt (Abbildung 4—1):

Abbildung 4 - 1 .

Danach gehören zu jedem Spiel ein Spielleiter, ein Simulationsmodell, das meist als Computerprogramm vorliegt, sowie die Spielenden, die häufig auch

154

4. Ausgewählte Anwendungsgebiete

zu konkurrierenden Gruppen zusammengefaßt sind. Nach einer grundlegenden Information über Problemstellung und Spielregeln analysieren die Spieler die gegebene Situation und fällen ihre Entscheidungen, aus denen jeweils ein bestimmter Datensatz resultiert. Diese Daten und die vom Spielleiter vorgegebenen Ausgangsdaten bilden die Eingabe für das Simulationsmodell. Über Parameter kann der Spielleiter zusätzlich die Bedingungen im Modell variieren. Ein Simulationslauf liefert Informationen über die neue Situation, die sich aufgrund der Spielerentscheidungen einstellt. Der Spielleiter erhält eine Übersicht, während die Spielenden jeweils ihre spezifischen Informationen bekommen. Zusätzlich können zwischen Spielern und Spielleiter Anweisungen und Erfahrungen ausgetauscht werden. Nun beginnt eine neue Spielperiode: die Spielenden fällen neue Entscheidungen und legen damit neue Eingabedaten fest, der Spielleiter setzt unter Umständen neue Parameter für das Modell, es folgt ein weiterer Simulationslauf. Die Zahl der spielbaren Perioden ist praktisch nur durch die verfügbare Zeit begrenzt. Am Ende steht eine Manöverkritik aufgrund der Spielergebnisse. Der mit Planspielen erzielbare Lernerfolg hängt wesentlich von der Güte des Modells ab. Dazu gehört vor allem, daß die Relationen im Modell zum Beispiel zwischen Preisen und daraus resultierendem Absatz in einem Marktmodell, nicht leicht durchschaubar sein dürfen. Aus Gründen des Aufwandes muß man sich für Spielzwecke jedoch mit einfacheren Modellen begnügen. Planspiele gibt es heute für alle Managementaufgaben, wie sie unter den Punkten AI bis A6 aufgeführt sind. Besonders häufig findet man sie jedoch für den Bereich Absatz und als Unternehmensplanspiel. Hierbei arbeiten mehrere Gruppen auf einem Absatzmarkt als Konkurrenten gegeneinander, wobei einmal nur die Marktstrategie, zum anderen die gesamte Unternehmenspolitik formuliert werden muß. Der Wert des Planspiels liegt im wesentlichen im Training, das heißt der Vertiefung und Erweiterung bereits vorhandener Kenntnisse und Fähigkeiten. Die erzielbaren Lernerfolge werden heute häufig kritisch beurteilt im Verhältnis zum hohen Zeitaufwand. H. Sonstige Modelle In diesem Abschnitt sei auf einige Modelle hingewiesen, die nicht oder nur unter Verlust ihrer Eigenheit unter den voraufgegangenen Überschriften einzuordnen sind. Eine eigene Gruppe bilden hierbei die Simulationsmodelle von Informationsflüssen und Informationssystemen: - Simulation des Informationsflusses in einem Stahlwerk [4.2]

4.2 Modelle zur Lösung von Managementaufgaben

-

155

Simulation von Management-Informations-Systemen [4.10] Simulation eines Kommunikationssystems der Polizei [4.42] Simulation von Kommunikationsnetzen [4.65]

Weitere Modelle aus anderen Bereichen seien lediglich aufgezählt: - Simulation einer Zuckerraffinerie [4.11 ] - Simulation chemischer Fabriken [4.4] - Simulation eines Krankenhauses [4.29] - Simulationsmodelle für die Lebensversicherung [4.46] - Simulation eines kommunalen Gesundheitswesens [4.77] - Simulation eines Gerichtshofs bei der Behandlung von Kriminalfällen [4.92]

4.2 Modelle zur Lösung von Managementaufgaben 4.2.1 Warteschlangen 4.2.1.1 Begriffe

Das Grundmodell einer Warteschlange wurde bereits in der Einführung (vgl. Abschnitt 1.3.2) vorgestellt. Danach besteht die einfache Warteschlange aus einer Bedienungsstation und zugehörigem Warteraum. Um eine klare begriffliche Trennung zu erreichen, soll im folgenden von einem Wartesystem gesprochen werden, wenn Warteraum und Bedienungsstation gemeint sind. Damit sind Verwechslungen mit der eigentlichen Warteschlange, nämlich im Warteraum anwesenden Kunden, ausgeschlossen. Die bestimmenden Faktoren in einem Wartesystem sind: - Ankunftsrate, allgemein mit dem griechischen Buchstaben X bezeichnet - Bedienungsrate, allgemein mit dem griechischen Buchstaben fi bezeichnet - Schlangendisziplin (Charakter der Schlange) Die Ankunftsrate bezeichnet die mittlere Anzahl von Ankünften pro Zeiteinheit: ^ _ Anzahl der Ankünfte im Mittel Zeiteinheit Kann man mit einiger Berechtigung annehmen, daß die mittlere Ankunftsrate an einem Bedienungsschalter konstant ist, dann bereitet die Ermittlung keine Schwierigkeiten. Über einen Zeitraum, der als genügend repräsentativ gelten kann, werden die Ankünfte pro Zeiteinheit registriert. Für einen Bankschalter gelte etwa innerhalb von 60 Minuten: in

8 min

keine Ankunft

156

4. Ausgewählte Anwendungsgebiete

in 14 min in 20 min in 12 min in 6 min

1 2 3 4

Ankunft Ankünfte Ankünfte Ankünfte

Damit liegt die empirisch ermittelte, diskrete Wahrscheinlichkeitsverteilung für die Ankunftsrate vor: Häufigkeit 7\ / /

0.3-

n / /

0.2'

/

0.1-

r/ /

/ '

/ /

/ /

/

/

/

/

0

i

/

/ / '

/

/

/ /

/ '

/ /

/

!>

/ 2

_ / /

/ /

/

/

/ / /

f

3

Ankünfte/Minute

Der Mittelwert dieser Verteilung ist die mittlere Ankunftsrate: X = 1.89 Die empirische Ermittlung der Ankunftsrate stößt zumeist auf Schwierigkeiten, weil die Verhältnisse in der Praxis nicht zeitlich konstant sind, wie die Stoßzeiten an Post- und Bankschaltern, an Tankstellen und in Supermärkten zeigen. Hier ist es erforderlich, für die Erhebung Zeitabschnitte zu finden, in denen die Annahme einer zeitlich konstanten Verteilung sinnvoll ist. Einfacher liegt der Fall, wenn die Struktur eines Prozesses soweit bekannt ist, daß, ihm eine theoretische Verteilung zugeordnet werden kann. Häufig wird angenommen, daß die Ankünfte „zufällig" erfolgen, das heißt zu jedem Zeitpunkt ist das Eintreffen eines Kunden gleich wahrscheinlich. Eine solche Annahme war ja gerade das Charakteristikum der Poisson-Verteilung (vgl. Abschnitt 2.2.2.1), die in diesem Fall als Modell für die Ankunftsrate dient. (Das erklärt auch die Bedeutung der Poisson-Verteilung für die Simulation). Im Falle zeitlich variabler mittlerer Ankunftsraten treten hier jedoch die gleichen Probleme wie bei der Ermittlung empirischer Verteilungen auf. Außer der Zeit können jedoch beliebige andere Größen in einem komplexen System die Ankunftsrate beeinflussen. Ein plausibles Beispiel dafür ist die Länge der bereits vorhandenen Schlange. Allgemein reiht man sich in eine lange Schlange nur noch ungern ein, so daß die mittlere Ankunftsrate unter Umständen mit der Schlangenlänge abnimmt. Der Charakter der Ankünfte in

4.2 Modelle zur Lösung von Managementaufgaben

157

einem Wartesystem kann auch durch die Verteilung der zeitlichen Abstände zwischen jeweils zwei Ankünften beschrieben werden. Diese Verteilung kann wiederum empirisch oder theoretisch aufgrund struktureller Überlegungen ermittelt sein. Wie in Abschnitt 2.2.2.1 erläutert, ergibt sich unter der Annahme zufällig verteilter Ankünfte, also poissonverteilter Ankunftsrate, für die zeitlichen Abstände zwischen den Ankünften eine Exponentialverteilung. Unter dieser Annahme sind mittlerer zeitlicher Abstand t a und mittlere Ankunftsrate zueinander reziprok, das heißt: A-Ta= 1 Ebenso wie die mittlere Ankunftsrate das Eintreffen von Elementen (Kunden usw.) im Wartesystem beschreibt, charakterisiert die mittlere Bedienungsrate den Bedienungsvorgang. Für sie gelten ähnliche Überlegungen. Man bezeichnet sie mit dem Buchstaben ß und definiert: ^

Anzahl von Elementen, die im Mittel abgefertigt werden können Zeiteinheit

Man beachte die Formulierung „abgefertigt werden können". Es geht hier also um den möglichen Durchsatz bei maximaler Auslastung der Station. In Abhängigkeit von der Ankunftsrate wird die Zahl der tatsächlich passierenden Kunden meist geringer sein. Auch die mittlere Bedienungsrate kann von verschiedenen Größen des Systems wie Zeit oder Länge der Warteschlange abhängen. Man denke hier etwa an beschleunigte Arbeit angesichts langer Schlangen oder Ermüdungserscheinungen des Bedieners vor der nächsten Pause. Ebenso wie die Ankünfte gleichwertig durch mittlere Ankunftsrate und mittleren zeitlichen Abstand zwischen den Ankünften beschrieben werden können, kann die mittlere Bedienungsrate ersetzt werden durch die mittlere Bedienungszeit. Sie sagt aus, wieviel Zeit im Mittel für die Bedienung eines Kunden benötigt wird. Wegen der besseren Anschaulichkeit wird diese Größe in der Praxis bevorzugt verwendet. Ihre Ermittlung gestaltet sich bei zeitlich konstanten Verhältnissen ebenfalls recht einfach. An einem Bankschalter werden zum Beispiel die folgenden Zeiten gemessen: Bedienungszeit: 0 1 2 3 4

bis bis bis bis bis

1 2 3 4 5

min min min min min

bei bei bei bei bei

12 23 14 8 3

Kunden Kunden Kunden Kunden Kunden

158

4. Ausgewählte Anwendungsgebiete

Diese empirische Verteilung der Bedienungszeiten hat das Aussehen: i Häufig keit

0.4-

0.3-

0.2-

0.1-

3

4

5

tb

Der Mittelwert errechnet sich bei Verwendung der Klassenmitten zu: Tb = 1.98 Statt empirischer Verteilungen werden auch für die Bedienungszeiten theoretische Verteilüngen eingesetzt, wenn der zugrunde liegende Prozeß genügend genau bekannt ist. Bevorzugt wird auch hier die Exponentialverteilung: f(t) = Wie bereits in 2.2.2.1 ausgeführt wurde, ist allerdings zu beachten, daß der zugrunde liegende Gedanke der Zufälligkeit mit seinen Konsequenzen für die Verteilung der Zeiten in der Praxis nicht immer zutrifft. Wie noch zu zeigen ist, führt die Annahme exponentiell verteilter Bedienungszeiten jedoch zu besonders einfachen Ergebnissen. Die Schlangendisziplin ist der dritte, ein Wartesystem charakterisierende Einflußfaktor. Hierunter versteht man das Verhalten der Kunden in der Warteschlange, etwa, ob streng in der Reihenfolge des Eintreffens bedient wird oder ob gemogelt werden kann. Vier grundlegende Formen der Schlangendisziplin werden gemeinhin unterschieden: 1. Alle Kunden werden in der Reihenfolge ihres Eintreffens bedient (FIFO = First in-first out) Diese häufigste Form liegt wegen ihrer Einfachheit auch den meisten theoretischen Ansätzen zugrunde.

4.2 Modelle zur Lösung von Managementaufgaben

159

2. Der zuletzt eingetroffene Kunde wird zuerst bedient (LIFO = last m - first put) Diese Form ist für einige spezielle Anwendungen von Interesse. 3. Alle Kunden werden bedient, jedoch in einer durch Prioritäten festgelegten Reihenfolge. So können Kunden etwa nach ihren Bedienungszeiten geordnet werden, wobei kürzere Zeiten bevorzugt werden. Die Bildung von Prioritätsklassen (z. B. Vorstandsmitglieder, NichtVorstandsmitglieder unter den Mitarbeitern eines Unternehmens) läßt Gruppen entstehen, in denen die Reihenfolge jeweils wiederum nach einer Auswahlregel wie FIFO, LIFO usw. festgelegt wird. Elemente aus Gruppen niederer Priorität werden erst bedient, wenn in Gruppen höherer Priorität niemand mehr wartet. 4. Die Bedienung erfolgt nach einer Regel wie FIFO, jedoch verlassen „ungeduldige Kunden" bei zunehmender Schlangenlänge und damit längeren Wartezeiten die Schlange mit gewisser Wahrscheinlichkeit. Auch für diesen praxisnahen Fall gibt es einige theoretische Untersuchungen. In jedem dieser vier Fälle kann ein begrenzter oder unbegrenzter Warteraum betrachtet werden. Liegt ein begrenzter Warteraum vor, so werden eintreffende Kunden nicht mehr aufgenommen, wenn der Warteraum bereits ganz belegt ist. Die bisher aufgeführten Einflußfaktoren bestimmen das Verhalten des Wartesystems, das durch die im folgenden diskutierten Variablen beschrieben wird. Ökonomisch von besonderem Interesse ist die Auslastung einer Station. Ein Maß dafür ist die Verkehrsdichte, die gegeben wird durch:

P

mittlere Anzahl ankommender Elemente Anzahl von Elementen, die im Mittel abgefertigt werden können

Im Beispiel „Kaufhauskasse" des Abschnitts 1.3.2 war die Verkehrsdichte p = 0.64. Man gibt die Verkehrsdichte in der Einheit „Erlang" an nach dem Begründer der Warteschlangentheorie. Soll die Warteschlange nicht unbegrenzt wachsen, muß p kleiner als 1 Erlang sein, das heißt es dürfen nicht mehr Elemente in die Warteschlange eintreten als überhaupt abgefertigt werden können. Selbst wenn p = 1 ist, würde im Fall stochastischer Ankunfts- und Bedienungsrate die Schlange theoretisch unendlich anwachsen, da Ankunft und Bedienung nicht im gleichen Rhythmus erfolgen und Leerzeiten der Station nicht wieder aufgeholt werden können. Für den Kunden ist die Schlangenlänge von Interesse, die er vorfindet und die Wartezeit, die er in der Schlange verbringt. Für ein Wartesystem mit gegebenen Einflußfaktoren sind die Wahrscheinlichkeitsverteilungen dieser Größen zu ermitteln oder zumindest ihre Mittelwerte.

160

4. Ausgewählte Anwendungsgebiete

Die mittlere Wartezeit Tw läßt sich praktisch aus der Gesamtwartezeit aller Kunden w g e s und der Anzahl aller in die Schlange eingetretenen Kunden n g e s ermitteln: Wges w

~ "ges n

Bezüglich der Schlangenlänge werden zwei Werte unterschieden: n = Anzahl der Kunden in der Schlange einschließlich dem Kunden, der gerade bedient wird n s = Anzahl der Kunden in der Schlange ohne Bedienungsstation Zwar ist: 0 wenn kein Kunde im System ist n = n s + 1 sonst jedoch gilt eine ähnliche Beziehung nicht für die Mittelwerte der beiden Größen ñ und ffs. Die mittlere Schlangenlänge ñ s wird vorteilhaft über die mittlere Wartezeit Tw ermittelt, denn es ist: ñs = X t w Kommen also an einem Schalter im Mittel 2 Kunden pro Minute an und muß jeder Kunde durchschnittlich 1.5 Minuten Wartezeit einkalkulieren, so werden im Mittel 3 Kunden in der Schlange stehen. Die Verteilungen von Wartezeit und Schlangenlänge in einem Wartesystem (und damit ihre Mittelwerte) können unabhängig von der Zeit sein. In diesem Fall spielt sich das System nach einer Anlaufzeit auf einen stationären Zustand ein. Es stellt dann also einen stationären Prozeß dar. Wenn die Verteilungen von der Zeit abhängen, dann sind sogenannte „Übergangslösungen" zu erwarten. Die für die Beschreibung eines elementaren Wartesystems verwendeten Größen sind in der Tabelle 4—2 noch einmal zusammengestellt. Tabelle 4 - 2 . Größe

Bezeichnung

Bedeutung

mittlere Ankunftsrate

im Mittel pro Zeiteinheit in die Schlange eintretende Kundenzahl

mittlere Ankunftszeit

mittlerer zeitlicher Abstand zwischen zwei Ankünften

161

4.2 Modelle zur Lösung von Managementaufgaben Größe

Bezeichnung

mittlere Abfertigungsrate

ß

mittlere Bedienungszeit

Bedeutung Kundenzahl, die pro Zeiteinheit an der Station bedient werden kann für die Bedienung eines Kunden im Mittel erforderliche Zeit

"tb

Verkehrsdichte

P

=

\ — M

Auslastung der Bedienungsstation bestimmt die Reihenfolge, in der die Kunden bedient werden und gibt an, welche Kunden wieder aus der Schlange ausscheren

Schlangendisziplin

-

FIFO LIFO Prioritäten ungeduldige Kunden

mittlere Wartezeit

»w

gibt an, mit welcher Wartezeit ein Kunde im Mittel zu rechnen hat (ohne Bedienungszeit)

mittlere Schlangenlänge

ns

gibt an, wie lang die Schlange im Mittel sein wird (ohne den Kunden in der Station) wie n s , jedoch einschließlich dem Kunden in der Station

mittlere Zahl von Kunden im System

S e l t e n f i n d e t m a n in der Praxis j e d o c h das bisher b e t r a c h t e t e G r u n d m o d e l l einer Warteschlange. Wie die S k i z z e n der Kassenreihe in e i n e m S u p e r m a r k t ( A b b i l d u n g 4—3) o d e r der Z a p f s ä u l e n an einer Großtankstelle ( A b b i l d u n g 4—4) zeigen, sind beliebige K o m b i n a t i o n e n dieses G r u n d m o d e l l s a n z u t r e f f e n : nebeneinander a n g e o r d n e t e (parallele) B e d i e n u n g s s t a t i o n e n für eine o d e r mehrere separate Warteschlangen, hintereinander (in R e i h e ) a n g e o r d n e t e Bedienungss t a t i o n e n m i t o d e r o h n e z w i s c h e n g e s c h a l t e t e Warteräume; auch K o m b i n a t i o n e n aus beiden.

J O

O

O

o o o o o o o o o o o o

Kasse 1

m

Abbildung 4 - 3 .

Supermarkt

Kasse 2

Kasse 3

Kasse 4

162

4. Ausgewählte Anwendungsgebiete

CHTO

DB (

( U )

Q 3 Q 3

O D

)

um /

/ Z Abbildung 4 - 4 .

lEig

CID

d l )

= Zapfsäule

Tankstelle

Galliher [4.34] hat ein Verfahren vorgeschlagen, nach dem Wartesysteme mit einer Schlange und einer oder mehreren parallel angeordneten, gleichgearteten Bedienungsstationen heute üblicherweise bezeichnet werden. Die Kurzbezeichnung besteht aus drei Buchstaben: A B S . Durch A wird die Verteilung der Ankunftszeiten charakterisiert und durch B die der Bedienungszeiten. Dabei gilt der Schlüssel: C :

die Zeitspannen stant (C = engl, M : die Zeitspannen G : die Zeitspannen

sind fest, das heißt t a = konstant bzw. tb = konconstant) sind exponentiell verteilt (M = Markoff) sind irgendwie beliebig verteilt

Der Buchstabe S bezeichnet die Zahl der parallel angeordneten Stationen. So bedeutet MGI ein Wartesystem mit exponentiell verteilten Ankünften, beliebig verteilten Bedienungszeiten und einer Bedienungsstation. CMS bezeichnet ein System mit Zugängen in konstanten zeitlichen Abständen und S Bedienungsstationen mit jeweils exponentiell verteilten Bedienungszeiten.

4.2.1.2 Einige Grundmodelle und analytische Lösungen

Das Grundmodell der Warteschlangentheorie ist die Station MM1, das heißt eine Station mit einem Bedienungsschalter und exponentiell verteilten Ankunfts- und Bedienungszeiten. Für die Ankunftszeiten gilt somit: f(ta) = Xe-Xt* Der Mittelwert ist dann: ta = 1/X Die Ankünfte werden dann durch die Poisson-Verteilung gegeben:

163

4 . 2 Modelle zur Lösung von Managementaufgaben

mit der mittleren Ankunftsrate Entsprechend ist für die Bedienungszeiten: f ( t b ) = Me~ M t b mit: tj, = 1 Iß Ist p die Verkehrsdichte mit p = Ä/ju und FIFO die Schlangendisziplin, dann gilt hier für die mittlere Schlangenlänge: _ ns =

P2 -— 1-P

und für die mittlere Zahl der Elemente im System: P

Die mittlere Wartezeit t w ist dann: tt w =

P

M(l-P) Die Abbildungen 4—5 und 4—6 geben die für die Beurteilung eines Wartesystems interessanten Zusammenhänge zwischen p, n und n s sowie p, ß und t w grafisch wieder. Dabei zeigt die Abbildung 4—5 bereits eine für viele Anwendungen bedeutsame Erscheinung. Unter den gegebenen Voraussetzungen wächst die mittlere Schlangenlänge n s oberhalb einer Verkehrsdichte von ca. 0.7 sehr stark an. Es existiert n.

Tin

3

2

0 Abbildung 4 - 5 .

0.25

0.5

0.75

1.0

p

164

4. Ausgewählte Anwendungsgebiete

Abbildung 4 - 6 .

somit eine gewisse Grenze zum Beispiel für die Auslastung des Bedienungspersonals an einem Schalter, wenn ein bestimmter „Bedienungskomfort" gewahrt bleiben soll. Dieser Effekt ist auch aus der Abbildung 4—6 herauszulesen. Während n s und n jedoch lediglich von p abhängen, das heißt vom Verhältnis X//u, geht bei t w auch der absolute Betrag von ß (und damit X) mit ein. Die Abbildung 4—6 zeigt daher eine Kurvenschar für unterschiedliche Werte von X. Für alle Kurven gilt jedoch, daß von einer bestimmten Verkehrsdichte an die mittlere Wartezeit sehr stark anwächst (für X = 0.1 etwa ab p = 0.4, für X = 1.0 etwa ab p = 0.8). Bei der vorliegenden Bedienungsstation MM1 gibt p zudem an, mit welcher Wahrscheinlichkeit die Station arbeitet. Entsprechend ist 1 — p die Wahrscheinlichkeit für den Leerlauf der Station. Diese Wahrscheinlichkeit ist zudem unabhängig von der Verteilung der Bedinungszeiten (bisher ja als exponentiell vorausgesetzt). Auch wenn über die Verteilung der Abfertigungszeiten nur Mittelwert tb und Varianz a 2 (tb) bekannt sind, können, bei sonst gleichen Voraussetzungen über die Ankunftsrate, mittlere Schlangenlänge und mittlere Wartezeit durch relativ einfache Ausdrücke gegeben werden:

4.2 Modelle zur Lösung von Managementaufgaben

165

(4.1) tw =

2(1—p)

tb

1 +

ofa) tb

Grundlegende Aussagen von allgemeinem Interesse lassen sich ebenfalls für einige allgemeinere Warteschlangenmodelle herleiten. Besondere Beachtung findet auch hier das Modell MMS, das heißt ein System mit S Bedienungsstationen, die parallel angeordnet sind, jeweils exponentiell verteilte Bedienungszeiten haben und für die die Ankunftszeiten insgesamt durch eine Exponentialverteilung gegeben sind. Eine wesentliche Unterscheidung liegt darin, ob sich vor den Bedienungsstationen jeweil eine eigene Warteschlange aufbaut oder ob alle Stationen nur eine gemeinsame Warteschlange besitzen (Abbildung 4 - 7 und 4 - 8 ) .

oo

ooo oooo

oo Abbildung 4 - 7 .

OO Abbildung 4 - 8 .

oooooo

166

4. Ausgewählte Anwendungsgebiete

Es zeigt sich, daß im zweiten Fall bei sonst gleichen Bedingungen die mittlere Wartezeit kürzer ist als beim ersten. Das bedeutet, wenn die organisatorischen Möglichkeiten gegeben sind, ist an Schaltern, Zapfsäulen, Kassen usw., die nebeneinander angeordnet sind und gleiche Aufgaben erfüllen, eine gemeinsame Warteschlange vorzusehen. Für einige weitere, praktisch interessante Sonderfälle sind auf analytischem Wege Ergebnisse hergeleitet worden, bezüglich derer jedoch auf die Literatur verwiesen sei, zum Beispiel [4.85]. Es sind dies die Fälle der in Reihe angeordneten Schalter mit Warteschlangen dazwischen [4.89], der Bedienungsstation vom T y p MM1 bei ungeduldigen Kunden [4.88] und der Bedienungsstation vom Typ MM1 mit Kunden unterschiedlicher Prioritäten [4.53]. Allen diesen Fällen ist jedoch gemeinsam, daß sie nur Ergebnisse für die Annahme der exponentiell verteilten Zu- und Abgänge liefern. In allen anderen Fällen, insbesondere bei empirischen Verteilungen ist man auf das Hilfsmittel der Simulation angewiesen.

4 . 2 . 1 . 3 Simulation von Wartesystemen

Im Abschnitt 3.3.1 wurde daraufhingewiesen, daß die Simulationssprache GPSS besonders für die Konstruktion von Warteschlangenmodellen geeignet ist. Um Aufbau und Ablauf eines Warteschlangenmodells jedoch im Detail kennenzulernen, sei ein ohne die Elemente von GPSS konstruiertes Modell diskutiert. Mit Hilfe der Simulation sei nachzuprüfen, ob die oben zitierte Aussage (daß die mittlere Wartezeit im Modell MMS (S parallele Bedienungsstationen) kürzer ist, wenn nur eine gemeinsame Warteschlange für alle Schalter aufgebaut wird) auch bei einer bestimmten, aber beliebig geformten Verteilung der Eintreffund Bedienungszeiten gilt. Dazu werden 5 parallel arbeitende Schalter betrachtet. An jedem der Schalter werden die gleichen Arbeiten verrichtet, so daß auch die Verteilung der Bedienungszeiten gleich ist. Diese Verteilung ist in der Abbildung 4—9 gegeben: " P 0.3-

0.2-

0.1-

Abbildung 4 - 9 .

0.5

1.0

1.5

2.0

2.5

tb

4.2 Modelle zur Lösung von Managementaufgaben

167

Die Ankünfte sind nach Abbildung 4 - 1 0 verteilt: 'i P 0.4 H

0.3

0.2-

0.1-

0.2

0.4

0.6

0.8

1.0

Abbildung 4 - 1 0 .

Nach dem durch Abbildung 4—7 und Abbildung 4—8 gegebenen Ablauf verteilen sich die ankommenden Kunden einmal auf die 5 einzelnen Warteschlangen, wobei sie die jeweils kürzeste bevorzugen, zum anderen reihen sie sich in eine Warteschlange ein, aus der sie jeweils die nächste freiwerdende Station betreten. Der Ablauf für die Simulation des Systems nach Abbildung 4 - 7 (eine Warteschlange) ist in Abbildung 4—11 dargestellt. Die Ergänzungen für separate Warteschlangen nach Abbildung 4—8 sind jeweils in Klammern angefügt. Es wird mit variablen Zeitinkrementen simuliert, da dies, wie in Abschnitt 2.1.1 diskutiert, bei einfachen Modellen mit relativ wenigen Zustandsvariablen geringeren Arbeitsaufwand und damit geringere Computerzeit erfordert. Der Ablauf in Abbildung 4—11 kann von Hand oder nach geringeren Modifikationen mit dem Computer nachvollzogen werden. Während des Ablaufs müssen folgende Größen protokolliert werden: n =" Anzahl der Kunden, die das System passiert haben T = Modellzeit Tb = Summe aller Bedienungszeiten an allen Schaltern Tu,. = Summe aller Wartezeiten Der Zustand des Systems wird jeweils fixiert durch: Si bis S 5 = Zeiten, bis zu denen die einzelnen Stationen belegt sind l w = Länge der Warteschlange (bei seperaten Schlangen l w j )

168

4. Ausgewählte Anwendungsgebiete

f

START ?

£

J

Wähle kleinstes Sj, bei Gleichheit das mit kleinstem Index

Zählgrößen für n, T, T b> T w TbSl bis T b S 5 festlegen

( T w j für jede Warteschlange)

*



Zustandsgrößen festlegen für Schalter: S, bis S s

O w j für jede Warteschlange)

Cwi> T w j )

Warteschlange: l w Wartezeitelemente: t e w Ankunftszeiten: t a Bedienungszeiten: t b

«wi>

Zufallszahlengeneratoren für t a , t b erstellen Zählgrößen auf 0, Zustandsgrößen in den Anfangszustand bringen

Auswahl der Warteschlange nach Länge)

ta

\

\

ziehen •

Sj < T + t a für mindestens ein i = 1,2,3,4,5 ?

ja Wähle Sj mit kleinstem Index unter den möglichen

3:

t b ziehen

l w +1 - l w (ein Kunde mehr in der Warteschlange)

Tb + t b - Tb • T + t a + t b - Sj (für alle l w j )

nein '

Tw

+

'w ' ' a

/ \

Tw

- (für jedes 1WI und T w j )

n = Zahl der Simulationsschritte? ja

G^D

• • •» TbS5

=

Summe der Bedienungszeiten am jeweiligen Schalter S1 bis S5

In 100 Simulationsschritten mit dem ersten Modell (nur eine Warteschlange) wurde zunächst die Startphase überbrückt. Der Endzustand nach diesem Simulationslauf wurde als Anfangszustand für die folgenden Simulationen mit beiden Modellen benutzt. Für 100 simulierte Ankünfte wurden die in der Tabelle 4—12 geltenden Werte ermittelt: Tabelle 4 - 1 2 .

T (Modellzeit)

TB

\ / im Mittel für \ p V alle Schalter / tw s

n

5 Schalter eine gemeinsame Warteschlange

5 Schalter 5 separate Warteschlangen

4 8 . 4 min 183.5 min 2 . 0 6 6 Ankünfte/min 0.75 4 . 8 min 0 . 0 4 8 min 0.01 Kunden

4 8 . 4 min 183.5 min 2 . 0 6 6 Ankünfte/min 0.76 17.1 min 0 . 1 7 1 min 0.35 Kunden

0.92 0.88 0.74 0.73 0.53

0.94 0.90 0.73 0.71 0.52

Auslastung der einzelnen Schalter Psi

P S2 />S3 P S4

P SS

Die Ergebnisse zeigen, daß bei unveränderter Auslastung des Systems (selbst die Auslastung der einzelnen Schalter variiert praktisch nicht) sich die mittlere Wartezeit und die mittlere Schlangenlänge bei separaten Warteschlangen deutlich erhöhen. Zu diesem Beispiel ist noch festzustellen, daß Wartezeiten und Schlangenlänge trotz großer Auslastung recht klein bleiben. Die Ursache liegt im wesentlichen in der sehr geringen Streuung der Ankunftszeiten, aber auch der Bedienungszeiten. Dadurch gestaltet sich der Ablauf recht gleichmäßig ohne lange Leerbzw. Wartezeiten. Diese hier an einem Beispiel erarbeitete Erkenntnis wird für eine Reihe von Modellen auch durch analytische Ergebnisse unterstrichen (vgl. zum Beispiel die Formeln von Pollacek (4.1)).

170

4. Ausgewählte Anwendungsgebiete

Für die Validierung von Simulationsmodellen leisten die im Abschnitt 4.2.1.2 aufgezeigten analytischen Ergebnisse für Modelle mit exponentiell verteilten Ankunfts- und Bedienungszeiten wertvolle Hilfe. Bei vielen Modellen - oder auch Teilmodellen - empfiehlt es sich, zunächst mit Exponential-Verteilungen zu arbeiten und die Simulationsergebnisse mit den verfügbaren, theoretischen Ergebnissen zu vergleichen. Wird eine befriedigende Übereinstimmung erzielt, können die Arbeitsläufe mit beliebigen, zum Beispiel in der Realität ermittelten Verteilungen, durchgeführt werden.

4 . 2 . 1 . 4 Anwendungsmöglichkeiten der Warteschlangenmodelle

Der Däne Erlang führte um das Jahr 1906 die ersten, systematischen Untersuchungen an Warteschlangen durch und kann daher als Begründer der Warteschlangentheorie gelten. Er stieß auf Wartesysteme, als er die Auslastung von Vermittlungsstellen und Telefonleitungen der Kopenhagener Telefongesellschaft untersuchte. Hierbei ist die Vermittlungsstelle oder die Telefonleitung die Bedienungsstation bzw. der „Schalter". Kunden sind die zu vermittelnden Gespräche. Jedes der angemeldeten Gespräche ist möglichst sofort zu vermitteln. Bis zur Vermittlung geschieht hier nichts, es wird gewartet. (Einige Autoren sprechen in diesem Zusammenhang von „Sofortarbeit" im Gegensatz zu „Speicherarbeit", die erst zu einem künftigen Termin erledigt sein muß). Untersucht man die in der Realität ablaufenden Prozesse generell unter dem Aspekt, daß in zufälligen Intervallen auftretende Arbeiten möglichst sofort erledigt werden müssen, dann entdeckt man darunter eine Vielzahl, die als Warteschlange interpretiert werden können. Eine Übersicht gibt die Tabelle 4—13. Darin sind unterschiedliche Wartesysteme für die gleichen, ankommenden Einheiten jeweils zusammengefaßt. So ist der Kraftwagen verkehrstechnisch gesehen nahezu ausschließlich Element von Warteschlangen. An Ampeln, Straßenengpässen, Einmündungen in Vorfahrtsstraßen, erst recht natürlich an Zollschranken, Zahlstellen für Autobahngebühren, Tankstellen, Parkplätzen usw. lassen sich die Verhältnisse durch Warteschlangen beschreiben. Ebenso kann jedes Warenhaus und jeder Supermarkt als komplexes Wartesystem interpretiert werden. Kassen und Bedienungsstände sind Wartesysteme, aber auch die Einkaufswagen (oder -Körbe) bilden ein Wartesystem mit so vielen Stationen, wie Körbe vorhanden sind. Zum anderen lassen sich die Bestände des Warenlagers selbst als Warteschlangen interpretieren, die auf ihre „Abfertigung" an der Ladentheke oder an dem Verkaufsstand „warten". Von großem Interesse sind Wartesysteme für die Lösung von Instandhaltungsproblemen. Reparaturen fallen in einem Maschinenpark zufällig an, die Verluste durch Maschinenausfälle sind hoch, aber auch Reparaturgruppen sind teuer.

4.2 Modelle zur Lösung von Managementaufgaben

171

Interpretiert man jede Reparaturgruppe als Bedienungsstation, die defekten Maschinen als Warteschlange, so ist ein Studium der Auslastung der Reparaturgruppen (Verkehrsdichte) und der Stillstandszeiten (Warte- und Bedienungszeiten) mit den Konsequenzen für die Kosten möglich. Ähnliche Kapazitätsprobleme gibt es auf einem ganz anderen Gebiet. Eine Nachrichtenredaktion, zum Beispiel beim Fernsehen, will über möglichst alle bedeutsamen Tagesereignisse aktuell und ausführlich berichten. Die Berichte müssen möglichst am gleichen Tag zur Verfügung stehen (das heißt es ist Sofortarbeit zu leisten). Ereignisse fallen zufällig und sehr unterschiedlich an (Sommerpause oder Ausbruch einer Krise, die weltweite Aktivität auslöst). Wieviel Redakteure, Kamerateams und Ü-Wagen (als „Bedienungsstationen") sind erforderlich, um einen guten Servicegrad sicherzustellen?

Tabelle 4 - 1 3 . Nr.

ankommende Einheiten

Abfertigungsstelle Bedienungskanal

Schlange

1

Flugzeuge

Landebahn

Flugzeuge im Warteraum

2

Entleiher

Bücherei, Bücher

Vormerkungen

3

Anrufe

Vermittlungsstelle, Leitungen

Gesprächsteilnehmer

4

Kraftwagen

Ampel, Engpaß (Baustelle), Zollstelle, Tankstelle, Parkplätze

Kolonnen,. Fahrzeugschlangen

5

Kunden

Supermarktkassen, Bedienungsstände, Einkaufswagen (für die Selbstbedienung)

Kunden

6

Maschinen

Reparaturgruppe

reparaturbedürftige Maschinen

7

Ware

Verkaufsstand

Bestand

8

Patienten

Arzt

Patienten im Wartezimmer

Lastwagen

Ladestelle

Kolonne

10

Schiffe

Docks, Entladestelle

Schiffe am Kai

11

Kunde

Post-, Bank-, FahrkartenSchalter

Kunden vor dem Schalter

12

Ereignisse

Nachrichtenredaktion

Tagesereignisse

13

Briefe

Schreibkräfte

Diktate

14

Bestellungen

Verkaufsabteilung, Versand

Lieferverpflichtungen

15

Güter

Transportsysteme (LKW's, Kran, Bänder, Rohre usw.)

Zwischenlager

9

4. Ausgewählte Anwendungsgebiete

172

So vielfältig die Erscheinungsformen der Wartesysteme auch sind, die Fragestellungen sind zumeist ähnlich. Im Vordergrund steht das Kapazitätsproblem. Die Ankunftsrate der Elemente im Wartesystem ist zumeist von außen in Form statistischer Verteilungen gegeben. Wie ist die Bedienungsrate zu gestalten, damit ein bestimmter „Servicegrad", charakterisiert durch Wartezeiten und Schlangenlängen, bei möglichst guter Auslastung der Station erreicht wird? Dabei gibt es im wesentlichen zwei Möglichkeiten der Beeinflussung: einmal über die Bedienungszeiten direkt, zum anderen durch Einrichtung weiterer, parallel angeordneter Stationen. Durch Simulationsläufe mit unterschiedlichen Kombinationen der Faktoren kann der Zustand ermittelt werden, bei dem die Bedingungen schließlich für Kunden und Bediener befriedigend erscheinen.

4.2.2 Simulation in der Lagerhaltung 4.2.2.1 Grundlagen

Lager für Güter findet man in der Wirtschaft in den unterschiedlichsten Formen. Allen gemeinsam ist die Pufferfunktion, um zeitliche und mengenmäßige Differenzen auszugleichen, die zwischen Nachfrage und Lieferungen (Lager im Handelsbetrieb), Nachfrage und Produktion (Fertiglager im Produktionsbetrieb) oder Zulieferungen und Produktion (im Materiallager eines Produktionsbetriebes) in der Regel entstehen. Um die mit der Lagerhaltung auftretenden Probleme zu erläutern wird die einfachste Form eines Lagers herangezogen, nämlich das eines Handelsbetriebes (vgl. Abbildung 4—14). Komplizierte Verhältnisse bei Lagern, die in Fertigungsabläufe eingebunden sind, werden im Abschnitt 4.2.3 noch anzusprechen sein.

Abbildung 4 - 1 4 .

Der Händler will mit möglichst geringen Kosten die folgenden Probleme lösen: -

eine hohe Lieferbereitschaft bei schwankender Nachfrage ist sicherzustellen es ist möglichst günstig einzukaufen, das heißt Rabatte, Skonti, Sonderangebote sind zu nutzen

4.2 Modelle zur Lösung von Managementaufgaben

-

173

es ist möglichst wenig Kapital im Lager zu binden unvorhergesehene Schwierigkeiten bei der Zulieferung sind möglichst zu überbrücken

Da er die Nachfrage seiner Kunden praktisch nicht direkt beeinflussen kann, muß der Händler die gesteckten Ziele durch geschickte Entscheidungen über seine Beschaffung zu erreichen suchen. Dazu muß er entscheiden: -

wieviel ist zu bestellen? wann ist" zu bestellen? wann (nach welcher Methode) sind die Bestände zu kontrollieren? wie hoch muß der Lagerbestand sein? wie weit muß vorausgeplant werden (Planungshorizont)?

Seine Entscheidungen wirken sich direkt auf drei unterschiedliche Kostenarten aus: -

die Lagerkosten Ci die Beschaffungskosten C 2 die Fehlmengenkosten C 3

Aus der Höhe des Bestandes resultieren die Lagerkosten Ci zum Beispiel durch das gebundene Kapital, Größe und Betriebskosten des Lagers. Die Anzahl der Bestellungen in einer betrachteten Periode, etwa 1 Jahr, bestimmt zum Beispiel über Verwaltungs- und Transportkosten die Beschaffungskosten C 2 . Indirekt hängen diese also von den jeweils beschafften Mengen (Losgrößen) ab. Die Fehlmengenkosten C 3 schließlich messen entgangenen Nutzen, wenn Kundennachfrage durch zu geringe Bestände nicht gedeckt werden kann. Zwischen den Kostenarten bestehen direkte Zusammenhänge, die anhand der folgenden Abbildung 4—15 erläutert sind. Geringe Bestände (also auch geringe Lagerkosten) fuhren zu Fehlmengenkosten, wenn zufällig in einem Monat ein unerwartet hoher Bedarf auftritt. Führt der Händler einen Sicherheitsbestand ein, steigen bei reduzierten Fehlmengenkosten seine Lagerkosten. Die Beschaffungskosten sind bei 2-monatlicher Bestellung gegenüber monatlicher Bestellung verringert (nur halber Verwaltungsaufwand), jedoch liegen im Mittel mehr Güter im Lager, wodurch die Lagerkosten steigen, gleichzeitig aber auch das Fehlmengenrisiko verringert wird. Die Gesamtkosten bewegen sich somit innerhalb eines „Kostendreiecks" (Abbildung 4—16). Die Veränderung einer Kostenart (gekennzeichnet durch die Pfeillänge) beeinflußt unmittelbar die beiden übrigen. Dieser Zusammenhang wird durch das Schaubild jedoch nur qualitativ, nicht quantitativ wiedergegeben, da

4. Ausgewählte Anwendungsgebiete

174

sich die Pfeillängen durchaus nicht proportional zu den Kosten ändern. Diese hängen vielmehr in komplexer Weise von vielen Einflußfaktoren ab.

Abbildung 4 - 1 6 .

Die Gesamtkosten C setzen sich additiv aus den drei Kostenarten C 1 ; C 2 , C 3 zusammen: C = C! + C2 + C 3 Das charakteristische Lagerhaltungsproblem besteht darin, solche Entscheidungen zu treffen bezüglich der Fragen: -

wann soll bestellt werden?

4.2 Modelle zur Lösung von Managementaufgaben

-

175

wieviel soll bestellt werden? wie oft soll kontrolliert werden?

so daß die Gesamtkosten minimal werden. Einen Satz von Entscheidungsregeln, der Antwort auf diese drei Fragen gibt, bezeichnet man als „Lagerhaltungspolitik". Die Politik ist optimal, wenn die Gesamtkosten minimal werden. Die Gesamtkosten hängen von weiteren Einflußfaktoren ab, die sich in drei Gruppen gliedern lassen: a) Bedarf b) Beschaffung c) Bedingungen Zu a) Der Bedarf ist dem Lagerdisponenten, zum Beispiel dem Händler, vorgegeben und von ihm nicht direkt beeinflußbar. Er läßt sich gliedern nach: -

Bedarfsgröße Bedarfsrate Bedarfsform

Die Bedarfsgröße bezieht sich auf die Höhe des Bedarfs (Anzahl, Menge), die determiniert sein oder zufällig schwanken kann. Die Bedarfsrate bezieht sich auf den Bedarf pro Zeiteinheit, also etwa 5 Stück pro Tag. Die Bedarfsform beschreibt das Verhalten der Bedarfsrate während einer Planungsperiode, also ob zum Beispiel während eines Monats konstant mit 5 Stück pro Tag gerechnet werden kann (gleichförmiger Bedarf) oder in der ersten Monatwoche mit einer größeren Bedarfsrate als in den Folgewochen gerechnet werden muß. Zu b) Die Einflußgrößen der Beschaffung haben als Entscheidungsvariable der Lagerhaltungspolitik eine hervorragende Bedeutung. Für sie verwendet man gemeinhin feste Buchstabenbezeichnungen:

Beschaffung

q S s w t L

Bestellmenge (Losgröße) Bestellniveau Bestellpunkt Überprüfungsperiode Bestellzyklus Beschaffungszeit (Lieferzeitraum, -rate, -form)

Bestellmenge und Bestellniveau beziehen sich auf die Frage: wieviel ist zu bestellen?

176

4. Ausgewählte Anwendungsgebiete

q ist die für eine bestimmte Periode bestellte Menge eines Gutes. Ist diese Menge über mehrere Perioden konstant, spricht man von der „Losgröße", für die dann ein bester Wert (optimale Losgröße) zu finden ist. Das Bestellniveau steht mit der Bestellmenge in folgendem Zusammenhang: es ist in einer Periode soviel zu bestellen, daß der Lagerbestand auf eine vorgegebene Höhe, das Bestellniveau, gebracht wird. Jede neue Planungsperiode wird also mit dem gleichen Anfangsbestand im Lager begonnen. Bestellpunkt und Bestellzyklus beziehen sich auf die Bestelltermine. Wird eine Bestellung ausgelöst, sobald der Lagerbestand eine vorgegebene Höhe unterschreitet, so wird dieser Bestand als Bestellpunkt bezeichnet. Hierbei ist es von Bedeutung, in welchen Zeitabständen w die Bestände überprüft werden, denn davon hängt es ab, wann die Unterschreitung des Bestellpunktes erstmals bemerkt wird. Wenn dagegen Bestellmengen in gewissen Zeitabständen aufgegeben werden, spricht man vom Bestellzyklus t. Die Beschaffungszeit L gibt die zwischen Bestellung und Wareneingang verstreichende Zeit an. In diesem Zusammenhang sind fallweise auch Lieferzeitraum (Zeit zwischen Beginn und Ende der Lieferung) sowie Lieferrate und Lieferform (Bedeutung wie bei Bedarfsrate, Bedarfsform) zu berücksichtigen. Konkret kann mit diesen Größen eine Lagerhaltungspolitik charakterisiert werden, indem man q oder S (wieviel bestellen? ) mit s oder t (wann bestellen? ) und, falls der Bestelltermin durch s gegeben wird, mit einem Wert für w (wie oft konkrollieren? ) kombiniert. Man verwendet zur Bezeichnung eine Kurzschreibweise. Dazu zwei Beispiele: (q, t) - Politik besagt, daß in festen Zeitabständen t, die Losgröße q zu bestellen ist. (s, S, w) - Politik besagt, daß in Zeitabständen w zu kontrollieren ist. Unterschreitet der Bestand den Bestellpunkt s, ist das Lager auf das Bestellniveau S aufzufüllen. Beliebige (sinnvolle) weitere Kombinationen sind möglich. Zu c) In einem Lager können für alle Einflußgrößen besondere Bedingungen gelten. Hierunter fallen alle besonderen Eigenschaften des Leerguts, besonderes Lieferanten* und Kundenverhalten oder Angaben über die Kosten. Das Lagergut kann bezüglich seiner Beschaffenheit wie Größe (Lagerraum!), Teilbarkeit (Lieferungen durch Verpackung gegeben), Haltbarkeit (leicht verderblich) besonders spezifiziert sein und damit die Lagerpolitik beeinflussen. Das Kunden- und Lieferantenverhalten beeinflußt ebenfalls die Lagerstrategie. So können bei geduldigen Kunden die Fehlmengen unter Umständen in der

4.2 Modelle zur Lösung von Managementaufgaben

177

nächsten Periode ausgeglichen werden, Fehlmengenkosten treten trotz geringer Bestände nicht auf. Die im Lager angestrebte Lieferbereitschaft wirkt sich unmittelbar auf die Lagerkosten aus. Die Lieferbereitschaft gibt den Prozentsatz der eingegangenen Bestellungen an, der auch tatsächlich ausgeführt werden konnte. Hohe Lieferbereitschaft erfordert je nach Bedarfsform (z. B. stochastisch mit breiter Streuung) große Sicherheitsbestände und steigert damit die Lagerkosten häufig überproportional. Die Gewährung von Rabatten durch den Lieferanten bei gewissen Abnahmemengen beeinflußt wesentlich die Lagerhaltungspolitik, da die durch Rabatte erzielten Ersparnisse direkt den erhöhten Lagerkosten gegenübergestellt werden müssen.

4.2.2.2 Einige analytisch ermittelte Ergebnisse

Für die Lösung eines Lagerhaltungsproblems sind zwei Fragen zu beantworten: -

welche Politik ist im gegebenen Fall zu wählen? für welche Werte der Entscheidungsvariablen ist die ausgewählte Politik optimal?

Bei der ersten Frage geht es also darum, ob zum Beispiel eine (s, q) oder (S, t) Politik bessere Ergebnisse liefert. Soll etwa die (s, q) Politik vorgezogen werden, dann ist zu unterscheiden, wie Bestellpunkt s und Losgröße q zu wählen sind, damit die Gesamtkosten minimal werden. Zu beiden Fragen gibt es eine Fülle analytisch ermittelter Aussagen, die sich jedoch auf spezielle und zum Tejl wenig praxisgerechte Lagersysteme beziehen. Wie in der Warteschlangentheorie leisten diese Ergebnisse wertvolle Hilfe zur ersten Analyse eines Problems und im weiteren Verlauf der Untersuchungen zur Validierung von Simulationsmodellen. Wichtigste Vereinfachung bei allen folgenden Überlegungen ist, daß jeweils nur ein Lagergut isoliert betrachtet wird. Die in der Praxis häufig vorhandenen Zusammenhänge zwischen mehreren Gütern (z. B. Kosten für Transport, Rabatte) werden also nicht berücksichtigt. Die Frage nach der besten Lagerhaltungspolitik bei einem gegebenem System ist allgemein praktisch nicht zu beantworten. Vgl. [4.71, S. 303], Es gelingt jedoch, für einige spezielle Systeme grundlegende Aussagen herzuleiten. Sind in einem Lagerhaltungssystem eine (s, q)-Politik und eine (s, S)-Politik gleichermaßen einsetzbar (auf die Voraussetzungen hierfür sei im einzelnen nicht eingegangen, dazu gehört unter anderem daß keine Fehlmengenkosten

4. Ausgewählte Anwendungsgebiete

178

und Beschaffungszeiten auftreten), dann gilt allgemein für die zu erwartenden Gesamtkosten

CS < c q C$ sind darin die Gesamtkosten im System mit (s, S)-Politik, wobei die optimale Festlegung der Entscheidungsvariablen Bestellpunkt s und Bestellniveau S vorausgesetzt ist. Analog müssen für C q , die Gesamtkosten im gleichen System bei einer (s, q) Politik, die Größen s und q bereits optimal gewählt sein. Eine gleiche Aussage ist möglich, wenn in einem Lager zwischen einer (t, S)und einer (s, q)-Politik gewählt werden kann. C q hat die gleiche Bedeutung wie oben und C t ist analog definiert. Dann gilt (wiederum unter den nur angedeuteten Voraussetzungen) immer: Cq




Abbildung 4 - 2 6 . Ablaufsimulation mit der Prioritätsiegel „ K O Z "

A5 A5 A5 A5*

193

4.2 Modelle zur Lösung von Managementaufgaben

Die Ergebnisse für 3 weitere Prioritätsregeln sind in Tabelle 4—27 zusammengestellt. Zu den Annahmen, die zur Vereinfachung der Simulation gemacht wurden, zählt, daß alle Aufträge zum Zeitpunkt 0 bereits eingetroffen sind, und zwar in der Reihenfolge ihrer Numerierung. Tabelle 4 - 2 7 . Durchlaufzeit Prioritätsregel Mittlere Mittlere Mittlere kürzeste längste Durchlaufzeit quadrat. Leerzeiten d. Aufträge Abweichung d. Maschinen

Mittlere Wartezeiten (pro Bearbeitungsgang)

11

27

1. KOZ (kürzeste Operationszeit)

16.5 Std.

5.4 Std.

12.2 Std.

0.83 Std.

12

25

2. LOZ (längste Operationszeit)

20.3 Std.

4.9 Std.

10.2 Std.

1.60 Std.

11

25

3. FIFO (längste Wartezeit)

16.8 Std.

4.9 Std.

10.2 Std.

0.90 Std.

14

25

4. größte Summe noch ausstehender Bearbeitungszeiten

20.3 Std.

4.3 Std.

10.2 Std.

1.60 Std.

Obwohl die hier demonstrierte Simulation zu geringen Umfang hat, um die Verallgemeinerungen der Ergebnisse zu rechtfertigen, so zeigt die Tabelle doch schon einige Charakteristik, die man auch bei vielen anderen Experimenten bestätigt gefunden hat. Die KOZ-Regel liefert häufig die kürzeste mittlere Durchlaufzeit, hat jedoch auch meist eine sehr weite Streuung der Durchlaufzeiten zur Folge. In den vorliegenden Ergebnissen schwanken die Durchlaufzeiten für die 6 Aufträge zwischen 11 und 27 Stunden. Ein Blick auf die Abbildung 4—26 zeigt zum Beispiel, daß der Auftrag A5 wegen seiner langen Bearbeitungszeiten immer wieder zuriickgestellt wird. Das hat zur Folge, daß er während der letzten 7 Stunden als einziger noch im Job-shop ist. Diese Erscheinung ist die Ursache für die weite Streuung der Fertigstellungstermine. Umgekehrte Wirkung haben häufig die Regeln 2 (längste Operationszeit) bzw. 4 (größte Summe noch ausstehender Bearbeitungszeiten). Bei längerer mittlerer Durchlaufzeit reduziert sich die Varianz. Zwangsläufig erhöhen sich auch die mittleren Wartezeiten vor den Maschinen. Das - rein zeitlich betrachtet - gute Abschneiden der Regel 3 (FIFO) ist zufällig. Die Regel hätte ebenso auch schlechteste Ergebnisse liefern können, wie viele Experimente gezeigt haben.

4. Ausgewählte Anwendungsgebiete

194

Die hier gemachten Aussagen haben, daran muß erinnert werden, keine Allgemeingültigkeit in strengem Sinne. Sie gelten lediglich für viele bisher durchgeführte Simulationen und müssen für jeden Job-shop unter den spezifischen Bedingungen neu verifiziert werden. Welche Prioritätsregel wäre denn unter den im Beispiel gegebenen Umständen vorzuziehen? Für die Auswahl sind zunächst die Zielkriterien anzugeben. Zwei typische sind: -

Minimierung der Produktionskosten Bestmögliche Termineinhaltung

Von den Produktionskosten ist jedoch der allergrößte Teil wie Rohstoffkosten, Bearbeitungskosten unabhängig von der Auftragsfolge. Sind auch die Rüstzeiten (und damit -Kosten) unabhängig von der Reihenfolge, so bleiben lediglich Kapitalbindungskosten. Über diese lassen sich jedoch, wie zum Beispiel Müller [4.69] kalkuliert, nur etwa 0,5 % der Produktionskosten beeinflussen. Das bedeutet, daß unter pragmatischen Gesichtspunkten primäres Ziel eines Simulationsablaufs meist die Einhaltung der Auftragstermine ist. Eine Prioritätsregel wäre also vorzuziehen, wenn durch sie die geringste Streuung der Fertigstellungstermine zu erwarten ist, im Beispiel also die Regel 4. Eine erneute Gegenüberstellung der Vorgehensweisen nach der Monte-CarloMethode und mit Hilfe von Prioritätsregeln zeigt nun in plausibler Form, daß der zweite Weg mit weniger Aufwand verbunden ist und die Ergebnisse sich eher verallgemeinern lassen. Dafür kann die Monte-Carlo-Methode unter Umständen eine spezielle Fertigungsfolge liefern, die besser als jede mit einer Prioritätsregel gefundene ist. Da in der Praxis jedoch damit gerechnet werden kann, daß Ergebnisse in der Umgebung eines Optimums nur wenig von diesem abweichen (flacher Verlauf eines Optimums, geringe Sensitivität), wird der Gewinn häufig den Aufwand nicht rechtfertigen. Ergiebiger für die Erforschung mit der Simulation dürften künftig integrierte Lager- und Produktionssysteme sein, in denen Lagerdisposition und Fertigungsablaufplanung verknüpft sind. Die Entscheidungsvariablen der Lagerdisposition (Bestellpunkt, Losgrößen) gehen unmittelbar in diß Ablaufplanung ein und erlauben eine ganzheitliche Betrachtung der Termin- und Kostenprobleme. Hier sei in dieser Frage lediglich auf die. wegweisende Arbeit von Müller [4.69] hingewiesen, in der allerdings für die Lagerdisposition noch ein analytischer Ansatz verwendet wird. Es erweist sich auch in der Ablaufplanung als nützlich, Simulationen mit Hilfe der Arbeitsprogramme auszuführen, wenn in einem Unternehmen die Fertigungssteuerung bereits über ein Computersystem erfolgt. Das Computersystem stellt

4.3 Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics

195

ebenso, wie bereits zur Lagerdisposition ausgeführt, ein Modell der Fertigung dar, mit dessen Hilfe bei entsprechend aufbereiteter Ein- und Ausgabe Simulationen ausgeführt werden können. Vgl. Hahn [4.40].

4.3 Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics Unternehmensmodelle werden hier beispielhaft für alle Modelle mit hohem Aggregationsgrad diskutiert. In solchen Modellen herrscht eine makroskopische Betrachtensweise vor. Sie unterscheiden sich voneinander weniger in ihrer Struktur als vielmehr in den Details, mit denen Zusammenhänge dem realen Objekt nachgebildet sind. So weisen Unternehmens-, industrie-, markt- und volkswirtschaftliche Modelle in ihrer Struktur große Ähnlichkeit auf. Durch Zustandsvariable wird die aktuelle Situation eines Modells beschrieben. Der zeitliche Verlauf der Variablen, aus dem sich das dynamische Verhalten des Systems ablesen läßt, wird durch mathematische Gleichungen, dem Charakter nach häufig Differential- oder Differenzengleichungen (vgl. Abschnitt 2.1.2), beschrieben. Mit dieser in ihren Grundzügen bereits im Abschnitt 2.1.2 beschriebenen Technik erstellten viele Autoren spezielle makroskopische Modelle, insbesondere Unternehmensmodelle [4.7], [4.16], [4.23], deren praktische Bedeutung und Allgemeingültigkeit zumeist noch recht gering sind. Vgl. auch [4.75, S. 111 ff]. Die spezifischen Modelle von praktischer Bedeutung übersteigen jedoch den Rahmen dieses Lehrbuchs. So enthält zum Beispiel das bereits im Abschnitt 4.1 Teil B erwähnte Wharton-Modell 76 Gleichungen. Vgl. [4.27], Die Schwierigkeit bei der Entwicklung dieser Modelle liegt in der Komplexität der nachzubildenen Systeme, das heißt der Vielzahl der Verknüpfungen zwischen den Systemelementen. Jay W. Forrester [4.31 ] präsentiert in seinem Buch „Industrial Dynamics" (1961, inzwischen 7. Auflage) nicht nur ein spezifisches Unternehmensmodell wie die bisher erwähnten Autoren, sondern zugleich eine Technik zur Entwicklung solcher Modelle. Was ist das Ziel solcher Unternehmensmodelle? Die punktuelle Betrachtensweise von Managementproblemen führt häufig zu Entwicklungen in den zur Frage stehenden Bereichen, die sich ungünstig auf die Zielrealisierung des Gesamtunternehmens auswirken und daher unerwünscht sind. Zwei solche Erscheinungen sind hier besonders typisch: - Obwohl das Management in Bezug auf Produktions- und Lagerkosten, Kapa-

196

4. Ausgewählte Anwendungsgebiete

zitätsauslastung und Lieferbereitschaft um stets optimale Strategien bemüht ist, kommt es in einem Unternehmen in periodischen Zeitabständen zu Engpässen in Lager und Produktion. - In einem anderen Unternehmen schwankt die Beschäftigtenzahl jeweils über einen Zeitraum von zwei Jahren derart, daß zu den Beschäftigungsspitzen die doppelte Zahl der Mitarbeiter tätig ist wie beim Minimum, ohne daß hierfür augenscheinliche und gewichtige Ursachen zu finden sind. Das Ziel der punktuell, in Einzelentscheidungen ansetzenden Managementpolitik, zwischen Gipfeln und Tälern des Bedarfs auszugleichen und eine möglichst gleichmäßige Auslastung von Anlagen und Beschäftigung von Mitarbeitern herbeizuführen, wird hier offenbar nicht erreicht. Erforderlich ist daher eine ganzheitliche Betrachtensweise des Unternehmens, bei der die zeitliche Entwicklung der signifikanten Größen über einen längeren Zeitraum verfolgt und die Auswirkung von unterschiedlichen Managementpraktiken auf diese über längere Zeiträume laufende Entwicklung studiert werden kann. Das ist eine Aufgabe, die mit Unternehmensmodellen zu lösen ist. Im ersten der oben erwähnten Beispiele zeigt sich auf diese Weise, daß durch die eingesetzten Managementpraktiken sich etwa folgender Verlauf von Produktionsrate und Lagerbestand ergeben mußte: (Abbildung 4—28). i , Lagerbestand Produktionsrate

\ /

/

/

v /

\

/

N

\

• /



t

/ / /

s

\ \\

\\

\

\

Produktionsrate / / /

\ / N .

Lagerbestand

Zeit

Abbildung 4 - 2 8 .

Zum Zeitpunkt a wachsen die Lagerbestände, die Produktion wird daher gedrosselt. Um den Zeitpunkt b wird die Produktionsrate gesteigert, da der Lagerbestand gering ist. Im Zeitpunkt c ist die Produktionsrate bereits wieder soweit gedrosselt, daß die Bestände auch wieder zurückgehen. Das Lager hat hier keine ausgleichende Wirkung als Puffer, sondern durch eine unglückliche Verknüpfung zwischen Bestand und Produktionsrate werden die Schwingungen des

4.3 Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics

197

einmal in Bewegung geratenen Systems weiter aufgeschaukelt. Das vom Verfasser für diesen Fall entwickelte einfache Modell gibt exakt diese Zusammenhänge wieder. Das Modell wurde bereits im Abschnitt 1.3.2 als Beispiel für kontinuierliche Modelle vorgestellt und diskutiert. Im zweiten oben aufgeführten Beispiel ist ein ähnlicher Mechanismus in der Personalpolitik wirksam. Aus solchen und ähnlichen Beispielen zog Forrester mit Recht den Schluß, daß das Augenmerk des Managers stärker auf die ganzheitliche Betrachtensweise von verschiedenen Entwicklungen und Abläufen über längere Zeiträume gelenkt werden müsse, wobei „länger" besagt, daß der Horizont der Einzelsituation zu überschreiten ist. Der Manager muß sich von der einzelnen Entscheidung (z. B. wann wieviel bestellen? ) lösen und sein Augenmerk auf den zeitlichen Ablauf, auf Politiken und Planungen richten. In diesem Sinne ist auch sein nicht direkt übersetzbarer Titel „Industrial Dynamics" zu interpretieren. Die erst im Zeitablauf wirksamen Verknüpfungen in einem komplexen System mit den damit verbundenen Verhaltensweisen sind zu beschreiben. Aus dieser Zielvorstellung leitet Forrester die Systematik zum Aufbau seiner Modelle ab, wobei er konsequent die Forderung nach größtmöglicher Verständlichkeit und Transparenz beachtet. Grundlage seiner Entwicklung ist der Gedanke der Rückkopplung, des „Information-feedback". Ohne den Regelkreis im technischen Sinne darzulegen, läßt sich dieses Prinzip folgendermaßen formulieren: - Ausgangspunkt sind vorhandene Zustände - Die Information über diese Zustände liefert die Basis für Entscheidungen - Die Auswirkungen der Entscheidungen beeinflussen selbst wieder die Zustände

Einwirkung

Information

Zustand

Ein einfaches Beispiel hierzu ist ein Lagersystem: Der Zustand wird durch den Lagerbestand gegeben Information über die Höhe des Lagerbestandes löst gegebenenfalls die Entscheidung über eine Bestellung aus

198

4. Ausgewählte Anwendungsgebiete

- Die auf die Bestellung hin erfolgende Lieferung erhöht den Lagerbestand Forrester interpretiert die Unternehmung als stark verflochtenes Netz solcher Rückkopplungen, im Sinne der Systemtheorie also als „Kybernetisches System" (vgl. Abschnitt 1.2). Die Modellstruktur bleibt jedoch denkbar einfach: 1. Die Struktur des Systems wird gegeben durch eine Anzahl von Zustandselementen, zum Beispiel Lagerbestand, Auftragsbestand, Personal. Ihr Zustand („Inhalt") wird gegeben durch Zustandsvariable. Diese können als Reservoirs im Sinne von Speichern, Behältnissen interpretiert werden. Bei Forrester sind Zustände die „Levels". 2. Die durch die Zustandsvariablen beschriebenen Zustandselemente sind untereinander verbunden durch Kanäle. Die Ströme in den Kanälen werden gesteuert durch Entscheidungselemente, so daß jeweils bestimmte Stromdichten bzw. Stromstärken resultieren. Diese sind bei Forrester die „Rates" (z. B. Anzahl von Bestellungen, Lieferung, Einstellungen, Entlassungen pro Zeiteinheit). 3. Die Entscheidungselemente, bildlich als Ventile oder Schieber in den Kanälen zu verstehen, sind über Informationswege mit Zuständen und Strömen verbunden. Die Modellstruktur ist insgesamt gesehen also kontinuierlich. Forrester setzt sich eingehend mit diesem Postulat der Kontinuität auseinander und kommt zu dem Schluß, daß dadurch in Bezug auf seine Forderung nach Einfachheit und Transparenz viele Vorzüge erreicht werden, ohne daß schwerwiegende Nachteile im Kauf genommen werden müssen. Fünf jeweils in sich geschlossene Kanalnetze unterscheidet Forrester: -

Material Anweisungen („gespeicherte Entscheidungen", z. B. Bestellungen) Geld (im Sinne von cash-flow) Personal Investitionsgüter

Verknüpft sind diese durch das sechste, alles umspannende Netzwerk der - Information Entsprechend der 3. Aussage beginnen Informationsflüsse an Zustandselementen oder Kanälen und enden stets an Entscheidungselementen. Zur übersichtlichen grafischen Darstellung von Modellen verwendet Forrester einen Satz von Symbolen:

4.3 Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics

Symbol

199

Bedeutung Informationsfluß Materialfluß Strom von Personen Strom von Anweisungen

n

J

Strom von Geld Investitionsgüter Zustandselement (Level) repräsentiert eine Zustandsvariable KFP = Kennzeichnung der Zustandsvariablen Käufer-Potential n = Nummer des Elements L = Kennzeichnung als Level Entscheidungselement (Rate) BST = Kennzeichnung des gesteuerten Stroms: Bestellungen n = Nummer des Elements R= Kennzeichnung als Rate Informationsquelle

Informationsquelle

MMA

Parameter (konstant währen des Zeitablaufs) MMA = Kennzeichnung als mittlerer Marktanteil (Material-) Quelle

(Material-) Senke Hilfs- (Zwischen-) Größe WPA = Werbe-/Produktions-Aktivität

200

4. Ausgewählte Anwendungsgebiete

Mit dem bisher erläuterten Instrumentarium lassen sich bereits Modelle konstruieren. Ein sehr einfaches, für die weiteren Erläuterungen geeignetes Modell ist in der Abbildung 4—29 dargestellt.

Abbüdung 4 - 2 9 .

In diesem Modell sind Produktion und Lagerbestand sowie Marktvolumen und Auftragsbestand miteinander verknüpft. Über das Entscheidungselement 1. R wird aus dem Parameter Amplitude AMP und Periode PER ein zyklisch schwankendes Marktvolumen MAV in 2. L erzeugt. Aus diesem werden über das Ent-

4.3 Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics

201

scheidungselement 3. R Bestellungen BST abgezweigt, die den Auftragsbestand ATB in 4. L ergänzen. Der Strom der Bestellungen wird beeinflußt durch den Parameter „Mittlerer Marktanteil" MMA und die Werbe-/Produktions-Aktivität WPA, einer Hilfsvariablen, die selbst von MMA, dem Lager- und dem Auftragsbestand abhängt. Der Lagerbestand LGB in 6. L wird ergänzt durch die Produktionsrate PDR aus 7. R, die über den Parameter mittlere Produktionsrate MPR und Lager- sowie Auftragsbestand gesteuert wird. Die Lieferungen LFG in 5. R richten sich ebenfalls nach Lager- und Auftragsbestand und wirken unmittelbar auf beide. (Eine Übersicht über die Modellelemente gibt Tabelle 4—30) Tabelle 4 - 3 0 . Parameter AMP PER MMA MPR

= = = =

Amplitude der Marktschwankungen Periode der Marktschwankungen mittlerer Marktanteil mittlere Produktionsrate

Levels MAV = ATB = LGB =

Marktvolumen Auftragsbestand Lagerbestand

Rates EMV BST PDR LFG

= = = =

Änderung des Marktvolumens Bestellungen Produktionsrate Lieferungen

Hilfsvariable WPA

=

Werbe-/Produktions-Aktivität

Modelle, die mit Hilfe der aufgezeigten, grafischen Elemente konstruiert wurden, sind nun auf möglichst einfache Weise in die Form mathematischer Gleichungen zu bringen. Forrester unterscheidet zwei Gleichungstypen: -

Zustandsgieichungen (level-equations), die Werte für die Zustandsvariablen liefern Entscheidungsgleichungen (rate-equations), die Werte für die Ströme in den Kanälen liefern

Die Formulierung dieser Gleichungen hängt eng mit der bei der Simulation benutzten Zeitsteuerung zusammen (siehe Abbildung 4—31). Die Zeitachse

202

4. Ausgewählte Anwendungsgebiete

wird in äquidistante Zeitabschnitte DT unterteilt. Es werden grundsätzlich 3, durch einen Index gekennzeichnete Zeitpunkte unterschieden: Zeitpunkt K: gegenwärtiger Zeitpunkt Zeitpunkt J: voraufgegangener Zeitpunkt Zeitpunkt L: nächster Zeitpunkt

Abbildung 4 - 3 1 .

Entsprechend dem Modellkonzept wird der Zustand zum Zeitpunkt K durch die Werte der Zustandsvariablen (level) gegeben. Diese werden mit Hilfe der Zustandsgleichungen (level-equations) errechnet, wobei (von wenigen Ausnahmen abgesehen) lediglich die Werte der Zustandsvariablen zum Zeitpunkt J und die im Zeitintervall DT zwischen Zustand J und Zustand K wirksamen Ströme (rates) Verwendung finden. Die Ströme (rates) im folgenden Zeitintervall DT zwischen Zustand K und Zustand L werden sodann mit Hilfe der Entscheidungsgleichungen (rate-equations) errechnet, wobei wiederum entsprechend dem Modellkonzept lediglich die Werte der Zustandsvariablen zum Zeitpunkt K sowie die Werte der Ströme im Intervall (J, K) Verwendung finden. Forrester hat insgesamt mit dieser Zeitablaufsteuerung die Diskretisierung der kontinuierlichen Modell-Gleichungen in das Modell-Konzept aufgenommen. DT ist die Schrittweite h, die Ableitung der Level-Funktionen wurde sofort durch den Differenzquotienten ersetzt (vgl. Abschnitt 2.1.2). Die Gleichungen zu dem in Abbildung 4—29 skizzierten Modell sind im folgenden in der von Forrester verwendeten Schreibweise formuliert, bei der die Zeit-Indizes durch einen Punkt getrennt neben die Variable geschrieben werden.

4.3 Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics

203

Zustandsgieichungen (level-equations): (2, L)

MAV.K = MAV.J

+ (DT) • (EMV.JK)

(4, L)

ATB.K

+ (DT) • (BST.JK

(6, L)

LGB.K = LGB.J

= ATB.J

- LFG.JK)

+ (DT) • (PDR.JK - LFG.JK)

Die Gleichung (4, L) ist folgendermaßen zu interpretieren: der Auftragsbestand ATB zum Zeitpunkt K ist gleich dem Auftragsbestand zum Zeitpunkt J plus der im Zeitintervall DT zwischen J und K durch dem Strom der Bestellungen BST sowie Lieferungen LFG aufgetretenen Veränderungen. Der Strom der Bestellungen BST, Lieferungen LFG ist dabei ebenso wie die Produktionsrate PDR in Gleichung (6, L) und das erzeugte Marktvolumen EMV in Gleichung (2, L) konstant. Die Gleichungen (2, L) und (6, L) sind in gleicher Weise unmittelbar verständlich. Entscheidungsgleichungen (rate-equations): . sin

2ttZEIT.K per

(1, R)

EMV.KL = AMP

(3, R)

BST .KL

(8, A)

WPA

(5, R)

LFG.KL

= min

(7, R)

PDR.KL

J_ = MPR • (1 - \ WPA) 2

= (DT) • (MMA (1 + WPA) • MAV.K) LGB.K-ATB.K 2 • (LGB.K + ATB.K) LGB.K DT '

ATB.K DT

Die 4 erforderlichen Entscheidungsgleichungen sind ergänzt um eine Hilfsgleichung (8, A) (auxiliary-equation). Auf diese Gleichung könnte man zwar verzichten, indem man in (3, R) und (7, R) für WPA unmittelbar den rechts in (8, A) stehenden Ausdruck einsetzt, jedoch ist die logische Struktur auf diese Weise klarer und Rechenaufwand wird eingespart. Dies ist allgemein der Zweck von Hilfsvariablen und Hilfsgleichungen in Industrial Dynamics-Modellen. WPA ist ein Maß für die Aktivität, die das Unternehmen in der Werbung zur Gewinnung von Marktanteilen und in der Produktion zur Steuerung der Produktionsrate entwickelt. Es hängt von der Differenz zwischen Lager- und Auftragsbestand ab und schwankt zwischen — ^ (wenn einem Auftragsbestand kein Lagerbestand gegenübersteht) und + \ (wenn einem Lagerbestand kein Auftragsbestand gegenübersteht).

204

4. Ausgewählte Anwendungsgebiete

In der Gleichung (3, R) wird mit diesem Wert, dem mittleren Marktanteil MMA und dem aktuellen Marktvolumen MAV der Bestellstrom im nächsten Zeitintervall ermittelt, in der Gleichung (7, R) unter der Berücksichtigung der Kapazität (gegeben durch die mittlere Produktionsrate MPA) die Produktionsrate. Die Gleichung (5, R) gibt die Lieferrate, die lediglich durch Auftragsoder Lagerbestand begrenzt ist. Mit (1, R) wird ein exogen gegebenes, daher nur von Parametern und nicht von Modellvariablen abhängendes, sinusförmig schwankendes Marktvolumen erzeugt. Fürjeinen Wert PER = 1 2 Monate entspricht das einer jährlichen Saisonschwankung. Die Funktion ZEIT.K gibt den zum Zeitpunkt K aktuellen Wert der Modellzeit. In der vorliegenden Form kann mit dem Modell der Zeitablauf simuliert werden. Für die Parameter wurden die Werte gewählt: AMP = 10t/Monat 2 , PER = 12 Monate, MMA = 0.25 (= 25 %), MPR = 25 t/ Monat Als Startwerte für die Zustandsvariablen wurde gewählt: MAV.O = 100 t/Monat, ATB.O = 20 t, LGB.O = 40 t Die numerischen Ergebnisse einer Simulation über 2 Perioden zeigt die Tabelle 4—32, den grafischen Verlauf die Kurven in Abbildung 4—33.

Abbildung 4 - 3 3 .

4.3 Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics

205

Tabelle 4 - 32. DT = 1 T = K

MAV.K

ATB.K

LGB.K

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

100 100 105 113,66 123.66 132.32 137.32 137.32 132.32 123.66 113.66 105.00 100.00 100.00 105.00 113.66 123.66 132.32 137.32 137.32 132.32 123.66 113.66 105.00 100.00 100.00

20 29.17 27.5 28.41 29.86 31.15 36.86 42.51 46.61 48.65 48.35 45.92 41.93 37.5 33.93 32.04 32.99 36.32 40.81 45.29 48.71 50.31 49.69 46.98 42.79 38.20

40 43.78 38.36 34.83 30.79 25.83 25.58 26.13 26.49 26.72 26.81 26.78 26.64 26.39 26.09 25.98 25.65 25.78 26.06 26.38 26.65 26.83 26.90 26.86 26.70 26.45

WPA 0.167 0.1 0.0824 0.051 0.0077 -0.0467 -0.09 -0.1193 -0.1376 -0.1455 -0.1421 -0.1316 -0.1115 -0.087 -0.078 -0.0522 -0.0626 -0.0849 -0.1103 -0.1319 -0.1464 -0.1523 -0.1488 -0.1362 -0.1158 -0.0909

BST.KL

PDR.KL

LFG.K

29.17 27.5 28.41 29.86 31.15 31.54 31.23 30.23 28.53 26.42 24.38 22.79 22.21 22.82 24.2 26.93 28.98 30.27 30.54 29.80 28.24 26.21 24.19 22.67 22.11 22.73

23.78 23.75 23.97 24.37 24.9 25.58 26.13 26.49 26.72 26.81 26.78 26.64 26.39 26.09 25.98 25.65 25.78 26.06 26.38 26.65 26.83 26.90 26.86 26.70 26.45 26.14

20.00 29.17 27.5 28.41 29.86 25.83 25.58 26.13 26.49 26.72 26.81 26.78 26.64 26.39 26.09 25.98 25.65 25.78 26.06 26.38 26.65 26.83 26.90 26.86 26.70 26.45

Diese Ergebnisse zeigen, daß die Produktionskapazität zu klein ist und die Produktionssteuerung viel zu langsam auf die Anforderungen des Marktes reagiert. Das entnimmt man insbesondere dem Verlauf von LGB, der ja in dieser Situation unmittelbar dem von PDR entspricht (= PDR in Abbildung4—33). Es wurde daher angenommen, daß die Kapazität zwar nicht grundsätzlich vergrößert werden kann, das heißt MPR bleibt gleich, aber eine schnellere Reaktion in der Produktion auf die Marktanforderungen durchgesetzt werden kann. Im Modell wird dazu in (7, R) der Faktor bei WPA von 1/2 auf 2 vervierfacht. Eine erneute Simulation liefert die Ergebnisse in Tabelle 4—34 und Abbildung 4-35. Der Einfluß der Startwerte ist nun bereits nach etwa 3 Monaten nicht mehr spürbar (im ersten Fall dauerte es ca. 6 Monate) und die Marktchancen werden nun deutlich besser genutzt. Dieser hier aufgezeigte Zusammenhang ist zwar plausibel, es ist andererseits aber auch überzeugend, wenn dieses sehr einfache Modell bereits die richtigen Reaktionen zeigt. Um den Rechenablauf störungsfrei zu ermöglichen, müssen die Gleichungen

206

4. Ausgewählte Anwendungsgebiete

des Modells einige Voraussetzungen erfüllen, die im Beispiel bereits verwirklicht sind: -

Die Gleichungen müssen alle explizit sein, das heißt links steht jeweils nur eine Variable

-

Jede Variable muß wenigstens einmal links auftauchen, damit der Rechenprozeß nicht abbricht

-

Um die Eindeutigkeit zu wahren, darf jede Variable höchstens einmal auf der linken Seite auftauchen

-

Zustandsgieichungen dürfen auf der rechten Seite keine Zustandsvariablen enthalten, die den gleichen Zeitindex K wie die links stehenden Variablen besitzen. Dadurch wird die Reihenfolge der Auswertung der Gleichungen beliebig

-

Entscheidungsgleichungen dürfen auf der rechten Seite ebenfalls keine Variable mit gleicher Indexkombination wie die links stehende Variable haben. Dadurch sind die Entscheidungsgleichungen ebenfalls unabhängig voneinander.

Tabelle 4 - 34. DT = 1. T = K

MAV.K

ATB.K

LGB.K

WPA

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

100.00 100.00 105.00 113.66 123.66 132.32 137.32 137.32 132.32 123.66 113.66 105.00 100.00 100.00 105.00 113.66 123.66 132.32 137.32 137.32 132.32 123.66 113.66 105.00 100.00 100.00

20 29.17 26.42 27.01 28.58 33.39 37.98 41.84 44.16 44.38 42.35 38.45 33.61 29.18 26.61 26.77 29.46 33.63 38.10 41.90 44.19 44.40 42.37 38.46 33.61 29.18

40 36.67 29.65 26.79 25.10 26.62 27.82 28.86 29.59 29.94 29.86 29.32 28.37 27.11 25.92 25.33 25.69 26.71 27.87 28.88 29.60 29.94 29.86 29.33 28.37 27.11

0.33 0.1139 0.0576 -0.0041 -0.0648 -0.1128 -0.1544 -0.1836 -0.1976 -0.1943 -0.1730 -0.1347 -0.0845 -0.0368 -0.0131 -0.0276 -0.0684 -0.1147 -0.1551 -0.1840 -0.1977 -0.1945 -0.1732 -0.1347 -0.0845 -0.0368

BST.KL

PDR.KL

LFG.K

29.17 26.42 27.01 28.36 29.91 31.21 31.68 31.18 29.81 27.91 25.96 24.48 23.94 24.54 26.08 28.02 29.86 31.18 31.67 31.17 29.81 27.91 25.95 24.48 23.94 24.54

16.67 22.15 23.56 25.10 26.62 27.82 28.86 29.59 29.94 29.86 29.32 28.37 27.11 25.92 25.33 25.69 26.71 27.87 28.88 29.60 29.94 29.86 29.33 28.37 29.32 25.92

20 29.17 26.42 26.79 25.10 26.62 27.82 28.86 29.59 29.94 29.86 29.32 28.37 27.11 25.92 25.33 25.69 26.71 27.87 28.88 29.40 29.94 29.86 29.33 29.86 27.11

4.3 Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics

207

Abbildung 4 - 3 5 . (punktierte Kurven aus Abbildung 4 - 3 3 )

Insbesondere die beiden letzten Bedingungen vereinfachen den Rechenvorgang. Sie bedeuten jedoch gleichzeitig, daß während eines Zeitintervalls DT keine Verbindung zwischen den verschiedenen Systemkomponenten besteht. Die Ergebnisse einer Entscheidung können sich somit immer erst ein Zeitintervall DT später auf andere Entscheidungen auswirken (vgl. Bestellrate und Produktionsrate im obigen Beispiel). Damit erhält die Größe DT schon allein für die logische Struktur des Modells ein besonderes Gewicht. DT muß genügend klein' sein, um ein realistisches Bild der Verknüpfungen im System zu liefern. Daneben muß sichergestellt sein, daß die Schwankungen einer Zustandsvariablen im Intervall DT relativ zu ihrem Betrag klein bleiben, da sonst unrealistische Situationen wie zum Beispiel negative Lagerbestände auftreten können. Die Schwankungen sind aber unmittelbar proportional zu dem Wert von DT. Schließlich soll auch die Schwingung mit der höchsten Frequenz (kleinster Wellenlänge = Zyklus) im Modell noch klar erkennbar sein. Diese dem Naturwissenschaftler und Techniker als Förderung nach größtmöglichem Auflösungsvermögen bekannte Bedingung begrenzt ebenfalls den Wert von DT. Da andererseits der erforderliche Rechenaufwand bei kleiner werdendem DT wie p j wächst, ist die Bestimmung eines geeigneten Wertes DT ein gewichti-

4. Ausgewählte Anwendungsgebiete

208

ges Problem bei Industrial-Dynamics-Modellen. Verwendet man im Modell keine der hier nicht besprochenen Verzögerungselemente, so bleibt zur Bestimmung geeigneter Werte von DT lediglich die Durchfuhrung von Versuchsrechnungen. Zur Programmierung von Industrial-Dynamics-Modellen und zur Simulation hat Pugh [4.80] eigens die Simulationssprache DYNAMO entwickelt. Wie bei der Diskussion der Zeitablaufsteuerung bereits bemerkt, stellen die Zustands- und Entscheidungsgleichungen der Modelle nichts anderes dar als ein System gewöhnlicher Differentialgleichungen erster Ordnung, das diskretisiert wurde. Die Ableitungen der Zustandsvariablen sind durch Differenzquotienten ersetzt (vgl. Abschnitt 2.1.2). Das sei am Beispiel der Gleichung (4, L) demonstriert. Ausgangspunkt ist die Gleichung: ATB' (t) = BST (t) - LFG (t) Sie besagt: ATB (t), BST (t) und LFG (t) sind Funktionen der Zeit. Die Ableitung („Änderung") von ATB (t) ist danach die Differenz zwischen BST (t) und LFG (t). Die Ableitung ATB' (t) wird ersetzt durch einen Differenzquotienten ATB' ( t l ) ~

ATBOO-ATBito) ti — t 0

Einsetzen und Umformen ergibt: ATB (ti) — ATB (t 0 ) ii



io

= BST ( t 0 ) - LFG (to)

ATB (t,) = ATB (t 0 ) + (t, - t 0 )

[BST (t 0 ) - LFG (t 0 ) ]

Die rechts in eckigen Klammern stehenden Werte BST(t 0 ) und LFG(t 0 ) beziehen sich jedoch nicht exakt auf den Zeitpunkt t 0 , sondern gelten für das ganze Zeitintervall (t 0 , ti), stellen also die von Forrester definierten Rates dar. Die Differenz (tj — t 0 ) ist das Zeitinkrement DT. Für t 0 = J und ti = K ergibt sich damit in der Forrester-Notation: ATB.K = ATB.J + (DT) (BST.JK - LFG.JK) Dieser allgemeine Hintergrund ermöglicht es, Industrial-Dynamics-Modelle auch mit anderen Sprachen für die kontinuierliche Simulation als DYNAMO zu programmieren, die zumeist mehr Möglichkeiten bieten. Gute Erfahrungen konnten dabei mit CSMP gesammelt werden. Prinzipiell wäre sogar die AnalogSimulation möglich. Da die Technik jedoch gerade für große Modelle mit bis zu 1000 Gleichungen entwickelt wurde, reicht im allgemeinen die Genauigkeit des Analogrechners nicht mehr aus. Die Tatsache, daß die Industrial-Dynamics-Modelle kontinuierlich sind, verschließt nicht die Möglichkeit, stochastische Einflüsse zu verarbeiten. Im oben

4 . 3 Unternehmensmodelle, dargestellt am Beispiel von Industrial Dynamics

209

diskutierten Beispiel ließe sich etwa der Entscheidungsvariablen EMV eine beliebige, stochastische Variable überlagern, ebenso der Produktionsrate PDR. Das Modell wird dadurch einerseits realistischer, andererseits ist das ModellVerhalten schwerer abzulesen. Daher bleibt stets abzuwägen, ob auf stochastische Einflüsse nicht verzichtet werden kann. Es empfiehlt sich, ein Modell zunächst determiniert zu entwickeln, sein Verhalten zu untersuchen und erst dann Zufallsvariable einzubauen. Diese Vorgehensweise ist praktisch immer möglich und erleichtert die Arbeit. Sie stellt damit einen Vorzug gegenüber diskreten, stochastischen Simulationsmodellen dar, wo diese Möglichkeit nicht gegeben ist. Bei den weiten Anwendungsmöglichkeiten von Industrial-Dynamics - auf Urban Dynamics und das Weltmodell aus „Grenzen des Wachstums" wurde bereits verwiesen - ist es erstaunlich, daß diese Technik noch nicht in einem höherem Maße eingesetzt wird. Die gesamte Entwicklung der Simulation insbesondere in den USA geht allerdings bereits über Modelle des Typs Industrial Dynamics hinaus, die nahezu ausschließlich ökonomische Aspekte berücksichtigen. Modelle, die auch psychologische, soziale und politische Aspekte in höherem Maße beeinhalten, sollen ein realistisches und hoffentlich auch menschenfreundlicheres Bild der Realität vermitteln.

Literatur

Kapitel 1

[1.1]

Bauknecht, K. und W. Nef: Digitale Simulation. New York 1971.

[1.2]

Beer, S.: Kybernetik

[1.3]

Chorafas, D. N.: Systems and Simulation.

[1.4]

Flechtner, H. J.: Grundbegriffe der Kybernetik.

[1.5]

Forrester, J. W.: Urban Dynamics. Cambridge, Mass. 1970.

[1.6]

Forrester, J. W.: Industrial Dynamics. Cambridge, Mass. 1972.

[1.7]

Fuchs, H.: „Systemtheorie". In: E. Grochla (Hersg.): Handwörterbuch der Organisation. Stuttgart 1969.

[1.8]

Hunter, J. S. und T. H. Naylor: „Experimental Designs for Computer Simulation Experiments". In: Management Science 16 (1970) S. 422.

[1.9]

Klaus, G. (Hrsg.): Wörterbuch der Kybernetik. 1969.

und Management.

[1.10] Kohlas, J.: Monte-Carlo-Simulation Heidelberg, New York 1972.

Berlin, Heidelberg,

Frankfurt/M. 1967. New York, London 1965. Stuttgart 1970.

Frankfurt/M., Hamburg

im Operations Research. Berlin,

[1.11] Koller, H.: Simulation und Planspieltechnik.

Wiesbaden 1969.

[1.12] Koxholt, R.: Die Simulation - ein Hilfsmittel der schung. München, Wien 1967.

Unternehmensfor-

[1.13] Luhmann, Niklas: „Moderne Systemtheorie als Form gesamtgesellschaftlicher Analyse". In: Habermas/Luhmann: Theorie der Gesellschaft oder Sozialtechnologie. Frankfurt 1971. [1.14] Martin, F. F.: Computer Modeling and Simulation. Sidney 1968.

New York, London,

[1.15] Meadows, D.: Die Grenzen des Wachstums. Stuttgart 1972. [1.16] Mertens, P.: Simulation.

Stuttgart 1969.

[1.17] Naylor, T. H.: „Bibliography 19. Simulation and Gaming". In: Computing Reviews (1969) S. 6 1 - 6 9 .

Literatur

211

[1.18] Naylor, T. H.: Computer Simulation Experiments with Models of Economic Systems. New York, London, Sidney 1971. [1.19] Naylor, T. H., J. L. Balintfy, D. S. Burdick und Kong Chu: Computer Simulation Techniques. New York, London, Sidney 1966. [1.20] Niemeyer, G.: Die Simulation von Systemabläufen mit Hilfe von FORTRAN IV. Berlin, New York 1972. [1.21] Pichler, F.: Mathematische Systemtheorie. Berlin, New York 1975. [1.22] Pfersich, H. P.: Wirtschaftskybernetik (Bibliographiej. Neuwied, Berlin 1972. [1.23] Rubenstein, A. H. et al.: „Some Organization Factors Related to the Effectiveness of Management Science Groups in Industry". In: Management Science 14 (1967). [1.24] Smith, J.: Computer Simulation Models. London 1968. [1.25] Stahlknecht, P.: Operations Research. Braunschweig 1970. [1.26] Tocher, K. D.: The Art of Simulation. London 1963. [1.27] Wegner, G.: „Systemanalyse". In: E. Grochla (Hrsg.): Handwörterbuch der Organisation. Stuttgart 1969.

Kapitel 2

[2.1]

Ahrens, J. H., U. Dieter und A Grube: „Pseudo-Random Numbers a New Proposal for the Choice of Multiplicators". In: Computing 6 (1970) S. 121-138.

[2.2]

Blunden, G. P. und H. S. Krasnow: „The Process Concept as a Basis for Simulation Modeling". In: Simulation (1967) S. 89-93.

[2.3]

Box, G. E. P. und J. S. Hunter: „Multi-factor Experimental Design for Exploring Response Surfaces". In: Annals of Mathematical Statistics 27 (1957) S. 195-241.

[2.4]

Box, G. E. P. und G. M. Jenkins: Time Series Analysis forcasting and control. San Francisco 1970.

[2.5]

Brandt, S.: Statistische Methoden der Datenanalyse. Berlin 1968.

[2.6]

Brenner, M. E.: „Selective Sampling, a Technique for Reducing Sample Size in Simulation of Decision Making Problems". In: J. of Ind. Engineering 14 (1963) S. 291-296.

Literatur

2

7]

Clark, C. E.: „Importance Sampling in Monte-Carlo-Analyses". In:

8]

Cochran, W. G.: Sampling Techniques. New York, London, Sidney 1963. Dt.: Stichprobenverfahren. Berlin, New York 1972.

9]

Conway, R. W.: „Some Tactical Problems in Digital Simulation". In:

Operations Research 9 (1961) S. 6 0 3 - 6 2 0 .

Management Science 10 (1963) S. 4 7 - 6 1 .

10] Fishman, G. S.: „The Allocation of Computer Time in Comparing Simulation Experiments". In: Operations Research 16 (1968). 11] Fishman, G. S. : „Problems in the Statistical Analysis of Simulation

Experiments: the Comparison of Means and the Length of Sample Records".

In: Comm. of the ACM 10 (1967) S. 9 4 - 9 9 .

12] Fishman, G. S. und P. J. Kiviat: „The Statistics of Discrete Event Simulation".

In: Simulation (1968) S. 1 8 5 - 1 9 5 .

13] Fishman, G. S. und P. J. Kiviat: „The Analysis of Simulation Generated Time Series". In: Management Science 13 (1967) S. 5 2 5 - 5 5 7 . 14] Giloi, W.: Simulation und Analyse stochastischer Wien 1967. 15] Hammersley, J. M. und D. C. Handscomb: London, New York 1964.

Vorgänge. München,

Monte-Carlo-Methods.

16] Hammersley, J. M und K. W. Morton: „A New

Monte-Carlo-Technique Antithetic Variates". Proceedings. In: Cambridge Philosophical Society 52 (1956) S. 4 4 9 - 4 7 5 .

17] Hengst, M. : Einfuhrung in die mathematische Statistik und ihre An-

wendung. Berlin 1967.

18] Hull, E. und A. R. Dobell: „Random Number Generators". In: SIAM Review 4 (1962) S. 2 3 0 - 2 5 4 . 19] Kabak, W. I.: „Stopping Rules for Queuing Simulations". tions Research 16 (1968) S. 4 3 1 - 4 3 7 .

In: Opera-

20] Kaiman, R. E. : „Mathematical Description of Linear Dynamical

Systems". In: J. Soc. Indust. Appi. Math. Series A.: On Control 1 (1963) S. 1 5 2 - 1 9 3 .

21] Köcher, D., G. Matt, C. Oertel und H. Schneeweiss: Einfuhrung in die Simulationstechnik.

Köln, Frankfurt/M. 1972.

22] Knuth, D. E.: The Art of Computer Programming Vol. 2. Reading, Mass. 1969.

Literatur

213

[2.23] Maclaren, M. D. und G. Marsaglia: „Uniform Random Number Generators". In: Journal of the ACM 12 (1965) S. 83-89. [2.24] Mechanic, H. und W. McKay: „Confidence Intervals for Averages of Dependent Data in Simulations". In: IBM advanced systems development division no. 17-202. Yorktown Heights, N. Y. 1966. [2.25] Namneck, P.: „Vergleich von Zufallszahlen-Generatoren". In: Elektronische Rechenanlagen 8 (1966) S. 28-32. [2.26] Naylor, X. H. (Hrsg.): The Design of Computer Simulation Durham, N. C. 1969.

Experiments.

[2.27] Naylor, T. H. und D. S. Burdick: „Response Surface Methods in Economics". In: Review of the International Statistical Institute 27 (1969) S. 18-34. [2.28] Naylor, T. H., K. Wertz und T. Wonnacott: „Methods for Analyzing Data from Computer Simulation Experiments". In: Comm. of the ACM 10 (1967) S. 703-710. [2.29] Paulson, E.: „Sequential Estimation and Closed Sequential Decision Procedures". In: Annals of Mathematical Statistics 35 (1964) S. 1084-1058. [2.30] Pfanzagl, J.: Allgemeine Methodenlehre der Statistik, Bd. I und II. Berlin, New York 1972/1974. [2.31] Sachs, L.: Statistische Auswertungsmethoden. New York 1972.

Berlin, Heidelberg,

Kapitel 3

[3.1]

Buxton, J. N. und J. G. Laski: „Control and Simulation Language". In: Computer Journal 5 (1962).

[3.2]

Dahl, O. J.: „Discrete Event Simulation Languages". In: F. Genuys (Hrsg.): Programming Languages. London, New York 1968.

[3.3]

Dahl, O. J. und K. Nygaard: SIMULA, User's Manual. Norwegian Computing Center. Oslo 1965.

[3.4]

Dahl, O. J. und K. Nygaard: „SIMULA - An ALGOL Based Simulation Language". In: Comm. of the ACM, Sept. 1966.

[3.5]

Efron, R. und G. Gordon: „A general purpose digital simulator and examples of its application: Part I - description of the simulator". In: IBM Sys. J. 3, S. 22-34.

214

Literatur

[3.6]

IBM: „Programm zur Simulation kontinuierlicher IBM Deutschland, Form 80 744 (1969).

[3.7]

IBM: „General Purpose Systems Simulator III" (GPSS III). Introduction.

[3.8]

IBM: Control and Simulation Language, User's Manual. IBM UK Ltd.

[3.9]

Knuth, D. E. und J. L. McNeley: „Sol, a Symbolic Language for General Purpose Systems Simulation". In: Trans. IEEE (1964) S. 4 0 1 - 4 1 4 .

[3.10] Markowitz, H. M. et al.: SIMSCRIPT, a Simulation Language. Englewood Cliffs 1963. [3.11] Pugh, A. L.: Dynamo,

Systeme

(CSMP/360)".

Programming

User's Manual. Cambridge, Mass. 1963.

[3.12] Pritsker, A. A. B. und P. J. Kiviat: Simulation with GASP. Prentice Hall 1968. [3.13] Strauss, J. C. (Hrgs.): „The SC,• Continuous System Simulation guage CSSL". In: Simulation (1967).

Lan-

[3.14] Teichroew, D. und J. F. Lubin: „Computer Simulation - Discussion of the Technique and Comparison of Languages". In: Communications of the ACM 9 (1966) S. 7 2 3 - 7 4 1 . [3.15] Teichroew, D., J. F. Lubin und T. D. Truitt: „Discussion of Computer Simulation Techniques and Comparison of Languages". In: Simulation 9 (1967). [3.16] Tocher, K. D.: „Review of Simulation Languages". In: Operational Research Quarterly 16 (1965) S. 189-217.

Kapitel 4

[4.1]

Abelson, R. P.: „Simulation of Social Behavior". Handbook of Sicial Psychology. Palo Alto, Calif. 1966.

[4.2]

Amiry, A. P.: „The Simulation of Information Row in a Steelmaking Plant". In: S. H. Hollingdale (Hrsg.): Digital Simulation in Operational Research. New York 1967.

[4.3]

Amstutz, A. E.: Computer Simulation Cambridge, Mass. 1967.

[4.4]

Armstrong, G. M. und L. R. Olson: „Improving a Chemical Plant via Process Simulation". In: Chemical Engineering 69 (1962).

of Competitive Market

Response.

215

Literatur

[4.5]

Berman, E. B.: „Monte-Carlo-Determination of Stock In: Operations Research 10 (1962) S. 500-506.

Redistribution".

[4.6]

Blum, A. M.: „Digital Simulation of Urban Traffic". In: IBM System J. 3 (1964).

[4.7]

Bonini, C. P.: Simulation of Information Firm. Englewood Cliffs, N. Y. 1963.

[4.8]

Böttger, R.: „Verkehrsabhängige Signalregelungen bei Fahrzeugzufluss". 46, GAMM Tagungsheft 1966.

[4.9]

Böttger, R.: „Die Leistungsfähigkeit von Simulationsverfahren bei der Behandlung von Straßenverkehrsproblemen". In: Ablauf- und Planungsforschung 8 (1967) S. 355-369.

and Decision Systems in the instationärem

[4.10] Boyd, D. F. und H. S. Krasnow: „Economic Evaluation of Management Information Systems". In: IBM Systems J. 2 (1963). [4.11] Brooks, R. M.: „A Sugar Refinery Simulation Model". In: Management Technology (1962). [4.12] Bulkin, M. H., J. L. Colley und H. W. Steinhoff: „Loadforcasting, Priority Sequencing and Simulation In a Job Shop Control System". In: Management Science 13 (1966) S. 2 9 - 5 1 . [4.13] Bussmann, K. F. und P. Mertens: Operations Research und Datenverarbeitung bei der Instandhaltungsplanung. Stuttgart 1968. [4.14] Bussmann, K. F. und P. Mertens: Operations Research und Datenverarbeitung bei der Produktionsplanung. Stuttgart 1968. [4.15] Chapin, F. S.: A Model for Simulating Residential Development. J. American Institute of Planners 31 (1965) S. 120-125.

In:

[4.16] Chu, K. und T. H. Naylor: A dynamic Model of The Firm. In: Management Science 11 (1965) S. 736-750. [4.17] Clarkson, G. P. E.: Portfolio Selection: a Simulation of Trust Investment. Englewood Cliffs, N. Y. 1962. [4.18] Cohen, K. J. und E. J. Elton: Inter-Temporal Portfolio Analysis Based On Simulation. In: Management Science 14 (1967) S. 5 - 1 8 . [4.19] Coleman, J. S., S. B. Boocock und E. D. Schild: Simulation Games and Learning Behavior. In: The American Behavoiral Scientist 10 (1966). [4.20] Colin, J. W. : Forecasting Financial Needs Of a Business: a Computer Simulation. Los Angeles 1963.

216

Literatur

[4.21] Coupai, R. T. et al.: Digital Computer Simulation of Single-Track Rail Road Operation. In: Electrical Engineering 79 (1960) S. 6 4 8 653. [4.22] Crecine, J. P.: A Computer Simulation Model of Municipal Budgeting. In: Management Science 13 (1967) S. 786-815. [4.23] Cyert, R. M. und J. G. March: A Behavioral Theory of the Firm. Englewood Cliffs 1963. [4.24] Day, R. L.: Simulation of Consumer Preference. In: J. Advertising Research 5 (1965). [4.25] D'Esopo, D. A. et al: Models for Simulating an Air Transportation System. In: Naval Research Logistic Quarterly 7 (1960) S. 213-220. [4.26] Dzielinski, B. P. und A. S. Manne: Simulation of a Hypothetical Multi-Item Production and Inventory System. In: J. Industrial Engineering 12 (1961) S. 417-421. [4.27] Evans, M. K. und L. R. Klein: The Wharton Econometric Forecasting Model. Wharton School, Philadelphia 1968. [4.28] Ferschl, F.: Zufallsabhängige Wirtschaftsprozesse. Wien, Würzburg 1964. [4.29] Fetter, R. B. und J. D. Thompson: The Simulation of Hospital Systems. In: Operations Research 13 (1965). [4.30] Fine, G. H. und P. V. Mcisaac: Simulation of a Time-Sharing System. In: Management Science 12 (1966) S. 180-194. [4.31] Forrester, J. W.: Industrial Dynamics. Cambridge, Mass. 1972. [4.32] Forrester, J. W.: Urban Dynamics. Cambridge, Mass. 1969. [4.33] Fromm, G. und P. Taubman: Policy Simulations with an Econometric Model. The Brookings Institution. Washington, D. C. 1968. [4.34] Galliher, P.: Queuing. In: Notes on Operations Research. Cambridge, Mass. 1959. [4.35] Gere, W. S.: Heuristics in Job Shop Scheduling. In: Management Science 13 (1966) S. 167-190. [4.36] Greenberger, M.: Simulation and the Problem of the Air-Traffic Control. In: Industrial Management Review (1961). [4.37] Gröger, H. und D. Urbanik: Instandhaltung von Flugtriebwerken bei einer Luftverkehrsgesellschaft. In: Luftfahrttechnik - Raumfahrttechnik 11 (1965) S. 531.

217

Literatur

[4.38] Gullahorn, J. und J. Gullahorn: A Computer Model of Elementary Social Behavior. Computer and Thoughts. New York 1963. [4.39] Gunn, W. A.: Airline System Simulation. 12 (1964) S. 2 0 6 - 2 2 9 . [4.40] Hahn, R.: Produktionsplanung 1972.

In: Operations Research

bei Linienfertigung.

Berlin, New York

[4.41] Hare, A. P.: Computer Simulation of Interaction in Small In: Behavioral Science 6 (1961) S. 261-265.

Groups.

[4.42] Hauser, N. und D. J. Duffy: A Computer Simulation Model of a Police Communication System. In: Law Enforcement Science And Technology. Washington 1967. [4.43] Hertz, D. B.: Risiko-Analyse bei Kapitalanlagen. In: Fortschrittliche Betriebsführung 13 (1964) S. 107-117. [4.44] Hertz, D. B.: Risk Analysis in Capital Investment. Business Review (1964).

In: Harvard

[4.45] Hespos, R. F. und P. A. Strassmann: Stochastic Decision Trees for the Analysis of Investment Decisions. In: Management Science 11 (1965) S. B244-B259. [4.46] Hill, J. S. und R. Collins: Simulation Models for Life Insurance. In: Transactions of the 18th International Conference of Actuaries (1968). [4.47] Hilier, F. S. : The Derivation of Probabilistic Information for the Evaluation of Risky Investments. In: Management Science (1964). [4.48] Hoss, K.: Triebwerksumlauf - Simulation EROS. (Interne LufthansaAusarbeitung) GGN Z01/FRA Z012 hst 650. [4.49] Hurst, E. G. et al.: Heuristic Scheduling in a Woolen Mill. In: Management Science 14 (1967) S. 182-203. [4.50] Hutchinson, G. K.: Some Problems in the Simulation of Mulitprocessor Computer Systems. In: Simulation Programming Languages. Amsterdam 1968. , [4.51] Hutchinson, G. K.: Computer System Design and Analysis Through Simulation. In: Proc. AFIPS 1965 FJCC, Washington D. C. 1965. [4.52] IBM Form 74 899: Einführungsschrift: IMPACTLagerhaltung mit wissenschaftlichen Methoden.

Wirtschaftliche

[4.53] Jackson, J. R : Queus with Dynamic Priority Disciplines. In: Management Science 8 (1961) S. 18-34.

Literatur

8

54] Katz, J. H.: Simulation (1963) S. 4 8 0 - 4 8 6 .

of a Traffic Network.

In: Comm. ACM 6

.55] Kernler, H. K.: Fertigungssteuerung mit EDV. In: Datenverarbeitungs-Praxis 8. Köln/Braunsfeld 1972. 56] Kilbridge, M.: Urban Planning Models. Harvard University (1967). 57] Klatt, S., J. Kopf und B. Kulla: Systemsimulation Hannover 1974.

in der

Raumplanung.

58] Krelle, W.: „Die Ausnutzung eines gesamtwirtschaftlichen Prognose-

systems für wirtschaftliche Entscheidungen". In: Veröffentlichungen der Rheinisch-Westfälischen Akademie der Wissenschaften Heft 210. Opladen 1971. 59] Kuehn, A. A. und M. J. Hamburger: A Heuristic Program for Locating Warehouses. In: Quantitative Techniques In Marketing Analysis. (Hrsg. FRANK. R. E. et. al.). Homewood, 111. 1962.

60] Lehman, M. et. al.: The Checking of Computer Logic by Simulation on a Computer.

In: Computer Journal 6 (1963) S. 154—162.

.61] Liebenberg, M., A. A. Hirsch und P. Popkin: A Quarterly Model of the United States. S. 1 3 - 3 9 . .62]

Econometric In: Survey of Current Business 46 (1966)

Magee, J. F.: How to Use Decision Trees in Capital Investment. In: Harvard Business Review (1964).

.63] Magee, J. F.: Decision Trees for Decision Making. In: Harvard Business Review (1964). .64] Marks, B. L.: Digital Simulation of Runway Utilisation. In: Operational Research Quarterly 15 (1964) S. 2 4 9 - 2 5 9 . .65] Marshall, W. S.: Simulating Communication Network In: Management Science 13 (1967) S. 6 5 6 - 6 6 5 .

Experiments.

.66] Mattesich, R : Budgeting Models and System Simulation. In: Accounting Review 36 (1961) S. 3 8 4 - 3 9 7 . .67] Mitchell, G. H. und J. R. Lee: Simulation Applied to Underground

Transport Problems in the Collieries of the National Coal Board. In: S. H. Hollingdale (Hrsg.): Digital Simulation in Operational Research. New York 1967. .68] Montgomery, D. B. und G. L. Urban: Management Science in Marketing. Englewood Cliffs, N. Y. 1969.

219

Literatur

[4.69] Müller, E.: Simultane Lagerdisposition und Fertigungsablaufplanung. Berlin, New York 1972. [4.70] Muyen, A. R.: Optimum Lot-Size Policy if Tools Break Down Frequently. In: Operations Research Quarterly 12 (1967) S. 41-53. [4.71] Naddor, E.: Lagerhaltungssysteme. Frankfurt/M., Zürich 1971. [4.72] Naddor, E.: Markov Chains and Simulations in an Inventory In: J. Industrial Engineering 15 (1963) S. 91-98.

System.

[4.73] Naylor, T. H. und D. Gianturco: Computer Simulation in Psychiatry. In: Archives Of General Psychiatry 15 (1966) S. 293-300. [4.74] Naylor, T. H.: Simulation and Gaming (Bibliography). In: Computing Reviews (1969) S. 61-69. [4.75] Naylor, T. H.: Computer Simulation Experiments with Models of Economic Systems. New York, London, Sidney 1971. [4.76] Nielson, N. R.: The Simulation of Time-Sharing Systems. In: Comm. ACM 10 (1967) S. 397-412. [4.77] Packer, A. H.: Simulation and Adaptive Forecasting as Applied to Inventory Dontrol. In: Operations Research 15 (1967) S. 660—679. [4.78] Patten, B. C.: Systems Analysis and Simulation in Ecology. New York 1971. [4.79] Pritsker, A. A. B.: Applications of Multichannel Queuing Results to the Analysis of Conveyor Systems. In: J. Industrial Engineering 14 (1966) S. 14-21. [4.80] Pugh, A. L.: Dynamo, User's Manual. Cambridge, Mass. 1963. [4.81] Rauner, R. M und W. A. Steger: Simulation and Long Range Planning for Resource Allocation. In: Quarterly J. Economics (1962). [4.82] Roberts, E. B.: Research and Development Policy-Making. In: Technology Review (1964) S. 32-36. [4.83] Roberts, E. B.: System Simulation for Regional Analysis. Cambridge, Mass. 1968. [4.84] Robinson, I. M. et. al.: A Simulation Model for Renewal Programming. In: J. American Institut of Planners 31 (1965) S. 126-133. [4.85] Saaty, T. L.: Elements of Queuing Theory. New York 1961. [4.86] Siemens: Wirtschaftliche Lagerhaltung mit HÖREST, Verfahrensbeschreibung. Siemens-Schriftenreihe data praxis.

220

Literatur

[4.87] Smith, R. D. und P. S. Greenlaw: Simulation of a Psychological Decision Process in Personnel Selection. In: Management Science 13 (1967) S. 409-419. [4.88] Stange, K.: Der günstigste Bedienungskanal mit exponentiellem Zuund Abgang bei ungeduldigen Kunden. In: Unternehmensforschung 6 (1962) S. 45-66. [4.89] Stange, K.: Zwei in Reihe angeordnete Schalter (mit einer Warteschlange dazwischen) bei Exponentialverteilung der Ankünfte und Abgänge. In: Unternehmensforschung 6 (1962) S. 101—124. [4.90] Stefflre, V.: Simulation of People's Behavior Toward New Objects and Events. In: American Behavioral Scientist 8 (1965) S. 12—15. [4.91] Steger, W. A.: The Pittsburgh Urban Renewal Simulation Model. In: J. American Institute of Planners 31 (1965) S. 144-149. [4.92] Taylor, J. G. und J. A. Navarro: Simulation of a Court System for the Processing Criminal Cases. In: Simulation 10 (1968) S. 241-248. [4.93] Tomkins, S. S. (Hrsg.): Computer Simulation of Personality. New York 1963. [4.94] Tonge, F. M.: A Heuristic Program for Assembly Line Balancing. Englewood Cliffs 1961. [4.95] Welding, P. I.: Simulation of Underground Railway Operations. In: Railway Gazette 121 (1965) S. 438-441. [4.96] Well, W. D.: Computer Simulation of Consumer Behavior. In: Harvard Business Review 41 (1963). [4.97] Wright, W. und J. Scrimgeour: Modelling Steel Mills on a Digital Computer. In: Iron and Steel Engineer 121 (1962). [4.98] Wyman, R.: A Nerve Net Simulation. In: Behavioral Science 7 (1962) S. 250-252. [4.99] Yu, J. C.: Simulation of Parking Facility Capacity. In: Traffic Engineering 42 (1971) S. 51-55.

221

Namen- und Sachregister

Abbildung 22 f Ablaufplanung 146 Ablaufsteuerung ereignisorientierte 53 -, imperative 55 interrogative 55 -, zeitorientierte 53 Abiaufzeit 53 Ableitung einer Funktion 67 Analogrechner 25 f, 118 Analytisches Verfahren 27 f f Ankunftsrate 155 Anwendungen 12 Assembler 121 Attribut 56 Auftragsfolge 185 Basissprache 123, 129 Bedarf (Lagerhaltung) 175 Bedienungsrate 157 Bedienungsstation 155 Bedienungszeit 157 Berechnungsexperiment 27 f f Beschaffung (Lagerhaltung) 175 Black B o x 17 Blockdiagramm ( G P S S ) 132 Block (CSMP) 142 Block ( G P S S ) 133 Block ( S I M U L A ) 138 Compiler 121 Differentialgleichungen 69 Differenzengleichung 72 Differenzenquotient 68 Digitalrechner 119 f Diskretisierung 4 0 , 71 Element -, aktives 17 - eines Systems 14 Ereignis 52, 35 -, stochastisches 77 f Ereigniswarteschlange 54 Erlang 159, 170 Erwartungswert 82 f - einer Stichprobe 92 event sequencing 53 Experiment - mit dem Objekt 21

- mit einem Modell 22 f experimental design 48 Facilities ( G P S S ) 133 Faktoren 48 Fertigungsablaufplanung 184 Finanzierungsmodelle 148 Fließfertigung 186 Häufigkeit 76 -, relative 76 f Industrial Dynamics 197 Informationssystem 14 Instabilität 74 Instandhaltung 147 Investitionsmodelle 148 Job-shop 185 Klasse ( S I M U L A ) 138 Komplexität 16 Kompliziertheit 16 Konfidenzintervall - bei stochastischen Prozessen 96 - bei Verteilungen 94 Korrelation 96 -, Auto- 96 Kostenarten (Lagerhaltung) 173 Kovarianz 97 -, Auto- 97 Kritische Zeit 52, 54 Lagerhaltungspolitik 175 Lagerhaltungsproblem 174 Lehmer-Generator 108 Lernprozesse (Modelle) 150 Level (Industrial Dynamics) 198 Linearität 68 Losgröße 176 Losgrößenformel 178 Marketingmodelle 149 Maschinenfolge 185 Maschinensprache 121 Mittelwert 82 f - einer Stichprobe 92 Modell 22 f -, determiniertes 30 -, diskretes 35

Namen- und Sachregister

222 Modell, kontinuierliches 37 -, mathematisches 26 stark aggregiertes 40 stochastisches 32 - zur Fertigungsplanung 195 - zur Lagersimulation 182 Modellzeit 52 Monte-Carlo-Methode -, Einsatz bei der Reihenfolgeplanung 187 f Optimierung 50 Parameter 63 Planspiele 153 Prioritätsregel 187, 188 f Produktionsprogrammplanung 184 Programmiersprache 120 Prozeß 56 Prozeß-Klasse 57 Prozeß (SIMULA) 139 Prozeß-Steuerung 58 quasi-parallele Ablaufsteuerung 60 quasi-parallel processing 60 Rate (Industrial-Dynamics) 198 Reaktionen 48 Reaktivierungspunkt 58 Rechteckverteilung 80 Reduzierung des Stichprobenumfangs 105 Reduzierung der Varianz 105 Regelkreis 19 Regelung 19 Reihenfolgeplanung 30, 185 Relation - eines Systems 14 -, externe 16 responses 48 Rückkopplung 19, 197 Rüstzeiten 186 Sample-Size-Reducing-Techniques 105 Sampling-Technik 103 Schlangendisziplin 158 Schlangenlänge 160 sequencing -, imperative 55 -, interrogative 55 Simulation -, analoge 25 -, digitale 29 kontinuierliche 145 Simulationslauf 29 Simulationsläufe -, Planung, Durchführung 48 f Simulationssprache 123

- blockorientierte 126 - für diskrete Modelle 127 -, gleichungsorientierte 127 -, Einsatzmöglichkeit 130 Simulationssystem 123 -, offenes 125, 129 -, open-ended 129 Standardabweichung 82 f - einer Stichprobe 93 Stetigkeit 65 Stichprobe 91 Stochastischer Prozeß 89 -, stationärer 90, 160 Subsystem 17 Summenverteilung -, diskrete 82 -, kontinuierliche 81 System 12 ff -, abgeschlossenes 16 dynamisches 16 -, ökonomisches 20 -, offenes 16 -, soziales 20 -, sozio-ökonomisches 20 -, statisches 16 Systemanalyse 20, 24 Tests -x 2 -Test 98 time sequencing 53 Transaction (GPSS) 133 Übersetzer 121 Validierung 46 f Variable (Definition) 61 -, endogene 63 -, exogene 63 -, Zustandsvariable 63 Variance-Reducing-Techniques 105 Varianz 82 f - einer Stichprobe 93 Vektor 66 Verhaltensmodelle 150 Verkehrsdichte (in einem Wartesystem) 159 Verkehrsmodelle 151 Verteilungen -, empirische 85 f -, Expotential- 87 -, Normal- 87 Poisson- 87 -, theoretische 86 f Vertrauensintervall - bei stochastischen Prozessen 96 - bei Verteilungen 94

Namen- u n d Sachregister Wahrscheinlichkeit 76 Wahrscheinlichkeitsdichte -, diskrete 80 -, k o n t i n u i e r l i c h e 79 Warteraum 155 Warteschlangenmodell 32 Wartesystem 155 Wartezeit (mittlere) 160 Wartung 147 Werkstattfertigung 186

Zeitmittel 90 (einer Zeitreihe) Zeitreihe 8 9 Z u f a l l s f u n k t i o n 102 Zufallsvariable 82 Zufallszahlen 83 G e n e r a t o r 107 Pseudo- 107 Z u s t a n d s v e k t o r 66

Walter de Gruyter Berlin-New York

w DE

G Gerhard Niemeyer

Die Simulation von Systemabläufen mit Hilfe von FORTRAN IV GPSS auf FORTRAN-Basis Groß-Oktav. 241 Seiten. Mit 34 Abbildungen. 1972. Gebunden DM 58,- ISBN 311 004024 7

Klaus Brockhoff

Unternehmensforschung Eine Einführung Groß-Oktav. 121 Seiten. Mit 19 Abbildungen. 1973. Plastik flexibel DM 18,- ISBN 311 004510 9 (de Gruyter Lehrbuch)

A. Kaufmann

-

R. F a u r e

Zimmermann

Methoden des Operations Research Eine Einführung in Fallstudien Deutsche Fassung von Klaus P. Liesenfeld Groß-Oktav. X, 265 Seiten. 1974. Gebunden DM 48,ISBN 3 11 003473 5 (Operations Research)

-

Lineare Programmierung

Zielinski

Ein programmiertes Lehrbuch. Basistext: Sebastian Dworatschek. Programmierung: Wilhelm Keller. Groß-Oktav. 222 Seiten. Arbeitsmittel: Anleitungs- und Übungsblätter zum Lernprogramm Lineare Programmierung von Hans-Jürgen Zimmermann und Johannes Zielinski. Seiten 224-365 (in Rückentasche). 1971. Plastik flexibel DM 38,- ISBN 311 001992 2 (de Gruyter Lehrbuch — programmiert)

Rudolf

Prognose- und Informationssysteme und ihre Anwendungen

Lewandowski

2 Bände. Groß-Oktav. Gebunden Band I: XII, 529 Seiten. Mit 186 Abbildungen und 80 Tabellen. 1974. DM 128,- ISBN 3 11 004311 4 Band II: In Vorbereitung.

Werner Elben

Entscheidungstabellentechnik Logik, Methodik und Programmierung Groß-Oktav. 140 Seiten. 1973. Plastik flexibel DM 2 4 ISBN 311 004318 1 (de Gruyter Lehrbuch) Preisänderungen vorbehalten