Object oriented computer simulation of discrete event systems

261 14 0
Object oriented computer simulation of discrete event systems

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Object-Oriented Computer Simulation of Discrete-Event Systems THE KLUWER INTERNATIONAL SERIES ON DISCRETE EVENT DYNAMIC SYSTEMS Series Editor Yu-Chi Ho Harvard University TIMED PETRI NETS: Theory and Application Jiacun Wang ISBN: 0-7923-8270-6 GRADIENT ESTIMATION VIA PERTURBATION ANALYSIS P Glasserman ISBN: 0-7923-9095-4 PERTURBATION ANALYSIS OF DISCRETE EVENT DYNAMIC SYSTEMS Yu-Chi Ho and Xi-Ren Cao ISBN: 0-7923-9174-8 PETRI NET SYNTHESIS FOR MANUFACTURING SYSTEMS DISCRETE EVENT CONTROL OF MengChu Zhou and Frank DiCesare ISBN: 0-7923-9289-2 MODELING AND CONTROL OF LOGICAL DISCRETE EVENT SYSTEMS Ratnesh Kumar and Vijay K Garg ISBN: 0-7923-9538-7 UNIFORM RANDOM NUMBERS: THEORY AND PRACTICE Shu Tezuka ISBN: 0-7923-9572-7 OPTIMIZATION OF STOCHASTIC MODELS: THE INTERFACE BETWEEN SIMULATION AND OPTIMIZATION Georg Ch Pflug ISBN: 0-7923-9780-0 CONDITIONAL MONTE CARLO: OPTIMIZATION APPLICATIONS GRADIENT ESTIMATION AND Michael FU and Jian-Qiang HU ISBN: 0-7923-9873-4 SUPERVISORY CONTROL OF DISCRETE EVENT SYSTEMS USING PETRI NETS John O Moody and Panos J Antsaklis ISBN: 0-7923-8199-8 Object-Oriented Computer Simulation of Discrete-Event Systems Jerzy Tyszer Poznan University of Technology, Poznan, Poland SPRINGER SCIENCE+BUSINESS MEDIA, LLC ISBN 978-1-4613-7287-5 ISBN 978-1-4615-5033-4 (eBook) DOI 10.1007/978-1-4615-5033-4 Library of Congress Cataloging-in-Publication Data A C.I.P Catalogue record for this book is available from the Library of Congress Copyright © 1999 by Springer Science+Business Media New York Originally published by Kluwer Academic Publishers in 1999 Softcover reprint ofthe hardcover Ist edition 1999 All rights reserved No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, mechanical, photocopying, recording, or otherwise, without the prior written permission of the publisher, Springer Science+Business Media, LLC Printed on acid-free paper To Dorota and Janusz Contents Preface xi Getting started 1.1 Basic notions 1.2 Manual simulation 1.3 Activity scanning Event scheduling 2.1 Main paradigm · 2.2 ABC approach · 2.3 Events versus activities 17 Event lists 3.1 Doubly linked linear list 3.2 Indexed linear list 3.3 Henriksen's list · 3.4 Two-level indexed list 3.5 Heaps 3.6 Splay trees 3.7 Run-time efficiency of event scheduling 29 Process interaction 4.1 Basic operations 4.2 Environment in C++ 4.3 Distributed simulation 4.3.1 Decomposition of a simulation 4.3.2 Conservative mechanisms 18 24 25 30 35 39 42 48 52 58 65 66 68 77 77 79 viii Contents 4.3.3 Optimistic mechanisms 83 87 88 Random number generators 5.1 Uniform random variables 5.2 Statistical tests 5.2.1 Chi-square test 5.2.2 Kolmogorov-Smirnov test 5.2.3 Poker test 5.2.4 Runs test 5.2.5 Coupon's collector test 5.2.6 Gap test 5.2.7 Autocorrelation test 5.3 Non-uniform variate generation 5.3.1 Inverse transformation method 5.3.2 Convolution 5.3.3 Rejection method 5.3.4 Further examples 101 102 103 105 107 110 112 Design of simulation experiments 6.1 Validation of models 6.2 Analysis of variance 6.3 Linear regression 115 116 128 134 Collection and analysis of simulation results 7.1 Gathering of results 7.2 Transient phase characteristics 7.2.1 Estimation of mean 7.2.2 Estimation of variance 7.3 Estimation of steady-state phase characteristics 7.3.1 Length of the transient period 7.3.2 Independent replications method 7.3.3 Method of batch means 7.3.4 Regenerative method 7.4 Variance reduction methods 7.4.1 Control variables 7.4.2 Antithetic variates 7.4.3 Common random number streams 139 Examples of simulation models 8.1 A simple preemptive system 8.2 A system with priorities and group servers 8.3 Assembly line 171 172 95 96 97 98 99 101 140 144 145 147 148 148 152 156 158 164 164 165 168 178 185 Contents 8.4 8.5 Finite-population queuing model Satellite communication system ix 191 196 Epilog 207 10 Exercises 213 A Probability distributions A.l The standard normal distribution A.2 The Student's t distribution A.3 The chi-square distribution A.4 The F distribution A.5 The Kolmogorov-Smirnov distribution 237 Bibliography 247 Index 255 238 239 240 241 245 Preface few years ago, a friend of mine inherited a restaurant from a relative he A had never met The restaurant was everything but a profitable institution Many potential customers were being notoriously turned away because of insufficient number of tables and lack of waiters Unfortunately, his vigorous decisions to rent extra space and hire new staff made the situation even worse After the changes, many tables were never taken, he kept paying more to the building owner, and staff costs went higher Furthermore, the inventory level of many products he was ordering went too high, so when the products validity expired, many of them had to be thrown away At some point he arrived with a basic question: is it possible to avoid such a disastrous scenario of running painful experiments until being declared bankrupt? This book is about an alternative scenario he was looking for It is going not only to answer the last question positively by advocating computer simulation as a valuable and safe investigation tool, but also it will demonstrate how to use simulation to estimate quantities of interest based on data we can provide to computer programs Simulation is the art and science of constructing models of systems for the purpose of experimentation In particular, computer simulation is a technique used to imitate, on computers, systems exhibiting complex, time-dependent behavior These systems, often not subject to direct experimentation, cannot be studied by any other reasonable means Consequently, computer simulation is becoming the dominant technique in many human activities Examples include designing manufacturing facilities and evaluating their performance, designing transportation systems and projecting their behavior under various traffic loads, designing communication networks and testing protocols used to operate these networks, and many others Clearly these systems can be all treated as collections of objects bound into a web of complex and stochastic xii relations Consequently, building either prototypes to run "real experiments" or actual systems based on rough approximations is not a feasible solution as too expensive and too risky a venture Before we go on to discuss simulation as a remedy for the problems like those listed above, a few words concerning existing texts are in order A careful review of many textbooks on simulation available on the market indicates clearly that they often lack harmony between two main aspects: the programming techniques relevant to simulation and the statistical methodology devoted to proper answering questions about systems being simulated It can be easily observed that most of these books concentrate either on simulation programming or statistical foundations of simulation at the expense of modeling aspects Consequently, the reader needs to refer to other books for missing information, or is left with incomplete data This often precludes optimal design decisions and leads to inefficient implementations In some cases a customized simulation software is provided as a supplement to some of these texts Although usually easy to learn, it inherently deemphasizes the importance of many distinct elements of simulation programming art, and eventually creates a kind of a package-dependent rather than well-educated modeler The main purpose of this book is to offer a complete and fairly balanced yet not overlength presentation of a wide repertoire of computer simulation techniques available to the modelers of dynamic systems It will guide the reader through the maze of alternative therapies, solutions, rules, and issues relevant to computer simulation Eventually, it will also help the reader to become comfortable with creating computer simulation models and to appreciate the powerfulness of this technique This is achieved by covering all basic and generic concepts used in computer simulation of discrete event systems in a comprehensive, uniform and self-contained manner In addition, the presentation benefits from the object-oriented methodology which is used throughout the book as its main programming platform The reader is expected to have only some programming experience in C++ and some background in the theory of probability and statistics In the following chapters we will discuss a wide variety of paradigms, theoretical concepts and practical scenarios concerned with design, programming, and exploitation of discrete-event simulation models We will show that even the simplest techniques provide a very high potential for the integration of their features into efficient and portable simulation packages In Chapter the basic definitions associated with the discrete event systems and their simulation models are introduced They are illustrated by means of an example simulation model of automatic teller machines The simulation experiment is conducted here manually in order to demonstrate the concepts of simulation clock and system state variables as well as time management methods and event sequencing procedures The chapter concludes with one of the simplest A Probability distributions 242 Table A.5: Area of the F distribution (0 = 0.01) for b in the range 10 to 00 a 10 12 15 20 b 24 30 40 60 120 00 6055.8 6106.3 6157.3 6208.7 6234.6 6260.6 6287.0 6313.0 6339.0 6366.0 99.40 99.42 99.43 99.45 99.46 99.47 99.47 99.48 99.49 99.50 27.23 27.05 26.87 26.69 26.60 26.60 26.41 26.32 26.22 26.13 14.55 14.37 14.20 14.02 13.93 13.84 13.75 13.65 13.56 13.46 9.11 9.02 9.29 9.20 10.05 9.89 9.72 9.38 9.55 9.47 10 7.87 6.62 5.81 5.26 4.85 7.72 6.47 5.67 5.11 4.71 7.56 6.31 5.52 4.96 4.56 7.40 6.16 5.36 4.81 4.41 7.31 6.07 5.28 4.73 4.33 7.23 5.99 5.20 4.65 4.25 7.14 5.91 5.12 4.57 4.17 7.06 5.82 5.03 4.48 4.08 6.97 5.74 4.95 4.40 4.00 6.88 5.65 4.86 4.31 3.91 11 12 13 14 15 4.54 4.30 4.10 3.94 3.80 4.40 4.26 3.96 3.80 3.67 4.25 4.01 3.82 3.66 3.52 4.10 3.86 3.66 3.51 3.37 4.02 3.78 3.59 3.43 3.29 3.94 3.70 3.51 3.35 3.21 3.86 3.62 3.43 3.27 3.13 3.78 3.54 3.34 3.18 3.05 3.69 3.45 3.25 3.09 2.96 3.60 3.36 3.17 3.00 2.87 16 17 18 19 20 3.69 3.59 3.51 3.43 3.37 3.55 3.45 3.37 3.30 3.23 3.41 3.31 3.23 3.15 3.09 3.26 3.16 3.08 3.00 2.94 3.18 3.08 3.00 2.92 2.86 3.10 3.00 2.92 2.84 2.78 3.02 2.92 2.84 2.76 2.69 2.93 2.83 2.75 2.67 2.61 2.84 2.75 2.66 2.58 2.52 2.75 2.65 2.57 2.49 2.42 21 22 23 24 25 3.31 3.26 3.21 3.17 3.13 3.17 3.12 3.07 3.03 2.99 3.03 2.98 2.93 2.89 2.85 2.88 2.83 2.78 2.74 2.70 2.80 2.75 2.70 2.66 2.62 2.72 2.67 2.62 2.58 2.54 2.64 2.58 2.54 2.49 2.45 2.55 2.50 2.45 2.40 2.36 2.46 2.40 2.35 2.31 2.27 2.36 2.31 2.26 2.21 2.17 26 27 28 29 30 3.09 3.06 3.03 3.00 2.98 2.96 2.93 2.90 2.87 2.84 2.81 2.78 2.75 2.73 2.70 2.66 2.63 2.60 2.57 2.55 2.58 2.55 2.52 2.49 2.47 2.50 2.47 2.44 2.41 2.39 2.42 2.38 2.35 2.33 2.30 2.33 2.29 2.26 2.23 2.21 2.23 2.20 2.17 2.14 2.11 2.13 2.10 2.06 2.03 2.01 40 60 120 2.80 2.63 2.47 2.32 2.66 2.50 2.34 2.18 2.52 2.35 2.19 2.04 2.37 2.20 2.03 1.88 2.29 2.12 1.95 1.79 2.20 2.03 1.86 1.70 2.11 1.94 1.76 1.59 2.02 1.84 1.66 1.47 1.92 1.73 1.53 1.32 1.80 1.60 1.38 1.00 00 243 A.4 The F distribution Table A.6: Area of the F distribution (0: a 161.45 199.50 215.71 18.51 19.00 19.16 10.13 9.55 9.28 7.71 6.94 6.59 6.61 5.79 5.41 b 224.58 230.16 19.25 19.30 9.12 9.01 6.26 6.39 5.19 5.05 = 0.05) for b in the range to 9 233.99 236.77 238.88 240.54 19.33 19.35 19.37 19.38 8.85 8.81 8.94 8.89 6.04 6.00 6.16 6.09 4.82 4.77 4.95 4.88 10 5.99 5.59 5.32 5.12 4.96 5.14 4.74 4.46 4.26 4.10 4.76 4.35 4.07 3.86 3.71 4.53 4.12 3.84 3.63 3.48 4.39 3.97 3.69 3.48 3.33 4.28 3.87 3.58 3.37 3.22 4.21 3.79 3.50 3.29 3.14 4.15 3.73 3.44 3.23 3.07 4.10 3.68 3.39 3.18 3.02 11 12 13 14 15 4.84 4.75 4.67 4.60 4.54 3.98 3.89 3.81 3.74 3.68 3.59 3.49 3.41 3.34 3.29 3.36 3.26 3.18 3.11 3.06 3.20 3.11 3.03 2.96 2.90 3.09 3.00 2.92 2.85 2.79 3.01 2.91 2.83 2.76 2.71 2.95 2.85 2.77 2.70 2.64 2.90 2.80 2.71 2.65 2.59 16 17 18 19 20 4.49 4.45 4.41 4.38 4.35 3.63 3.59 3.55 3.52 3.49 3.24 3.20 3.16 3.13 3.10 3.01 2.96 2.93 2.90 2.87 2.85 2.81 2.77 2.74 2.71 2.74 2.70 2.66 2.63 2.60 2.66 2.61 2.58 2.54 2.51 2.59 2.55 2.51 2.48 2.45 2.54 2.49 2.46 2.42 2.39 21 22 23 24 25 4.32 4.30 4.28 4.26 4.24 3.47 3.44 3.42 3.40 3.39 3.07 3.05 3.03 3.01 2.99 2.84 2.82 2.80 2.78 2.76 2.68 2.66 2.64 2.62 2.60 2.57 2.55 2.53 2.51 2.49 2.49 2.46 2.44 2.42 2.40 2.42 2.40 2.37 2.36 2.34 2.37 2.34 2.32 2.30 2.28 26 27 28 29 30 4.23 4.21 4.20 4.18 4.17 3.37 3.35 3.34 3.33 3.32 2.98 2.96 2.95 2.93 2.92 2.74 2.73 2.71 2.70 2.69 2.59 2.57 2.56 2.55 2.53 2.47 2.46 2.45 2.43 2.42 2.39 2.37 2.36 2.35 2.33 2.32 2.31 2.29 2.28 2.27 2.27 2.25 2.24 2.22 2.21 40 60 120 4.08 4.00 3.92 3.84 3.23 3.15 3.07 3.00 2.84 2.76 2.68 2.60 2.61 2.53 2.45 2.37 2.45 2.37 2.29 2.21 2.34 2.25 2.18 2.10 2.25 2.17 2.09 2.01 2.18 2.10 2.02 1.94 2.12 2.04 1.96 1.88 00 244 A Probability distributions Table A.7: Area of the F distribution (0: = 0.05) for b in the range 10 to 00 b a 10 12 241.88 19.40 8.79 5.96 4.74 243.91 19.41 8.74 5.91 4.68 10 4.06 3.64 3.35 3.14 2.98 4.00 3.57 3.28 3.07 2.91 3.94 3.51 3.22 3.01 2.84 3.87 3.44 3.15 2.94 2.77 3.84 3.41 3.12 2.90 2.74 3.81 3.38 3.08 2.86 2.70 3.77 3.34 3.04 2.83 2.66 3.74 3.30 3.01 2.79 2.62 3.70 3.27 2.97 2.75 2.58 3.67 3.23 2.93 2.71 2.54 11 12 13 14 15 2.85 2.75 2.67 2.60 2.54 2.79 2.69 2.60 2.53 2.48 2.72 2.62 2.53 2.46 2.40 2.65 2.54 2.46 2.39 2.33 2.61 2.51 2.42 2.35 2.29 2.57 2.47 2.38 2.31 2.25 2.53 2.43 2.34 2.27 2.20 2.49 2.38 2.30 2.22 2.16 2.45 2.34 2.25 2.18 2.11 2.40 2.30 2.21 2.13 2.07 16 17 18 19 20 2.49 2.45 2.41 2.38 2.35 2.42 2.38 2.34 2.31 2.28 2.35 2.31 2.27 2.23 2.20 2.28 2.23 2.19 2.16 2.12 2.24 2.19 2.15 2.11 2.08 2.19 2.15 2.11 2.07 2.04 2.15 2.10 2.06 2.03 1.99 2.11 2.06 2.02 1.98 1.95 2.06 2.01 1.97 1.93 1.90 2.01 1.96 1.92 1.88 1.84 21 22 23 24 25 2.32 2.30 2.27 2.25 2.24 2.25 2.23 2.20 2.18 2.16 2.18 2.15 2.13 2.11 2.09 2.10 2.07 2.05 2.03 2.01 2.05 2.03 2.01 1.98 1.96 2.01 1.98 1.96 1.94 1.92 1.96 1.94 1.91 1.89 1.87 1.92 1.89 1.86 1.84 1.82 1.87 1.84 1.81 1.79 1.77 1.81 1.78 1.76 1.73 1.71 26 27 28 29 30 2.22 2.20 2.19 2.18 2.16 2.15 2.13 2.12 2.10 2.09 2.07 2.06 2.04 2.03 2.01 1.99 1.97 1.96 1.94 1.93 1.95 1.93 1.91 1.90 1.89 1.90 1.88 1.87 1.85 1.84 1.85 1.84 1.82 1.81 1.79 1.80 1.79 1.77 1.75 1.74 1.75 1.73 1.71 1.70 1.68 1.69 1.67 1.65 1.64 1.62 40 60 120 2.08 1.99 1.91 1.83 2.00 1.92 1.83 1.75 1.92 1.84 1.75 1.67 1.84 1.75 1.66 1.57 1.79 1.70 1.61 1.52 1.74 1.65 1.55 1.46 1.69 1.59 1.50 1.39 1.64 1.53 1.43 1.32 1.58 1.47 1.35 1.22 1.51 1.39 1.25 1.00 00 15 20 245.95 248.01 19.43 19.45 8.70 8.66 5.86 5.80 4.62 4.56 24 249.05 19.45 8.64 5.77 4.53 30 40 250.10 251.10 19.47 19.46 8.59 8.62 5.72 5.75 4.46 4.50 60 120 00 252.20 253.30 254.30 19.48 19.49 19.50 8.55 8.57 8.53 5.69 5.66 5.63 4.40 4.43 4.36 245 A.5 The K olmogorov-Smirnov distribution A.5 The Kolmogorov-Smirnov distribution For a given level of a significance a and sample size n, the below table gives the critical values of the Kolmogorov-Smirnov d n statistic Table A.8: Critical values of the Kolmogorov-Smirnov statistic n = 0.20 = 0.10 = 0.05 = 0.01 n a O 9000 0.6838 0.5648 0.4927 0.4470 0.9500 0.7764 0.6360 0.5652 0.5095 0.9750 0.8419 0.7076 0.6239 0.5633 0.9950 0.9293 0.8290 0.7342 0.6685 10 0.4104 0.3815 0.3583 0.3391 0.3226 0.4680 0.4361 0.4096 0.3875 0.3687 0.5193 0.4834 0.4543 0.4300 0.4093 0.6166 0.5758 0.5418 0.5133 0.4889 11 12 13 14 15 0.3083 0.2958 0.2847 0.2748 0.2659 0.3524 0.3382 0.3255 0.3142 0.3040 0.3912 0.3754 0.3614 0.3489 0.3376 0.4677 0.4491 0.4325 0.4176 0.4042 16 17 18 19 20 0.2578 0.2504 0.2436 0.2374 0.2316 0.2947 0.2863 0.2785 0.2714 0.2647 0.3273 0.3180 0.3094 0.3014 0.2941 0.3920 0.3809 0.3706 0.3612 0.3524 25 30 35 0.2079 0.1903 0.1766 0.2377 0.2176 0.2019 0.2640 0.2417 0.2243 0.3166 0.2899 0.2690 1.07/fo 1.22/fo 1.36/fo 1.63/fo > 35 a a a Bibliography [1] Adams, N.R and Dogramaci, A (eds.): Current Issues in Computer Simulation, New York, John Wiley, 1979 [2] Bailes, P.: A Low-Cost Implementation of Coroutines for C, Software Practice and Experience, 15, pp 379-395, 1985 [3] Banks, J and Carson, J.S.: Discrete Event System Simulation, Englewood Hills, Prentice-Hall, 1984 [4] Blackstone, J.H., Hogg, G.L and Philips, D.T.: A Two-List Synchronization Procedure for Discrete Event Simulation, Comm ACM, 24, pp 825-829, 1981 [5] Bobillier, P.A., Kahan, B.C., and Probst, A.R.: Simulation with GPSS and GPSS V, Englewood Cliffs, Prentice Hall, 1976 [6] Bratley, P., Fox, B.C and Schrage, L.E.: A Guide to Simulation, New York/Heidelberg, Springer-Verlag, 1983 [7] Budd, T.A.: Classic Data Structures in C++, Reading, Addison-Wesley, 1994 [8] Bulgren, W.G.: Discrete Event Simulation, Englewood Cliffs, PrenticeHall, 1980 [9] Buxton, J.N.: Writing Simulations in CSL, Computer J., 9, pp 137-143, 1966 [10] Cassandras, C.G.: Discrete Event Systems: Modeling and Performance Analysis, Boston, R.D Irwin and Aksen Associates, 1993 248 Bibliography [11] Clark, RN.: A pseudorandom number generator, Simulation, 45, No.5, pp 252-255, 1985 [12] Clementson, A.T.: ECSL User's Manual, Department of Engineering Production, University of Birmingham, Birmingham, 1973 [13] Cooper, RB.: Introduction to Queueing Theory, MacMillan, New York, 1972 [14] Crane, A and Lemoine, L.: An Introduction to the Regenerative Method for Simulation Analysis, Berlin/New York, Springer-Verlag, 1977 [15] Dahl, O.J and Nygaard, K.: SIMULA - An ALGOL-Based Simulation Language, Comm ACM, 9, pp 671-678, 1966 [16] Davey, D and Vaucher, J.G.: Self-Optimizing Partitioned Sequencing Sets for Discrete Event Simulation, INFOR, 18, pp 41-61, 1980 [17] Engelbrecht-Wiggans, R and Maxwell, W L.: Analysis of the Time Indexed List Procedure for Synchronization of Discrete Event Simulation, Management Science, 24, pp 1417-1427, 1978 [18] Evans, J.B.: Structures of Discrete Event Simulation: An Introduction to Engagement Strategy, New York, Halsted Press, 1988 [19] Feller, W.: Introduction to Probability Theory and Its Applications, vol 1, New York, John Wiley, 1968 [20] Fishman, G.S.: Principles of Discrete Event Simulation, New York, John Wiley, 1978 [21] Fishman, G.S.: Variance Reduction for Population Growth Simulation Models, Oper Res., 27, pp 997-1010, 1979 [22] Fishwick, P.A.: Simulation Model design and Execution: Building Digital Worlds, Englewood Cliffs, Prentice Hall, 1995 [23] Franta, W.R and Maly, K.: A Comparison of Heaps and the TL Structure for the Simulation Event Set, Comm ACM, 21, pp 873-875, 1978 [24] Franta, W.R and Maly, K.: An Efficient Data Structure for the Simulation Event Set, Comm ACM, 20, pp 596-602, 1977 [25] Franta, W.R and Maly, K.: An Event Scanning Algorithm of Nearly Constant Complexity, 8th AICA Congress on Simulation of Systems, pp 439-444, 1976 Bibliography 249 [26] Franta, W.R.: The Process View of Simulation, New York, Elsevier North Holland, 1977 [27] Fujimoto, R.: Parallel Discrete Event Simulation, Comm ACM, 33, pp 31-53, 1990 [28] Gebhard, F.: Generating Pseudo-random Numbers by Shuffling a Fibonacci Sequence, Math Comput., 21, pp 708-709,1967 [29] Gonnet, G.H.: Heaps Applied to Event Driven Mechanisms, Comm ACM, 19, pp 417-418, 1976 [30] Gordon, G.: System Simulation, Englewood Cliffs, Prentice-Hall, 1978 [31] Gordon, W.L and Newell, G.F.: Closed Queueing Systems with Exponential Servers, Oper Res., 15, No.2, pp 254-265, 1967 [32] Graybeal, W.R and Pooch, U.W.: Simulation: Principles and Methods, Cambridge, Winthrop, 1980 [33] Heidelberger, P and Welch, P.D.: A Spectral Method for Confidence Interval Generation and Run Length Control in Simulations, Comm ACM, 24, pp 233-245, 1981 [34] Heidelberger, P and Welch, P.D.: Simulation Run Length Control in the Presence of an Initial Transient, Oper Res., 31, pp 1109-1144, 1983 [35] Henriksen, J.O.: An Improved Event List Algorithm, Winter Simulation Conference, pp 547-557, 1977 [36] Henriksen, J.O.: Event List Management - a Thtorial, Winter Simulation Conference, pp 543-551, 1983 [37] Hills, P.R.: A Computer Simulation Language in Algol, Hollingdal Digital Simulation in Operational Research, New York, American Elsevier, 1967 [38] Hines, W.W and Montgomery, D.C.: Probability and Statistics in Engineerning and Management Science, John Wiley & Sons, New York 1990, 3rd ed [39] Inglehart, D.L.: The Regenerative Method for Simulation Analysis, In Current Trends in Programming Methodology - Software Modelling, K.M Chandy and R.T Yen (eds.), Englewood Cliffs, Prentice-Hall, pp 52-71, 1978 [40] Jackson, J.R.: Job Shop-Like Queueing Systems, Management Sciences, 10, No.1, pp 131-142, 1963 250 Bibliography [41] Javor, A (ed.): Discrete Simulation and Related Fields, New York, Elsevier North Holland, 1982 [42] Kingston, J.H.: Analysis of Tree Algorithms for the Simulation Event List, Acta Informatica, 22, pp 15-33, 1985 [43] Kiviat, P.J., Villanueva, T and Markowitz, H.: The SIMSCRIPT II Programming Language, Englewood Cliffs, Prentice-Hall, 1969 [44] Kleijnen, J.P.C.: Statistical Techniques in Simulation (2 volumes), New York, Marcel Dekker, 1974-1975 [45] Kleinrock, L.: Queueing Systems - Theory, New York, John Wiley, 1975 [46] Kleinrock, L.: Queueing Systems - Computer Applications, New York, John Wiley, 1976 [47] Khoshnevis, B.: Discrete Systems Simulation, New York, McGraw-Hill, 1994 [48] Knuth, D.C and McNeley, J.L: SOL - A Symbolic Language for General Purpose System Simulation, IEEE Transactions on Electronic Computers, 13, pp 401-414, 1964 [49] Knuth, D.E.: The Art of Computer Programming, vol.2: Seminumerical Algorithms, Reading, Addison-Wesley, 1969 [50] Kobayashi, H.: Modeling and Analysis: An Introduction to System Performance Evaluation Methodology, Reading, Addison-Wesley, 1978 [51] Kreutzer, W.: System Simulation: Programming Styles and Languages, Reading, Addison-Wesley, 1986 [52] Lavenberg, S.S., Moeller, T.L and Welch, P.D.: Statistical Results on Control Variables with Application to Queueing Network Simulation, Oper Res., 30, pp 182-202, 1982 [53] Lavenberg, S.S and Sauer, C.H.: Sequential Stopping Rules for the Regenerative Method of Simulation, IBM J Res Develop., 21, pp 545-558, 1977 [54] Lavenberg, S.S and Slutz, D.: Introduction to Regenerative Simulation, IBM J Res Develop., 19, pp 458-462, 1975 [55] Law, A.M and Carson, J.S.: A Sequential Procedure for Determining the Length of Steady-State Simulation, Oper Res., 27, pp 1011-1025, 1979 Bibliography 251 [56] Law, A.M and Kelton, W.D.: Simulation Modeling and Analysis, New York, McGraw-Hill, 1991 [57] Lehmer, D.H.: Mathematical Methods in Large Scale Computing Units, Ann Compo Lab Harvard University, 26, pp 141-146, 1951 [58] Lewis, T.G and Smith, B.J.: Computer Principles of Modeling and Simulation, Boston, Houghton and Mifflin, 1979 [59] Little, J.D.C.: A Proof of the Queueing Formula L = AW, Oper Res., 9, No.3, pp 383-387, 1961 [60] Martin, F.F.: Computer Modeling and Simulation, New York, John Wiley, 1968 [61] McCormak, W and Sargent R.: Analysis of Future Event Set Algorithms for Discrete Event Simulation, Comm ACM, 24, pp 801-812, 1981 [62] Mihram, A.G.: Simulation: Statistical Foundations and Methodology, New York, Academic Press, 1972 [63] Misra, J.: Distributed Discrete-Event Simulation, Computing Surveys, 18, No.1, pp 39-65, March 1986 [64] Mitrani, 1.: Simulation Techniques for Discrete Event Systems, Cambridge, Cambridge University Press, 1982 [65] Najjar, W., Jezouin, J.-L and Gaudiot, J.-L.: Parallel Discrete-Event Simulation, IEEE Design and Test of Computers, pp 41-44, December 1987 [66] von Neumann, J.: Various Techniques Used in Connection with Random Digits, Nat Bur Stand Appl Math., 12, pp 36-38, 1951 [67] PAWS - Performance Analyst's Workbench System: Introduction and Technical Summary, Information Research Associates, Austin, Texas, 1981 [68] Payne, J.A.: Introduction to Simulation, New York, McGraw-Hill, 1982 [69] Pidd, M (ed.): Computer Modeling for Discrete Simulation, New York, John Wiley, 1989 [70] Pooch, U.W and Wall, J.A.: Discrete Event Simulation: A Practical Approach, Boca Raton, CRC Press, 1993 [71] Potier, D.: QNAP2 User's Manual, Rocquencourt, 1984 252 Bibliography [72] Pritsker, A.A.B.: Introduction to Simulation and SLAM II, New York, A Halsted Press Books, John Wiley & Sons, 1986 [73] Pritsker, A.A.B and Kiviat, P.J.: Simulation with GASP II, Englewood Cliffs, Prentice Hall, 1969 [74] Reeves, C.M.: Complexity Analysis of Event Set Algorithms, Computer J., 27, pp 72-79, 1984 [75] Righter, R and Walrand, J.C.: Distributed Simulation of Discrete Event Systems, Proc of the IEEE, 77, No.1, pp 99-113, 1989 [76] Sauer, Ch and MacNair, E.: Queueing Network Software for Systems Modeling, Software - Practice and Experience, 9, pp 369-380, 1979 [77] Sauer, Ch and MacNair, E.: Extended Queueing Network Models, In Computer Performance Modeling Handbook, S.Lavenberg (ed.), New York, Academic Press, pp 367-393, 1983 [78] Sauer, Ch and Chandy, M.K.: Computer Systems Performance Modeling, Englewood Cliffs, Prentice-Hall, 1981 [79] Shannon, R.E.: Systems Simulation - the Art and Science, Englewood Cliffs, Prentice-Hall, 1975 [80] Shedler, G.S.: Generation Methods for Discrete Event Simulation, In Computer Performance Modeling Handbook, S Lavenberg (ed.), New York, Academic Press, pp.223-266, 1983 [81] Sleator, D.D and Tarjan, RE.: Self-Adjusting Search Trees, J of the ACM, 32, pp 652-686, 1985 [82] Stasko, J.T and Scott Vitter, J.: Pairing Heaps: Experiments and Analysis, Comm ACM, 30, pp 234-249, 1987 [83] Stroustrup, B.: Wesley, 1994 The C++ Programming Language, Reading, Addison- [84] Tausworthe, RC.: Random Numbers Generated by Linear Recurrence Modulo Two, Mathematics of Computing, 19, pp 201-209, 1965 [85] Toches, K.D and Owen, D.C.: The Automatic Programming of Simulation, Proc of the II International Conference on Operations Research, pp 50-68, 1969 [86] Trivedi, K.S.: Probability and Statistics with Reliability, Queuing, and Computer Science Applications, Englewood Cliffs, Prentice Hall, 1982 Bibliography 253 [87J Ulrich, E.D., Agrawal, V.D and Arabian J.K.: Concurrent and Comparative Discrete Event Simulation, Boston, Kluwer Academic Publishers, 1994 [88J Ulrich, E.D.: Event Manipulation for Discrete Simulations Requiring Large Number of Events, Comm ACM, 21, pp 777-785, 1978 [89J Vaucher, J.G.: A Wait Until Algorithm for General Purpose Simulation Languages, Winter Simulation Conference, pp 77-83, 1973 [90J Vaucher, J.G and Duval, P.: A Comparison of Simulation Event List Algorithms, Comm ACM, 18, pp 223-230, 1975 [91J Vaucher, J.G.: On the Distribution of Event Times for the Notices in a Simulation Event List, INFOR, 15, pp 171-182, 1977 [92J Walker, A.J.: An Efficient Method for Generating Discrete Random Variables with General Distributions, ACM Trans Math Software, 3, pp 253-256, 1977 [93J Watkins, K.: Discrete Event Simulation in C, New York, McGraw-Hill, 1994 [94J Watson H.: Computer Simulation in Business, New York, John Wiley, 1981 [95J Watson, H and Blackstone, J.: Computer Simulation, New York, John Wiley, 1989 [96J Welch, P.D.: The Statistical Analysis of Simulation Results, in Computer Performance Modeling Handbook, S.Lavenberg (ed.), New York, Academic Press, pp 267-329, 1983 [97J Wilson, J.: Variance Reduction Techniques for Digital Simulation, American Journal of Mathematical and Management Sciences, 4, pp 227-312, 1984 [98J Wyman, F.P.: Improved Event Scanning Mechanisms for Discrete Event Simulation, Comm ACM, 18, pp 350-353, 1975 [99J Zeigler, B.P.: Theory of Modelling and Simulation, New York, John Wiley, 1976 [100J Zeigler, B.P.: Multifacetted Modelling and Discrete Event Simulation, London/Orlando, Academic Press, 1984 Index ABC method, 24 algorithm, 25 absurd conditions, 116 accuracy, 155 activity, activity scanning, 9, 26, 174 algorithm, 10 order of scanning, 27 reliability, 26 time flow, 10 admission policy, 117 alias method, 103, 108 analysis of variance, 129 anti-message, 84 antithetic variables, 166 arrival rate, 117 attribute, autocorrelation, 93, 102 auto covariance function, 102 balance condition, 53 batch means method, 156 batch size, 158 benchmark tests, 60 binary search tree, 53 binary tree, 39 birth-death process, 119 bootstrapping, 19, 72 C++, 49, 68, 89, 90, 161 calendar, 18 cancellation aggressive, 84 lazy, 84 causality error, 79 central limit theorem, 109, 148 channel clock, 79 chaotic generator, 92 chi-square test, 96 class event, 30, 68 eventJist, 30, 32 histogram, 173 job, 174, 179 key, 43 link, 32, 53 process, 69 state_event, 175 station, 180 time_event, 175 waitingJine, 70 clock, 3, closed network, 126 concomitant variables, 165 conditional event, see state event confidence interval, 145-147, 152-155, 159-161, 163, 164, 168, 169 congruential generator, 88 additive, 92 mixed,88 multiplicative, 88 Index 256 conservative approach, 79 control variable, 164 convolution, 107 coroutine, 68 phase, 69 correlation function, 156, 157 coupon's collector test, 101 covariance function, 157 CSL, 210 performance evaluation, 60 event notice, 18, 31 event routine, 18, 30 event scheduling, 18, 26, 182, 193 algorithm, 19 experimental design completely randomized, 128 fractional factorial, 134 randomized block, 130 deadlock, 26, 81 degeneracy, 116 degrees of freedom, 129, 131, 136, 146, 147, 153, 154 difference equations, 120 distribution Bernoulli, 105 beta, 112 bimodal, 59 binomial, 108 chi-square, 96, 129, 133 Coaxian, 108 Erlang, 107, 118 exponential, 105, 113, 118 F, 129, 131, 133 geometric, 109 hyperexponential, 106, 118 normal, 109, 111 tail, 111 number of runs, 99 Pascal, 109 Poisson, 106, 112 steady-state, 144 Student's t, 136, 146, 147, 153, 154, 159 uniform, 90 documentation, 211 doubly linked list, 31 dummy event, 35 face validity, 116 factorial design, 132 Fibonacci generator, 92 function activate, 70 get_event, 34 reactivate, 198 remove 1irst, 46, 50, 57 return_event, 34 rotateJeft, 54 rotate right, 54 scheo.ule, 33, 38, 39, 45, 49, 57 time, 70 wait, 66 wait_till, 66 empirical data, 107 empiricist's technique, 116 Erlang B formula, 125 error detection, 84 event, event list, 6, 18 gap test, 101 garbage collection, 60 GASP II, 210 GPSS, 209, 210 GSP, 210 heap, 48 explicit, 52 implicit, 51 Henriksen's list, 39 histogram, 107, 140, 173 class interval, 140 cumulative frequency, 140, 142 frequency, 140 number of intervals, 141 relative cumulative frequency, 142 relative frequency, 140 time series, 140, 142 unweighted, 140 weighted, 141 257 Index hold model, 58 independent replications method, 152 indexed list, 35 inheritance, 73 initial conditions, 144 internal variability, 116 inverse function, 105 jackknifing, 147, 153 jobs categorizing, 117 Kolmogorov-Smirnov test, 97 least squares line, 135 level of significance, 95 LFSR,92 type II, 93 linear regression, 135 Little's formula, 119 local virtual time, 79 lookahead, 80 M/G/1 system, 127 M/M/oo system, 123 M/M/m system, 122 M/M/mim system, 124 M/M/1 system, 121 M/M/11 K system, 124 M/M/11 I N system, 125 majorizing function, 110 Markov chains, 119 maximum period, 89 maximum-length sequence, 93 mean squares, 129 due to blocks, 131 due to error, 129, 131 due to treatments, 129, 131 memory allocation, 34 message passing, 66 model, building, 208 coding, 209 complexity, 209 ModSim,209 monitor, 18, 24, 33, 67 moving average, 150 multiple processors, 78 naming convention for queues, 118 negative correlation, 166 null hypothesis, 129, 130, 136 null message, 82 open network, 126 operating policy, 117 optimistic mechanism, 84 parallelizing compiler, 78 performance measure, phase A, 24 phase B, 24 phase C, 24 phases of simulation study, 208 pilot experiment, 155 Poisson process, 126 poker test, 98 Pollaczek-Khinchin formula, 127 preemptive scheduling, 172 primitive polynomial, 92 priority queue, 31 probability of blocking, 124 process, 4, 66 process interaction, 66, 185 proportion, 154 pure birth process, 121 queue, 6, 117 FIFO,21 length, 8, 119 queuing explicit, 67 implicit, 67 queuing disciplines, 117 queuing probability, queuing system, 117, 178 cyclic, 20 random numbers, 88 uniform, 88 ratio of expectations, 156 rationalist's technique, 116 258 reactivation point, 66 regeneration cycle, 158 regeneration point, 158, 159 regenerative method, 158 regression analysis, 134 regression function, 134 rejection method, 109 rejection region, 136 response time, 118 roll back, 84 run test, 99 scatter diagram, 136 scheduling distribution, 53, 61 scheduling policies, 117 seed, 88 sensitivity, 116 sequential approach, 155 serial correlation, 89 service demand, 117 shared memory, 78 shuffling, 91 Simon, 210 Simscript, 209, 210 Simula 67, 58, 68, 209, 210 simulation, xi, agenda, see event list asynchronous, benefits, xi distributed, 78 synchronous, simulation languages, 209, 210 simulation packages, 209 sink process, 79 SLAM II, 210 SOL, 210 source process, 79 splay tree, 53 splaying, 56 stack, 34 state event, 3, 11, 21 priorities, 27 state transition diagram, 120 state variable, statement of the problem, 208 Stirling number, 101 Index stopping rules, 155, 158, 163 straggler message, 84 sum of squares, 129 due to blocks, 131 due to error, 129, 131 due to treatments, 129, 130 total, 129, 130 system, state, system time, template, 71 termination conditions, 20 test statistic, 95 throughput, 119 time complexity, 34 time event, 3, 11, 18, 173 time indicator absolute, 10 relative, 10, 14 time wrap mechanism, 84 traffic intensity, 118 transformational rule, transient phase, 144 duration, 148 transportation system, 22 treatment, 128 two-level indexed list, 42 utilization, 9, 119 validation, 116 variance reduction, 164 verification, 116 waiting time, 8, 118 ... SUPERVISORY CONTROL OF DISCRETE EVENT SYSTEMS USING PETRI NETS John O Moody and Panos J Antsaklis ISBN: 0-7923-8199-8 Object- Oriented Computer Simulation of Discrete- Event Systems Jerzy Tyszer... gathering simulation results In general, simulation of discrete- event systems requires the maintenance of two objects: • an internal clock to keep track of the passage of time, • an event list... Tyszer, Object- Oriented Computer Simulation of Discrete- Event Systems © Kluwer Academic Publishers 1999 18 Event scheduling 2.1 Main paradigm The event- scheduling approach turns attention to time events

Ngày đăng: 02/03/2020, 13:49

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan