根据代理的位置批处理多个代理

Batching multiple agents based on location of agent

在我的模型中,我只想批处理位于同一位置的代理。所以我的源代码块根据特定节点的数据库生成代理(代理有时不同),现在我希望出现在同一节点的代理以 2 的大小进行批处理,剩下的需要单独批处理。

我如何对此建模,我知道我可以使用 selectoutput(例如 location=node1 使用此输出等)选项,但是我是否必须手动添加例如 100 个输出如果我'有 100 个代理开始的不同位置,还是有更简单的解决方案来解决这个问题?

稍后添加: 或者还有另一种方法来模拟我的想法: 因此,我正在模拟一个医院环境,其中后勤员工(在本例中为运输者)根据预定义的时间收集某些区域的颠簸,例如我在下图中显示的数据库行: 在9:50,LAB_Office_2_H_T_N的鞭打收集点的鞭打可以由后勤员工收集。

所以在我的模型中,我根据这个时间创建了这 2 个代理(这是 2 个容器,最后一列)并抓住一个运输车来收集这个颠簸。由于后勤员工一次能够收集 2 个鞭打,我想对其进行批处理,让后勤员工一次收集 2 个鞭打容器。 之后他将它运送到垃圾场并被释放。

添加信息后颜色发生了变化。您可以改用接送块。您可以在条件单元格中定义节点要求。您可以使用 containeragent 等局部变量来编写任何您想要的代码。或者使用“数量(如果可用)”选项。在那里,您可以使用自己的函数以编程方式定义将拾取多少个单元。