Anylogic:限制使用的资源

Anylogic: limiting used resources

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

部分模型在此处可视化:

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

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

如果使用的资源等于 3,则使用 hold 块停止产品流动

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

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

退出时(释放资源时)

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