队列理论:如何识别数据中的智能体?

Queue theory: how to recognize Agents in data?

提问人:Marco 提问时间:11/17/2023 最后编辑:Marco 更新时间:11/18/2023 访问量:27

问:

我正在处理队列工具库,用于刺激单节点 M/D/1 系统,其中请求到达时到达时间定义如下:

def slow_arr(t): return t + random.expovariate(1.5)

及服务时间:

def ser(t): return t + 0.5

在模拟过程中,我需要模拟到达时间较短的其他请求的到达:

def fast_arr(t): return t + random.expovariate(0.15)

根据我从文档中得到的内容,我定义了两个代理(请求),如下所示:

ag_slow = qt.Agent(
    agent_id = (1, 1),   # edge 1, agent 1
    arrival_f = slow_arr,
)

ag_fast = qt.Agent(
    agent_id = (1, 2),
    arrival_f = fast_arr
)

和队列(在我的模拟中只有一个):

q = qt.QueueServer(
    num_servers = 1,
    collect_data = True,
    service_f = ser,
)

现在,我将第一个 Agent 注入服务器并模拟 10 个事件并检查数据(以防万一)

q.set_active()  # accept agents
ag_slow.queue_action(queue=q)
q.simulate(n=10)
q.fetch_data()

一切似乎都是对的。 然后我注入了第二个代理(到达时间较短的请求):

ag_fast.queue_action(queue=q)
q.simulate(n=10)

然后,我将数据移植到数据帧中,结果如下:

编号 到来 服务 离开 num_queued num_total q_id
0 1.967303 1.967303 2.467303 0.0 1.0 0.0
1 2.093401 2.467303 2.967303 1.0 2.0 0.0
2 5.400844 5.400844 5.900844 0.0 1.0 0.0
3 5.765601 5.900844 6.400844 1.0 2.0 0.0
4 8.493998 8.493998 8.993998 0.0 1.0 0.0
5 9.035278 9.035278 9.535278 0.0 1.0 0.0
6 9.874867 9.874867 10.374867 0.0 1.0 0.0
7 10.542173 10.542173 11.042173 0.0 1.0 0.0
8 11.993661 11.993661 12.493661 0.0 1.0 0.0
9 13.107135 13.107135 0.000000 0.0 1.0 0.0
10 13.565815 0.000000 0.000000 1.0 2.0 0.0

现在我有两个问题(或更多? 首先,我模拟网络的方式可以吗?(请不要烤我)。

其次,有没有办法获取有关代理的信息?(比如,“这是来自到达时间较短的人的代理吗?也许应该实施这样的事情?就像一个标签。

感谢您的帮助。

Python 网络 队列

评论


答: 暂无答案