我正在模拟疏散,并想用公共汽车接人。我想选择“确切数量(等待)”,因为部分空的公共汽车效率很低。但是,我遇到的问题是,如果最后一组小于指定的巴士容量,可能会留下一些人。然后公共汽车不会离开,因为它没有填满。
有人知道使用调节来解决问题的方法吗?我不能只修改等待所有公共汽车的总人数。这是因为我有不同的人群进入不同类型的车辆。
就像是
确切数量(等待) - 如果“等待区”包含 > 12 个代理
数量(如果有) - 如果“等候区”包含 ≤ 12 个代理
谢谢
保持“确切数量(等待)”的皮卡块;数量是一个动态属性(每次代理进入提货块时都会重新评估),因此您可以在变量中跟踪剩余的提货数量(一旦您知道总共要提货的数量就设置,并且每次提货都会减少) 并在 Pickup 块数量中使用条件语句(Java 三元表达式)。
如果您的公共汽车像您的问题一样载有 12 名乘客,并且您的 left-to-pickup 是一个int
名为 的变量leftToPickup
,则表达式为
leftToPickup < 12 ? leftToPickup : 12
(读作“如果 leftToPickup 小于 12,数量表达式的计算结果为 leftToPickup,否则计算结果为 12”)。
下面是执行此操作的“最小示例”模型的屏幕截图。