【问题标题】:AnyLogic, resource choice with particular agent conditionsAnyLogic,具有特定代理条件的资源选择
【发布时间】:2021-09-06 00:05:18
【问题描述】:

我正在使用 Anylogic。我有一个代理客户和五个技术人员(他们是资源)。在代理状态图中,我必须插入一个包含 12 个故障的列表,这些故障可以随机发生在客户身上。这些失败中的每一个都需要不同的组合技能(在我的模型中存在四种技能)。五位技术人员中的每一位都有不同的技能组合。

Combination cases are in the figure

我使用代理变量“Issue”和带有 12 个数字的选项列表(带有“Issue”类)对故障进行建模。可能是正确的? 在 Main 中,在占用块中,如何指定每个代理使用的技术资源?我知道我必须使用自定义资源选择,但我需要帮助才能插入代码。 另一个问题是,是在基于代理的部分中插入 5 名技术人员,还是创建 5 个不同的代理,他们称自己为“技术人员 1”、“技术人员 2”等等…… 很抱歉有很多问题 非常感谢!

【问题讨论】:

  • 您能否显示将要求技术人员的问题实体的内容以及它需要匹配技术人员的哪个属性?
  • 感谢您的回答。我的问题实体由具有“问题”类的选项列表定义,它有十二个值(“a”、“b”、“c”等等......)。我想为每个正在处理的客户随机分配其中一个。然后在“抓住技术人员”中,我有 5 个技术人员类型的资源池(每个都有一名技术人员)。比如我想说,如果出现问题“a”,那么好的技术人员只有1号或3号或4号;如果出现“b”,则唯一优秀的技术人员是 2 号或 4 号……等等。我如何在“自定义资源选择”中指定这一点?我会将问题类型与合适的技术人员联系起来

标签: java resources anylogic


【解决方案1】:

您的问题分为两部分:

  1. 随机将 Issue 值之一分配给客户代理的属性 - 这可以通过在客户代理中创建 Issue 类型的参数来完成(我们称之为 @ 987654324@) 并将其默认值设置为randomFrom(Issue.class)。这样,每次创建 Customer 类时,其 p_issue 参数都会设置为从 Issue 值范围中随机选择的值。
  2. 将客户与技术人员资源相匹配 - 如果您有 5 个单独的池,而不是 1 个具有 5 位技术人员的池,那么最简单的做法是使用 SelectOutput5 块。并有 5 个抓住每个指向一个游泳池。在条件字段中,您可以输入以下内容:
    agent.p_issue == Issue.a || agent.p_issue == Issue.b

上述情况适用于将具有p_issue 等于ab 的客户代理与指向单个资源池的特定Seize 匹配。


更新:您的参数应该看起来像图像。

注意:这将随机选择问题,因此不能保证每个值都是唯一的,即如果您有 10 个问题值并生成 100 个客户,那么其中大约 10% 将拥有p_issue=Issue.a, 10%, p_issue=Issue.b

【讨论】:

  • 感谢您的回答。全清。但是我怎么能确定每个进入模型的代理都有一个问题值(我希望不同的值)?我在哪里可以在 Main decrete 模型中指定“randomFrom(Issue.class)”?我不明白参数值是否可以为每个客户自动更改,或者我必须指定它。再次感谢和抱歉。
  • 我已经澄清了答案
猜你喜欢
  • 2021-09-10
  • 2017-05-17
  • 2021-04-04
  • 2018-09-16
  • 2021-04-08
  • 2021-11-14
  • 2021-06-20
  • 2017-11-24
  • 1970-01-01
相关资源
最近更新 更多