AnyLogic 简单进程内存爆炸
AnyLogic Simple Process Memory Blowup
我正在 AnyLogic 中模拟一个过程。
我的代理人在时间 t=0 时可用 'raw materials'。在模拟开始时,我有 30,000 个相同的代理。因此,对于源模块,我指的是一个数据库,其中勾选了每次到达多个代理框并且每次到达代理数量是从数据库中获取(那里有 30,000 个)。
我正在使用虚拟进程,这些代理到达 "source" 并立即从 "sink" 出去。例如,当我有 30 多个代理人时,这不是问题。然而,当我有 30,000 时,内存爆炸并且模拟停止。我不知道为什么会有问题。这么简单的例子,30个和30000个agent有什么区别?
截图:
我的简单模型如下所示:
以及有效的数据库:
数量通过以下方式调用:
全部完成:
但是当我制作第一个产品 30,000 很多时,它就卡在了到货日期:
另外,我的经纪人class来了:
它在“项目”视图中显示为:
能否上传源和数据库的屏幕截图table?
如果勾选该框,听起来您正在创建 30000x30000 个代理?
无论如何,如果没有必要,对那么多智能体进行建模并不是一个好的策略。在你的情况下,你可以将 30000 materials 组合成 1 个代理(直到它们分开?)或使用 material 库或 SD 设置。
只有在您确实需要时才为单个代理建模。
如果您的矩形节点设置了 "Visible on upper agent",请尝试取消选中它。
当前在 AnyLogic 中存在一个错误,当设置此设置并且代理(或代理群体)的演示文稿在上层代理中显示时不,这会导致您正在经历的极度减速(特别是对于大量代理;甚至,如果 "Visible on upper agent" 表示元素在代理类型中是 而不是 ,那么有很多实例).
在您的情况下,您的矩形节点位于顶级代理 Main 中,根据定义,从演示的角度来看,它是实验的 'child' --- 设置 "Visible on upper agent" 这里(但在某些情况下它似乎仍然会触发错误)。
(说了这么多,在我看到的情况下,这个错误并没有导致“500 错误”,所以这可能不起作用。)
我正在 AnyLogic 中模拟一个过程。
我的代理人在时间 t=0 时可用 'raw materials'。在模拟开始时,我有 30,000 个相同的代理。因此,对于源模块,我指的是一个数据库,其中勾选了每次到达多个代理框并且每次到达代理数量是从数据库中获取(那里有 30,000 个)。
我正在使用虚拟进程,这些代理到达 "source" 并立即从 "sink" 出去。例如,当我有 30 多个代理人时,这不是问题。然而,当我有 30,000 时,内存爆炸并且模拟停止。我不知道为什么会有问题。这么简单的例子,30个和30000个agent有什么区别?
截图:
我的简单模型如下所示:
以及有效的数据库:
数量通过以下方式调用:
全部完成:
但是当我制作第一个产品 30,000 很多时,它就卡在了到货日期:
另外,我的经纪人class来了:
它在“项目”视图中显示为:
能否上传源和数据库的屏幕截图table?
如果勾选该框,听起来您正在创建 30000x30000 个代理?
无论如何,如果没有必要,对那么多智能体进行建模并不是一个好的策略。在你的情况下,你可以将 30000 materials 组合成 1 个代理(直到它们分开?)或使用 material 库或 SD 设置。
只有在您确实需要时才为单个代理建模。
如果您的矩形节点设置了 "Visible on upper agent",请尝试取消选中它。
当前在 AnyLogic 中存在一个错误,当设置此设置并且代理(或代理群体)的演示文稿在上层代理中显示时不,这会导致您正在经历的极度减速(特别是对于大量代理;甚至,如果 "Visible on upper agent" 表示元素在代理类型中是 而不是 ,那么有很多实例).
在您的情况下,您的矩形节点位于顶级代理 Main 中,根据定义,从演示的角度来看,它是实验的 'child' --- 设置 "Visible on upper agent" 这里(但在某些情况下它似乎仍然会触发错误)。
(说了这么多,在我看到的情况下,这个错误并没有导致“500 错误”,所以这可能不起作用。)