书签 分享 收藏 举报 版权申诉 / 61
上传文档赚钱

类型蒙特卡罗方法教材课件.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4923097
  • 上传时间:2023-01-26
  • 格式:PPT
  • 页数:61
  • 大小:4.37MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《蒙特卡罗方法教材课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    蒙特卡罗 方法 教材 课件
    资源描述:

    1、2023-1-231数学建模专题之数学建模专题之蒙特卡罗方法蒙特卡罗方法主讲:李培峦主讲:李培峦时间:时间:2014-08-032014-08-03数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-232内容提纲内容提纲1.1.引言引言2.Monte Carlo2.Monte Carlo模拟基本思想模拟基本思想3.3.随机数生成函数随机数生成函数4.4.应用实例举例应用实例举例5.5.随机游走模拟随机游走模拟6.6.机械零件的可靠度计算机械零件的可靠度计算7.7.排队论模拟排队论模拟8.Monte Carlo8.Monte Carlo方法求解规划问题方法求解规划问题9.M

    2、onte Carlo9.Monte Carlo方法预测搜救区域方法预测搜救区域数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-233Monte Carlo方法:方法:蒙特卡罗方法,又称随机模拟方法,属于计算数学的一个分支,它是在上世纪四十年蒙特卡罗方法,又称随机模拟方法,属于计算数学的一个分支,它是在上世纪四十年代中期为了适应当时原子能事业的发展而发展起来的。代中期为了适应当时原子能事业的发展而发展起来的。亦称统计模拟方法,亦称统计模拟方法,statistical simulation method 利用随机数进行数值模拟的方法利用随机数进行数值模拟的方法Monte C

    3、arlo名字的由来:名字的由来:Monte Carlo是摩纳哥(是摩纳哥(monaco)最大的城市,该城以赌博闻名。最大的城市,该城以赌博闻名。Monte-Carlo,Monaco数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-234Monte Carlo方法的起源:方法的起源:二十世纪四十年代中期,由于科学技术的发展和电子计算机的发二十世纪四十年代中期,由于科学技术的发展和电子计算机的发明,蒙特卡罗方法作为一种独立的方法被提出来,并首先在核武明,蒙特卡罗方法作为一种独立的方法被提出来,并首先在核武器的试验与研制中得到了应用器的试验与研制中得到了应用(中子的链锁反应中子

    4、的链锁反应)。但其基本思想。但其基本思想并非新颖,可追溯到并非新颖,可追溯到1818世纪后半叶的蒲丰(世纪后半叶的蒲丰(BuffonBuffon)随机投针实)随机投针实验(验(17771777年)。年)。Nicholas Metropolis(1915-1999)John Von Neumann(1903-1957)数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-235Monte Carlo方法的应用:方法的应用:物理:核物理,热力学与统计物理,粒子输运问题等物理:核物理,热力学与统计物理,粒子输运问题等 数学:多重积分、解微分方程、非线性方程组求解等数学:多重积分、解

    5、微分方程、非线性方程组求解等 工程领域:真空技术,水力学,激光技术等工程领域:真空技术,水力学,激光技术等 经济学领域:期权定价、项目管理、投资风险决策等经济学领域:期权定价、项目管理、投资风险决策等 其他领域:化学、医学,生物,生产管理、系统科学、公用其他领域:化学、医学,生物,生产管理、系统科学、公用事业等方面。随着科学技术的发展,其应用范围将更加广泛。事业等方面。随着科学技术的发展,其应用范围将更加广泛。数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-236Monte Carlo方法的基本思想方法的基本思想qBuffon投针实验投针实验17681768年,法国数学

    6、家年,法国数学家Comte de Buffon利用投针实验估计利用投针实验估计 的值的值2,()LpLdd dL数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-237SolutionThe positioning of the needle relative to nearby lines can be described with a random vector which has components:0,)0,)AdThe random vector is uniformly distributed on the region 0,d)0,).Accordingl

    7、y,it has probability density function 1/d.The probability that the needle will cross one of the lines is given by the integralsin1002sinldlpP AldAdd 数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-238例例1.蒲丰投针问题蒲丰投针问题n利用关系式:利用关系式:求求出出值值 其中其中 为投计次数,为投计次数,n 为针与平行线相交为针与平行线相交次数。这就是古典概率论中著名的蒲丰氏问题。次数。这就是古典概率论中著名的蒲丰氏问题

    8、。2lpd2212()lll Ndpdpdn数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-239一些人进行了实验,其结果列于下表一些人进行了实验,其结果列于下表:实验者年份投计次数的实验值沃尔弗(Wolf)185050003.1596斯密思(Smith)185532043.1553福克斯(Fox)189411203.1419拉查里尼(Lazzarini)190134083.1415929数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2310基本思想基本思想n MSMS基本思想:为了求解数学、物理、工程技术或随基本思想:为了求解数学、物理、工程

    9、技术或随机服务系统等方面的问题,首先构造一个模型(概率机服务系统等方面的问题,首先构造一个模型(概率统计模型),使所求问题的解正好是该模型的参数或统计模型),使所求问题的解正好是该模型的参数或特征量或有关量,然后通过模拟(统计试验),给出特征量或有关量,然后通过模拟(统计试验),给出模型参数或特征量的估计值,最后得出所求问题的近模型参数或特征量的估计值,最后得出所求问题的近似解。似解。n MSMS特点:特点:1.1.方法新颖、应用面广、实用性强;方法新颖、应用面广、实用性强;2.2.随机模拟方面的算法简单,但计算量大;随机模拟方面的算法简单,但计算量大;3.3.模拟结果具有随机性,精度较低;模

    10、拟结果具有随机性,精度较低;4.4.模拟结果的收敛过程服从概率规律。模拟结果的收敛过程服从概率规律。数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2311例例1 1在我方某前沿防守地域,敌人以一个炮排(含两门火炮)在我方某前沿防守地域,敌人以一个炮排(含两门火炮)为单位对我方进行干扰和破坏为躲避我方打击,敌方对其阵地为单位对我方进行干扰和破坏为躲避我方打击,敌方对其阵地进行了伪装并经常变换射击地点进行了伪装并经常变换射击地点 经过长期观察发现,我方指挥所对敌方目标的指示有经过长期观察发现,我方指挥所对敌方目标的指示有5050是是准确的,而我方火力单位,在指示正确时,有

    11、准确的,而我方火力单位,在指示正确时,有1/31/3的射击效果能的射击效果能毁伤敌人一门火炮,有毁伤敌人一门火炮,有1/61/6的射击效果能全部毁伤敌人火炮的射击效果能全部毁伤敌人火炮 现在希望能用某种方式把我方将要对敌人实施的现在希望能用某种方式把我方将要对敌人实施的2020次打击结次打击结果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。果显现出来,确定有效射击的比率及毁伤敌方火炮的平均值。分析分析:这是一个概率问题,可以通过理论计算得到相应的概率和期望值.但这样只能给出作战行动的最终静态结果,而显示不出作战行动的动态过程.为了能显示我方20次射击的过程,现采用模拟的方式。举例举例数学

    12、建模专题之数学建模专题之Monte Carlo方法方法2023-1-2312 需要模拟出以下两件事:2 2 当指示正确时,我方火力单位的射击结果情况当指示正确时,我方火力单位的射击结果情况1 1 观察所对目标的指示正确与否观察所对目标的指示正确与否模拟试验有两种结果,每一种结果出现的概率都是1/2 因此,可用投掷一枚硬币的方式予以确定可用投掷一枚硬币的方式予以确定,当硬币出现正面时为指示正确,反之为不正确 模拟试验有三种结果:毁伤一门火炮的可能性为1/3(即2/6),毁伤两门的可能性为1/6,没能毁伤敌火炮的可能性为1/2(即3/6)这时可用投掷骰子的方法来确定可用投掷骰子的方法来确定:如果出

    13、现的是、三个点:则认为没能击中敌人;如果出现的是、点:则认为毁伤敌人一门火炮;若出现的是点:则认为毁伤敌人两门火炮问题分析问题分析数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2313i:要模拟的打击次数;k1:没击中敌人火炮的射击总数;k2:击中敌人一门火炮的射击总数;k3:击中敌人两门火炮的射击总数;E:有效射击比率;E1:20次射击平均每次毁伤敌人的火炮数符号说明符号说明数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2314模拟框图模拟框图初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子点数?k1=k1+1k2=k2+1k3=

    14、k3+1k1=k1+1i20?E=(k2+k3)/20 E1=(0*k1+1*k2+2*k3)/20停止硬币正面?YNNY1,2,34,56数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2315模拟结果模拟结果消消灭灭敌敌人人火火炮炮数数试试验验序序号号投投硬硬币币结结果果指指示示正正确确指指示示不不正正确确掷掷骰骰子子结结果果正正反正正反正正反反数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2316从以上模拟结果可计算出:170.35(0 13 1 42 3/200.520EE )数学建模专题之数学建模专题之Monte Carlo方法方法2

    15、023-1-2317理论计算理论计算数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2318结果比较结果比较 虽然模拟结果与理论计算不完全一致,但它却能更加真实地表虽然模拟结果与理论计算不完全一致,但它却能更加真实地表达实际战斗动态过程要使结果接近理论计算值,必须加大模拟次达实际战斗动态过程要使结果接近理论计算值,必须加大模拟次数,这就要求使用计算机模拟了。数,这就要求使用计算机模拟了。用蒙特卡洛方法进行计算机模拟的步骤:用蒙特卡洛方法进行计算机模拟的步骤:1 1 设计一个逻辑框图,设计一个逻辑框图,即建立模拟模型即建立模拟模型2 2 根据流程图编写程序,模拟随机现象根

    16、据流程图编写程序,模拟随机现象可通过生成具有各种概率可通过生成具有各种概率分布的随机数来模拟随机现象,进行模拟试验分布的随机数来模拟随机现象,进行模拟试验3 3 分析模拟结果,给出所求问题的近似解分析模拟结果,给出所求问题的近似解(求解)(求解).数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2319注:注:rand(n)=rand(n,n)Matlab 中的随机数生成函数中的随机数生成函数randperm(m)l 生成一个由生成一个由 1:m 组成的随机排列组成的随机排列randn(m,n)l 生成一个满足正态生成一个满足正态 m n 的随机矩阵的随机矩阵rand(

    17、m,n)l 生成一个满足均匀分布的生成一个满足均匀分布的 m n 随机矩阵,矩阵的每随机矩阵,矩阵的每个元素都在个元素都在(0,1)之间。之间。perms(1:n)l 生成由生成由 1:n 组成的全排列,共组成的全排列,共 n!个结果个结果数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2320l name 的取值可以是的取值可以是norm or Normalunif or Uniformpoiss or Poissonbeta or Betaexp or Exponentialgam or Gammageo or Geometricunid or Discrete U

    18、niform.random(name,A1,A2,A3,M,N)Matlab 中的随机数生成函数中的随机数生成函数数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2321fix(x):截尾取整,直接将小数部分舍去截尾取整,直接将小数部分舍去floor(x):不超过不超过 x 的最大整数的最大整数ceil(x):不小于不小于 x 的最小整数的最小整数round(x):四舍五入取整四舍五入取整Matlab中的取整函数中的取整函数数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2322q 模拟随机投掷均匀硬币,验证国徽朝上与朝下的模拟随机投掷均匀硬币,

    19、验证国徽朝上与朝下的概率是否都是概率是否都是 1/2 n=10000;%给定试验次数给定试验次数m=0;%m%m 表示试验成功(国徽朝上)的次数表示试验成功(国徽朝上)的次数for i=1:n x=randperm(2)-1;%randperm(2%randperm(2)生成)生成1 1和和2 2的随机排列的随机排列 y=x(1);if y=0%0%0 表示国徽朝上,表示国徽朝上,1 1 表示国徽朝下表示国徽朝下 m=m+1;endendfprintf(国徽朝上的频率为国徽朝上的频率为:%fn,m/n);小实例一:投掷硬币小实例一:投掷硬币数学建模专题之数学建模专题之Monte Carlo方法

    20、方法2023-1-2323q 随机投掷骰子,验证各点出现的概率是否为随机投掷骰子,验证各点出现的概率是否为 1/6 n=10000;m1=0;m2=0;m3=0;m4=0;m5=0;m6=0;for i=1:n x=randperm(6);y=x(1);switch y case 1,m1=m1+1;case 2,m2=m2+1;case 3,m3=m3+1;case 4,m4=m4+1;case 5,m5=m5+1;otherwise,m6=m6+1;endend.%输出结果输出结果小实例二:投掷骰子小实例二:投掷骰子数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2

    21、324q 用蒙特卡罗用蒙特卡罗(Monte Carlo)投点法计算投点法计算 的值的值 n=10000;a=2;m=0;%m表示落入圆内的次数表示落入圆内的次数for i=1:n x=rand(1)*a/2;y=rand(1)*a/2;if(x2+y2=(a/2)2)m=m+1;endendfprintf(计算出来的计算出来的 pi 为:为:%fn,4*m/n);小实例三:蒙特卡罗投点法小实例三:蒙特卡罗投点法数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2325小实例三:蒙特卡罗投点法小实例三:蒙特卡罗投点法ezplot(x2+y2-1,-1.1 1.1);hold

    22、 onaxis equalplot(-1-1 1 1-1,-1 1 1-1-1);N=0;for k=1:100 N_point=10000;xy=(rand(2,N_point)-0.5)*2;d=sqrt(xy(1,:).2+xy(2,:).2);N(k)=length(find(d=1);endp1=sum(N)/(N_point*k)p2=pi*12/4pi0=p1*4p_xy=(rand(500,2)-0.5).*2;plot(p_xy(:,1),p_xy(:,2),.);数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2326q 在画有许多间距为在画有许多间

    23、距为 d 的等距平行线的白纸上,随的等距平行线的白纸上,随机投掷一根长为机投掷一根长为 l(l d)的均匀直针,求针与平行的均匀直针,求针与平行线相交的概率,并计算的线相交的概率,并计算的 值值小实例四:蒲丰投针实验小实例四:蒲丰投针实验数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2327n=100000;L=0.5;d=1;m=0;for i=1:n alpha=rand(1)*pi;y=rand(1)*d/2;if y=yy),2)+1;X(i)=x(d);endhist(X,x)%思考:如何生产思考:如何生产指定分布随机数指定分布随机数?数学建模专题之数学建模

    24、专题之Monte Carlo方法方法2023-1-2331随机游走模拟随机游走模拟随机游走是一种基于运用0,1区间的均匀分布随机数序列来进行的计算。利用蒙特卡罗方法多次模拟醉汉行走,统计在 X 处占总次数的比值,即为概率 PN(x)。数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2332随机游走模拟随机游走模拟设定朝右走的概率设定朝右走的概率P,总步数总步数N,模拟次数模拟次数M,X,j=1,S=0;i=1;x=0;i=Nj=M产生随机数确定行走方向产生随机数确定行走方向计算所在位置计算所在位置xi=i+1j=j+1X=xS=S+1YNYNYN计算计算S/Mi 步数,

    25、步数,j 模拟的次数,模拟的次数,S为为M次中成功次数次中成功次数x表表示示N步步后后实实际际位位置置,X表表示示指指定定的的位位置置数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2333程序程序P=0.5;N=10;M=100;X=0;S=0;for j=1:M x=0;for i=1:N if(rand(1)=P)x=x+1;else x=x-1;end end if(X=x)S=S+1;endendPP=S/M数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2334机械零件的可靠度计算机械零件的可靠度计算可靠度计算主要研究机械零件在一定分

    26、布的随机应力 S(即零件的正常工作应力)作用下的可靠程度。应力和强度都是随机变量,影响应力和强度的各种因素也是随机变量。因此,机械零件的可靠度计算过程中,利用蒙特卡罗方法来处理对随机量的计算问题,具有特有的优势。问题:设计一个拉杆,若受外力 P 均值为20000N,标准差 2000N,拉杆的半径 D 均值为20mm,标准差 0.5mm,材料强度 S 均值412 MPa,标准差15.6 MPa,计算其可靠度。数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2335机械零件的可靠度计算机械零件的可靠度计算问题分析:数学建模专题之数学建模专题之Monte Carlo方法方法2

    27、023-1-2336机械零件的可靠度计算机械零件的可靠度计算理论推导:数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2337机械零件的可靠度计算机械零件的可靠度计算理论推导:数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2338机械零件的可靠度计算机械零件的可靠度计算蒙特卡罗模拟:通过多次试验,统计可靠零件个数,求出 其占总零件数的比值,即为可靠度。设定总零件数设定总零件数 N=1000,可靠零件数,可靠零件数 St=0;令令 P_mean=20000;P_deta=2000;D_mean=20;D_deta=0.5;Q_mean=412*1

    28、06;Q_deta=15.6*106;i=1;i=N根据已知分布产生随机数根据已知分布产生随机数p,d,q;计算应力计算应力s=(4*p)/(pi*d2)YNs=qSt=St+1,i=i+1;计算可靠度:计算可靠度:St/N数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2339机械零件的可靠度计算机械零件的可靠度计算程序:N=100000;St=0;P_mean=20000;P_deta=2000;D_mean=20*10-3;D_deta=0.5*10-3;Q_mean=412*106;Q_deta=150.6*106;for i=1:N p=P_mean+P_de

    29、ta*randn(1);%p为正态分布随机数 d=D_mean+D_deta*randn(1);q=Q_mean+Q_deta*randn(1);s=(4*p)/(pi*d2);if s=q St=St+1;endendSt_p=St/N;fprintf(可信度为:%f n,St_p);数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2340排队问题随机模拟排队问题随机模拟排队论主要研究随机服务系统的工作过程。在排队系统中,服务对象的到达时间和服务时间都是随机的。排队论通过对随机服务现象的统计研究,找出反映这些随机现象平均特性的规律指标,如排队的长度、等待的时间及服务利

    30、用率。数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2341系统的假设:系统的假设:(1)顾客源是无穷的;顾客源是无穷的;(2)排队的长度没有限制;排队的长度没有限制;(3 3)到达系统的顾客按先后顺序依次进入服务,到达系统的顾客按先后顺序依次进入服务,“先到先服务先到先服务”。在某商店有一个售货员,顾客陆续来到,售货员逐个地接待顾在某商店有一个售货员,顾客陆续来到,售货员逐个地接待顾客当到来的顾客较多时,一部分顾客便须排队等待,被接待后的顾客当到来的顾客较多时,一部分顾客便须排队等待,被接待后的顾客便离开商店设:客便离开商店设:1 1顾客到来间隔时间服从参数为顾客到

    31、来间隔时间服从参数为 0.1 的指数分布的指数分布 2 2对顾客的服务时间服从,对顾客的服务时间服从,1515上的均匀分布上的均匀分布 3 3排队按先到先服务规则,队长无限制排队按先到先服务规则,队长无限制 假定一个工作日为假定一个工作日为8 8小时,时间以分钟为单位。小时,时间以分钟为单位。11模拟一个工作日内完成服务的个数及顾客平均等待时间模拟一个工作日内完成服务的个数及顾客平均等待时间t t22模拟模拟100100个工作日,求出平均每日完成服务的个数及每日顾客的平个工作日,求出平均每日完成服务的个数及每日顾客的平均等待时间。均等待时间。单服务员的排队模型模拟单服务员的排队模型模拟0)(X

    32、gi数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2342w w:总等待时间;总等待时间;c ci i:第第i i个顾客的到达时刻;个顾客的到达时刻;b bi i:第:第i i个顾客开始服务时刻;个顾客开始服务时刻;e ei i:第第i i个顾客服务结束时刻;个顾客服务结束时刻;x xi i:第第i-1i-1个顾客与第个顾客与第i i个顾客之间到个顾客之间到达的间隔时间;达的间隔时间;y yi i:对第对第i i个顾客的服务时间。个顾客的服务时间。符号说明符号说明数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2343c1b1c3c4c5c2e

    33、1b2e2b3e3b4e4b5ci=ci-1+xi%到达时刻、时间间隔ei=bi+yi%结束服务时刻、开始服务时刻、服务时间bi=max(ci,ei-1)t思路分析思路分析数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2344初始化:令i=1,ei-1=0,w=0产生间隔时间随机数xi 参数为0.1的指数分布ci=xi,bi=xi 产生服务时间随机数yi4,15的均匀分布ei=bi+yi累计等待时间:w=w+bi-ci准备下一次服务:i=i+1产生间隔时间随机数xi 参数为0.1的指数分布ci=ci-1+xi 确定开始服务时间:bi=max(ci,ei-1)bi480

    34、?YNi=i-1,t=w/i输出结果:完成服务个数:m=i 平均等待时间:t停止1模拟一日To Matlab(simu1)2模拟100日To Matlab(simu2)b,服务时刻;c,到达时刻;e,结束时刻;数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2345源代码源代码simu1function i,t=simu1i=1;e=0;w=0;x(i)=random(random(expexp,10);%lambda=1/10lambda=1/10c(i)=x(i);b(i)=x(i);while(b(i)MAXK或PMAXP时停止迭代数学建模专题之数学建模专题之Mo

    35、nte Carlo方法方法2023-1-2349框框 图图初始化:给定MAXK,MAXP;k=0,p=0,Q:大整数xj=aj+R(bj-aj)j=1,2,nj=0j=j+1,p=p+1PMAXP?YNxj=aj+R(bj-aj)gi(X)0?i=1,2nYNjMAXK?YN输出X,Q,停止YN数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2350 在 Matlab中编程,共需三个文件:randlp.m,mylp.m 和 lpconst.m.主程序为randlp.m.%mylp.mfunction z=mylp(x)%目标函数z=2*x(1)2+x(2)2-x(1)*

    36、x(2)-8*x(1)-3*x(2);%转化为求最小值问题%lpconst.mfunction lpc=l pconst(x)%约束条件if 3*x(1)+x(2)2-10-0.5;%约束条件的误差为 lpc=1;else lpc=0;end 数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2351%randlp.m function sol,r1,r2=randlpdebug=1;a=0;%试验点下界b=10;%试验点上界n=1000;%试验点个数r1=unifrnd(a,b,n,1);%a,b均匀分布随机数矩阵r2=unifrnd(a,b,n,1);sol=r1(1

    37、)r2(1);z0=inf;for i=1:n x1=r1(i);x2=r2(i);lpc=lpconst(x1 x2);if lpc=1 z=mylp(x1 x2);if zz0 z0=z;sol=x1 x2;end endend数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2352蒙特卡洛方法预测最佳搜救区域蒙特卡洛方法预测最佳搜救区域n问题介绍问题介绍 根据搜救目标最后已知位置和时间根据搜救目标最后已知位置和时间,依据目标海上漂依据目标海上漂流风压特性流风压特性,综合海区不同时段风速、流速等环境信息及综合海区不同时段风速、流速等环境信息及其不确定性影响其不确定性

    38、影响,预测目标漂移后的搜索区域预测目标漂移后的搜索区域,随时间推随时间推移计算目标漂流轨迹移计算目标漂流轨迹,同时求出某一具体时刻目标在某可同时求出某一具体时刻目标在某可能区域的概率。能区域的概率。准确地预测漂浮物的漂浮区域对于及早确定遇险对准确地预测漂浮物的漂浮区域对于及早确定遇险对象搜救区域、成功实施援救具有决定意义。象搜救区域、成功实施援救具有决定意义。准确的搜索区域划定包含两个要求准确的搜索区域划定包含两个要求:搜救区域要搜救区域要能以最大概率包含搜救对象能以最大概率包含搜救对象,不至于遗漏搜救对象不至于遗漏搜救对象;搜搜救区域确定尽可能细致救区域确定尽可能细致,尽可能小尽可能小,使搜

    39、救力量可以集中使搜救力量可以集中在最短时间内搜索可能性最高的区域。在最短时间内搜索可能性最高的区域。数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2353蒙特卡洛方法预测最佳搜救区域蒙特卡洛方法预测最佳搜救区域n影响漂流的因素影响漂流的因素 漂浮物漂流模型漂浮物漂流模型:漂浮物漂流位置受事发位置、总流漂浮物漂流位置受事发位置、总流压速度、风压、搜索目标自身风压特性等因素的影响。压速度、风压、搜索目标自身风压特性等因素的影响。事发位置可由报告得知事发位置可由报告得知,包含一定半径误差包含一定半径误差,总流速可以总流速可以通过海上流速测量设备获得通过海上流速测量设备获得,

    40、不同海区海流速度随时间而不同海区海流速度随时间而变化变化,包含一定的测量误差。波浪的影响包含一定的测量误差。波浪的影响,对于搜救对象对于搜救对象外形大小远小于波浪波长的搜救对象可以忽略不计。而外形大小远小于波浪波长的搜救对象可以忽略不计。而在一些特殊区域在一些特殊区域,如沿岸潮流、岛屿、潮汐、内河水流等如沿岸潮流、岛屿、潮汐、内河水流等因素则需要特殊考虑。因素则需要特殊考虑。数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2354蒙特卡洛方法预测最佳搜救区域蒙特卡洛方法预测最佳搜救区域n遇险事故位置的概率分布遇险事故位置的概率分布 遇险位置因事发条件不同通常可以看作满足

    41、一定分遇险位置因事发条件不同通常可以看作满足一定分布率的位置分布。当遇险对象最后时间已知布率的位置分布。当遇险对象最后时间已知,失事位置未失事位置未定定,事故位置分布在一个圆形区域内事故位置分布在一个圆形区域内,符合最后已知点为符合最后已知点为圆心圆心,事故位置偏差距离为方差的基点分布事故位置偏差距离为方差的基点分布;当搜寻目标当搜寻目标沿一定航线航行沿一定航线航行,最后时间未知最后时间未知,搜寻目标位置分布可以搜寻目标位置分布可以看作以航线为基准线看作以航线为基准线,线的两侧满足正态分布的基线分布。线的两侧满足正态分布的基线分布。当失事位置可能是捕鱼区或其他作业区当失事位置可能是捕鱼区或其他

    42、作业区,事故的位置一般事故的位置一般认为是区域平均分布。对于一些特殊情况认为是区域平均分布。对于一些特殊情况,根据经验划分根据经验划分区域遇险位置概率分布。区域遇险位置概率分布。数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2355蒙特卡洛方法预测最佳搜救区域蒙特卡洛方法预测最佳搜救区域n风压作用模型风压作用模型 漂浮物在水面上受风力作用和水面下受到海流作用影响而使漂漂浮物在水面上受风力作用和水面下受到海流作用影响而使漂浮物偏离风向漂移浮物偏离风向漂移,形成风压角。风压角可能在风速方向顺时针右形成风压角。风压角可能在风速方向顺时针右偏偏,也可能以风速方向逆时针左偏也可

    43、能以风速方向逆时针左偏,以左偏矢量称作横风向为负以左偏矢量称作横风向为负,右右偏为正。将风压矢量依照风速方向和风速垂直方向分解偏为正。将风压矢量依照风速方向和风速垂直方向分解,风速方向风速方向分解得到矢量称作顺风向矢量分解得到矢量称作顺风向矢量,垂直风速分解得到的矢量称作横风垂直风速分解得到的矢量称作横风向矢量向矢量DWL=|L|sin(90-)(3)CWL=|L|cos(90-)(4)式中式中:L 总风压矢量总风压矢量;风压角风压角;DWL 顺向风压方向矢量顺向风压方向矢量;CWL 横向风压方向矢量横向风压方向矢量;数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-23

    44、56蒙特卡洛方法预测最佳搜救区域蒙特卡洛方法预测最佳搜救区域n漂流位置确定漂流位置确定 漂浮物的漂流速度漂浮物的漂流速度 Vdrift 满足满足:Vdrift =Vcurr+Vleeway (5)式中式中:Vcurr 海流对地总流速海流对地总流速;Vleeway 漂浮物相对水面环境的速度漂浮物相对水面环境的速度,即风压速度。即风压速度。漂流当前位置漂流当前位置 POScurr 满足满足:POScurr =POSlkp+Vdrift (tcurr tlkp )(6)式中式中:POSlkp 事发位置事发位置;tcurr 当前预测时间当前预测时间;tlkp 事发时间。事发时间。数学建模专题之数学建模

    45、专题之Monte Carlo方法方法2023-1-2357流程图流程图数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2358模拟结果模拟结果数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2359模拟结果模拟结果数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2360总结总结n应用范围:应用范围:n随机性问题随机性问题n非随机性问题非随机性问题n 一般步骤:一般步骤:n建立模型,画出流程图建立模型,画出流程图n根据随机变量的分布进行抽样根据随机变量的分布进行抽样n模拟模拟n统计出概率或求解。统计出概率或求解。数学建模专题之数学建模专题之Monte Carlo方法方法2023-1-2361谢谢大家谢谢大家!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:蒙特卡罗方法教材课件.ppt
    链接地址:https://www.163wenku.com/p-4923097.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库