0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

创建蒙特卡洛模拟的 4 个简单步骤

MinitabUG 来源:MinitabUG 作者:MinitabUG 2022-08-08 14:01 次阅读

20 世纪 40 年代,研究原子弹的科学家应用 Monte Carlo interwetten与威廉的赔率体系 计算了一个裂变铀原子引起另一个裂变反应的概率,这是该模拟的首次应用,自此以来已经取得了很大进展。今天我们将介绍如何使用 Minitab 为已知的工程公式和 DOE 方程创建 Monte Carlo 模拟。

由于当时铀供应短缺,试验的试错空间很小,因此 Monte Carlo 模拟一直专注于根据模拟数据计算可靠的概率。如今,从材料工程到医疗设备包装密封再到炼钢,模拟数据经常用于许多场景,例如资源有限的场景,或者收集真实数据过于昂贵或不切实际的场景。使用 Engage 或 Workspace 的 Monte Carlo 模拟工具可以:

(1)模拟可能结果的范围以帮助做出决策

(2)预测财务结果或估计项目时间表

(3)了解过程或系统中的变异性

(4)在过程或系统中发现问题

(5)通过了解成本/效益关系来管理风险

开始使用任何 Monte Carlo 模拟的4 个步骤

模拟可能非常复杂,具体取决于所涉及因子的数量。但所有 Monte Carlo 模拟基本上都有四个简单的步骤:

• 确定传输方程

要创建 Monte Carlo 模拟,您需要一个包含要探索的业务活动、计划或过程的定量模型。过程的数学表达式称为“传输方程”。这可以是已知的工程或业务公式,也可以基于根据设计试验 (DOE) 或回归分析创建的模型。借助 Minitab Engage 和 Minitab Workspace 等软件,您能够创建复杂的方程,甚至是具有多个可能相互依赖的响应的方程。

• 定义输入参数

对于传输方程中的每个因子,确定其数据的分布方式。一些输入可能遵循正态分布,而另一些则遵循三角分布或均匀分布。然后,您需要确定每个输入的分布参数。例如,需要为遵循正态分布的输入指定均值和标准差。如果您不确定数据遵循哪种分布,可以使用 Engage 和 Workspace 提供的工具来确定。

• 设置模拟

要进行有效的模拟,您必须为每个输入创建一个非常大的随机数据集(大约包含 100,000 个实例)。这些随机数据点模拟在很长一段时间内,对于每个输入将看到的值。尽管听起来工作量很大,但这正是 Engage 和 Workspace 的亮点。一旦我们提交输入和模型,一切都会得到处理。

• 分析过程输出

有了模拟数据,您就可以使用传输方程来计算模拟结果。考虑到输入中的预期变异,通过模型运行足够多的模拟输入数据将可靠地指出该过程将在一段时间内输出的内容。

Monte Carlo 使用已知工程公式的4 个步骤

一家制造公司需要评估所提议产品的设计,这是一款每分钟必须泵送 12 毫升流体的小型活塞泵。考虑到活塞直径 (D)、冲程长度 (L) 和每分钟冲程数 (RPM) 的自然变异,您想要估计数千个泵的可能性能。理想情况下,数千个泵的泵流量将具有不大于 0.2 毫升的标准差。

• 确定传输方程

进行 Monte Carlo 模拟的第一步是确定传输方程。在本例中,您只需使用已知的工程公式来测量泵流量:

流量(以毫升为单位)= π(D/2)2 ∗ L ∗ RPM

• 定义输入参数

现在,必须定义传输方程中使用的每个输入的分布和参数。泵的活塞直径和冲程长度是已知的,但必须计算达到所需 12 毫升/分钟流速所需的每分钟冲程数 (RPM)。每个冲程泵送的体积按以下方程计算:π(D/2)2 * L

如果 D = 0.8,L = 2.5,则每个冲程排出 1.256 毫升流体。因此,要达到 12 毫升/分钟的流速,RPM 为 9.549。

根据贵厂制造的其他泵的性能,您可以假定活塞直径呈正态分布,均值为 0.8 厘米,标准差为 0.003 厘米。冲程长度呈正态分布,均值为 2.5 厘米,标准差为 0.15 厘米。最后,每分钟冲程数呈正态分布,均值为 9.549 RPM,标准差为 0.17 RPM。

• 在 Engage 或 Workspace 中设置模拟

单击顶部功能区中的插入选项卡,然后选择 Monte Carlo 模拟。

get?code=MDc2MjRlYzM3Yzk4ZWNhMjRhYmFkNmU2N2RkNmQ2ZjMsMTY1OTkzNjA2OTEyOA==

我们将它变得非常简单 — 您只需为每个变量提供名称,从下拉菜单中选择一个分布,然后输入参数。我们将按照上面所述的内容进行操作。如果您不确定数据遵循哪种分布,可以选择使用数据确定。这将提示您上传数据的 .csv 文件,可从以下几个选项中进行选择:

get?code=MmQ3MTEyYjczNjViMzQ1MTBiYmIzMzRhNjQzNmMxZmMsMTY1OTkzNjA2OTEyOA==get?code=MDZmNzA2MzY2MTg0ZTJkODhlODg4NmM5MTgzMmFjZDAsMTY1OTkzNjA2OTEyOQ==

• 模拟和分析过程输出

下一步是给出方程。在这里,操作非常简单,只需为您的输出提供名称(我们提供的名称是 Flow),然后键入我们在上面确定的正确传输方程。您还可以添加规格上限和规格下限以查看模拟的比较情况。

get?code=NDVhNDVjN2QxODdlNGQyZTcwN2Q5MDg1ODcxODg0NWUsMTY1OTkzNjA2OTEyOQ==

然后,在功能区中,选择要运行的模拟数量(100,000 是不错的基准),然后单击用来运行模拟的按钮。

get?code=NTI4YTdhNzYxYTZhZjZkYjhlZDdhMGM2YzEyZGYzYzksMTY1OTkzNjA2OTEyOQ==

对于为了撰写本文而生成的随机数据,基于 100,000 个样本的平均流速为 11.996。从平均值来看,我们达到了目标,但最小值为 8.7817,最大值为 15.7057。这是一个相当大的范围。(所有组件的)传输变异导致标准差为 0.756 毫升,这远远超过目标值 0.2 毫升。

看起来这种泵的设计变异太大,需要在投入生产之前进一步完善。从这里,我们看到模拟所带来的好处。如果我们直接投入生产,很可能会生产出太多被退货的泵。借助 Monte Carlo 模拟,我们能够解决所有这些问题,而不会因制造和测试数千个原型或过早投入生产而产生费用。

get?code=NTZiODhjOTI4ZDM3MjllZTk1NmU3NGU1YjFmYjFiZTMsMTY1OTkzNjA2OTEyOQ==

您可能想了解这些模拟结果是否站得住脚,不妨自己尝试一下吧!运行不同的模拟将导致轻微的变化,但每次的最终结果(流速变异量不可接受)都会保持一致。这就是 Monte Carlo 方法的强大之处。

另一个可选步骤:参数优化

了解到标准差过高非常有价值,但 Engage 和 Workspace 真正突出的地方在于它们能够帮助改善状况。这就是参数优化的用武之地。

让我们看看第一个输入:活塞直径。平均值为 0.8,大部分数据将接近该值,或者在平均值的一两个标准差内。但是,如果活塞直径越小,流动效率越高,该怎么办?参数优化有助于我们回答这个问题。

为了进行参数优化,我们需要为每个输入指定搜索范围。在本例中,为简单起见,我指定的算法搜索范围是 +/- 3 个标准差。然后,Engage 或 Workspace 将帮助我们为每个输入找到要实现目标(在本例中是减小标准差)的最佳设置。选择合适的范围至关重要;确保您输入的整个范围都可以运行;如果找到的最佳解决方案无法在生产环境中复制,则毫无用处。

get?code=NWUzNTkxYzk3Mzg3Y2E0ZmZlMzNhNmU5MGFhZDAyMTIsMTY1OTkzNjA2OTEzMQ==

如果您在 Minitab Statistical Software 中用过响应优化器,则原理类似。下面是我们的结果:

get?code=ZDdlNzVlMDA2NTdkZTQ2YzgyNzU1N2EyNTg0NWUzOTUsMTY1OTkzNjA2OTEzMQ==

基于以上结果,如果要减小标准差,则应当减小冲程长度和每分钟冲程数。活塞直径可以保持类似大小。请记住,Monte Carlo 模拟的关键之处在于,能够在不构建单个新原型或进行新试验的情况下找出所有这些结果。

Monte Carlo 使用试验设计 (DOE) 响应方程

如果您不知道要使用什么方程,或者您正在尝试模拟独特过程的结果,该怎么办?此时,我们可以将 Minitab Statistical Software 的设计试验功能与 Engage 或 Workspace 的模拟功能相结合。

一家电子制造商已指派您改进其电极清洁操作,该操作为电镀金属部件做准备。制造商通过电镀在原材料上涂上一层不同的金属,以实现所需的特性。电镀不会附着在肮脏的表面上,因此该公司有一个连接到自动电镀机的连续流电极清洗系统。传送带将每个部件浸入槽中,槽中的电压通过部件传送,从而对部件进行清洁。如果清洁不充分,会导致平均粗糙度的均方根(简称 RMS)值太高以及表面光洁度较差。经过正确清洁的部件具有光滑的表面和较低的 RMS。

为了优化该过程,可以调整两个关键输入:电压 (Vdc) 和电流密度 (ASF)。对于电极清洁方法,Vdc 的典型工程限值为 3 至 12 伏。电流密度限值为 10 至 150 安培/平方英尺 (ASF)。

• 确定传输方程

您不能针对该过程使用教材上的已知公式,但可以在 Minitab 中设置响应曲面 DOE 以确定传输方程。响应曲面 DOE 通常用于通过为“关键少数”可控因子寻找最佳设置来优化响应。

在本例中,响应将是部件在清洁后的表面质量。

要在 Minitab 中创建响应曲面试验,请选择统计 > DOE > 响应曲面 > 创建响应曲面设计。由于我们有两个因子(电压 (Vdc) 和电流密度 (ASF)),因此我们将选择试验次数为 13 的双因子中心复合设计。

get?code=YzVlZmEyNTU4ZDBmMzU1MDczYTNjZjI5MWM2M2Q0NzQsMTY1OTkzNjA2OTEzMQ==

Minitab 创建设计试验后,您需要执行 13 次试验、收集数据并记录 13 个清洁后部件的表面粗糙度。通过 Minitab,可轻松分析 DOE 结果、简化模型和使用残差图检查假定。使用最终模型和 Minitab 的响应优化器,可以找到变量的最佳设置。在本例中,您将电压设置为 7.74,将 ASF 设置为 77.8,所获得的粗糙度值为 39.4。

响应曲面 DOE 为 Monte Carlo 模拟生成以下传输方程:

粗糙度 = 957.8 − 189.4(Vdc) − 4.81(ASF) + 12.26(Vdc2) + 0.0309(ASF2)

• 定义输入参数

现在,您可以为Monte Carlo模拟输入设置参数定义,并将它们带入Engage或Workspace 中。

请注意,标准差必须已知或基于现有的过程知识进行估计。这适用于所有 Monte Carlo 输入。电压呈正态分布,均值为 7.74 Vdc,标准差为 0.14 Vdc。每平方英尺安培数 (ASF) 呈正态分布,均值为 77.8 ASF,标准差为 3 ASF。

• 在 Engage 或 Workspace 中设置模拟

这与步骤 3 完全相同。单击功能区中的插入 > Monte Carlo 模拟,添加您的输入并定义其参数,然后输入您的模型。在本例中,如果您拥有最新版本的 Minitab,则可以单击鼠标右键,然后点击发送到 Engage或发送到 Minitab Workspace。如果您没有,则可以从 Minitab 输出中手动复制它并将其粘贴到 Engage 或 Workspace 的模型字段中。

• 模拟和分析过程输出

汇总表明,即使基础输入呈正态分布,RMS 粗糙度的分布也不是正态的。该汇总还显示所有组件的传输变异导致标准差为 0.521,根据您掌握的过程知识判断,这是不错的过程结果。基于试验次数仅为 13 的 DOE,我们可以确定在该过程中将看到的实际情况。同样,由于这基于模拟数据,您的答案会略有不同,但通常而言答案应该是正确的。如有必要,我们可以查看参数优化以微调我们的答案并找到最佳解决方案。

get?code=NzNhMGJmYjQ4ZjY2YjE3MWRkNjVjMzc2ZjQxYzAxNmUsMTY1OTkzNjA2OTEzMg==get?code=NzRhNTk1NjIwMmNkY2YxMjg0ODNjOTQ2NWRjZmZkYzEsMTY1OTkzNjA2OTEzMg==

审核编辑 黄昊宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 模拟
    +关注

    关注

    7

    文章

    1422

    浏览量

    83925
  • Minitab
    +关注

    关注

    0

    文章

    174

    浏览量

    11699
  • 蒙特卡洛
    +关注

    关注

    0

    文章

    13

    浏览量

    8165
收藏 人收藏

    评论

    相关推荐

    蒙特卡洛法求解估计值

    蒙特卡洛
    YS YYDS
    发布于 :2022年10月28日 23:05:40

    MATLAB蒙特卡洛算法汇集篇

    蒙特卡洛算法,大家可以看看
    发表于 03-30 17:55

    模拟电路故障:用PSPICE做电路故障蒙特卡洛分析遇到问题

    本人新手,研究生论文为模拟电路故障仿真,在用PSPICE做电路故障蒙特卡洛分析,现在遇到问题,如何将仿真结果导入Matlab进行画图或者分析。还请高手给予指点。万分感谢!
    发表于 07-29 15:38

    基于蒙特卡洛法算圆的面积

    这是一比较简单的入门程序,是通过概率来算面积的比如说一面积为1的正方形如果里面有n1点,一圆里面有n2
    发表于 09-10 15:16

    求助关于multisim中蒙特卡洛分析不能添加输出节点的问题

    请问各位大神有没有什么好的方法能让我一次观测好多变量。举个例子如图。我只能选择一变量,如V(probe1)进行***仿真。我能不能选择V(probe1)~V(probe5)之后再进行蒙特卡洛仿真呢?或者有没有什么方法能让我每进行一次
    发表于 03-05 16:53

    蒙特卡洛分析方法示例

    在仿真中,可以对整体特性的波动进行评估。这在电路整体的特性受多个电路元素影响时是非常有效的分析方法。其实方法有很多,一般采用的方法是围绕对整体特性有较大影响的电路元素来模拟波动。蒙特卡洛分析方法示例波动
    发表于 07-12 04:20

    用ADE XL做蒙特卡洛仿真分析,要怎样设置呢?

    用ADE XL做蒙特卡洛仿真分析,在弹出的对话框里面,要怎样设置呢?只知道有一是设置仿真点数的,其他的各项设置都是什么含义呢?
    发表于 06-22 06:36

    蒙特卡洛分析时出现错误是什么原因导致的?

    蒙特卡洛分析时出现这个错误是什么原因蒙特卡洛仿真有用吗?
    发表于 06-25 07:59

    求助!!!!蒙特卡洛仿真时出现错误如何解决???

    求助!!!! 在蒙特卡洛仿真时出现下面的错误如何解决呢?? 不知道是不是model配置的有问题,不清楚model file里的文件是什么意思以及如何选取??
    发表于 11-17 10:45

    热辐射传输中的蒙特卡洛方法

    热辐射传输中的蒙特卡洛方法蒙特卡洛方法概述:蒙特卡洛方法是一种随机模拟方法。将其用于辐射传热计算时,其基本思想:将辐射能量看成由大量独立的光束(光子)组成
    发表于 07-06 07:24 54次下载

    基于蒙特卡洛方法的碰撞预警系统仿真

    本文提出了一种基于蒙特卡洛方法的汽车碰撞预警系统。本系统可以自动连续测量行驶车辆前方障碍物的速度和方位等数据,经过估计产生车体和目标的姿态,利用蒙特卡洛方法计
    发表于 12-16 13:52 25次下载

    蒙特卡洛模拟优缺点

    本文以蒙特卡洛法为中心,对蒙特卡洛的优缺点、缺点的改进方法、蒙特卡洛的基本原理思想与应用领域进行了详细的概述。
    发表于 12-15 14:31 5.5w次阅读
    <b class='flag-5'>蒙特卡洛</b><b class='flag-5'>模拟</b>优缺点

    蒙特卡洛模拟方法

    蒙特卡洛是摩纳哥大公国的一座知名赌城,里面遍布轮盘赌、掷骰子和老虎机等游戏,类似的,蒙特卡洛方法的建模机制也基于随机数和统计概率。
    的头像 发表于 06-05 11:13 9692次阅读

    基于蒙特卡洛相似度遗传算法的运输求解算法

    针对平衡运输问题,文中提岀了一种基于蒙特卡洛相似度遗传算法的求解算法。首先,利用矩阵元素对种群个体进行初始化,增加了种群的多样性;其次,设计了动态变异率算子和随杋变异策略,以増强算法的搜索能力,加快
    发表于 05-10 11:27 3次下载

    PSpice仿真教程之蒙特卡洛分析

    前面我们已经讲了PSpice提供的三种最基本的分析方法:直流分析、交流扫描分析和瞬态分析,也讲了一种进阶分析:参数扫描分析,今天我们讲一种统计分析方法——蒙特卡洛分析(Monte Carlo)
    的头像 发表于 11-10 09:57 1.5w次阅读