本文分享了由Jaco-Ben Vosloo编写的一系列,以AnyLogic仿真软件为工具基础,对仿真建模项目的整个生命周期进行的简要说明,希望能为正在学习或使用AnyLogic的用户提供帮助。post/the-simulation-model-life-cycle-part-2-working-the-data
作者:Jaco-Ben Vosloo
更新:Dec 16, 2021
阅读时间:5 min
本系列文旨在从头到尾,对仿真项目的生命周期进行说明,并给出一些最佳实践和实用建议。
这篇文章是关于仿真模型生命周期的 7 部分系列文章的第 2 部分。 你可以查看以前的文章。
1.定义问题
2.处理数据
3.构建模型
4.校核和验证
5.实验
6.分析结果
7.调查结果报告
注意:在后面的步骤中确实会“返回”前面的步骤中执行一些活动,但不需要重做整个步骤。 上面列出的步骤是典型项目遵循的一般步骤。 在所有步骤中,您都可以后退并重新访问之前的步骤,但在完成至少 80%-90% 的步骤之前,您不太可能跳过一个步骤或向前移动。
这个阶段有两个部分,第一个是实际获取数据,有时它本身就是一个完整的项目;-) 第二个是使用数据来驱动你的模型。
理想情况下,使用数据对象作为源和模型之间的中介。这也是使您的模型更安全、更容易和更可靠的关键要求!最佳做法是不要从一些外部文件、内部或外部数据库或文件中获取所有用户输入或配置设置,而是要有一个数据对象。并可以从这些源设置此数据对象。
模型只关心数据对象是否具有所需的数据。而你是如何设置的,从哪里开始,这些模型无需关心。这就意味着模型完全独立于数据来源,从而实现更好的控制和灵活性。
P.S. 这里的附加好处是,这样操作还允许您以编程方式创建数据对象,反过来也意味着您可以轻松地以创建的简单数据对象测试单元模型......与这相关的更对内容会在第 3 部分中介绍......
现在举一些例子......
此处继续上一篇文章中介绍的示例。
假设我们从超市业主那里获得了以下数据。 看看您是否可以发现所有需要验证、删除或纠正的数据验证问题。
对于以上数据,可以执行下面的一些检查
数据验证
在 AnyLogic 中有多种数据驱动模型的方法。 一种选择是直接从源文件中读取,如下例所示:
或者,您可以将 Excel 文件导入AnyLogic 内部数据库,然后直接在使用行业库块时使用它。 请参阅以下步骤:
Step1:将Excel文件导入AnyLogic内部数据库
Step2:在行业库块中使用数据库
最后,是获取数据。而获取数据的方式很大程度上取决于模型环境。
使用 AnyLogic 的最大好处之一就是您可以使用所有标准且现成的 Java 库以多种不同方式获取数据。 比如,可以使用 Java 从 Web API、JSON 文件、XML 等标准源导入。
更多相关的内容,会在未来的文章中发布......
如前所述,最佳实践策略是通过一个单独的数据对象来驱动您的模型。 这允许:
这是使用数据对象将源数据与模型分离时的典型工作流程。
我创建了一个简单的模型来展示如何通过数据驱动模型。
Step 1:将数据从 Excel 导入 AnyLogic DB
Step 2:创建场景对象
Step 3:使用参数为模型提供数据对象
好了, 我们已经通过了仿真模型生命周期的第二阶段!
在下一篇文章中,我们将看看如何构建模型 !