【问题标题】:Anylogic: limiting used resourcesAnylogic:限制使用的资源
【发布时间】:2019-04-11 23:24:56
【问题描述】:

我目前正在为一家人力资源有限的公司的整个生产过程建模。

模型的一部分在这里可视化:

模型:在示例中,有多个块,但我的重点是使用块的资源。组装者使用 2 个资源,service、seize 和 rackstore 块各使用 1 个资源。正如你可以想象的那样,它们都被充分利用了,因为我只有 6 人的资源池(除此之外还有更多流程)

问题:由于这种充分利用,我的整个进程被阻塞,因为没有可用资源。因此,我想问一下我是否可以限制例如示例的蓝色部分流向使用相同资源池的 3 名员工?这样我就可以在流程之间设置优先级并让流程再次运行。

【问题讨论】:

    标签: anylogic


    【解决方案1】:

    如果使用的资源等于 3,则使用保持块来阻止产品流动

    代码: 进入延迟(当资源被占用时)

    resourcesInAssembler++;
    if(resourcesInAssembler==3){
        hold2.block();
        hold1.block();
        hold.block();
    }
    

    退出时(资源被释放时)

    resourcesInAssembler--;
    hold.unblock();
    hold1.unblock();
    hold2.unblock();
    

    【讨论】:

    • 你根据我的模型计算代理的数量,因为你计算代理的数量,这些代理来自源块,进入汇编程序。是不是不能统计变量使用的资源量,去掉resourcesInAssembler++;在你的代码中?
    • 你错了,我不算代理,我算资源……所以你的问题没有意义
    猜你喜欢
    • 1970-01-01
    • 2015-06-20
    • 2020-11-09
    • 2019-10-27
    • 2020-09-22
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    • 2019-06-28
    相关资源
    最近更新 更多