Preface xiii

Acknowledgments xvii

**1 Preliminaries 1**

1.1 Introduction 1

1.2 Random Experiments 1

1.3 Conditional Probability and Independence 2

1.4 Random Variables and Probability Distributions 4

1.5 Some Important Distributions 5

1.6 Expectation 6

1.7 Joint Distributions 7

1.8 Functions of Random Variables 11

1.9 Transforms 14

1.10 Jointly Normal Random Variables 15

1.11 Limit Theorems 16

1.12 Poisson Processes 17

1.13 Markov Processes 19

1.14 Gaussian Processes 27

1.15 Information 28

1.16 Convex Optimization and Duality 34

Problems 41

References 46

**2 Random Number, Random Variable, and Stochastic Process Generation 49**

2.1 Introduction 49

2.2 Random Number Generation 49

2.3 Random Variable Generation 55

2.4 Generating from Commonly Used Distributions 62

2.5 Random Vector Generation 70

2.6 Generating Poisson Processes 75

2.7 Generating Markov Chains and Markov Jump Processes 77

2.8 Generating Gaussian Processes 80

2.9 Generating Diffusion Processes 81

2.10 Generating Random Permutations 83

Problems 85

References 89

**3 Simulation of Discrete-Event Systems 91**

3.1 Introduction 91

3.2 Simulation Models 92

3.3 Simulation Clock and Event List for DEDS 95

3.4 Discrete-Event Simulation 97

Problems 103

References 106

**4 Statistical Analysis of Discrete-Event Systems 107**

4.1 Introduction 107

4.2 Estimators and Confidence Intervals 108

4.3 Static Simulation Models 110

4.4 Dynamic Simulation Models 112

4.5 Bootstrap Method 126

Problems 127

References 130

**5 Controlling the Variance 133**

5.1 Introduction 133

5.2 Common and Antithetic Random Variables 134

5.3 Control Variables 137

5.4 Conditional Monte Carlo 139

5.5 Stratified Sampling 144

5.6 Multilevel Monte Carlo 146

5.7 Importance Sampling 149

5.8 Sequential Importance Sampling 159

5.9 Sequential Importance Resampling 165

5.10 Nonlinear Filtering for Hidden Markov Models 167

5.11 Transform Likelihood Ratio Method 171

5.12 Preventing the Degeneracy of Importance Sampling 174

Problems 179

References 184

**6 Markov Chain Monte Carlo 187**

6.1 Introduction 187

6.2 Metropolis–Hastings Algorithm 188

6.3 Hit-and-Run Sampler 193

6.4 Gibbs Sampler 194

6.5 Ising and Potts Models 197

6.6 Bayesian Statistics 200

6.7 Other Markov Samplers 202

6.8 Simulated Annealing 208

6.9 Perfect Sampling 212

Problems 214

References 219

**7 Sensitivity Analysis and Monte Carlo Optimization 221**

7.1 Introduction 221

7.2 Score Function Method for Sensitivity Analysis of DESS 224

7.3 Simulation-Based Optimization of DESS 231

7.4 Sensitivity Analysis of DEDS 246

Problems 252

References 255

**8 Cross-Entropy Method 257**

8.1 Introduction 257

8.2 Estimation of Rare-Event Probabilities 258

8.3 CE Method for Optimization 272

8.4 Max-Cut Problem 276

8.5 Partition Problem 282

8.6 Traveling Salesman Problem 283

8.7 Continuous Optimization 291

8.8 Noisy Optimization 292

8.9 MinxEnt Method 294

Problems 298

References 303

**9 Splitting Method 307**

9.1 Introduction 307

9.2 Counting Self-Avoiding Walks via Splitting 308

9.3 Splitting with a Fixed Splitting Factor 310

9.4 Splitting with a Fixed Effort 313

9.5 Generalized Splitting 314

9.6 Adaptive Splitting 318

9.7 Application of Splitting to Network Reliability 321

9.8 Applications to Counting 322

9.9 Case Studies for Counting with Splitting 325

9.10 Splitting as a Sampling Method 337

9.11 Splitting for Optimization 340

Problems 344

References 348

**10 Stochastic Enumeration Method 351**

10.1 Introduction 351

10.2 Tree Search and Tree Counting 352

10.3 Knuth’s Algorithm for Estimating the Cost of a Tree 355

10.4 Stochastic Enumeration 357

10.5 Application of SE to Counting 360

10.6 Application of SE to Network Reliability 368

Problems 373

References 375

Appendix 377

A.1 Cholesky Square Root Method 377

A.2 Exact Sampling from a Conditional Bernoulli Distribution 378

A.3 Exponential Families 379

A.4 Sensitivity Analysis 382

A.4.1 Convexity Results 383

A.4.2 Monotonicity Results 384

A.5 A Simple CE Algorithm for Optimizing the Peaks Function 385

A.6 Discrete-Time Kalman Filter 385

A.7 Bernoulli Disruption Problem 387

A.8 Complexity 389

A.8.1 Complexity of Rare-Event Algorithms 389

A.8.2 Complexity of Randomized Algorithms: FPRAS and FPAUS 390

A.8.3 SATs in CNF 394

A.8.4 Complexity of Stochastic Programming Problems 395

Problems 402

References 403

Abbreviations and Acronyms 405

List of Symbols 407

Index 409