如何配置池中的资源以处理多个代理

How to configure a resources in a pool to handle several agents

我正在尝试通过聊天模拟呼叫中心,在这种情况下,客户服务代表可以同时为多个客户聊天提供服务,具体取决于他们的能力

我首先创建了一个员工代理并在此基础上构建,但我无法模拟一个“员工代理”可以根据总容量同时为多个客户“聊天”代理服务的场景,因为在真实的聊天呼叫中心...

请告知我如何配置逻辑,以便多个代理可以捕获/延迟一个资源。或者创建一个块,员工代理将绕过每个聊天并检查他是否可以释放它。

提前致谢

这是一个更高级的问题,如果不构建大量逻辑和功能,就不容易详细回答。

总的来说,我可以建议以下设计,但根据您在 AnyLogic 方面的专业水平(和 Java),这可能不是最好的设计,我很想知道是否有人愿意尝试任何其他选择.但对于中等用户(和用例),这种设计就足够了

由于无法使用标准资源池执行您要求的操作,我建议在新的代理类型中设置一个资源池,然后作为总体或以图形方式(根据我的设计)您可以发送与这些代理聊天。由于每个代理内部都有一个资源池,您可以在定义资源池中资源的代理参数中定义代理可以处理的聊天数

然后您可以拥有一个功能,从队列中获取聊天并将其提供给第一个有容量的可用代理。

并且当队列中有消息到达时以及聊天代理离开聊天代理时以及代理收到新聊天时调用此函数,因为多个聊天可能同时到达,我们只发送第一个.