微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Anylogic 使用条件取货数量

如何解决Anylogic 使用条件取货数量

我正在模拟疏散,想用公共汽车接人。我想选择“确切数量(等待)”,因为部分空的巴士效率非常低。但是,我遇到的问题是,如果最后一组小于指定的巴士容量,则可能会留下一些人。巴士不会离开,因为它没有坐满。

有没有人知道一种使用条件反射来解决问题的方法?我不能只修改等待的总人数来填满所有的公共汽车。这是因为我有不同的人群进入不同类型的车辆。

类似的东西

确切数量(等待) - 如果“等候区”包含 > 12 个代理

数量(如果有) - 如果“等候区”包含 ≤ 12 个代理

谢谢

enter image description here

解决方法

用“确切数量(等待)”保留您的皮卡块;数量是一个动态属性(每次代理进入取货块时都会重新评估),因此您可以跟踪变量中剩余的取货数量(一旦您知道总共要取多少,就设置一次,每次取货都会递减) ) 并在 Pickup 块数量中使用条件语句(Java 三元表达式)。

如果你的巴士像你的问题一样载有 12 名乘客,而你的左上车是一个名为 intleftToPickup 变量,则表达式为

leftToPickup < 12 ? leftToPickup : 12

(读作'如果 leftToPickup 小于 12,则数量表达式计算为 leftToPickup,否则计算为 12')。

执行此操作的“最小示例”模型的屏幕截图。

Core process flow

Pickup block properties

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。