simulation - Anylogic问题:一台机器上两个操作时间不同的操作员
问题描述
我正在努力解决 Anylogic 中的模拟问题。
问题: 1.我想让2个在同一台机器上工作的操作员有不同的操作时间(例如,当一个零件到达机器时,worker1花费3分钟,worker2花费5分钟。)我试过资源池但是被扣押的 2 名工人总是在机器上花费相同的时间。
如何使用流程图块对这个问题进行建模?
解决方案
只需使用 Seize ---Service---Delay---Release 结构(假设 worker1 在处理开始时花费了 3 分钟)。
Seize/Release 块抓住并释放 worker2。Service 块代表 worker1 工作 3 分钟。延迟块涵盖了已经占用的 worker2 的剩余 2 分钟。
您这样做(而不是使用 2 个服务块,第一个使用 worker1 和 worker2 3 分钟,第二个使用 worker2 再使用 2 分钟),因为您想确保 worker2 在第一个服务时不会被另一个请求占用块结束。(在某些模型中,这种可能性不会成为问题,因此您可以使用两个 Service 块,但我不会,因为这里的方式明确表明同一个worker2 工作人员被保留了整整 5 分钟。
您还可以将所有这些放在自定义块中(查看 AnyLogic 帮助),使其成为可重复使用的单个块。
推荐阅读
- c# - 解析正则表达式查询
- node.js - NodeJS 应用程序如何以 sudo 身份重新启动?
- javascript - 访问 _ from origin _ 被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:没有 HTTP ok 状态
- awk - 如何提取两个字符之间的字符串?
- postgresql - 带有 null 参数的 Postgres SQL 函数为简单的 case/when/else 生成 null
- opencv - 如何优化我的代码以获得更好的执行时间
- zstd - 告诉 zstdcat 只解压缩文件的前 N 个字节
- javascript - JavaScript:创建一个函数,创建并返回一个函数;函数未定义错误
- git - 如何回到git中的master分支?
- sql - 具有重叠日期的 Group By 查询