可靠性和可靠性灵敏度分析Monte Carlo数值模拟法35页PPT
可靠性和可靠性灵敏度分析的Monte Carlo数值模拟法

指示函数IF(x)方差的无偏估计可以进一步表达为
Var
IF (x)
1
N
1
N j 1
I
2 F
(xj)
NI
2 F
N 1
N 1 N
N j 1
I
2 F
(
x
j
)
1 N
N
I
F
(
xk
)
2
k 1
N 1
N
1
N
式中, f(xi) (i=1, 2, …, n)为随机变量xi的概率密度函数。
东北大学机械设计及理论研究所
3 Monte lo 可靠性分析
Monte Carlo 可靠性分析方法又称随机抽样法、概率模拟法 或统计试验法。该方法是通过随机模拟或者说统计试验来 进行结构可靠性分析的。由于它是以概率和数理统计理论 为基础的,故被无理学家以赌城Monte Carlo来命名。
否 IF(xj)=0
g(xj)≤0 ?
是 IF(xj)=1
m=m+IF(xj)
否 j=N?
是
Pˆf
m N
,
Var
Pˆf
Pˆf Pˆf2 N 1
结束
3 Monte Carlo 可靠性分析
常见分布随机数生成函数的调用格式
东北大学机械设计及理论研究所
3 Monte Carlo 可靠性分析
xS
)dxS
dxR
1 FS (xR )
fR (xR )dxR
蒙特卡洛方法第四讲ppt课件

3>. xM功能,表示数值等于它前面数据的x 倍。 例如:5 4M => 4 20 4>. nJ功能,表示从它所在位置跳过n项不 指定的数据而使用缺省值。 • 这四项输入简写功能可以综合运用。
28
b) 列输入格式 列输入只能用于数据块中,对栅元参数和源 的描述比较有用。按行输入的栅元重要性、 体积、权窗等数据项可读性较差,而且增加 或删除栅元时要在行输入卡上仔细寻找相应 项。列输入的可读性有很大提高,删除或增 加与某一栅元相对应的数据项时也比较方便。
37
• 任何曲面都把空间分成两部分,一部分相对于该 曲面具有正坐向,另一部分具有负坐向。填写栅 元卡时,在曲面号之前用正负号表示栅元中的点 相对于该曲面的坐向,正号可省略。 对于一个封闭的曲面,例如球面,坐向(sense)就 变成: 内部=负值 Negative 外部=正值 Positive
38
39
• 再举一个例子:有一个大球面S1,它的里 面有一个小球面S2。在小球面S2外且在大 球面S1里的部分,是这样定义的:-1 +2
• 在小球面S2里的部分,是这样定义的:-2
40
41
(2) 交集和并集(intersection & union) 交集是两个集合的公共部分,如图所示。
42
• 并集是两个集合的合集:
29
• 列输入格式的第一行以#开始,#可以放在 1∼5列的任意位置,卡片助记名逐个放在该 行6列以后,在这些助记名之下按列给出数 据项。同一个列输入格式块中的卡片必须是 同一类卡片,比如都是栅元参数卡、都是曲 面参数卡或都是源参数卡等,在#号下面的 1∼5列放置栅元号、曲面号或源分布号。
30
c) 缺省值 MCNP许多输入卡的参数项有缺省值,用 户不必每次都给出这些参数,如果卡片输 入项有固定顺序,可以使用nJ功能跳过n个 输入项。如果卡片上所有数据项都想缺省, 只给出卡片助记名即可。有些卡片不给出 也有缺省值,如MODE N卡就可以省略。
可靠性和可靠性灵敏度分析的Monte Carlo数值模拟法

E Pˆ f
1 N
E
N
IF (xj )
j1
E IF ( x j )
Pf
EIF (x) IF
E Pˆf IF
1 N
N
IF ( x j ) Pˆf
j1
3 Monte Carlo 可靠性分析
失效概率估计值的方差可以通过对式(1)两边求方差得如下:
Var
Pˆf
Var
1 N
N j 1
如下
将可靠性灵敏度定义式做如下变换,可使可靠性灵敏度变 成数学期望的形式,之后就可以采用 Monte Carlo 数值模 拟来估计可靠性灵敏度。
5 Monte Carlo 可靠性灵敏度分析
Pf
g( x)0 f X (x1, x2 , , xn )dx1dx2 dxn
Rn IF f X (x1, x2 , , xn )dx1dx2 dxn
Rn IF ( x) f X (x1, x2 , , xn )dx1dx2 dxn E[IF ( x)]
式中,I
F
(
x)
1, 0,
xF xF
为失效域指示函数;Rn为n维变量空
间;E[.]为数学期望算子。
3 Monte Carlo 可靠性分析
失效概率为失效域指示函数的数学期望,依据大数定律,失 效域指示函数的数学期望可以有失效域指示函数的样本均值 来近似。
dxR
1 FS (xR )
fR (xR )dxR
具有n设计变量的机械系统的功能函数可以表示为
Z g( x) g(x1, x2, ..., xn )
则极限状态方程g(x1, x2, …, xn)=0将结构的基本随机变
量空间分为失效域和可靠区域两部分。
MonteCarlo方法及其简单应用(图文)

MonteCarlo方法及其简单应用(图文)论文导读:本文介绍了Monte Carlo方法的思想,主要从在定积分计算方面介绍了随机投点法和平均值法,并将其推广到二重积分、三重积分和多重积分情形,最后以棋手分奖金问题介绍了Monte Carlo方法在古典概率问题中的应用.分析了误差,介绍了减少误差的方法. 给出这些方法的实例及其Mathematica实现程序.关键词:MonteCarlo方法,积分计算,古典概率,模拟1 引言Monte Carlo方法,源于第二次世界大战美国关于研制原子弹的“曼哈顿计划”.该计划的主持人之一、数学家冯·诺伊曼用驰名世界的赌城——摩纳哥的Monte Carlo——来命名这种方法,为它蒙上了一层神秘色彩.Monte Carlo方法的基本思想很早以前就被人们所发现和利用.19世纪人们用投针试验的方法来确定圆周率.20世纪40年代电子计算机的出现,特别是近年来高速电子计算机的出现,使得用数学方法在计算机上大量、快速地模拟这样的试验成为可能.Monte Carlo方法研究的问题大致可分为两种类型:一种是问题本身就是随机的,另一种本身属于确定性问题,但可以建立它的解与特定随机变量或随机过程的数字特征或分布函数之间的联系,因而也可用随机模拟方法解决.文[1]-[7] 介绍了Monte Carlo方法的思想,但没有给出具体的实例及实现过程。
发表论文。
本文介绍了MonteCarlo方法的思想,从计算定积分和古典概率两方面的应用进行研究,给出了实例及其Mathematica实现程序.2 Monte Carlo方法2.1 Monte Carlo方法思想概述Monte Carlo方法,有时也称随机模拟(RandomSimulation)方法或统计试验(Statistical Testing)方法.它的基本思想是:首先建立一个概率模型或随机过程,使它的参数等于问题的解;然后通过对模型或过程的观察、抽样来计算所求参数的统计特征;最后给出所求解的近似值,而解的精度可用估计值的标准误差来表示.假设所求的量是随机变量的数学期望,那么近似确定的方法是对进行重复抽样,产生相互独立的值的序列并计算其算术平均值:根据大数定理,当充分大时,以概率1成立,即可用作为的估计值.Monte Carlo方法以概率统计理论为基础,以随机抽样(随机变量的抽样)为手段,在很多方面有重要的应用.它的优点表现在三个方面:方法和程序的结构简单,易分析、易理解;收敛的概率性和收敛速度与问题的维数无关,很好的避免了维数问题;受问题条件限制的影响较小,很好的提高可行性.使用Monte Carlo方法的步骤如下:(l)构造或描述概率过程(2)实现从已知概率分布中抽样(3)建立各种估计量2.2 Monte Carlo方法的可行性从Monte Carlo方法的基本思想可以得到它通常的做法,利用数学或物理方法产生[0,1]中均匀分布的随机数,在变换得到任意分布的随机数.随机数个数很大时,可以由大数定理,求出事件的概率值.这种做法的可行性主要依据下面的事实:(1)如果随机变量的分布函数是,由于非降.对于任意的,(),可以定义:作为的反函数.我们考虑随机变量的分布,这里假定是连续函数,则对于有:(1)即服从上的均匀分布.(2)反之,如果服从上的均匀分布,则对于任意的分布函数,令,则:(2)因此是服从分布函数的随机变量.所以我们只要能够产生中均匀分布的随机变量的子样,那么通过(2)式我们就可以得到任意分布函数的随机变量的子样.再结合大数定理、就可以运用Monte Carlo方法进行随机模拟,解决一些实际的问题.3 Monte Carlo方法在定积分中的应用3.1随机投点法对于定积分.为使计算机模拟简单起见,设,有限,,令,并设是在上均匀分布的二维随机变量,其联合密度函数为.则是中曲线下方的面积(如图2).图2假设我们向中进行随机投点.若点落在下方(即)称为中的,否则称不中.则点中的概率为,若我们进行次投点,其中次中的.则可以得到的一个估计(3)该方法的具体计算步骤为:①独立地产生2个随机数,,i=1,…,n;②计算,,和;③统计的个数;④用(3)估计.例1 1777年,法国学者Buffon提出用试验方法求圆周率的值.原理如下:假设平面上有无数条距离为1的等距平行线,现向该平面随机地投掷一根长度为的针.则我们可以计算该针与任一平行线相交的概率.此处随机投针可以这样理解:针中心与最近的平行线间的距离x均匀地分布在区间上,针与平行线间的夹角(不管相交与否)均匀地分布在区间上(如图1).于是,针与线相交的充要条件是,从而针线相交概率为:图1而由大数定律可以估计出针线相交的概率,其中为掷针次数,为针线相交次数,从而圆周率.其mathematica实现语句见附录1.3.2 样本平均值法对积分,设是上的一个密度函数,改写(4)由矩法,若有个来自的观测值,则可给出的一个矩估计,这便是样本平均值法的基本原理.若,有限,可取.设是来自的随机数,则的一个估计为(5)该方法的具体计算步骤为:①独立地产生个随机数;②计算和,;③用(5)估计.后面将给出一个例子说明此方法的应用.4 Monte Carlo方法在计算多重积分中的应用方法一:(重积分)(7)其中为S维单位立方体,,在上有:.很明显.此时积分(5)可以看作为求维空间长方体V:的体积.即:(8)对于这种较为一般形式的多重积分计算问题,采用的还是随机投点.具体步骤如下:首先产生个随机数(i=1,2,…,)及,构造维随机向量,然后检验是否落后在V中,同理可以推论.检验是否成立,如果在构成的个随机向量中,有个随机向量落于V中,那么取作为积分的近似值,即,如果积分区域及被积函数不满足上述条件,那么可以通过变换便可达到所希望的条件.方法二:其中积分区域包含在维多面体中,此多面体决定于个不等式.设函数在内连续且满足条件:,是在维多面体中均匀分布的随机质点的个数,是在个随机点之中落入以维区域V为底以为顶之曲顶柱体内的随机点的个数.这里表示由不等式和决定的维多面体.则重积分的Monte Carlo近似计算公式为:=(9)例 2 在三维空间中,由三个圆柱面:,,围成一个立体,利用Monte Carlo方法求它的体积.分析:据题意,所求体积,其中{,,且,,}.记,,},考虑在空间内随机的产生个点,落在空间内有个,则.在Mathematica中模拟程序见附录2.5 在古典概率问题中的应用下面的例子说明了Monte Carlo方法在古典概率中的应用.例3 甲乙两位棋手棋艺相当,现他们在一项奖金为1000元的比赛中相遇,比赛为五局三胜制,已经进行了三局的比赛,结果为甲三胜一负,现因故要停止比赛,问应该如何分配这1000元比赛奖金才算公平?分析:平均分对甲欠公平,全归甲则对乙欠公平.合理的分法是按一定的比例分配.现在我们用计算机模拟两位棋手后面的比赛,是否就可以知道奖金分配方案.由于两位棋手的棋艺相当,可以假定他们在以下每局的比赛胜负的机会各半.Mathematica中函数产生随机数0或1,0与1出现的机会各占一半,可以用随机数1表示甲棋手胜,而随机数0表示乙胜.(也可以用中的随机实数来模拟两人的胜负,随机数大于0.5表示甲胜,否则乙胜)连续模拟1000次(或更多次数)每次模拟到甲乙两方乙有一方胜了三局为止.按所说方案分配奖金,1000次模拟结束后,计算两棋手每次的平均奖金,就是该棋手应得的奖金.模拟结果:甲:750,乙:250(程序见附录1)最终以甲分到;乙分到.即甲750元,乙250元.实际上,因为比赛只需进行两局.则可分出胜负.结果无非是以下四种情况之一:甲甲、甲乙、乙甲、乙乙.上面四种情况可看出,甲获胜的概率为,乙获胜的概率为.在Mathematica 中模拟程序见附录3.6 误差分析6.1 收敛性蒙特卡罗方法是由随机变量的简单子样的算术平均值:作为所求解的近似值.由大数定律可知,如独立同分布,且具有有限期望值(<∞),则.即随机变量的简单子样的算术平均值,当子样数N充分大时,以概率1收敛于它的期望值.6.2 误差蒙特卡罗方法的近似值与真值的误差问题,概率论的中心极限定理给出了答案.该定理指出,如果随机变量序列,,…,独立同分布,且具有有限非零的方差,即是的分布密度函数.则当N充分大时,有如下的近似式其中称为置信度,1-称为置信水平.这表明,不等式近似地以概率1-成立,且误差收敛速度的阶为.通常,Monte Carlo方法的误差ε定义为上式中与置信度α是一一对应的,根据问题的要求确定出置信水平后,查标准正态分布表,就可以确定出.关于蒙特卡罗方法的误差需说明两点:第一,蒙特卡罗方法的误差为概率误差,这与其他数值计算方法是有区别的.第二,误差中的均方差是未知的,必须使用其估计值来代替,在计算所求量的同时,可计算出.例4 求用平均值法估计圆周率,并考虑置信度为5%,精度要求为0.01的情况下所需的试验次数.解:易知,故考虑令~,令,其期望值为,因此=,其中是[0,1]区间上均匀分布的随机数.此时,,,,所以(次).6.3 减小方差的各种技巧显然,当给定置信度α后,误差ε由σ和N决定.要减小ε,或者是增大N,或者是减小方差.在固定的情况下,要把精度提高一个数量级,试验次数N 需增加两个数量级.因此,单纯增大N不是一个有效的办法.另一方面,如能减小估计的均方差σ,比如降低一半,那误差就减小一半,这相当于N增大四倍的效果.因此降低方差的各种技巧,引起了人们的普遍注意.一般来说,降低方差的技巧,往往会使观察一个子样的时间增加.在固定时间内,使观察的样本数减少.所以,一种方法的优劣,需要由方差和观察一个子样的费用(使用计算机的时间)两者来衡量.这就是蒙特卡罗方法中效率的概念.它定义为,其中c 是观察一个子样的平均费用.显然越小,方法越有效.总的来说,增大样本的值对计算机要求较高;减小方差的技巧都只具有指导思想上的意义.对于实际的计算问题,往往要求对涉及的随机变量有先验的了解,或者对发生的物理过程的性态有一定的认识.通过利用这些预知的信息采取相应的手段减小误差,提高精度.附录1.(1)n=1000;p={}Do[m=0;Do[x=Random[];y=Random[];If[x+y<=1,m++],{k,1,n}];AppendTo[p,N[4m/n]],{t,1,10}];Print[p];Sum[p[[t]],{t,1,10}]/10(2)n=10000;p={}Do[m=0;Do[x=Random[];y=Random[];If[x+y<=1,m++],{k,1,n}];AppendTo[p,N[4m/n]],{t,1,10}];Print[p];Sum[p[[t]],{t,1,10}]/10(3)n=100000;p={}Do[m=0;Do[x=Random[];y=Random[];If[x+y<=1,m++],{k,1,n}];AppendTo[p,N[4m/n]],{t,1,10}];Print[p];Sum[p[[t]],{t,1,10}]/102. n=1000;p={}Do[m=0;Do[x=Random[];y=Random[];z=Random[];If[x+y<=1&&x+z<=1&&y+z<=1,m++],{k,1,n}]; AppendTo[p,N[8m/n]],{t,1,10}];Print[p];Sum[p[[t]],{t,1,10}]/103. n=1000;p={}Do[m=0;Do[x=Random[Integer]+2;y=Random[Integer]+1;If[x>y,m++],{k,1,n}];AppendTo[p,N[m]],{t,1,20}]Print[m];{Sum[p[[t]],{t,1,20}]/20,1000-Sum[p[[t]],{t1,20}]/20}参考文献[1] 徐钟济.蒙特卡罗方法[M].上海:上海科学技术出版社,1985:171-188.[2] 茆诗松,王静龙,濮晓龙.高等数理统计[M].北京:高等教育出版社,2006:415-454.[3] 周铁,徐树方,张平文等.计算方法[M].吉林:清华大学出版社,2006:299-353.[4] 李尚志,陈发来,张韵华等.数学实验[M].北京:高等教育出版社,2004:23-30.[5] 王岩.Monte Carlo方法应用研究[J].云南大学学报(自然科学版),2006,28(S1): 23-26.[6] 薛毅,陈立萍.统计建模与R软件[M].北京:清华大学出版社,2008:476-485.[7] 杨自强.你也需要蒙特卡罗方法———提高应用水平的若干技巧[J]. 数理统计与管理, 2007,27(2):355-376.。
蒙特卡洛分析ppt课件

NoteThis is not based on foundry data but modeled for illustrative purposes.
13
Cadence simulation setup (Monte Carlo)
Monte Carlo simulation
6
Cadence simulation setup (Normal)
Monte Carlo simulation
1.Choose analysis to run 2.Choose output to plot 3.Create netlist and run
Set up analysis(dc,ac,sp etc.),create netlist and run simulator
Design- Specific Section – designer according to his need can specify Monte Carlo analysis.For example in a current mirror circuit,matched transistors are used and designer can give some correlation factor between these matched transistor.
Matching S11
S22
(Analyzing waveform)
Process parameter and mismatch effect
DEGRADES Input & Output matching N/W
DEGRADES Overall design performance (noise,gain etc.)
MonteCarlo模拟

counter=counter+1; %统计针与线相交的次数 frame(counter)=getframe; %描点并取帧
end
end
fren=counter/n; pihat=2*l/(a*fren) %用频率近似计算π
1901 3408
3.1415929
蒙特卡罗投点法是蒲丰投针实验的推广:
在一个边长为a的正方形内随机投点,
该点落在此正方形的内切圆中的概率 y
(a/2,a/2)
应为该内切圆与正方形的面积比值,
即 πa/22 : a2 π/4
n=10000; a=2; m=0; for i=1:n
ox
x=rand(1)*a; y=rand(1)*a;
rand(1) %每次重新启动matlab时,输出的随机数不一样
注意: 产生一个参数为λ的指数分布的随机数应输入 exprnd(1/λ)
产生m×n阶参数为A1,A2,A3的指定分布'name'的随机数矩阵 random('name',A1,A2,A3,m,n)
举例: 产生2×4阶的均值为0方差为1的正态分布的随机数矩阵 random('Normal',0,1,2,4) 'name'的取值可以是(详情参见help random): 'norm' or 'Normal' / 'unif' or 'Uniform' 'poiss' or 'Poisson' / 'beta' or 'Beta' 'exp' or 'Exponential' / 'gam' or 'Gamma' 'geo' or 'Geometric' / 'unid' or 'Discrete Uniform' ……
蒙特卡罗模拟
第八章Monte Carlo法§ 8.1 概述Monte Carlo法不同于前面几章所介绍的确定性数值方法,它是用来解决数学和物理问题的非确定性的(概率统计的或随机的)数值方法。
Monte Carlo方法(MCM),也称为统计试验方法,是理论物理学两大主要学科的合并:即随机过程的概率统计理论(用于处理布朗运动或随机游动实验)和位势理论,主要是研究均匀介质的稳定状态[1]。
它是用一系列随机数来近似解决问题的一种方法,是通过寻找一个概率统计的相似体并用实验取样过程来获得该相似体的近似解的处理数学问题的一种手段。
运用该近似方法所获得的问题的解in spirit更接近于物理实验结果,而不是经典数值计算结果。
普遍认为我们当前所应用的MC技术,其发展约可追溯至1944年,尽管在早些时候仍有许多未解决的实例。
MCM的发展归功于核武器早期工作期间Los Alamos (美国国家实验室中子散射研究中心)的一批科学家。
Los Alamos小组的基础工作刺激了一次巨大的学科文化的迸发,并鼓励了MCM在各种问题中的应用[2]-[4]。
“Monte Carlo ”的名称取自于Monaco (摩纳哥)内以赌博娱乐而闻名的一座城市。
Monte Carlo方法的应用有两种途径:仿真和取样。
仿真是指提供实际随机现象的数学上的模仿的方法。
一个典型的例子就是对中子进入反应堆屏障的运动进行仿真,用随机游动来模仿中子的锯齿形路径。
取样是指通过研究少量的随机的子集来演绎大量元素的特性的方法。
例如,f (x)在a :::x :::b上的平均值可以通过间歇性随机选取的有限个数的点的平均值来进行估计。
这就是数值积分的Monte Carlo方法。
MCM已被成功地用于求解微分方程和积分方程,求解本征值,矩阵转置,以及尤其用于计算多重积分。
任何本质上属随机组员的过程或系统的仿真都需要一种产生或获得随机数的方法。
这种仿真的例子在中子随机碰撞,数值统计,队列模型,战略游戏,以及其它竞赛活动中都会出现。
蒙特卡罗方法PPT课件
第1页/共83页
蒙特卡 罗方法
直接方法
可以分解为各个独立 过程的随机性事件
统计方法 数值求解多维定积分
第2页/共83页
5.1 基本思想和一般过程
• Buffon投针实验
• 1768年,法国数学家Comte de Buffon利用投针实验估计 值
L
d
p 2L
d
第3页/共83页
• 长度为 l的针随机地落在相距为d>l 的一组水平线之间, 求针与线相交的概率?
分布的随机数的抽样,进行大量的计算随机模拟实验,从中获得随机变量 的大量试验值。各种概率模型具有不同的概率分布,因此产生已知概率分 布的随机变量,是实现Monte Carlo方法的关键步骤。最简单、最基本、 最重要的一个概率分布是(0,1)上的均匀分布 (或称矩形分布)。随机数就 是具有这种均匀分布的随机变量。对于其他复杂概率模型的概率分布可以 用数学方法在此基础上产生。因此,随机数是Monte Carlo模拟的基本工 具。
方法就叫做简单抽样法或非权重随机抽样法。
• 随机抽样法的真正优势表现在对较高维积分的近似求解,诸如在多体动力
学和统计力学中所遇到的问题。蒙待卡罗方法对较高维体系的积分误差仍
是
,而这时梯形定则给出的误差变为1/m2/D,这里D为维数。
1m
第21页/共83页
5.3.1 简单抽样 • 将其推广到多维的情况
模拟这个概率过程。对于本来不是随机性质的确定性问题,比如计算定积 分、解线性方程组及偏微分方程边值问题等,要用蒙特卡罗方法求解,就 必须事先构造一个人为的概率过程,它的某些参量正好是所要求的问题的 解。
第10页/共83页
5.1 基本思想和一般过程 • (2) 实现从已知概率分布的抽样 • 有了明确的概率过程后,为了实现过程的数字模拟,必须实现从已知概率
蒙特卡罗模拟PPT课件
问题:试验次数 n 多大时,对给定的置信度 1-α(0<α<1),估计精度达到ε.
即问:取多大的n 使
P pˆ
p
P
kn n
p
1
成立?
答案:
n
p(1 2
p) z2
其中, zα是正态分布的临界值.
证明
频率法是事件A出现的频率作为概率p的估计
pˆ kn n
n次独立试验中A出现的次数kn~B(n, p).由中 心极限定理知
相当于第i 个随机点落 在1/4圆内.
若有k 个点落在l/4圆内
随机事件“点落入1/4圆内”的 频率为 k/n 根据概率论中的大数定律, 事件发生的频率
依概率收敛于事件发生的概率p,即有
lim
n
P{
k n
p
}
1
得圆周率π的估计值为
ˆ 4k n
且当试验次数足够大时, 其精度也随之提高.
分析:实际上概率值为
01
1 x2dx 4
恰为1/4圆 的面积
频率法: 利用随机变量落进指定区域内的频 率来计算定积分.
平均值法: 利用随机变量的平均值(数学期望) 来计算定积分.
I ab f ( x)dx
平均值法的算法如下:
(1)产生RND 随机数:r1,r2,…,rn;
(2)令 ui=a+(b-a)ri,i=1,2,…,n;
要增大100倍.
P197表8.2中列出了置信度为0.95 时, 在不同
风险评估技术-蒙特卡罗模拟分析(Monte Carlo simulation)
蒙特卡罗模拟分析(Monte Carlo simulation)1 概述很多系统过于复杂,无法运用分析技术对不确定性因素的影响进行模拟,但可以通过考虑投入随机变量和运行N次计算(即所谓模拟)的样本,以便获得希望结果的N个可能成果。
描述输入数据的不确定性并开展多项模拟(其中,对输入数据进行抽样以代表可能出现的结果)加以评估。
这种方法可以解决那些借助于分析方法很难理解和解决的复杂状况。
可以使用电子表格和其他常规工具进行系统开发,也可以使用更复杂的工具来满足一些更复杂的要求,很多要求所需的投资较少。
当该技术首次开发时,蒙特卡罗模拟所需的迭代过程缓慢,耗费时间。
但是,随着计算机技术的进步和理论的发展,例如latin-hypercube抽样法使很多应用程序的处理时间几乎变得微不足道。
2 用途蒙特卡罗模拟是评估不确定性因素在各种情况下对系统产生影响的方法。
这种方法通常用来评估各种可能结果的分布及值的频率,例如成本、周期、吞吐量、需求及类似的定量指标。
蒙特卡罗模拟法可以用于两种不同用途:●传统解析模型的不确定性的分布;●解析技术不能解决问题时进行概率计算。
3 输入输入到蒙特卡罗模拟法的是一个系统模型和关于输入类型的信息、不确定性源和期望的输出。
具有不确定性的输入数据被表示为具有一定分布的随机变量,根据不确定性的水平其分布具有或多或少的离散性。
为此,均匀分布、三角分布、正态分布和对数正态分布经常被使用。
4 过程过程如下:●确定尽可能准确代表所研究系统特性的模型或算法;●用随机数将模型运行多次,产生模型(系统模拟)输出。
在模拟不确定性效应的应用场合,模型以方程式的形式提供输入参数与输出之间的关系。
所选择的输入值取自这些参数中代表不确定性特点的适当的概率分布。
●在每一种情况下,计算机以不同的输入运行模型多次(经常到一万次)并产生多种输出。
这些输出可以用传统的统计方法进行处理,以提供均值、方差和置信区间等信息。
下面给出一个模拟例子。