20 世纪 40 年代,研究原子弹的科学家应用 Monte Carlo 模拟计算了一个裂变铀原子引起另一个裂变反应的概率,这是该模拟的首次应用,自此以来已经取得了很大进展。今天我们将介绍如何使用 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 模拟。

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

• 模拟和分析过程输出

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

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

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

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

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

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

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

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

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

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

基于以上结果,如果要减小标准差,则应当减小冲程长度和每分钟冲程数。活塞直径可以保持类似大小。请记住,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 的双因子中心复合设计。

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,我们可以确定在该过程中将看到的实际情况。同样,由于这基于模拟数据,您的答案会略有不同,但通常而言答案应该是正确的。如有必要,我们可以查看参数优化以微调我们的答案并找到最佳解决方案。

创建蒙特卡洛模拟的 4 个简单步骤相关推荐

  1. 使用 Engage 或 Workspace 创建 Monte Carlo 模拟的 4 个简单步骤

    20 世纪 40 年代,研究原子弹的科学家应用 Monte Carlo 模拟计算了一个裂变铀原子引起另一个裂变反应的概率,这是该模拟的首次应用,自此以来已经取得了很大进展.今天我们将介绍如何使用 Mi ...

  2. 创建 Excel 仪表板的 3 个简单步骤

    在 Excel 中创建仪表板的完整指南,包括提示和示例. Excel 仪表板:它们是什么? 仪表板是数据的紧凑可视化表示.用户可以从仪表板中快速提取见解,因为它们的设计引人注目.易于理解且简洁. 表格 ...

  3. java创建类的三个步骤_3个简单步骤即可测试Java 8

    java创建类的三个步骤 即将发布的Java 8版本为Java开发人员带来了许多新功能,但是升级时始终存在代码破裂的风险. 我们都记得Java 7出厂时有一系列非常严重的错误 . 当然,我们所有人都可 ...

  4. 创建项目执行计划的5个简单步骤

    项目执行计划是定义项目将如何执行的文件.执行计划解释项目中涉及的战略目标和步骤,定义项目完成时间表,并列出成功项目所需的资源(包括团队成员). 使用项目计划是多种项目管理最佳实践之一.这个过程并不像看 ...

  5. 如何通过 9 个简单步骤创建网站

    您可以在 20 分钟内创建一个网站.您也不需要成为技术向导. 不管是商务还是休闲.您不需要花哨的设计师或昂贵的开发人员.只需按照以下简单步骤操作,您就可以立即上线. 顶级虚拟主机提供商创建网站 如果你 ...

  6. matlab腔内光子寿命,mcFORnp matlab环境下,利用蒙特卡洛模拟光子包在生物组织内的光路传输 271万源代码下载- www.pudn.com...

    文件名称: mcFORnp下载  收藏√  [ 5  4  3  2  1 ] 开发工具: matlab 文件大小: 215 KB 上传时间: 2014-12-29 下载次数: 8 提 供 者: 徐某 ...

  7. 蒙特卡洛模拟(Monte Carlo simulation)

    1.蒙特卡罗模拟简介 蒙特卡罗模拟,也叫统计模拟,这个术语是二战时期美国物理学家Metropolis执行曼哈顿计划的过程中提出来的,其基本思想很早以前就被人们所发现和利用.早在17世纪,人们就知道用事 ...

  8. Excel实现一个基础的蒙特卡洛模拟

    蒙特卡洛模拟貌似名字非常学术,其实其原理非常简单.蒙特卡洛是一个著名赌场的名字,将其命名为蒙特卡洛模拟是为了形象表示其方法含义.如果放在今天命名的话,也可以将其称为拉斯维加斯模拟或者澳门模拟. 简而言 ...

  9. 2-8、蒙特卡洛模拟

    一.背景   蒙特卡罗模拟方法 (Monte Carlo simulation) 诞生于上个世纪40年代美国的"曼哈顿计划",名字来源于赌城蒙特卡罗.蒙特卡罗算法从某种意义上而言, ...

最新文章

  1. Sql字符串操作函数
  2. Could not find destination factory for transport解决方法
  3. adas记录仪app_4K旗舰丨盯盯拍MINI5智能行车记录仪荣耀新生!
  4. 编程神回复:数学不好能学编程吗?网友的回复令人满怀信心!
  5. linux 反弹 socket,反弹shell基础
  6. python paas_Python paasword包_程序模块 - PyPI - Python中文网
  7. 问题三十六:ray tracing中的Inverse Mapping(5)——圆锥面Inverse Mapping
  8. 本地数据库环境搭建(PhpStudy)
  9. 赤峰中考计算机考试软件,2017赤峰中考信息技术与实验操作考试实施细则
  10. 四旋翼无人机学习第7节--Si24R1以及RGBLED电路分析
  11. 初探三维计算机视觉(三维重建) —— 相机模型 + 双目系统 + 点云模型
  12. CentOS7关于hostname
  13. 赛尔号服务器维护时间2月13,赛尔号2月13日更新福利活动汇总 重生之翼王者归来大暗黑天刻印放送...
  14. Type-C PD充电器诱骗取电5V9V12V15V20V,XSP06+锂电池(筋膜枪)充电
  15. 西方文化系列讲座之罗马、基督教文化
  16. 2020阿里巴巴全球数学竞赛预选赛(第二轮)试题及答案
  17. Java常用环境配置(Maven、Mybatis、Spring、SpringMvc、Mybatis)
  18. 硕士学位答辩PPT制作技巧
  19. PLC_SCL数据查找算法
  20. 微信公众号之语音接口

热门文章

  1. VSTS删除本地工作区文件
  2. 北理889考研(食品跨考计算机)
  3. MiniFly微型四轴学习开发日志(三)——关于姿态解算的相关算法
  4. centos6.5 x64安装fontforge-20161012
  5. 高版本pytorch出现IndexError: invalid index of a 0-dim tensor.问题解决办法
  6. 11 Python 类和对象
  7. 如何优化 Mac 笔记本电脑的电池续航能力,解决电池问题
  8. EC20 4G 模块里GPS 0183协议里有GGA、GLL、GSA、GSV、RMC、VTG,
  9. [VBA]字符转换代码:全角转半角,平假名转片假名,首字母大写
  10. 从“咖啡智能”整车系统看长城汽车的未来野心