内容简介
本书采用大量直观的例子、图表和问题增加了可读性,很适合作为大学教材、仿真应用和自学书籍。本书第5版增加了基于agent仿真和系统动力学内容;进一步加强了经典的仿真实验设计;介绍了仿真输出分析的*新统计技术与进展。讲述了到目前为止*新的仿真软件处理技术;网站中提供了学生版的ExpertFit分布适配软件;综述了基本概率和数理统计知识;提供了超过215个例子,360张图(8个颜色)和285课后作业。
目录
第1章仿真建模入门1
1.1仿真的本质1
1.2系统、模型及仿真3
1.3离散事件仿真6
1.3.1时间推进机制7
1.3.2离散事件仿真模型的成分与组织9
1.4单服务器排队系统的仿真12
1.4.1问题描述12
1.4.2直观解释18
1.4.3程序组织与逻辑27
1.4.4C程序32
1.4.5仿真输出与讨论39
1.4.6其他终止规则41
1.4.7事件和变量的确定45
1.5库存系统的仿真48
1.5.1问题描述48
1.5.2程序组织和逻辑50
1.5.3C程序53
1.5.4仿真输出和讨论60
1.6并行/分布式仿真和高层体系结构61
1.6.1并行仿真62
1.6.2分布式仿真和高层体系结构64
1.7一个有效的仿真研究的步骤66
1.8仿真的优点、缺点和缺陷70
附录1A固定增量时间推进72
附录1B排队系统初步73
1B.1排队系统的组成74
1B.2排队系统的表示符号74
1B.3对排队系统性能的评价75
习题78
第2章复杂系统建模85
2.1引言85
2.2仿真中的列表处理86
2.2.1计算机中存储列表的方法86
2.2.2链式存储分配87
2.3简单仿真语言: simlib93
2.4单服务器排队系统的simlib仿真102
2.4.1问题描述102
2.4.2simlib程序102
2.4.3仿真输出与讨论107
2.5分时计算机模型108
2.5.1问题描述108
2.5.2simlib程序109
2.5.3仿真输出与讨论117
2.6可换队的多出纳台银行120
2.6.1问题描述120
2.6.2simlib程序121
2.6.3仿真输出与讨论131
2.7加工车间模型134
2.7.1问题描述134
2.7.2simlib程序136
2.7.3仿真输出与讨论147
2.8高效的事件列表处理149
附录2ASimlib的C代码150
习题163
第3章仿真软件181
3.1引言181
3.2仿真软件包与编程语言182
3.3仿真软件分类183
3.3.1通用与面向应用的仿真软件包的比较183
3.3.2建模方法183
3.3.3通用建模元素186
3.4期望的仿真软件特点186
3.4.1通用能力187
3.4.2软硬件需求189
3.4.3动画和动态图形189
3.4.4统计能力190
3.4.5客户支持和文档192
3.4.6输出报表和图表193
3.5通用仿真软件包193
3.5.1Arena193
3.5.2ExtendSim198
3.5.3Simio206
3.5.4其他通用仿真软件包212
3.6面向对象的仿真212
3.7面向应用的仿真软件包举例213
第4章基础概率与统计回顾214
4.1引言214
4.2随机变量和它们的性能214
4.3仿真输出数据和随机过程226
4.4均值、方差和相关系数的估计229
4.5均值的置信区间和假设检验233
4.6强大数定律240
4.7用均值来替代概率分布的危险性241
附录4A协方差平稳过程的说明241
习题242
第5章建立有效、可信、适度详细的仿真模型246
5.1引言及定义246
5.2确定模型详细程度的准则249
5.3仿真计算机程序校验251
5.4提高模型有效性和可信性的技术255
5.4.1收集系统高质量的信息和数据256
5.4.2与管理者定期沟通257
5.4.3维持一份书面的假设文档,并执行一次结构化走查258
5.4.4采用定量技术确认模型组件260
5.4.5确认整个仿真模型的输出262
5.4.6动画268
5.5管理者在仿真过程中的作用269
5.6比较实际观测值和仿真输出数据的统计程序269
5.6.1检测法270
5.6.2基于独立数据的置信区间法273
5.6.3时间序列方法276
5.6.4其他方法277
习题277
第6章输入概率分布选择279
6.1引言279
6.2常用的概率分布285
6.2.1连续分布的参数化285
6.2.2连续分布286
6.2.3离散分布305
6.2.4经验分布305
6.3评估样本独立性的方法316
6.4活动Ⅰ: 假设分布类型319
6.4.1求和统计320
6.4.2直方图322
6.4.3分位数求和与盒形图324
6.5活动Ⅱ: 参数估计330
6.6活动Ⅲ: 判断拟合分布的代表性334
6.6.1启发式方法335
6.6.2拟合优良度检验344
6.7ExpertFit软件与扩展例子359
6.8分布平移与截断364
6.9贝塞尔分布366
6.10确定多元分布、相关性及随机过程367
6.10.1确定多元分布368
6.10.2确定任意边际分布与相关性372
6.10.3确定随机过程373
6.11缺少数据时的分布的选择375
6.12到达过程模型380
6.12.1泊松过程380
6.12.2非平稳泊松过程381
6.12.3批到达384
6.13不同数据集的同质性检验385
附录6A伽马和贝塔分布的MLE表386
习题389
第7章随机数发生器393
7.1引言393
7.2线性同余发生器397
7.2.1混合发生器399
7.2.2乘法发生器400
7.3其他类型的发生器402
7.3.1更一般的同余402
7.3.2组合发生器403
7.3.3反馈移位寄存器发生器405
7.4随机数发生器的检验409
7.4.1经验检验409
7.4.2理论检验414
7.4.3关于检验的某些一般看法418
附录7APMMLCG的可移植C源码419
附录7B组合MRG的可移植C源码421
习题423
第8章随机变数的产生426
8.1引言426
8.2产生随机变数的通用方法428
8.2.1反变换法428
8.2.2组合法437
8.2.3卷积法440
8.2.4舍选法441
8.2.5均匀比法448
8.2.6特性法450
8.3连续随机变数的产生451
8.3.1均匀变数452
8.3.2指数分布452
8.3.3m�步锥蚶挤植�453
8.3.4伽马分布453
8.3.5韦伯分布456
8.3.6正态分布457
8.3.7对数正态分布458
8.3.8β分布458
8.3.9皮尔森Ⅴ型分布459
8.3.10皮尔森Ⅵ型分布460
8.3.11对数逻辑斯谛克分布460
8.3.12有界江森分布460
8.3.13无界江森分布461
8.3.14贝塞尔(Bezier)分布461
8.3.15三角分布461
8.3.16经验分布462
8.4离散随机变数的产生463
8.4.1伯努利分布464
8.4.2离散均匀分布464
8.4.3任意离散分布464
8.4.4二项分布469
8.4.5几何分布469
8.4.6负二项分布469
8.4.7泊松分布470
8.5随机矢量、相关随机变数与随机过程的产生470
8.5.1利用条件分布471
8.5.2多变量正态分布与多变量对数正态分布472
8.5.3相关伽马随机变数473
8.5.4由多变量族中产生474
8.5.5具有任意规定的边际分布和相关性的随机矢量的产生474
8.5.6随机过程的产生475
8.6到达过程的产生476
8.6.1泊松过程476
8.6.2非平稳泊松分布477
8.6.3批到达481
附录8A舍选法的正确性481
附录8B别名法的准备482
习题483
第9章单系统输出数据分析488
9.1引言488
9.2随机过程的瞬态和稳态行为特性491
9.3关于输出分析的仿真类型493
9.4终止型仿真的统计分析497
9.4.1均值估计498
9.4.2其他性能度量的估计507
9.4.3初始条件选择510
9.5稳态参数的统计分析511
9.5.1初始瞬态问题511
9.5.2均值的重复运行/删除法523
9.5.3均值的其他方法526
9.5.4其他性能度量的估计540
9.6稳态周期参数的统计分析542
9.7性能的多种度量545
9.8重要变量的时距图548
附录9A期望比与对折估计550
习题551
第10章比较不同的系统配置556
10.1引言556
10.2两个系统的期望响应差的置信区间560
10.2.1双-t置信区间560
10.2.2改进的双样本t检验置信区间562
10.2.3两种方法的对比563
10.2.4基于稳态性能度量的比较563
10.3两个以上系统比较的置信区间565
10.3.1与标准比较566
10.3.2两两比较568
10.3.3与最好的进行多重比较569
10.4排序与选择569
10.4.1k个系统中选择最好的570
10.4.2包含k个系统中最好系统的大小为m的子集的选择576
10.4.3补充的问题和方法577
附录10A选择方法的有效性582
附录10B选择方法的常量583
习题584
第11章方差缩减技术587
11.1引言587
11.2公共随机数588
11.2.1基本原理589
11.2.2适用性590
11.2.3同步性592
11.2.4实例596
11.3对偶变量法604
11.4控制变量法610
11.5间接估计法617
11.6调节法619
习题623
第12章实验设计与优化629
12.1引言629
12.22k析因设计632
12.32k-p部分析因设计649
12.4响应面与元模型656
12.4.1库存模型的介绍与分析657
12.4.2捕食者-猎物模型668
12.4.3空间填充设计和克里金法671
12.5基于仿真的优化679
12.5.1优选法681
12.5.2与仿真软件有接口的优选法软件包682
习题690
第13章基于Agent的仿真及系统动力学693
13.1引言693
13.2基于Agent的仿真694
13.2.1实例699
13.2.2时间推进机制704
13.2.3小结707
13.3连续系统仿真707
13.3.1系统动力学708
13.4离散-连续混合仿真713
13.5蒙特卡罗仿真714
13.6电子表格仿真717
习题719
第14章制造系统仿真网站章
附录721
参考文献725
索引759
精彩书摘
第3章
仿真软件
建议首先阅读的节: 3��1节至3��4节
3.1引言
在学习第1章和第2章中的仿真例子时,读者可能注意到了大多数离散事件仿真模型编程中所需要的几个要素,包括:
产生随机数,即均匀概率分布U(0,1)的观测值
产生一个特定概率分布(例如,指数分布)的随机变量
推进仿真时间
从事件列表中确定下一事件,并将控制权转交给适当的代码块
向一个列表添加记录或从列表中删除记录
搜集输出统计信息并生成结果报告
探测错误发生的条件
事实上,这些特征对大多数仿真程序来说是通用的,这就导致了专用仿真软件包的开发。我们认为,近年来仿真之所以日益流行,主要原因是这些软件包的改进与其更易于使用。
在3.2节我们将讨论使用仿真程序包建立仿真模型相对于使用编程语言(如C、C++或Java)的优势; 在3.3节我们给出仿真软件的分类,包括对通用的和面向应用的仿真软件包的讨论; 3.4节介绍仿真软件包的期望特性,包括动画; 3.5节给出n个流行的通用仿真软件包——Arena、Extend、Sim和Simio的简要描述,并分别利用这n个仿真软件包构建了一个小工厂的仿真模型; 在3.6节,我们介绍面向对象的仿真软件; 最后,在3.7节,我们介绍若干面向不同应用的仿真软件包。
刊物OR/MS Today往往定期地进行仿真软件的评述。
……
前言/序言
《仿真建模与分析(第5版)》的目标和前4版仍然保持一致: 提供仿真研究的所有重要方面综合的与最新的进展,包括建模、仿真软件、模型校验与确认、输入建模、随机数发生器、随机变量与过程的产生、统计设计与仿真实验的分析,以及像制造这样的最重要的应用领域。本书力图促进直观理解仿真与建模,并以技术上正确但更清晰的方式来阐述它们。全书有许多例子和习题,并有广泛的仿真参考文献和著作以用于进一步研究。
本书可作为各种课程的主教材,例如:
(1) 工程、制造、商业或计算机科学专业的大学三年级、高年级或新入学的研究生水平的第一门仿真课(第1章到第4章以及第5章到第9章和第13章的一部分)。在结束该课程时,学生要准备进行完整而有效的仿真学习,并进行高级仿真课程的学习。
(2) 上述任意学科的研究生的第二门仿真课程(第5章到第12章的大部分)。完成该课程后,学生应该熟悉仿真学习中更高级的方法学问题,还应该准备理解并进行仿真研究。
(3) 仿真导论,作为运筹学和管理科学中通用课程的一部分(第1章、第3章、第5章、第6章、第9章及第13章的一部分)。
对用本书作为教材的教师来说,可以从网址www.mhhe.com/law下载各种教学辅助支撑资料。这些资料包括习题答案的全集,第1章、第2章和第7章中的全部仿真模型和随机数发生器的计算机代码。采用此书的教师应该与本地的McGraw�睭ill代表联系获得登录标识和密码,以便能访问该网址的资料。
本书还可以作为仿真产业和研究人员的权威参考书。为此目的,本书对许多来自作者本人实践和咨询项目的实际例子进行了详细讨论。作者还做了巨大努力将主题与相关的研究文献联系起来,既有文字的,也有网上的,并保持这些材料实时更新。理解本书的前提是基本的基于计算的概率与统计学知识(虽然在第4章会复习这些主题),以及对计算技术有一定了解。对第1章和第2章,读者还应该熟悉通用编程语言,例如C语言。偶尔也会用到少量的线性代数或矩阵理论。较深或有技术难度的内容放在标有星号的节中或放在各章的附录中。在每章的开头,给出了应首先阅读该章哪些节的建议。
本书第5版对第4版的内容进行了大量的改动和添加,但结构绝大部分仍然保持相同。我在第一章中删除了第4版其他类型仿真的内容,并将其移到了后面第13章中进行讨论。第2章关于复杂系统建模已经更新,反映了有效事件列表管理的最新研究内容。第3章进行了重写和扩展,反映了仿真软件的最新进展,给出了三个用通用仿真软件包实现的一个通用的仿真案例。第4章讨论了置信区间与假设检验,做了很大的强化和补充,这一章的概率与统计学的基础知识为后面章节提供了基础。第5章对经常容易误解的校验和标定,做了更为清楚的区别。第6章说明了输入模型和模型到达过程的不确定性的最新进展。第7章提供了最有用的随机数发生器。第8章少量更新了关于随机变量和过程产生的内容。第9章到第12章对许多统计设计与分析方法进行了扩展和更新,以反映当前的实际和近期的研究进展。特别是,第9章综合讨论了用于估计被仿真系统的稳态均值的固定样本长度和序贯最新方法。更新了第10章中排序与选择程序的讨论以反映其较新的、有效的方法,而不是基于传统的一致区间方法。第11章方差减少技术仅有少量改动。在第12章中,给出了广泛得多且独立的经典实验设计与元模型的讨论,还特别强调了元模型和仿真模型。第14章是关于制造系统仿真,内容在本书的网站上,而不是在这本书里,其中关于制造系统仿真应用和最新仿真软件包已经进行了更新。本书增加了第13章,讨论了基于agent的仿真和系统动力学仿真,以及第4版第1章中讨论的其他类型的仿真。本书网站提供了学生版的ExpertFit分布拟合软件,它可以被用来分析第6章中相关例子和问题的数据集。为了方便读者阅读和材料压缩,书后列出了所有参考文献。一个大而全的主题索引增强了本书作为参考用书的价值。
网站(www.CourseSmart.com)提供这本教材的电子书(eBook)版本。通过该网站可以减少打印版本的花费,减少环境污染,利用网站进行学习。智慧课程(CourseSmart)电子书可以在线复习和下载到计算机上。电子书允许读者全文搜索,高亮显示与注释,以及与别人共享注释。智慧课程电子书在任何一个地方都可以使用,访问www.CourseSmart.com以了解更多和尝试样章。
首先应该感谢本人以前的合作者David Kelton,他对本书的前3版做出了巨大贡献。第5版的评审人员分别阅读了新加的以及重点变化的章节提出了许多有价值的建议,这些在内容和表达两个方面都得到了极大的加强。这些评审人员有: Christos Alexopoulos (佐治亚理工学院),Russell Barton(宾夕法尼亚州立大学),Chun�睭ung Chen (乔治梅森大学),Shane Henderson(康奈尔大学),Jack Kleijnen(蒂尔堡大学),Pierre L.Ecuyer(蒙特利尔大学),Charles Macal(阿贡国家实验室),Michael North(阿贡国家实验室)和Douglas Samuelson (InfoLogix公司)。众所周知,本书一定会有不少因疏忽而产生的令人遗憾的错误,虽然如此,本人应该感谢以各种方式给予帮助的以下人员: Wayne Adams, Mark Anderson, Sigrun Andradóttir, Jay April, Robert Axtell, Emmett Beeker, Marco Better, Edmund Bitinas, A.J.Bobo, Andrei Borshchev, Nathanael Brown, John Carson, Loren Cobb, Eric Frisco, David Galligan, Nigel Gilbert, Fred Glover, David Goldsman, Daniel Green, Charles Harrell, Thomas Hayson, James Henriksen, Raymond Hill, Kathryn Hoad, Terril Hurst, Andrew Ilachinski, Jeffrey Joines, Harry King, David Krahl, Emily Lada, Michael Lauren, Steffi Law, Thomas Lucas, Gregory McIntosh, Janet McLeavey, Anup Mokashi, Daniel Muller, Rodney Myers, William Nordgren, Ernie Page, Dennis Pegden, David Peterson, Stuart Robinson, Paul Sanchez, Susan Sanchez, Lee Schruben, David Siebert, Jeffery Smith, David Sturrock, Ali Tafazzoli,Andrew Waller, Hong Wan, Robert Weber, Preston White, James Wilson。
埃佛里尔 M.劳
于亚利桑那州图森市
《循序渐进:概念、模型与方法》 本书旨在为读者提供一套严谨且实用的方法论框架,以应对日益复杂的现实世界问题。它并非一本聚焦于特定学科的专业教材,而是将重心放在了理解问题本质、构建有效模型、以及解读与验证模型分析结果的通用能力上。全书的精髓在于其“循序渐进”的指导思想,从基础概念的梳理,到模型构建的原则,再到分析工具的选择与应用,层层递进,帮助读者建立起一套完整的思维模式。 第一部分:理解问题的核心——概念与抽象 在任何建模与分析过程之前,至关重要的一步是清晰地理解所要解决的问题。本部分将引导读者深入探讨“问题”本身的定义,以及如何将其从纷繁复杂的现实情境中抽离出来,聚焦于其关键要素。我们将介绍: 问题的识别与界定: 如何准确地捕捉问题的边界,明确研究的范围和目标。我们将通过一系列案例分析,展示不同领域中问题识别的技巧,例如商业决策中的风险评估、工程设计中的性能优化、社会科学中的行为模式探索等。 核心概念的提炼: 学习如何识别影响问题性质的关键概念和变量。这包括区分定性与定量概念,理解它们之间的相互作用,以及如何用简洁明了的语言来描述它们。我们将探讨不同学科中概念抽象的共通性,例如物理学中的力与质量,经济学中的供需与价格,心理学中的情绪与认知等。 系统思维的启蒙: 引入系统思维的基本理念,理解事物之间相互联系、相互影响的动态关系。我们将阐述如何将问题视为一个相互关联的系统,分析系统的组成部分、边界、反馈回路以及外部环境的影响。这一部分将为后续的模型构建打下坚实的基础。 建模的目的与适用性: 深入讨论为何需要建模,以及不同类型的模型所能达到的不同目的。本书将强调,模型并非对现实的完全复制,而是对现实的简化与抽象,其价值在于揭示事物的内在规律、预测未来趋势、并指导决策。我们将探讨模型的适用范围和局限性,避免过度依赖或误用模型。 第二部分:构筑思维的骨架——模型构建的艺术 在清晰地理解问题后,下一步便是构建一个能够有效描述和分析问题的模型。本部分将聚焦于模型构建的原则、方法和技巧,帮助读者掌握将概念转化为结构化表述的能力。 模型的类型与选择: 介绍不同类型的模型,包括但不限于: 描述性模型: 用于准确地描绘系统现状,如统计模型、数据可视化等。 预测性模型: 用于估计未来可能发生的情况,如时间序列模型、回归模型等。 规范性模型: 用于指导最优决策,如优化模型、仿真模型等。 概念模型: 以图或文字形式表达系统要素及其关系的初步模型。 数学模型: 用数学语言描述系统行为的模型。 仿真模型: 模拟系统动态过程的模型。 我们将提供一套指导性的框架,帮助读者根据问题的性质、数据的可用性以及分析的目标来选择最合适的模型类型。 模型构建的基本原则: 强调建模过程中几个核心原则: 简化与抽象: 如何在抓住问题本质的同时,去除不必要的细节,使模型易于理解和分析。 清晰性与透明度: 确保模型的结构、参数和逻辑清晰易懂,方便他人理解和验证。 可操作性: 模型应便于实现和应用,能够产生可解释的分析结果。 反馈与迭代: 强调建模是一个不断完善的过程,需要通过验证和反馈来逐步改进模型。 常见建模方法的介绍: 基于方程的模型: 如何运用代数方程、微分方程等来描述系统关系。 基于规则的模型: 如何通过if-then语句等逻辑规则来刻画系统行为。 基于代理的模型: 如何通过模拟个体行为及其交互来研究宏观现象。 基于数据的模型: 如何利用统计学和机器学习方法从数据中发现模式和关系。 本书将重点讲解如何根据问题的特性,灵活运用这些方法,并鼓励读者探索组合多种方法来构建更全面的模型。 第三部分:洞察规律的利器——分析与解读 构建模型并非终点,真正的价值在于通过模型分析来获得洞察、支持决策。本部分将聚焦于如何有效地分析模型,并对分析结果进行准确的解读。 分析方法的选择与应用: 静态分析: 如敏感性分析、参数扫描等,用于理解模型在特定条件下的行为。 动态分析: 如时间轨迹分析、场景模拟等,用于研究系统随时间的变化。 统计分析: 如假设检验、置信区间估计等,用于评估模型结果的可信度。 优化与决策分析: 如何利用模型来寻找最优解或支持决策。 我们将提供不同分析方法的应用场景和操作指南,并讨论选择合适分析方法的考量因素。 结果的解读与验证: 理解分析结果的含义: 如何将模型输出的数字和图表转化为有意义的结论。 评估模型与现实的拟合度: 如何通过与实际数据或专家知识进行对比来验证模型的准确性。 识别模型的局限性: 认识到任何模型都有其适用范围和潜在的误差来源,并学会审慎地使用分析结果。 沟通与可视化: 如何将复杂的分析结果以清晰、直观的方式传达给不同的受众。 反思与迭代: 强调分析过程是一个反思和改进模型、以及对问题理解不断深化的过程。分析结果的局限性或不符合预期之处,往往是进一步改进模型和深入研究的契机。 本书的特色: 通用性强: 所传授的方法论框架适用于几乎所有需要进行建模与分析的领域,无论是科学研究、工程实践、商业管理还是社会科学探索。 逻辑清晰: 结构严谨,从概念到模型,再到分析,步步为营,层层递进。 实践导向: 强调理论与实践相结合,通过大量的案例分析和思考题,帮助读者将所学知识应用于实际问题。 培养思维: 目标在于培养读者独立思考、解决问题的能力,而非仅仅掌握某种特定的技术或工具。 阅读本书,您将学会如何更有效地理解您所面对的问题,如何构建更具洞察力的模型,以及如何从模型分析中提炼出有价值的见解,最终做出更明智的决策。