【问题标题】:AnyLogic Chat Call Center ModelAnyLogic 聊天呼叫中心模型
【发布时间】:2019-05-16 16:28:20
【问题描述】:

我正在尝试使用聊天通信为呼叫中心建模,并且需要您对此方案的想法。现实世界的场景是聊天呼叫中心的客户服务代表[CSR]可以根据他们的能力同时为多个客户聊天提供服务[整数值1,2...]

  1. “聊天”代理 [来源]
  2. 具有 int 参数的“ChatAgent”资源单元 totalCapacity[default=3]

使用服务,来自源的传入“Chat”从资源池中获取“ChatAgent”[with resourceUnit "ChatAgent"]。在此模型中,“ChatAgent”仅接受服务块内的 1 个“Chat”。

资源池 抓住:unit.totalCapacity--; 发布时:unit.totalCapacity++;

但我无法模拟一个场景,即 1 个“ChatAgent”可以根据他们的 totalCapacity 一次服务多个客户“聊天”,就像在真正的聊天呼叫中心一样。

请告知我如何将这多个代理配置为 1 个资源占用/延迟。

Updated Model

Updated ChatAgent Resource Structure

谢谢, 湿婆

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    这样做的方法很多,但首先想到的是不要将 ChatAgent 用作资源(至少不是您在服务块上使用的那种),因为聊天可以在任何给定时间出现,而且您可以'没有资源可以在不同时间通过服务块获取许多不同的代理...

    相反,您可以在 chatAgent 中使用以下结构:

    资源的容量将定义有多少代理可以进入restrictedArea区块...这个结构将存在于您的chatAgent资源中。

    您的主要代理将具有以下结构:

    当聊天等待一个可用的 chatAgent 时,如果一个 chatAgent 是可用的:

    chatAgent.beginService.entitiesInside() < chatAgent.capacity
    

    这些是让它工作的最重要的细节......现在你必须正确地构建模型。

    【讨论】:

    • 对问题更新了新模型“带有受限区域块的屏幕截图”。在 ChatAgents 的 resourcePool 上抢占:((ChatAgent)unit).totalCapacity--;并在发布时 ((ChatAgent)unit).totalCapacity--;请求澄清如何使用 agent.totalCapacity[value=3] 在延迟块中一次进行 3 次聊天,然后被释放。
    • 正如我在回答中所说的那样..您不使用资源,因此不存在捕获和释放..但我也解释说聊天可以独立进行...如果它们以一批,那么答案就不同了
    • “ChatAgent”资源现在有 totalCapacity 变量和受限块结构,如上参考“Chat”对象[附截图]。源对象独立包含传入的聊天。有了这 2 个新代理 - Chat 和 ChatAgent[resource],我是否需要一个 Service 对象来将这 2 个对象组合在一起?我是 AnyLogic 的新手,如果我的澄清请求无关紧要,我深表歉意。感谢您的帮助。
    • 我更新了我的答案,希望你能更好地理解它
    • ChatAgent [totalCapacity + restrictedArea 开始/结束块,代理类型为“Chat”]。在示例主流程中,“ChatAgent”资源中的“Chat”实体保持为 0。例如,从“chatArrivals”源块中,我传递“Chat”代理并在“toChatAgent”[agent type ChatAgent] 退出块 chatAgent.beginService .entitiesInside() 返回 0。如果我在块中使用的代理类型不正确,请告诉我。
    猜你喜欢
    • 2022-07-11
    • 1970-01-01
    • 2012-07-20
    • 1970-01-01
    • 2018-02-08
    • 1970-01-01
    • 2022-07-30
    • 1970-01-01
    • 2020-12-30
    相关资源
    最近更新 更多