Anylogic 使用拾取数量条件

Anylogic using conditions for pickup quantity

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

有人知道使用调节来解决问题的方法吗?我不能只修改等候人数来填满所有公交车。这是因为我有不同的人群进入不同类型的车辆。

类似

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

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

谢谢

让您的 Pickup 块保持“准确数量(等待)”;数量是动态的 属性(每次代理进入 Pickup 块时重新评估),因此您可以在变量中跟踪剩余的数量(一旦您知道总共有多少人要拾取,并且每次取件递减)并在您的取件块数量中使用条件语句(Java 三元表达式)。

如果您的公共汽车像您的问题一样搭载 12 名乘客,而您的左上客点是一个名为 leftToPickupint 变量,表达式将是

leftToPickup < 12 ? leftToPickup : 12

(读作 'if leftToPickup is less than 12, the quantity expression evaluates to leftToPickup, otherwise it evaluates to 12')。

以下 'minimal example' 模型的屏幕截图。