【问题标题】:Anylogic: How to set Service delay time depending on the resourceSet being usedAnylogic:如何根据所使用的资源集设置服务延迟时间
【发布时间】:2017-04-15 07:09:13
【问题描述】:

基本上,我有一个可以使用两种 ResourceSet 替代方案的服务。假设该服务最好与一名医生和一名护士合作,但如果没有护士,也可以只与一名医生合作。

现在,假设 Doctor 在没有 Nurse 的情况下工作较慢,Service 的延迟时间必须取决于当前使用的 resourceSet(Doctor+Nurse 或 Doctor)。知道如何编程吗?

您还应该记住,我的模型有多种服务以相同的方式并行工作,而不仅仅是一条服务线。

谢谢!

【问题讨论】:

    标签: service resources delay anylogic


    【解决方案1】:

    您正在使用服务,但对我来说,使用 Seize、Delay 和 Release 的组合可以为您提供更大的灵活性。 我所做的是根据下图设置资源选择:

    在第一组中让护士先于医生很重要(出于某种原因,anylogic 会选择仅使用医生,否则即使有护士可用)。

    然后,我会编写以下代码:

    这意味着如果代理只能获取一种资源,则需要更长的时间(15 只是一个随机值)。

    在延迟块中,我会将处理时间设置为agent.processTime

    我使用的拓扑是这样的:

    显然,这是一种解决方法,并不适用于所有情况。您可以随时更改您验证的条件。我找不到检查抓住操作选择了哪个资源集的方法。如果您赶时间,这会解决问题。

    希望对您有所帮助, 路易斯

    【讨论】:

      猜你喜欢
      • 2020-06-28
      • 1970-01-01
      • 2021-12-18
      • 2021-01-23
      • 2015-08-28
      • 2021-05-19
      • 2019-02-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多