我如何在 AnyLogic 中拆分我的代理,以便一个始终使用一项服务,然后其他人使用另一项服务?
Posted
技术标签:
【中文标题】我如何在 AnyLogic 中拆分我的代理,以便一个始终使用一项服务,然后其他人使用另一项服务?【英文标题】:How can i split my agents in AnyLogic so that one always goes to a service then the rest goes to another service? 【发布时间】:2018-11-03 10:14:46 【问题描述】:我会解释我的问题。 我正在添加我的部分场景的两张图片。image 1image 2
我想知道如何拆分由 1 个或 5 个代理组成的代理组,以便该组的成员始终去售票处,而该组的其他成员则去服务。 例如,我希望 3 人一组去售票处 1 个,另外 2 个去服务处并在那里排队。
提前感谢您的回答!
【问题讨论】:
你试过ped组反汇编块吗?假设你使用的是行人图书馆 在我的课堂上,我们只使用了流程建模库,而任务应该使用这个库来回答。 :// 当时你是如何创建群组的?您需要添加您承诺的图片..您的帖子中没有图片... 他们来了!抱歉之前链接失效了!第一个是关于如何设置源块的见解。第二个是简单的源和2个服务块的情况。 【参考方案1】:所以我会这样做:
首先,您的组代理创建一个名为 groupId 的变量,定义为 int。
其次,在 main 中创建这个结构: groupSize 是一个整数 currentGroupId 是一个初始值等于 1 的 int getGroupSize 函数代码如下:
groupSize=uniform_discr(1, 5);
return groupSize;
在每次到达的代理中您的来源:
getGroupSize()
在您的源代码中的 on at exit 操作中:
agent.groupId=currentGroupId;
currentGroupId++;
最后在 selectOutput 中,如果条件为真,则使用以下条件:
agent.groupId==1
并且在 on enter 动作中的代码如下:
if(groupSize==agent.groupId)
currentGroupId=1;
【讨论】:
以上是关于我如何在 AnyLogic 中拆分我的代理,以便一个始终使用一项服务,然后其他人使用另一项服务?的主要内容,如果未能解决你的问题,请参考以下文章