数学建模优化和仿真模拟的区别001

如果我们过于爽快地承认失败,就可能使自己发觉不了我们非常接近于正确!---卡尔·波普尔

数学建模优化和仿真模拟的区别001_第1张图片

数学建模优化和仿真模拟的区别

数学建模优化和仿真模拟的区别001_第2张图片

几十年来,工程师们一直使用模型(Model)来帮助他们理解系统过程并确定最佳解决方案。有时创建模型是为了让设计师发现特定设计问题的答案,而在其他情况下,则用来模拟模型在不同情况下的表现(即What-If假设性问题)。物理建模过程一直持续到20世纪末,当时建模软件的开发使工程师能够更容易地利用虚拟建模来探索模型的性能。

 

虽然表面上相似,但仿真(Simulation)和建模过程(Modeling)却截然不同。在仿真中分析师运行多个场景来预测系统或流程在不同条件下的表现,这正是预测分析的基础。

 

建模过程,通常也称为数学优化建模(Mathematical Optimization Modeling),不同之处在于它可以确定特定场景的特定的、最优化或最佳的结果。这被称为诊断一个结果,因此命名为决策建议性分析(或规范性分析)。

 

建模(Modeling)的定义

模型是物理对象或过程的表示。模型可以是物理的,也可以是数学的,并且可以紧密地复制对象或过程。它可以用来确定问题的答案,例如给定一组特定的情况下,哪个是最佳的商业决策。

 

优化建模(数学)的一个关键方面是使用数学方程式和相关技术来创建与被建模过程的执行方式大体相同的数理模型。这同样适用于商业模型,正如它适用于包含表示结构组件的物理强度和刚度公式的CAD模型一样。

数学建模优化和仿真模拟的区别001_第3张图片

图1:数学建模与优化过程

 

数学建模的示例

如前所述,可以用物理模型和数学模型进行建模。例如,一级方程式赛车队创建精确比例的赛车模型,以确定各种空气动力部件的最佳配置,从而最大限度地减少高速时的阻力或增加向下的压力。

 

在商业环境下,供应链管理者可以利用(数学)优化模型进行供应链网络设计,以确定供应商、地点、物流和生产的最佳组合,实现最优供应。这种方法对供应链进行建模,然后用组织数据和其他数据填充供应链模型,使用数学解算器软件(Math Solver)确定特定财务条件下的财务回报率,以促进最佳的决策。

数学建模优化和仿真模拟的区别001_第4张图片

图2:数学建模求解流程

 

什么是仿真模拟?

字典里对仿真模拟的定义是指两个具体的过程:一是通过创建系统的表示(或具体表达)来表示系统如何工作,另一个是通过模拟现实情况来检查问题。

 

换句话说,它涉及通过对系统的理论化、数学或物理性的表达进行测试来研究真实世界系统的行为模式和性能。通过应用不同的条件,可以发现和理解复杂的现实系统是如何工作的。仿真模拟用于深入了解系统在不同场景下的性能。在工业界更多是用于模拟业务流程。

数学建模优化和仿真模拟的区别001_第5张图片

图3:例如,Simio仿真软件模拟 流程工业

 

仿真模拟的示例

在第二次世界大战中,英国在德国的鲁尔河谷建立了一个精确比例的莫恩大坝模型。他们用它来研究如何在水面上弹起巨大的球形炸弹,使它们在爆炸前落到坝墙底部。他们还模拟投放全尺寸练习炸弹,以确定正确投放炸弹所需的正确速度、高度和位置。

 

天气预报员使用仿真模拟模型来预测未来的天气情况。这些预测使户外活动的组织者能够为可能的天气提前做准备,同时也让天气预报员对可能出现的异常天气发出警报。虽然基于多次仿真模拟,天气预报结果通常是非常准确的,但它无法提供具体的答案,除非在可能非常接近的时间中。

 

仿真模拟可以使用物理模型进行仿真实验,或使用计算机虚拟模型进行仿真。

 

数学建模和仿真模拟的区别

重要的是要了解每种方法都是有效的,它们提供了不同的见解和宝贵信息。

 

(数学)建模优化与仿真模拟的关键区别在于:(数学)建模优化为特定情况下的行动提供了明确的(或接近精确的)建议,而仿真则允许用户确定系统如何响应不同的系统输入,以便更好地了解其运行方式。

 

在优化建模中,数学技术被用来表示现实世界的各种情况。该方法考虑了关键变量、约束和权衡,从而确定了一个可行的、能达到一定目标的最优解。

 

另一方面,仿真模拟评估多个不同的场景,试图了解系统“将”如何工作。一个很好的例子是蒙特卡罗仿真模拟(Monte Carlo),它使用基于概率的随机数生成的输入来确定各种场景的结果。这种方法的局限性在于,结果可能不可行,甚至完全无法工作。此外,由于答案取决于随机生成的变量,因此无法准确确定单个最优解决方案,尽管在某些情况下,答案可能相当接近!

 

数学优化建模和仿真结合使用

(数学)优化建模和仿真模拟之间的差异有时可以派上用场。虽然优化建模将推荐“特定的”策略,但仿真模拟可用于优化场景规划并帮助回答“假设问题”。

 

利用好这些差异的另一种方法是,在使用优化建模来确定具体答案之前,可使用仿真模拟来广泛了解系统如何工作。例如,商业组织可以使用仿真建模测试各种条件来确定是否必需额外的配送中心,并使用数学优化建模来确定其最佳位置和最佳规模。

 

数学建模优化和仿真模拟的区别001_第6张图片

图4:数学建模优化的典型用例(LocalSolver大规模问题数学求解器)

 

数学建模和仿真模拟双剑合璧获得更大的业务确定性


仿真分析有助于预测系统未来的性能。销售主管使用仿真预测分析来模拟未来的市场趋势和变化,而股票经纪人则使用仿真预测分析来预测股票和债券指数的变化。数学优化建模通过提供特定业务问题的特定的、数据驱动的最佳答案,使这一能力更进一步提高。

 

真正的数学优化建模是规范性分析软件(如我们公司LOCAL SOLVER数学建模求解器或我们公司代理的MIDACO数学求解器)的底层基础,它总是使用从描述性和规范性分析中获得的数据来确定特定业务问题的最佳解决方案,并作为一种先进的运筹学工具来分析不同的场景。

数学建模优化和仿真模拟的区别001_第7张图片

图5:LocalSolver优化器优化博世公司MilkRun路线-2017混合整数规划标杆

 

作者的心得体会

仿真模拟和数学优化建模都是运筹学分支,仿真模拟技术的商业应用在美国50年代发源,至今已有六七十年历史,但值得一提的是,数学优化建模的技术起步还要早,早在1817年法国数学家Gaspard Monge就提出了一个典型的运输优化问题。运筹学一词是1937年由英国物理学家AP Rowe在军事背景下提出的,在第二次世界大战之前和期间的几年里,运筹学经历了一个快速发展期:围绕生产成本的最小化,工艺路线的最小化,决策时间的最小化,后勤的努力和情报收集效率的最大化等产生了决定性的影响(比如英国二战作战研究和二战作战研究:针对潜艇的作战研究)。美国从1942年开始采用这一学科。战后,运筹学被广泛应用于工业、经济、管理等领域,并逐渐发展成为决策显学。

数学建模优化和仿真模拟的区别001_第8张图片

图6:Monge最优运输问题

 

作为运筹学的最重要分支之一,数学优化建模的应用在最近五年内获得爆发性增长,据美国【Forrester 咨询公司】2020年统计报告:在美国有37%的数据科学经理,运筹规划经理经常使用数学规划求解器解决复杂系统的优化问题。

数学建模优化和仿真模拟的区别001_第9张图片

图7:数学优化的技术赋能器已经在位

 

在仿真建模和数学建模技术的应用方面,传统观点是数学建模是第一选项,仿真模拟是第二选项。理论上数学规划也能够提供系统的约束、时间和顺序上的约束,以及随机性。但是一般由于现实问题过于复杂,导致很难形成闭环的数学模型可以体现如此众多细节和动态约束,加上计算机算力的问题还存在比较大的问题,所以遇到这种问题,第二个选项就是仿真模拟。仿真模拟更加容易实施,更方便加入真实性和随机性,而不必过分简化,并且随着云计算和并行计算能力的提高,同时运行上万次乃至上百万次仿真实验也变得可行!

 

这两种分析技术各有优缺点,比如:数学建模可能存在的缺点是您可能需要对事物的统计分布做出不切实际的假设。例如在排队论中,通常假设驱动系统的随机事件遵循“泊松统计”,这意味着系统没有(或很少有)长期记忆能力或相关性。你可以得到非常简洁的解决方案,但它们无法捕捉到可能主导实际系统行为的相关性。有时数学建模是非常刚性(僵硬)的,不但有表达规范,在成千上万的约束下你可能得到的答案是“不可行”“无最优解”“没有界限”这令人沮丧。数学规划很多时候打交道的问题都是NP难问题,如果规模足够大,那么求解器的求解效率也是一个比较突出问题(建议:千万不要使用免费开源的求解器,那将是一个极其痛苦的事情)。而仿真模拟很多时候可以绕过这些限制,您可以根据需要对随机过程进行精确建模加入任何不必符合数学求解的结构。您可以调整条件,以适应这一瞬间发生的事情,从而保证解决方案是'好'的(相对于先前发生的事情)。但缺点是,您必须对要探索的每个输入参数组合运行多次仿真试验,仿真试验有时候非常耗时(尤其是涉及到离散优化),并且很多时候仿真建模很难标准化(规范性),不同于数学建模许多问题都有比较规范的数学表达。他们之间的差异恰恰是可以相辅相成的,数学建模优化和计算机仿真模拟如果您能在同一个问题上同时做这两件事,那就非常有效了。如果你能从两者中学习,通过一种方法和另一种方法并能完善两者,你能最有效地得到不同问题的可信的答案。

 

结论:仿真模拟和数学优化建模不能被完全分开来看,其各有利弊,数学建模对于用户的数学功底要求更高一些,并且建模的重点是如何转换实际问题成数学表达,重中之重就是如何识别这个数学模型的特点并匹配最合适的求解算法或求解器(比如数学模型是MIP,还是MICP,MIQP,QCP,MINLP等等)。阅读原文: 数学建模优化和仿真模拟的区别

你可能感兴趣的:(localsolver)