用MATLAB进行批处理工艺优化
本报告考虑了基于实验数据和反应灰盒模型的设计空间的替代结构。该模型随后被用于通过改变过程变量来优化生产过程。您可以通过蒙特卡罗模拟来检验参数的不确定性和可变性对过程性能的影响。
亮点:
- 减少工艺表征阶段所需的实验
- 通过建立模型来提高对过程的基本科学理解
- 通过操纵时变参数来优化或扩大过程
- 检查不确定性量化和分析的影响,这是设计质量(QbD)的强制性要求
你好,每个人。感谢大家今天的到来。我叫Paul Huxel,是MathWorks的高级应用工程师。自从4年前加入这个团队以来,我访问过许多医疗设备和制药网站,并与之合作,帮助他们使用MATLAB来增强他们的数据分析。我希望这次关于批处理过程优化的介绍性网络研讨会能够演示如何轻松地开始使用MATLAB。
但在我们进入“如何”之前,我想先向你们展示今天网络研讨会的目标是什么。这些图像来自PDF,我们将直接从MATLAB中的实时脚本创建。实时脚本是交互式文档,它允许您结合格式化的文本、方程和图像——以及您的MATLAB代码和该代码的输出——轻松和彻底地记录您的算法和结果。
我一会儿将更详细地描述今天的问题。但简而言之,我们将使用几个恒温批处理运行的数据来建立一个模型,描述这些运行过程中发生的过程。然后,我们将使用这个模型来确定将使该过程的产量最大化的最佳温度变化计划。最后,我们将执行一个快速的蒙特卡洛分析,以评估温度的不确定性如何影响产量。
为此,我们将使用典型的数据分析工作流。如果我们要进行数据分析,我们就需要访问数据。在今天的例子中,我们将从电子表格加载数据,但这也可能来自图像文件,其他软件和网络应用程序,或直接来自硬件和科学仪器。
一旦我们在MATLAB中有了我们的数据,我们将看到开始探索和发现各种分析和建模技术是多么容易。特别是,我们将看到各种领域特定的应用程序将如何帮助我们在编写任何代码之前快速上手。但为了从我们的工作中得到最大的收益,我们会想要与同事或客户分享它。正如您刚才看到的,这可以像将我们的代码发布到PDF中一样简单。
然而,其他的选择包括创建独立的或基于web的应用程序,这样终端用户就可以访问我们的工作,而不需要MATLAB安装或许可证,以及自动生成或云部署的可伸缩性。在演示之后,我将进一步讨论这些选项。在此过程中,我们将看到如何使用MATLAB来帮助实现这个过程的自动化。
但在我们进入MATLAB之前,我想给你们一个今天主题的快速概述。每天早上我最喜欢的一种方法就是煮咖啡。像所有的批处理过程一样,这涉及一次处理有限的产品库存,在这种情况下,只有咖啡豆和水。
我们可以认为,批处理过程的优化本质上是试图找到配方或条件,使一个特定的参数最大化或最小化,受工艺约束。所以在这种情况下,我们试图通过调整工艺条件来最大化风味,比如每种原料的数量,我们研磨咖啡豆的精细程度,以及酿造温度和时间。取决于您对咖啡的挑剔程度,您可能从来不会担心对各种工艺条件的排列进行全参数扫描。
你可以想象,即使对于这个简单的问题,这也是一项艰巨的任务。正如您所知,商业应用程序要复杂得多。商业批量产品的例子包括以发酵为基础的过程,如啤酒和葡萄酒,下载188bet金宝搏纺织品染料和颜料,油漆和墨水,
常见的食品添加剂,香水和精油的香精,特种化学品,当然还有药品。
在这些产品中,开发和控制精确的工下载188bet金宝搏艺条件对于维持品牌声誉和法规遵从性至关重要。许多工业过程模仿自然发生的过程。例如,导致食物腐败的青霉菌也被用于生产抗生素青霉素。
然而,制造过程需要高效和可重复。在制药行业尤其如此,任何对已批准的批次配方的重大偏差都可能导致数百万美元的损失。因此,我们不仅对寻找最佳配方来优化产品的产率或效价感兴趣,而且对确定如何最好地控制这一过程以坚持这一配方感兴趣。
今天的话题集中在前者。但正如我提到的,我们将使用蒙特卡洛分析来看看过程中的不确定性如何影响收益率。生物反应器用于帮助控制工业过程条件,促进所需的生化反应。这些不锈钢罐提供了一种可控的方式,可以分别从反应堆中添加和移除物质,比如营养物质和废气。
传感器用于监测和控制条件,如压力、温度、氧气和ph值。曝气器和搅拌器有助于以可控的方式混合溶液,以免损害生长的细胞。金宝搏官方网站但是为了设计和控制过程,我们需要知道这些过程的变化率,它可能在几秒、几小时或几天内发生。
这些变化可能是物理的,比如扩散过程——比如水进入咖啡粉需要的时间——也可能是化学的,比如发酵,其中有一种生物制剂正在吸收混合物中的某些东西。一种物质浓度的时间变化率通常是该物质当前浓度的函数,也可能是其他物质浓度或其他过程变量的函数,如温度、压力、pH值等。
举个简单的例子,当一种物质的变化率,相对于时间,等于某个负数k乘以浓度本身。如果k是常数,这就是一个指数衰减可以用解析法求解。或者就像我们今天要看的例子一样,反应的速率常数通常是温度的函数。
这些可以是非常复杂的非线性函数。所以这些模型通常是从数据中经验推导出来的。模型很重要,因为如果我们没有这个过程的模型,找到最佳配方的唯一方法就是试错。有了这么多的变量,要测试所有不同的排列可能需要大量的时间,即使只有几个物种。
我们将在今天的介绍性演示中考虑的反应动力学有意地用一种简单的方式表述,这样我们就可以专注于总体的问题设置和工作流程,而不会陷入详细的微分方程。考虑到这一点,我们将只考虑两种物质的浓度——作为食物来源的营养物质,以及通过消耗这种营养物质生长的有机体的生物量。
正如你在这里看到的,营养物质被建模,它会随着时间的推移而分解,因为环境变量,比如温度。实际上,它也可能是消耗它的可用生物量浓度的函数。但对于这个简单的模型,我们假设相比之下,这种影响可以忽略不计。
然而,我们将模拟生物生物量浓度的变化更现实一点,这样它就有生长和死亡成分。生物体将开始进食和繁殖基于多少营养可用。由于细胞的寿命是有限的,它们会按当前生物量浓度的比例死亡,这是生物系统的一个相当常见的模型。
因此,在某一时刻,食物将开始耗尽,死亡过程将开始占主导地位,这样,最终,生物量浓度也将衰减为零。在这张图中,我展示的是恒定温度下的营养和生物量的时间历史。我们的目标是确定温度变化过程计划,优化关键性能指标,或KPI,如产品收率。
为此,我们将选择一个简单的KPI,它代表生物量曲线中曾经达到的最大浓度。因此,一旦控制者注意到生物量不再增加,就可以停止该过程以获得最大产量。现在我们的问题已经定义好了,让我们进入MATLAB并开始。
对于那些刚接触MATLAB的人,请允许我给你一个快速的参观,当它打开时,你会看到四个主要领域。当前文件夹是MATLAB寻找脚本和其他文件的第一个地方。它显示了路径和地址栏上的所有文件,在这里。
通过集成Git或SVN,您还可以快速查看每个文件源控制状态。“命令”窗口允许您立即执行命令和运行脚本。由这些命令或脚本创建的变量将显示在工作区中。工作区显示了MATLAB内存中当前的变量,并提供了关于它们的维度和数据类型的信息。然后可以在其他命令或脚本中使用这些变量。
最后,顶部的Tools条在一系列选项卡中组织MATLAB功能。当我们使用它们时,我们会更多地讨论它们。今天,我们将介绍用于创建您前面看到的PDF的实时脚本。如您所见,我已经用富文本格式注释了外套,并添加了一个便于导航的目录。
灰色阴影区域包含MATLAB代码。剩下的就是记录我们的方法和结果。回想一下工作流,我们需要做的第一件事是访问数据。正如您在当前文件夹中所看到的,我们有一个数据文件夹,其中包含几个营养和生物量时间历史的电子表格,这些数据来自一个实验活动,包括6个不同的恒温批处理运行。
如果我们处理的是单个文件,我们可以从Home选项卡上的交互式Import Data工具开始。相反,我们将使用一个数据存储来自动收集有关所有可用电子表格的信息。稍后我们将使用这个数据存储在一个命令中读入所有数据文件。
但首先,让我们看看单次运行的动态。为了简化操作,我插入了一个交互式控件,允许用户从下拉菜单中快速选择感兴趣的文件。当我们这样做时,注意到工作区中出现了一个31行4列的新变量。
然后,我们可以使用点表示法从这个表中提取单独的列。从工作空间中选择这些新变量,我们可以使用绘图步骤快速可视化营养动态。然后MATLAB显示所有相关的绘图选项。我们从一个简单的线形图开始。
注意,当我们这样做时,MATLAB自动在命令窗口中显示相应的命令。让我们通过打开Figure Palette视图,将生物量动态添加为副图
把这些变量拖到新的坐标轴上。然后我们可以使用Property Editor来定制我们的情节。
例如,我们将在每个x轴和y轴上添加标签,添加网格线,并为养分和生物量选择标记和线颜色。一旦我们完成了自定义我们的图,我们就可以生成相应的MATLAB代码。因此,我们不需要每次获得新数据时都重复这个交互过程。
我已经将这段代码保存为一个名为Plot Dynamics的函数,然后可以从我们的实时脚本中调用它。正如预期的那样,营养动态看起来像指数衰减。我们可以使用MATLAB的一个内置应用程序,快速地为这些数据拟合一个模型。
“应用程序”选项卡提供了许多交互式应用程序,帮助您开始学习各种功能,如机器和深度学习、图像和信号处理、测试和测量、计算生物学,或者在我们的例子中,曲线拟合。一旦我们从工作空间中适当的变量中选择了x和y数据,我们就可以快速地尝试拟合各种模型,比如多项式、傅立叶级数、自定义方程,或者在本例中是指数。
然后,应用程序将自动计算相应的模型系数,95%置信限,并显示各种拟合优度指标。与许多MATLAB的交互工具一样,我们将再次生成相应的MATLAB代码来自动化此任务,以供将来使用。我已经将这段代码保存为一个名为Create Fit的函数,它将在我们的实时脚本中使用,以创建一个模型,该模型可以在每个时间步骤中进行评估,以生成拟合的营养曲线。
或者,我们可以使用fitlm函数对营养数据的对数进行线性回归,而不是用指数来拟合数据。如果你曾经不确定如何使用一个函数,MATLAB文档包含了完整的描述,详细的参考,和许多例子来帮助你开始。一旦我们创建了回归模型,我们就可以在每个时间步中做出预测,并将结果从日志空间转换回来。
同样地,一旦我们转换计算机回归系数,你会看到我们得到的结果类似于我们用指数拟合得到的结果。对于生物量,我添加了一个Live Task,以允许我们以交互方式平滑数据。可以在Insert选项卡上找到Live Task,以帮助您开始使用常用功能,而不需要离开脚本去参考文档。
一旦您对任务的选择感到满意,您就可以显示MATLAB代码来学习将来如何以编程的方式执行这些任务。然后,我们可以使用第4批运行数据,将所有这些结果添加到前面创建的图中。到目前为止,我们已经创建了函数来可视化和拟合恒温运行的数据。
但我们真正的目标是利用这些恒定温度的数据来创建一个能解释温度变化的模型。首先,我们将使用readall命令加载电子表格数据存储中包含的所有数据,并再次提取时间、营养、生物量和温度列。然后,我们可以通过绘制每次恒温运行的最大生物量图来探索温度的影响。
看来最佳恒定温度是22摄氏度。我们可以通过检查这些数据点的分段三次插值的最大值来确认这一点。为此,我们将使用interp1函数,并在最低温度和最高温度之间每四分之一度计算一次结果。
我们现在有信心22度是最理想的恒温方案。但这并不意味着它将产生比改变温度时间表更大的生物量产量。为了研究这一点,我们将假定并检查前面讨论过的简单流程模型,该模型以矩阵形式写在这里。
k1动能参数类似于我们之前计算的B系数。然而,这一次,我们认为它与温度有关。回想一下,k2参数模拟生物量的增长,而k3参数模拟生物量的死亡周期。
为了测试我们的模型,我们将为这些动力学参数任意选择三个值——例如1,1,1——然后使用四阶和五阶运行切出常微分方程求解器对系统进行积分。再次使用我们的绘图动态函数,我们看到结果的动态看起来与我们之前看到的非常相似。特别是,营养物质呈现指数衰减,而生物量增长,直到营养物质显著耗尽,然后开始消失。
现在我们有了一个模型,我们可以用这些数据来估计动力学参数。由于这是模拟数据,我们可以将动力学参数估计与1,1,1的真实值进行比较。有了这个目标,我创建了一个函数来估计动力学参数。
由于我将其设置为带有嵌入式方程的活动函数,因此如果用户在此函数上寻求帮助,他们将看到与MATLAB内置函数类似的格式丰富的文档。该函数通过重新制定过程模型和数值估计营养和生物量的导数来估计参数。这样,唯一的未知数是向量k,然后可以通过使用fitlm函数用线性回归模型拟合方程来找到它,类似于我们前面所做的。
然后我们可以回到我们的现场脚本,并将估计的动力学参数与已知值进行比较。现在我们对我们的方法有了信心,我们将循环进行所有六次恒温试验来估计在每种温度下的所有三个动力学参数。然后我们将使用这些估计在我们的时间表动力学插值动力学参数值,作为温度的函数。
这样,我们就有了比较各种温度表所需的一切。为了更好地理解我们的过程,让我们开始比较我们前面看到的最优恒温时间表和任意时间变化的温度时间表,比如这里看到的振荡温度时间表。为此,我们将为每个调度动态集成我们的流程模型。
正如预期的那样,最优恒温计划的结果是最大生物量略低于0.6,而任意时间变化的温度计划的结果是最大生物量接近0.7。当然,任意选择一个温度计划并不是优化我们过程的有效方法。但已经证实,我们可以通过改变温度来提高我们的KPI。
经过更仔细的研究,我们发现较低的初始温度似乎能更长久地保存养分,而不显著影响初始生物量的增长。相反,我们后来看到,当温度再次下降时,生物量增长迅速下降。因此,在生物量很少的时候,一开始保持较低的温度来保存营养物质,然后提高温度来促进生物量的增长似乎是有好处的。
有了这些见解,我们现在准备建立一个适当的约束优化问题,以找到产生最大生物量的温度时间表。我们将首先使用optimproblem命令创建一个优化问题。然后,我们可以使用优化变量表达式指定约束条件和目标。
在本例中,我们将为温度创建一个优化变量,根据试验运行中使用的最低和最高温度设置下限和上界。然后,我们将使用该变量设置进度中各设置点之间温度变化的幅度和方向的约束。特别地,我们将温度的最小变化设为大于等于0,这样它就一直在增加。
然后,我们会设定温度的最大变化量以符合生物反应器的热力学规范。我创建了一个名为scheduleecost的函数来指定目标。该函数集成了调度动态来计算结果KPI,其中召回率是实现的最大生物量。因为优化问题将试图最小化成本,我们将把成本设置为KPI的负数,这样它就会最大化。
接下来,我们将使用前面的最优恒温时间表初始化优化搜索,然后在运行求解器之前查看问题公式。执行Solve命令将在大约一分钟内生成一个解决方案。但为了节省时间,我将加载之前获得的结果。从最优解中提取温度,我们看到设置点之间的温度变化满足我们指定的幅度和方向约束。
最后,我们将利用这个最优时变温度计划集成我们的过程模型动力学。将得到的KPI与最优恒温方案进行比较,我们看到新的时变温度方案导致生物质产量增加了44%。然而,我们知道,在现实世界中,我们可能无法精确地控制温度,以完美匹配最佳的温度时间表。
我们可以建立一个蒙特卡罗分析来检查温度控制的不确定性如何影响我们的生物量产量。例如,假设每个设定点的温度只能控制在2度以内,即1西格玛。我们将通过在每个设定点上添加标准偏差为2度的正态随机误差来模拟这一点。
为了统计量化此控制错误的影响,我们将重复该过程250次运行,并计算结果KPI分布的平均值和标准差。因为我们使用的是一个简单的流程模型,所以这只需要几秒钟。然而,如果由于增加了动态复杂性或蒙特卡洛运行次数而成为计算负担,我们可以使用MATLAB的并行计算功能来加快分析速度,从而在集群或云中并行执行这些运行。
正如你所预料的,如果我们不能精确地遵循最佳温度时间表,我们将看到最大生物量的减少。对得到的直方图拟合一个正态分布,我们看到平均值从0.8下降到0.7左右,标准差约为0.03。最后,工作流的最后一步是分享我们的工作。在本例中,我们将通过将实时脚本保存为PDF来快速记录我们的算法开发和分析。
我希望这个示例能让您了解使用MATLAB增强数据分析是多么快速和容易。正如您在这里所看到的,我们只介绍了这个工作流中的一个非常狭窄的路径。所以我想花点时间强调一下我们错过的一些功能。
MATLAB为您的整个工作流程提供了一个单一的集成平台。今天,我们导入了Excel电子表格。但我们也提供交互工具和硬件支持包,以方便从其他应用程序、数据库和科学仪器访问数据。金宝app对于分析和开发,其他功能包括机器和深度学习,信号和图像处理,生物序列分析,以及时域和频域的模拟,仅举几个例子。
正如我们之前简要看到的,在这些领域中,MATLAB提供了交互式工具和深度解决方案,以帮助您开始分析和开发。金宝搏官方网站但你可能也注意到,有一些应用程序可以帮助你分享和部署你的工作。要做到这一点有两种主要途径——应用程序部署和自动代码生成。
在这两种情况下,您将再次开始在MATLAB中开发模型、算法或应用程序。选择哪种共享路径取决于系统的需求。应用程序部署允许您创建可与企业和云系统集成的图形用户界面和软件库。
有了这个选项,MATLAB的功能仍然在幕后有效地运行,但最终用户不需要MATLAB许可证。另一方面,自动代码生成允许您在嵌入式硬件(如医疗设备或生产线)上运行分析。在这种情况下,您的MATLAB算法将用指定硬件的语言转换为可读的、可移植的代码,如实时目标、FPGA或ASIC、PLC或GPU。
考虑到部署,我们经常被问到的一个问题是,MATLAB是否得到了FDA或其他监管机构的验证。我们已经创建了一个问答网页和工具验证工具包,以帮助指导您完成这个过程。在这里,您还可以找到FDA MathWorks研究和合作协议的摘要,以及如果您有其他问题或需要咨询帮助的联系信息。
今天的网络研讨会给了你们一个关于MATLAB的快速介绍。我们看到用MATLAB开始是多么容易。完整的文档以及适用的示例意味着您不必从空白页开始编写代码。您还可以通过技术支持和应用工程师接触到产品和行业专家,以及通过我们网页上的MATLAB Answers和File Exchange站点金宝app获得广泛的用户社区。
我们看到了如何将应用程序用于交互式算法开发和自动MATLAB代码生成,这提高了生产力并允许快速创建原型。此外,一旦你准备好部署你的算法,你有很多选择,如创建独立的和web应用程序,软件库与企业和云系统集成,或为嵌入式设备自动生成代码,以节省时间和减少编码错误。
你可以从今天开始与我们的免费自节奏Onramp教程。这个在线互动教程使用自动评估和反馈的实践练习,在短短几个小时内教你MATLAB的基本知识。从那里,你可以通过其他几个免费的自节奏onramp来培养你的技能,其中包括热门话题,如机器和深度学习,图像和信号处理,以及使用Simulink的控制设计。金宝app
如果你想比onramp潜得更深,我们还提供各种各样的自我节奏的训练和教练引导的课程。这些课程通常是当面授课和在线授课的混合形式。但在过去的一年里,我们扩大了教师主导的在线培训,受到了很好的欢迎。
这些课程也可以定制以满足您的特定需求。当时间紧迫时,我们还在世界各地提供咨询服务。我们的咨询是非常透明的,目标是您的团队拥有和操作结果工作。
我们根据您的需求定制服务,优化您的投资,确保您的成功。我们的咨询已经帮助许多客户通过应用我们已被证明的最佳实践来启动他们的项目,
深厚的产品知识和丰富的技术经验。您可以在我们的网站mathworks.com上了解更多关于下载188bet金宝搏我们的产品和解决方案。金宝搏官方网站谢谢大家。
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。