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

AnyLogic-在带有推送请求的生产线中模拟在制品(WIP)的正确块

别浩漫
2023-03-14

我对任何逻辑都还是新手。我试图用AnyLogic解决一个模拟问题,但我不知道怎么做。这就是问题所在:有一个单一的产品将在两台机器上加工。每台机器都有自己的操作员。此外,在机器的前后都有一些在制品(WIP)。

另外,我想知道我应该用什么块来建模在制品?排队还是延迟?

这些块(队列、延迟和服务)在职责方面到底有什么区别?

使用以下块对这样一个进程建模是否正确:(分别是source、queue、delay、service、queue1、delay1、service1、sink)。

非常感谢您的时间和帮助!

共有1个答案

齐阳
2023-03-14

您可以这样建模:

您的WIP现在位于两个service块的队列中,service1和service2。例如,您可以通过调用service.queueSize()来获取第一个工作站的当前WIP。

注意:服务块只不过是队列块、延迟块和一些可选资源功能(抢占释放)的组合。如果使用服务块,通常不需要其他队列延迟抢占释放,因为它已经“包含”了其中的一个。下面的两个流程流执行相同的功能,只是在第二个流程中分成几个模块。这在某些特殊情况下有时是得心应手的,甚至是必要的:

以下材料可能有助于您在AnyLogic中进行进一步的过程建模:

  • 流程建模库的AnyLogic文档
  • 流程建模教程。
  • 转到AnyLogic中的help/example Models并搜索具有流程建模库的Models,您会发现很多很好的示例。
 类似资料:
  • 我目前正在进行一个简单的模拟,由4个不同加工时间的制造工作站组成,我想测量系统内部的在制品。型号是PennyFab2,以防有人知道。 到目前为止,我已经测量了产量和周期时间,我正在用利特尔定律计算在制品,然而结果与他的预期不符。循环时间是通过使用时间度量开始和时间度量结束代理来测量的,吞吐量是通过简单地计算在模拟结束时流过多少块来测量的。 对于如何不使用利特尔定律直接测量在制品有什么想法吗?

  • 问题内容: 在尝试学习TDD的过程中,尝试学习单元测试并在python中使用模拟。慢慢掌握它,但不确定我是否正确执行此操作。预先警告:由于供应商API是预编译的2.4 pyc文件,因此我正在使用python 2.4进行卡住,因此我正在使用模拟0.8.0和unittest(不是unittest2) 在“ mymodule.py”中给出此示例代码 现在在我的测试用例文件“ test_myclass.p

  • 当我运行这个程序时,它应该是写的 p、 s我对编码还不熟悉

  • 前期回顾 其中channel.finishConnect()中完成建立连接,调用了 sender的run(),继续分析 其中步骤五和步骤七: 会把发往同个broker上面partition的数据组合成为一个请求,然后统一一次发送过去,这样子就减少了网络请求。调用send() 调用selector的send() 调用kafkachannel的setsend() 开始发送数据 sender里面的pol

  • 我在引入参数“wire”的代理中创建了一个代理(“handsfree”)。如何使该参数随着模拟的进行而变化,使其自动设置为true或false,以便根据参数“wire”为延迟分配特定的时间。

  • 我很惊讶为什么我不能正确地模拟一个简单的队列系统。 系统如下: 流入泊松流(指数分布),速率为每2分钟1个药剂。 容量为2的队列。 两(2)台服务器,每个服务器的服务速率为每3分钟1个座席。 如果系统已满(服务器和队列中的两个位置都被占用),新的代理不会进入系统,而是被破坏。 在Anylogic中,我对系统建模如下:Model 源元素被指定为到达间隔时间为“2”,当代理无法进入系统(因为队列已满)