Vous êtes sur la page 1sur 10

/

Computer Simulation in
Management Science
Fifth Edition

Michael Pidd
Department of Management Science
The Management School
Lancaster University

"DM H O C Q U O C GIA HA NOI


TPi IM(^ TAM THONG TIN THU VigN

A -DoI

M^

John Wiley 8k Sons, Ltd

Contents

Preface to the Fifth Edition

XV

PART I: FUNDAMENTALS OF COMPUTER SIMULATION IN


MANAGEMENT SCIENCE
1

The computer simulation approach


11
l'.2

Models, experiments and computers


Some applications of computer simulation
1.2.1 Manufacturing
1.2.2 Healthcare
1.2.3 Business process re-engineenng
1.2.4 Transport systems
1 2 5 Defence
1 3 Models in management science
1.4 Simulation as experimentation
1.5 T'S V ' " t ^ t ion versus direct experimentation
;:5:2 Simulation versus mathematical modelhng
1.6 Summary
Exercises
References

3
^
^
5
5
^
7
7
8
9
10/
^^
10
11
11
15

2
If^
^"^

^
'='

A variety
2 1
22

''

of modelling approaches

General considerations
Time handling
2 2 1 Time slicing
2 T 2 Next-event technique
2 2 1 Time slicing or next event?
f / r t t T r S S l t i o n : a time-slicing example
2 J . 2 Stochastic simulation

15
15
15

17
18
18
19
1^

CONTENTS

2.4

Discrete or continuous change


2.4.1 Discrete change
2.4.2 Continuous change
2.4.3 A few words on simulation software
Exercises
References

25
26
26
27
27
28

Computer simulation in practice

29

3.1

Process, content, problem and project


3.1.1 Process and content
3.1.2 Problems and projects
3.1.3 Two parallel streams
3.2 The simulation problem part of the study
3.3 Problem structuring
3.3.1 Problem structuring as exploration
3.4 Modelling
3.4.1 Conceptual model building
3.4.2 Computer implementation
3.4.3 Validation
3.4.4 Experimentation
3.4.5 Implementation
3.5 The project part of the study
3.5.1 Initial negotiation and project definition
3.5.2 Project management and control
3.5.3 Project completion
Exercises
References

29
29
30
30
32
32
33
35
35
36
37
38
39
40
41
42
43
43
44

Static Monte Carlo simulation

45

4.1

Basic ideas
4.1.1 Risk and uncertainty
4.1.2 The replacement problem: a reprise
4.1.3 Static Monte Carlo simulation defined
4.2 Some important considerations
4.2.1 Subjective probabilities
4.2.2 Repeatability
4.3 Some simple static simulations
4.3.1 The loan repayment
4.3.2 An investment decision
4.4 Simulation on spreadsheets
Exercises
References

45
45
46
47
49
49
50
51
51
^^
59

CONTENTS

PART II:
5

vii

DISCRETE EVENT SIMULATION

61

Discrete e v e n t m o d e l l i n g

63

5.1
5.2

Fundamentals
Terminology
5.2.1 Objects of the system
5.2.2 The organization of entities
5.2.3 Operations of the entities
5.3 Activity cycle diagrams
5.3.1 Example 1: a simple job shop
5.3.2 Example 2: the harassed booking clerk
5.3.3 Example 3: the delivery depot
5.3.4 Using the activity cycle diagram
5.4 Activity cycle diagrams: a caveat
Exercises
References

63
63
64
65
65
66
68
71
74
77
78
79
81

How discrete simulation software works

83

6.1

83

Introduction
6.1.1 Why understand how simulation software is
organized.^
6.1.2 Simulation executives in more detail
6.1.3 Application logic
6.2 The three-phase approach
6.2.1 Bs
6.2.2 Cs
6.2.3 The exception to the general rule
6.2.4 Bs and Cs in the harassed booking clerk problem
6.2.5 Another example: a T-junction
6.3 How the three-phase approach works
6.3.1 The A phase
6.3.2 The B phase
6.3.3 The C phase
6.4 The harassed booking clerka manual three-phase
simulation
6.4.1 The first A phase
6.4.2 The first B phase
6.4.3 The first C phase
6.4.4 The second A phase
6.4.5 The next B and C phases
6.4.6 The third A phase
6.4.7 The third B phase
6 5 The event-based world view
6.5.1 Events in the harassed booking clerk problem
6.5.2 Event-based executives

^^
84
^^
^^
85
86
^^
S8
89
90
92
^^
^^
93
^^
^^
^^
^^
^^
^^
^^
^^
^
99

CONTENTS

6.6

The activity-scanning approach


6.6.1 Activities
6.6.2 Activity-scanning executives
6.7 Process-based approaches
6.7.1 Processes in the harassed booking clerk problem
6.7.2 Process interaction
6.7.3 Process-based executives
6.8 Which approach is best.?
6.8.1 Three-phase versus process-based approaches
Exercises
References

100
100
101
101
102
103
104
105
105
106
108

Writing a three-phase simulation program

109

7.1

Introduction
109
7.1.1 The basic structure of the library
110
7.2 Inside the executive
111
7.2.1 The control array
112
7.2.2 Using the control array to operate a three-phase
112
simulation
113
7.3 The Visual Basic implementation
113
7.3.1 Some comments on Visual Basic
114
7.3.2 The variables and their types
116
7.3.3 The A phase
118
7.3.4 The B phase
119
7.3.5 The C phase
119
7.3.6 Running the simulation
7.4 Using VBSim to simulate the harassed booking clerk problem 120
120
7.4.1 Entities, Bs and Cs
121
7.4.2 Personal enquirers and phone calls arrive
123
7.4.3 The end of personal service and phone calls
124
7.4.4 Observations
124
7.4.5 TheCs
125
7.4.6 Initialization and finalization
126
7.5 Putting it all together
127
Exercises
128
References

Visual interactive modelling and simulation


8.1

Basic ideas
8.1.1 Visual interactive modelling (VIM)
8.1.2 Visual simulation output
8.1.3 Interaction
8 1.4 A caveat
8 2 Designing a visual simulation display
8.2.1 Iconic displays

129
129
129
130
131
132
132
133

CONTENTS

8.3

8.2.2
8.2.3
VIMS
8.3.1
8.3.2
8.3.3

Logical displays
Chart displays

ix

134
135
136
136
138

Joe's exhaust parlour


Joe's exhaust parlour in Micro Saint: model building
Joe's exhaust parlour in Micro Saint: running and
analysing the simulation
8.3.4 Joe's exhaust parlour in SIMUL8: model building
8.3.5 Joe's exhaust parlour in SIMUL8: running and
analysing the simulation
8.4 Visual interactive simulation: a reprise
Exercises
References

145
146
146
146

Discrete simulation software

149

9.1
9.2
9.3

9.4

9.5

9.6

9.7

General principals
A quick overview of discrete simulation software
VIMS and their relatives
9.3.1 VIMSa reprise
9.3.2 Block diagram systems
9.3.3 VIMS and block diagram systems
Programming using a general purpose language
9.4.1 Pros and cons
9.4.2 Libraries and component-based software
Programming approaches using simulation languages
9.5.1 Common features of simulation languages
9.5.2 An example: SIMSCRIPTIL5
Layered systems and application templates
9.6.1 Layered systems
9.6.2 Application templates
Appraising simulation software: some principles
9.7.1 The type of application
9.7.2 The expectations for end use
9.7.3 Knowledge, computing policy and user support

9.7.4
9.8 Which
9.8.1
9.8.2
References

Price
to choose.? Horses for courses
VIMS
Simulation languages

10 Sampling methods
10.1 Basic ideas
10.1.1 General principles of random samplmg
10.1.2 Top-hat sampling

140
143

149
150
151
151
152
157
158
158
159
161
162
163
168
^68
169
169
169
170
170
171
172
172
172
^^^

175
175
175
^^^

CONTENTS

10.1.3 The fundamental random sampling process


10.1.4 Use of pre-written libraries of algorithms
10.2 Random number generation
10.2.1 Truly random numbers
10.2.2 Pseudo-random numbers
10.2.3 Congruential generators
10.2.4 General requirements for these generators
10.2.5 Multiplicative congruential generators
10.2.6 Improving on simple congruential generators
10.2.7 Using inbuilt random number generators
10.3 Testing random number generators
10.3.1 Scatter plots
10.3.2 Auxiliary sequences
10.3.3 Frequency tests
10.3.4 Serial test
10.3.5 Gap test
10.3.6 Other tests
10.4 General methods for random sampling from continuous
distributions
10.4.1 Inversion
10.4.2 Rejection
10.4.3 Composition
10.5 Random sampling algorithms for discrete distributions
10.5.1 Sampling from histograms
10.5.2 Implicit inverse transformation
10.5.3 Discrete rejectionsamples from a Poisson
distribution
10.6 Sampling from the normal distribution
10.6.1 The original Box-Muller method
10.6.2 Box-Miiller polar variation
10.6.3 Sampling from a normal distribution by composition
10.6.4 A poor way to sample from the normal distribution
10.7 Deriving one distribution from anotherlog-normal variates
10.8 Sampling from non-stationary processes: thinning
Exercises
References
11 Planning and analysing discrete simulation output
11.1 Fundamental ideas
11.1.1 Simulation as directed experimentation
11.1.2 Estimation and comparison
11.1.3 Three important principles
11.1.4 Some preliminary advice
11.2 Dealing with transient effects
11.2.1 Terminating and non-terminating systems
11.2.2 Achieving steady state
11.2.3 Using a run-in period

lyg
179
I79
I79
18Q
181
182
182
184
185
185
186
187
187
188
188
188
189
189
192
193
193
193
194
196
197
198
199
200
201
201
202
203
204
207
207
207
208
209
210
210
210
212
213

CONTENTS

11.2.4 Welch's method for determining the run-in period


11.3 Dealing with lack of independence
11.3.1 Simple replication
11.3.2 Using batch means
11.3.3 Overlapping batch means (OBM)
11.3.4 Regenerative methods
11.4 Variance reduction
11.4.1 The basic problemsampling variation
11.4.2 Set and sequence effects
11.4.3 Common random number streams and
synchronization
11.4.4 Control variates (regression sampling)
11.4.5 Antithetic variates
11.5 Descriptive sampling
11.5.1 Basic idea
11.5.2 Procedure
11.6 Experimentation
11.6.1 Basic ideas
11.6.2 Factorial experiments
Exercises
References
12 Model Testing and Validation
12.1 The importance of validation
12.1.1 Validation is impossible, but desirable
12.1.2 Some practical issues
12.1.3 The * 'real" world, the model and observation
12.1.4 The hypothetico-deductive approach
12.1.5 The importance ofprocess and other aspects
12.2 Validation and comparison
12.2.1 Experimental frames
12.2.2 Program verification and model validation
12.3 Black box validation
12.3.1 Black box validation: a model's predictive power
12.3.2 How valid?
12.3.3 Validation errors
12.3.4 Testing model components
12.4 White box validation
12.4.1 Detailed internal structure
12.4.2 Input distributions
12.4.3 Static logic
12.4.4 Dynamic logic
12.5 Type zero errors
12.5.1 Over-elaboration
12.5.2 Over-simplification
12.5.3 Steering a sensible course
References

XI

214
215
215
216
217
218
218
219
220
222
223
225
226
226
227
228
228
229
231
231
233
233
233
234
235
236
237
237
238
239
240
240
240
241
241
242
242
242
243
244
245
245
246
246
246

CONfTENTS

PART HI: SYSTEM DYNAMICS

247

13 Structure, behaviour, events and Feedback systems

249

13.1 Events, behaviours and structures


13.1.1 System simulation
13.1.2 The importance of system structure
13.2 Feedback systems
13.2.1 Hierarchical feedback systems: an example
13.2.2 Causal loop diagrams
13.3 Modelling feedback systems
13.3.1 Delays
13.3.2 Levels and stocks
13.3.3 Rates and flows
13.3.4 Policies
13.4 The origings of system dynamics
13.4.1 Control theory
Exercises
References
14 System dynamics modelling and simulation
14.1 Introduction
14.1.1 Stock and flow diagrams
14.1.2 A stock and flow diagram for Big Al's problem
14.2 Beyond the diagramssystem dynamics simulation
14.2.1 Time handling in system dynamics
14.2.2 Equation types
14.2.3 Powersim equations for Big Al's problem
14.2.4 Integration and the value ofdt
14.3 Simulating delays in system dynamics
14.3.1 Pipeline delays
14.3.2 Exponential delays
14.3.3 Information delays
14.4 System dynamics modelhng
14.4.1 Modelling from the outside in
14.4.2 Modelling from the inside out
Exercises
References
1 5 System dynamics in practice
15.1 Associated Spares Ltd
15.1.1 The problem as originally posed
15.1.2 The multi-echelon system
15.1.3 The retail branch model
1 5.1.4 The regional warehouse model

249
249
250
251
251
253
255
255
256
257
258
258
259
260
261
263

263
264
265
266
267
268
269
270
272
272
272
274
274
275
276
277
277
279
279
279
280
280
283

CONTENTS

xiii

15.1.5 The central warehouse model


15.1.6 The total system model
15.1.7 Some conclusions
15.1.8 A postscript
15.2 Dynast at Ltd
15.2.1 An expansion programme
15.2.2 The manpower problem
15.2.3 Recruitment
15.2.4 Turnover
15.2.5 Some efl'ects of this structure
15.2.6 Validating the model
15.2.7 Simulation results
15.2.8 Predicting length of service
15.2.9 The value of the exercise to Dynastat
15.3 System dynamics in practice
15.3.1 Simple models
15.3.2 Communication
15.3.3 New thinking
15.3.4 Evolutionary involvement
References

284
285
286
287
288
288
288
288
289
290
290
291
292
292
293
293
294
294
295
295

Index

297

Vous aimerez peut-être aussi