You are here

Simulation and the Monte Carlo Method

Reuven Y. Rubinstein and Dirk P. Kroese
John Wiley
Publication Date: 
Number of Pages: 
Wiley Series in Problability and Statistics
BLL Rating: 

The Basic Library List Committee suggests that undergraduate mathematics libraries consider this book for acquisition.

[Reviewed by
Ita Cirovic Donev
, on

With today's speedy developments in computational power, simulation methods are becoming more popular by the day. The area of application is tremendous and the importance is even greater. From the perspective of financial engineering and mathematical finance, simulation methods have greatly contributed to various calculations, especially in risk management. There are quite a number of books out there that cover simulation from the theoretical as well as an applied point of view. This one concentrates on developing the theory, but with the help of detailed examples and narrative explanations. It does not resemble a hard core mathematical book.

The authors suggest that introductory knowledge of probability and statistics should suffice to understand the text. Nevertheless, they decided to include a chapter covering these two topics and more. Having the prerequisites suggested by the authors might not be enough, however, to understand the first chapter. It would be more comfortable to have at least some knowledge of stochastic processes and Markov chains. Then this chapter would be great companion to fill in the gaps. For more advanced readers it should be a nice reminder.

Naturally, this chapter is followed by one on random numbers, random number generation, and stochastic process generation. The main theorems and algorithms are provided with good explanations. Examples are provided after each method is presented. They are quite detailed: some calculations are provided along with illustrations.

The text does not follow a theorem-proof-algorithm structure but rather the authors concentrate on narrative presentation of the methods. With chapter 3 the reader will get the first glimpse of where and how simulation is used today. The motivation provided is excellent, giving reader numerous examples to think about. Also, general steps of computer modeling and validation are presented in words. The whole chapter feels like it is one big example because of the great detail of presentation. One can really get a picture of what is done. Everything is explained as a step-by-step process.

Chapter 4 deals with statistical analysis of discrete-event systems. Now that we know how to construct them, we need the tools to analyze the output properly. The authors discuss the evaluation of estimators and confidence intervals for both static and dynamic simulation models. Various well-known examples are given in detail. Variance reduction techniques are discussed in a separate chapter with plenty of examples and narrative explanations. MCMC methods are presented using detailed examples. Only the most necessary theoretical concepts are given. For an applied approach this is not a bad way to go. Algorithms are given along with detailed explanations. Appendices provide additional theoretical concepts.

The book could serve well for an upper undergraduate or a (lower) graduate course on simulation. There are plenty of exercises provided at the end of each chapter. Most of the problems are of an applied nature. Of course there are also some proof problems, but not too many; the concentration is on understanding the concepts presented. Given the structure of the problems they are likely to contribute significantly to the learning process. The inclusion of some MATLAB code will also give students an edge while studying the book. One additional thing that would be beneficial is a list of possible projects.

Overall the book is nicely written and the additions to the book from the 1st edition certainly make it more attractive to a wider audience. I would recommend it to students and practitioners with appropriate background. I think practitioners would be fonder of it than students, as they need fast explanations that are actually understandable without a PhD in mathematics.

Ita Cirovic Donev holds a Masters degree in statistics from Rice University. Her main research areas are in mathematical finance; more precisely, statistical methods for credit and market risk. Apart from the academic work she does statistical consulting work for financial institutions in the area of risk 





1. Preliminaries 1.

1.1 Random Experiments.

1.2 Conditional Probability and Independence.

1.3 Random Variables and Probability Distributions.

1.4 Some Important Distributions.

1.5 Expectation.

1.6 Joint Distributions.

1.7 Functions of Random Variables.

1.8 Transforms.

1.9 Jointly Normal Random Variables.

1.10 Limit Theorems.

1.11 Poisson Processes.

1.12 Markov Processes.

1.12.1 Markov Chains.

1.12.2 Markov Jump Processes.

1.13 Efficiency of Estimators.

1.14 Information.

1.15 Convex Optimization and Duality.

1.15.1 Lagrangian Method.

1.15.2 Duality.



2. Random Number, Random Variable and Stochastic Process Generation.

2.1 Introduction.

2.2 Random Number Generation.

2.3 Random Variable Generation.

2.3.1 Inverse-Transform Method.

2.3.2 Alias Method.

2.3.3 Composition Method.

2.3.4 Acceptance-Rejection Method.

2.4 Generating From Commonly Used Distributions.

2.4.1 Generating Continuous Random Variables.

2.4.2 Generating Discrete Random Variables.

2.5 Random Vector Generation.

2.5.1 Vector Acceptance-Rejection Method.

2.5.2 Generating Variables From a Multinormal Distribution.

2.5.3 Generating Uniform Random Vectors Over a Simplex.

2.5.4 Generating Random Vectors, Uniformly Distributed Over a Unit Hyper-Ball and Hyper-Sphere.

2.5.5 Generating Random Vectors, Uniformly Distributed Over a Hyper-Ellipsoid.

2.6 Generating Poisson Processes.

2.7 Generating Markov Chains and Markov Jump Processes.

2.8 Generating Random Permutations.



3. Simulation of Discrete Event Systems.

3.1 Simulation Models.

3.2 Simulation Clock and Event List for DEDS.

3.3 Discrete Event Simulation.

3.3.1 Tandem Queue.

3.3.2 Repairman Problem.



4. Statistical Analysis of Discrete Event Systems.

4.1 Introduction.

4.2 Static Simulation Models.

4.3 Dynamic Simulation Models.

4.3.1 Finite-Horizon Simulation.

4.3.2 Steady-State Simulation.

4.4 The Bootstrap Method.



5. Controlling the Variance.

5.1 Introduction.

5.2 Common and Antithetic Random Variables.

5.3 Control Variables.

5.4 Conditional Monte Carlo.

5.4.1 Variance Reduction for Reliability Models.

5.5 Stratified Sampling.

5.6 Importance Sampling.

5.6.1 The Variance Minimization Method.

5.6.2 The Cross-Entropy Method.

5.7 Sequential Importance Sampling.

5.7.1 Non-linear Filtering for Hidden Markov Models.

5.8 The Transform Likelihood Ratio Method.

5.9 Preventing the Degeneracy of Importance Sampling.

5.9.1 The Two-Stage Screening Algorithm.

5.9.2 Case Study.



6. Markov Chain Monte Carlo.

6.1 Introduction.

6.2 The Metropolis-Hastings Algorithm.

6.3 The Hit-and-Run Sampler.

6.4 The Gibbs Sampler.

6.5 Ising and Potts Models.

6.6 Bayesian Statistics.

6.7 Other Markov Samplers.

6.8 Simulated Annealing.

6.9 Perfect Sampling.



7. Sensitivity Analysis and Monte Carlo Optimization.

7.1 Introduction.

7.2 The Score Function Method for Sensitivity Analysis of DESS.

7.3 Simulation-Based Optimization of DESS.

7.3.1 Stochastic Approximation.

7.3.2 The Stochastic Counterpart Method.

7.4 Sensitivity Analysis of DEDS.



8. The Cross-Entropy Method.

8.1 Introduction.

8.2 Estimation of Rare Event Probabilities.

8.2.1 The Root-Finding Problem.

8.2.2 The Screening Method for Rare Events.

8.3 The CE-Method for Optimization.

8.4 The Max-cut Problem.

8.5 The Partition Problem.

8.6 The Travelling Salesman Problem.

8.6.1 Incomplete Graphs.

8.6.2 Node Placement.

8.6.3 Case Studies.

8.7 Continuous Optimization.

8.8 Noisy Optimization.



9. Counting via Monte Carlo.

9.1 Counting Problems.

9.2 Satisfiability Problem.

9.2.1 Random K-SAT (K-RSAT).

9.3 The Rare-Event Framework for Counting.

9.3.1 Rare-Events for the Satisfiability Problem.

9.4 Other Randomized Algorithms for Counting.

9.4.1 Complexity of Randomized Algorithms: FPRAS and FPAUS.

9.5 MinxEnt and Parametric MinxEnt.

9.5.1 The MinxEnt Method.

9.5.2 Rare-Event Probability Estimation Using PME.

9.6 PME for COPs and Decision Making.

9.7 Numerical Results.



Appendix A.

A.1 Cholesky Square Root Method.

A.2 Exact Sampling from a Conditional Bernoulli Distribution.

A.3 Exponential Families.

A.4 Sensitivity Analysis.

A.4.1 Convexity Results.

A.4.2 Monotonicity Results.

A.5 A simple implementation of the CE algorithm for optimizing the 'peaks' function.

A.6 Discrete-time Kalman Filter.

A.7 Bernoulli Disruption Problem.

A.8 Complexity of Stochastic Programming Problems.




List of Symbols.