首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AnyLogic简单进程内存爆破

AnyLogic简单进程内存爆破
EN

Stack Overflow用户
提问于 2019-12-20 00:16:18
回答 2查看 255关注 0票数 0

我在AnyLogic中模拟一个过程。

我的代理商可以在“时间t=0”中作为“原材料”。在模拟开始的时候,我有3万名相同的特工。因此,对于源模块,我指的是一个数据库,其中每个到达框中的多个代理被勾选,每个到达的代理数从一个数据库(那里有30000个代理)中提取。

我使用的是一个虚拟过程,这些代理到达“源”,并立即从“水槽”出去。例如,当我有30多名探员到那里时,没有问题。然而,当我有30,000次记忆爆炸和模拟停止。我不知道为什么会有问题。在这样一个简单的例子中,30,000名代理之间的区别是什么?

ScreenShot:

我的简单模型看起来如下:

以及工作的数据库:

这些数量通过以下方式被称为:

所有这些都完成了:

但是,当我生产第一批产品三万多的时候,它就卡在了到货日期:

此外,我的代理班在这里:

它在项目视图上显示为:

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-12-27 08:35:09

如果矩形节点具有“可见在上面的代理”集,请尝试取消标记。

当设置此值时,AnyLogic中当前存在一个错误,并且在高级代理中没有显示代理的(或代理的总体)表示,这会导致您正在经历的极度减速(特别是对于数量更多的代理;甚至,如果“可见在上面的代理”表示元素不是在有许多实例的代理类型中)。

在您的例子中,矩形节点位于顶级代理Main中,从演示的角度来看,这是实验的一个子节点--在这里设置“可见在上层代理上”也是没有意义的(但在某些情况下,它似乎仍然触发了bug )。

(话虽如此,但在我看到的情况下,bug并没有导致“500错误”,因此这可能行不通。)

票数 2
EN

Stack Overflow用户

发布于 2019-12-20 06:13:21

你能上传你的源和dbase表的截图吗?

如果你勾选那个框,听起来你在创建30000x30000代理?

在任何情况下,如果没有必要的话,对许多代理进行建模并不是一个很好的策略。在您的情况下,您可以将30000种材料组合成一个代理(直到它们被分解?)或者使用材料库或SD设置。

只有当你真的需要的时候才能做模特。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59418449

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档