【问题标题】:How to set priority for ResourcePool's queue in anylogic如何在anylogic中为ResourcePool的队列设置优先级
【发布时间】:2020-03-02 05:50:07
【问题描述】:

我有一系列需要相同资源(工作者)的服务。我希望工作人员遵循顺序,而不是随机选择要操作的服务。如何设置资源池队列的优先级? 感谢您的宝贵时间

【问题讨论】:

标签: java resources modeling anylogic


【解决方案1】:

一种方法:

  • 在worker中创建一个Service类型的变量“myPreviousService”。初始值设置为 null
  • 在每个服务中,应用“自定义资源选择”选项,并检查要占用的单元之前是否在之前需要的服务对象中工作过(在屏幕中,我设置了“service3”并要求工人已经工作过“service2”之前)
  • (显然只有第一个服务不需要这个要求)
  • 在每个服务的“占用单元”中,存储 unit.myPreviousService = self 以便工作人员记住

希望对你有帮助

【讨论】:

  • 原谅我的无知,你如何创建一个Service类型的变量?我在列表中找不到这种类型
  • 选择类型“Other...”,然后在新框中输入“Service”
【解决方案2】:

一般来说,对于这些情况,使用服务不是正确的方法,相反,您应该在开始时使用占用块,让代理通过所有服务(现在会出现延迟,因为您的资源已经被占用) 并且在您的工作人员完成所有操作后,您可以使用发布块。

记住服务 = 占用 + 延迟 + 释放

仅当您的工作人员需要通过序列时才可以使用服务,但他正在处理什么代理并不重要(这将与本杰明的解决方案一起使用)

【讨论】:

    猜你喜欢
    • 2019-11-26
    • 1970-01-01
    • 2021-07-28
    • 1970-01-01
    • 2021-01-24
    • 2021-10-05
    • 2011-12-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多