当前位置: 首页 > 科技观察

基于机器学习和约束优化的数字孪生模型

时间:2023-03-15 18:41:43 科技观察

朱宪忠审稿人|的数字对应物,可用于模拟和预测输入行为、监控、维护、规划等。虽然认知客服机器人等数字孪生在日常应用中很常见,但在本文中我将比较这两种不同类型通过说明行业中的两种不同类型来展示建模中使用的数字孪生模型。双数据科学技术。本文讨论的两个广泛使用的数字孪生数据科学领域如下:a)诊断和预测分析:在这种分析方法中,给定一系列输入,数字孪生用于诊断原因或预测未来行为系统。基于物联网的机器学习模型用于创建智能机器和工厂。通过这个模型,可以实时分析传感器输入,以诊断、预测和预防未来的问题和故障,防患于未然。b)规范分析:这种分析方法模拟整个网络,以便在给定一组要遵守的变量和约束条件的情况下,从大量候选者中识别出最佳或可行的解决方案,通常目标是最大限度地实现既定业务吞吐量、利用率、产量等目标。这些优化问题广泛应用于供应链计划和调度领域,例如当物流供应商为其资源(车辆、人员)制定时间表以最大限度地准时交货时;此外,当制造商制定计划以优化机器和操作员的使用以最大限度地提高OTIF(完全准时)交付时。这里使用的数据科学技术是约束数学优化,一种使用强大的求解器来解决复杂的决策驱动问题的算法。总之,ML模型根据历史数据预测一组给定输入特征的可能结果,而优化模型可以帮助您决定,如果预测的结果发生,您应该计划如何解决/缓解/利用它,因为您的业务已经几个潜在的竞争目标,您可以选择用有限的资源来实现这些目标。这两个数据科学领域在共享一些工具(例如Python库)的同时,调动了具有完全不同技能组合的数据科学家——他们通常需要不同的思维方式和建模业务问题。因此,让我们尝试理解和比较所涉及的方法,以便在一个领域有经验的数据科学家能够理解和交叉利用可能适用于另一个领域的技能和技术。数字孪生应用案例为了进行比较,让我们考虑生产根本原因分析(RCA:根本原因分析)过程的基于ML的孪生,其目的是诊断成品或产品中发现的缺陷或异常的根本原因制造过程。这将帮助部门经理根据工具的预测排除最可能的根本原因,最终确定问题并实施CAPA(Corrective&Preventiveactions:纠正和预防措施),快速浏览所有机器维护记录,而无需花费太多人力、操作员历史记录、流程SOP(StandardOperatingProcedure:标准操作程序)、物联网传感器输入等。目标是最大限度地减少机器停机时间、生产损失并提高资源利用率。从技术上讲,这可以被认为是一个多类分类问题。在此问题中,给定某个缺陷,模型会尝试预测一组可能的根本原因标签中每个标签的概率,例如机器相关、操作员相关、过程规范相关、原材料相关或其他,以及这些一级分类标签下的机器校准、机器维护、操作员技能、操作员培训等细粒度原因。尽管针对这种情况的最佳解决方案需要评估多个复杂的ML模型,但出于本文的目的,让我们进行简化—假设这是一个多项逻辑回归问题(原因将在下一节中阐明)。为了进行比较,让我们考虑生产计划流程的优化双胞胎,它生成一个计划,该计划试图在机器、操作员、流程步骤、持续时间、原材料到达计划、到期日等方面最大化目标,例如生产或收入.此类自动化计划可帮助组织快速调整资源以响应市场中的新机会(例如COVID-19引起的药品需求)或最大限度地减少不可预见事件(例如最近的供应链瓶颈)的影响。在对任何业务问题建模的基础层面上,开发这样的数字孪生需要考虑以下内容:A、输入特征或维度B、输入数据——这些维度的值C、输入到输出的转换规则D、输出或目标接下来,让我们更深入地分析和比较约束模型下机器学习(ML)和优化中的这些因素:A.输入特征:这些是系统中适用于ML和优化的数据维度。对于试图诊断生产过程中问题的ML模型,需要考虑的特征可能包括:IoT输入、历史机器维护数据、操作员技能和培训信息、原材料质量信息、SOP(StandardOperatingProcedures:标准操作程序)遵循的程序)等等。同样,在受约束的优化环境中,要考虑的特征包括:设备可用性、操作员可用性、原材料可用性、工作时间、生产率、技能等,制定最佳生产计划所需的典型特征。B.输入数据:这是上面两种方法以明显不同的方式使用特征值的地方。其中,ML模型需要大量的历史数据进行训练。但是,在将数据输入模型之前,通常需要进行大量与数据准备、管理和规范化相关的工作。需要注意的是,历史记录是对实际发生的事件的记录(例如机器故障或操作员技能问题导致输出不足),但通常不是这些特征可以得到的所有可能值的简单组合获得。换句话说,交易历史将包含更多的那些频繁发生的场景的记录,而其他场景的记录相对较少-可能很少发生的场景。训练模型的目标是使其能够学习特征和输出标签之间的关系,并能够预测准确的标签——即使在训练中很少或没有特征值或特征值组合的情况下数据。另一方面,对于优化方法,特征值通常保留为实际数据,例如天数、批次、截止日期、按日期划分的原材料可用性、维护计划、机器转换时间、流程步骤、操作员技能等。与ML模型的主要区别在于,输入数据处理需要为主数据特征的每个可能有效组合生成索引表值(例如天数、技能、机器、操作员、流程类型等)部分。例如,操作员A在一周的第一天使用机器M1并以技能水平S1执行流程的步骤1,或者操作员B在一周的第二天使用机器M1并以技能水平执行步骤1S2;即使对于操作员、机器、技能水平、日期等的所有可能组合,也不管这些组合是否在过去实际发生过。这将导致提供给优化引擎的输入数据的非常大的记录集。优化模型的目标是在最大化(或最小化)目标方程的同时选择满足给定约束的特征值的特定组合。C、输入到输出的转换规则:这也是两种方法的显着区别。尽管ML和优化模型都是基于高等数学理论,但优化方法中复杂业务问题的数学建模和编程通常比ML需要更多的努力,这将在下面的介绍中有所体现。原因是在ML中,借助scikit-learn等开源库,Pytorch或Tensorflow等框架,甚至云服务商的ML/深度学习模型,将输入到输出的转换规则完全交给了要找到的模型,其中还包括执行损失校正的任务,以便推导出最优规则(权重、偏差、激活函数等)。数据科学家的主要职责是确保输入特征及其值的质量和完整性。这不是优化方法的情况,因为输入如何相互作用并转换为输出的规则必须使用详细的方程来编写,然后将其提供给Gurobi、CPLEX等求解器,以便找到最佳或可行的解决方案。此外,将业务问题表述为数学方程需要深入了解建模过程中的相互关系,并且需要数据科学家和业务分析师之间的密切合作。下面,让我们用逻辑回归模型的示意图来说明这个问题RCA(根本原因分析)应用程序:逻辑回归ML模型注意,在这种情况下,从输入数据生成结果的规则(Z?)计算任务留给模型去推理,数据科学家通常忙于使用定义明确的指标,如混淆矩阵、RMSE等,以视觉方式实现准确预测。我们可以将其与优化方法生成生产计划的方式进行比较:(I)第一步是定义封装计划过程的业务规则(约束)。这是一个生产计划的例子:首先,我们定义一些输入变量(其中一些可以是决策变量,用于驱动目标):B?,p,?-表示产品p批次的二进制变量(在产品表中)β(在批处理表中)安排在第i天。O?,p,?-指示索引o处的操作员(在操作员表中)是否计划在第i天处理一批产品p的二进制变量。Mm,p,?-指示索引为m的机器(在机器表中)是否计划在第i天处理一批产品p的二进制变量。以及一些系数:TO?,p-操作员o处理一批产品p所花费的时间。TMm,p-机器m处理一批产品p所花费的时间。OAv?,?—操作员在第i天索引o的可用小时数。MAvm,?——索引为m的机器在第i天的可用小时数。在这种情况下,可以使用以下方法实施一些约束(规则):a)在计划中,特定批次只能启动一次。其中,对于每批产品,Bt是批次总数,Pr是产品总数,D是计划中的天数:b)一个产品每天只能由一个操作员启动一次,或者机器。对于每个产品的每一天,其中Op是所有操作员的集合,Mc是所有机器的集合:c)在一个批次(所有产品)上花费的总时间不应超过当天操作员和机器的可用时间。对于每个操作员,有如下约束:对于每台机器的每一天,有如下约束:d)如果操作员在计划的前5天内处理了一批产品,则同一产品的所有其他批次必须processed批次分配给同一个操作员。这保持了操作员的连续性和生产力。对于每个操作员和每个产品,每天d(从第6天开始)存在以下约束:实际生产调度场景形成数学方程式。请注意,这些约束是线性方程(或更具体地说,是混合整数方程)。然而,它们与逻辑回归ML模型之间的复杂性差异仍然非常明显。(II)一旦确定了约束条件,就需要定义输出目标。这是一个关键步骤,可能是一个复杂的过程,如下一节所述。(III)最后将输入的决策变量、约束和目标送入求解器得到一个解(调度)。描述基于优化方法的数字孪生的示意图如下:可以成立。虽然我不会在本文中深入探讨这些问题,但考虑到可用信息的丰富性,值得注意的是,可以高度自动化地评估各种模型的输出,例如领先的CSP(AWSSagemaker、AzureML、ETC。)。评估优化模型是否生成正确的输出更具挑战性。优化模型通过尝试最大化或最小化称为“目标”的计算表达式来工作。与约束一样,目标部分是由数据科学家根据企业试图实现的目标设计的。更具体地说,这是通过将奖励条件和惩罚条件附加到决策变量来实现的,优化器试图最大化它们的总和。对于现实世界的问题,需要多次迭代才能为不同的目标找到正确的权重,以便在有时相互冲突的目标之间找到良好的平衡。为了进一步说明上面的生产排程例子,我们不妨设计以下两个这样的目标:a)排程应该提前加载;应尽快安排批次,计划中剩余的容量应在计划的末尾。为此,我们可以对计划中每天递增的批次附加一天的惩罚。b)另一方面,我们也希望对相同产品的批次进行分组,以便优化利用资源(操作员和机器)部分,前提是该批次满足交货期限并且该组在一次运行中不超过机器容量。因此,我们定义了一个Batch_group_bonus,如果批次被安排在较大的组中而不是较小的组中,它将提供更高的奖金(因此在下面的表达式中是指数级的)。请注意,这有时可能会超过之前的目标,因为今天开始的一些批次将与几天后可用的更多批次合并,因此可能会在所利用的计划资源的早期留下一些未完成的部分。根据求解器的工作方式,实际实现通常需要一组决策变量。然而,这表达了以下概念:求解器将最大化目标,即:Objective=Batch_group_bonus+Day_penalty在目标的上述两个组成部分中,哪个对给定日期的时间表影响更大取决于权重W?,W2和schedule的日期,因为daypenalty值在schedule后面会逐渐变大(i值更高)。如果天数惩罚值在某个时候大于Batch_group_bonus,Solver会发现不安排该批次是明智的;因此,调度并产生净负惩罚,即使调度中还有资源容量,也会产生零惩罚,从而最大化目标。这些问题需要数据科学家进行故障排除和解决。ML方法和优化方法的相对工作量比较根据上述讨论,可以推测,一般来说,优化项目比ML项目需要更多的工作量。优化几乎在开发过程的每个阶段都需要大量的数据科学工作。具体概括如下:a)输入数据处理:在ML和优化中,这都是由数据科学家完成的。ML数据处理需要选择相关特征,归一化,离散化等。对于文本这样的非结构化数据,可以包括基于NLP的方法,如特征提取,标记化等。目前有基于多种语言的库可以用于特征的统计分析以及PCA等降维方法。在优化中,每个业务和程序都有需要纳入模型的细微差别。优化问题不处理历史数据,而是将每个可能的数据变化和识别的特征组合成决策变量和约束必须依赖的索引。虽然与ML不同,但数据处理需要大量的开发工作。b)模型开发:如上所述,优化场景的模型制定需要数据科学家和业务分析师的大量努力来制定约束和目标。求解器运行数学算法,虽然其任务是同时求解数百甚至数千个方程式以找到解决方案,但它没有业务背景。在ML中,模型训练是高度自动化的,算法被打包为开源库API,或由云服务提供商提供。高度复杂的预训练神经网络模型基于特定于业务的数据,将训练任务减少到最后几层。AWSSagemakerAutopilot或AzureAutoML等工具甚至可以自动化输入数据处理、特征选择、训练和评估不同模型以及输出生成的整个过程。c)测试和输出处理:在ML中,可以通过最少的处理来利用模型的输出。它通常很容易理解(例如不同标签的概率),尽管可能需要一些努力来介绍其他方面,例如结果的可解释性。输出和错误可视化也可能需要一些努力,但与输入处理相比并不多。在这里,优化问题也需要规划专家训练有素的眼睛进行迭代手动测试和验证,以评估进度。虽然求解器试图最大化目标,但从进度质量的角度来看,这本身通常意义不大。与ML不同,不能说高于或低于阈值的目标值包含正确或不正确的计划。当发现时间表不符合业务目标时,问题可能与约束、决策变量或目标函数有关,需要仔细分析以找出大型复杂时间表异常的原因。此外,需要考虑的是将求解器的输出解释为人类可读格式所需的开发。求解器输入决策变量,即计划中实际物理实体的索引值,如批组索引、批优先级索引、操作员和机器索引,并返回选择的值。需要一个逆过程,将这些指标值从它们各自的数据帧中转换成一个连贯的时间表,可以直观地呈现和由专家分析。d)最后,即使在操作阶段,与训练阶段相比,ML模型也需要更少的计算和时间来生成观察预测。但是,计划每次都是从头开始构建的,每次运行都需要相同的资源。下图粗略说明了ML和优化项目每个阶段的相对工作量:MLvs.OptimizationRelativeEffortComparisonSchematicML和优化可以一起工作吗?机器学习和优化解决企业的互补问题;因此,ML模型的输出和优化相互加强,反之亦然。物联网预测性维护和故障检测、AR/VR远程维护和上述生产过程RCA等AI/ML应用构成了制造商互联工厂战略的一部分。优化应用构成了供应链规划的基础,可以被视为将业务战略与运营联系起来。他们帮助组织响应和计划不可预见的事件。例如,如果在生产线上检测到问题,RCA(RootCauseAnalysis:根本原因分析)工具将帮助生产线经理快速缩小可能的原因并采取必要的措施。然而,这有时会导致机器意外停机或重新分配操作指令。因此,可能需要用可用的缩减产能重新生成生产计划。ML的一些技术可以应用于优化,反之亦然?从ML项目中吸取的教训可以应用于优化项目;反之亦然。例如,对于对优化输出至关重要的目标函数,有时业务在数学建模方面的定义不如约束那样明确,约束是必须遵循的规则,因此通常是众所周知的。例如,业务目标如下:a)应在满足交付期限的同时尽早确定批次的优先级。b)应预先加载时间表;它应该以尽可能小的时间间隔和低资源利用率进行调度。c)应将批次分组以有效利用容量。d)对高价值产品具有更高技能水平的操作员最好分配这样的批次。其中一些目标可能具有需要适当平衡的相互竞争的优先级,导致数据科学家通常通过尝试和错误来编写复杂的影响因素组合,例如奖金和罚款;但有时当出现缺陷时,逻辑很难理解和维护。由于优化求解器通常使用第三方产品,因此构建模型进行调试的数据科学家通常无法使用它们的代码。这使得在计划生成过程中的任何特定点都无法看到某些奖励和惩罚所采用的值使它们正确运行,因此很难编写出令人信服的目标表达式。重要的。因此,上述方法有助于采用奖金和罚款的标准化,这是一种广泛使用的ML实践。然后可以使用配置参数或其他方式以受控方式缩放归一化值,以控制每个因素的影响、它们之间的关系以及每个因素中的前后值。结论总之,机器学习和约束优化都是解决组织和日常生活中不同问题的高级数学方法。它们都可以用于部署物理设备、流程或网络资源的数字孪生。虽然两种类型的应用程序都遵循类似的高级开发流程,但ML项目可以利用库和云原生算法中可用的高度自动化,而优化则需要业务和数据科学家之间的密切协作,以充分实现复杂的规划流程造型。一般来说,优化项目需要更多的开发工作并且是资源密集型的。在实际开发中,ML和优化工具在企业中经常需要协同工作,这两种技术对数据科学家来说都非常有用。译者介绍朱宪忠,社区编辑,专家博主,讲师,潍坊某高校计算机教师,自由编程资深人士。原标题:DigitalTwinModelingUsingMachineLearningandConstrainedOptimization,作者:ParthaSarkar