当前位置: 首页 > 知识库问答 >
问题:

在一个实验中管理多个anyLogic模拟

羊舌兴德
2023-03-14

我们正在AnyLogic 7下开发一个ABM,现在我们要从一个实验中进行多个模拟。为每个模拟运行设置不同的参数,以便为一小部分标准场景生成结果。

我们有一个无需按“运行”即可自动启动的实验。随后按下Run会增加实验计数器并重新运行模型。

我们想要的是一种自动运行的方式,或单次按下运行,启动一个模拟循环。在该循环中,将对链接到传递参数的变量进行编程调整。

编辑-一个问题是某些参数是字符串。优化或参数变化实验不适合枚举一组要在一组模拟运行中使用的字符串。您可以为一个实验中的所有模拟运行为每个参数设置一个字符串。

我们使用了“在没有演示窗口的情况下从外部运行模型”的帮助示例,将自动运行功能添加到初始的实验设置代码块中。需要一种方法来等待运行0完成,然后调度运行1、2等。

指向具有此类功能的教程模型或实验java块的代码片段的指针非常受欢迎。

共有2个答案

谷梁卓
2023-03-14

作为你,我遇到了这个问题。
我的目标是在模型中使用参数变化,并且变化是在非数字数据上,并且我知道要开始的运行次数。
然后我在自定义变体的帮助下成功完成了这项任务。

  • 首先,我构建了一个类型为“多次运行”的实验,创建了我的GUI(用户可以选择每次运行中使用的字符串值。
  • 然后,我创建了一个新的java类,它继承了之前的“多次运行”实验

在这个类中(称为MyMultipleRunClass)存在:-从默认实验重载getMaximumIterations方法,以向默认anylogic回调提供正确的迭代次数,并且idnex还用于从数组中检索我的参数值,-静态方法start的实现,

public static void start() {
    prepareBeforeExperimentStart_xjal( MyMultipleRunClass.class);
    MyMultipleRunClass ex = new MyMultipleRunClass();
    ex.setCommandLuneArguments_xjal(null);
    ex.setup(null);
}

然后要运行的实验是“空”自定义实验,它通过呈现的子类自动启动另一个多次运行实验。也许它存在最短路径,但从我的角度来看,任何逻辑都被正确使用(没有非公开接口的技巧)并且它按预期工作。

万俟高峻
2023-03-14

也许我不理解你的需要,但这听起来确实像是你想要使用“参数变化”实验。您可以指定应在哪些步骤中更改哪些参数,并且运行实验会根据需要自动启动任意多个模拟运行,所有这些都不需要动画。

希望有帮助

 类似资料:
  • 问题内容: 如何为同一个模型创建多个ModelAdmin,每个ModelAdmin进行不同的自定义并链接到不同的URL? 假设我有一个称为Posts的Django模型。默认情况下,此模型的admin视图将列出所有Post对象。 我知道我可以通过设置变量如list_display或在ModelAdmin中覆盖方法来以各种方式自定义页面上显示的对象列表: 默认情况下,可以通过URL访问。但是我想拥有同

  • 我在调试身份验证问题时遇到了这个代码片段: 我在调试和摆弄用户凭证时注意到,如果第一个身份验证提供者(即< code > userdailsservice )无法对我的用户进行身份验证,那么就会远程调用我的LDAP服务器来尝试对我的用户进行身份验证。但是,如果第一个身份验证提供者成功地对我的用户进行了身份验证,则不会调用第二个身份验证提供者。 我的问题是,列出这些身份验证提供者的工作方式是否使得如

  • 本文向大家介绍ElementUI多个子组件表单的校验管理实现,包括了ElementUI多个子组件表单的校验管理实现的使用技巧和注意事项,需要的朋友参考一下 背景 公司项目中所用到的前端框架是Vue.js + ElementUI,因为项目的业务场景中有很多的大表单,但是ElementUI的表单写法对于表单的拆分和校验其实并不是很友好。最初的项目为了方便,常常把多个表单写在一个.vue组件中,这导致单

  • 我了解到有一种方法可以在AWS Sagemaker中使用单个endpoint为单个数据集训练和托管多个模型。但我在S3中有两个不同的数据集,必须为每个数据集训练一个模型。这两个不同的模型是否可以使用单个endpoint承载?

  • 谁能帮助我如何创建一个新的代理人,并将其链接到旧的,以治愈人民? 多谢!