Anylogic-改善输出

Posted

技术标签:

【中文标题】Anylogic-改善输出【英文标题】:Anylogic-Improving output 【发布时间】:2020-10-18 22:24:09 【问题描述】:

我创建了一个包含 2 个来源的简单模型。

来自Source 的代理通过延迟并通过传送带到达汇编程序。

来自Source1 的代理通过传送带并进入汇编程序。在Assembler 中需要Source 1 的4 个代理和Source 的1 个代理才能继续前进。

但我看到了大队列和低输出的问题。

谁能帮助我了解如何在减少队列大小的同时专注于增加输出?

延迟和汇编程序的处理时间已设置为=Triangular (.5,1,1.5),并且汇编程序已使用 1 个资源。我已尝试增加资源,但队列大小仍然保持不变。

【问题讨论】:

除非您的模型中有一些逻辑错误,否则您的结果应该只是您的设置的逻辑结果:源到达率、延迟容量/时间、传送带速度(以及决定有多少适合的代理长度)一次传送带)和装配工延迟时间/资源使用/输入比率。确保你在所有地方都使用了正确的时间单位。这些数字表明你有一个容量为 1 的延迟块,延迟时间很长(这就是为什么你的第一个队列中有一个很大的瓶颈,而这不会受到增加汇编程序资源的影响)。 【参考方案1】:

您的汇编程序来自进程的 2 个不同的流,让我们调用来自 source 流 1 的单元和来自 source1 流 2 的单元。这两个流具有相同的输入,这从两个 @987654323 的事实可以看出@ 和 source1 的到达人数大致相同,分别为 836 和 842。 (任何差异纯粹是由于随机到达时间)

最大的区别是流 1 有一个延迟,而另一个没有,所以很自然地,与流 2 相比,流 1 在汇编器之前可能有一个更高的队列,因为它的单位是在到达之前不会被耽误。

为了提高输出,增加资源池将增加汇编程序块在任何给定时间可以忙于的程序集数量。 但是,如果装配器的输出受到下一个块的限制,在您的情况下是传送带,即使资源可用,它也会阻止装配器进行更多装配。

您可以然后在汇编程序的末尾添加一个队列,也可以增加汇编程序块的Output buffer capacity,这基本上是相同的。

【讨论】:

以上是关于Anylogic-改善输出的主要内容,如果未能解决你的问题,请参考以下文章

编写高质量代码改善C#程序的157个建议

斜坡补偿电路——改善传统电流模式缺陷的方案

改善程序员生活质量的 3+10 习惯

改善程序员生活质量的 3+10 习惯

编写高质量代码改善C#程序的157个建议——建议38:小心闭包中的陷阱

绩效改善方法