微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何不抢占不需要的资源单位?

如何解决如何不抢占不需要的资源单位?

我正在模拟一艘船的卸货过程。只需两个资源来回往返(装货、移动到目的地、卸货、返回装货),就可以完美地完成船舶的完全卸货,船舶永远不会闲着等待卡车装货。

我需要证明如果我将资源单位(卡车)的数量增加到3,第三个永远不会被抓住,因为它不需要,问题是抓住块均匀地抓住所有单位,所以最后,所有单元的利用率最终都大于 0。

我如何将 seize 块配置为仅使用所需资源,而将“多余”单元的利用率设为零?

认情况下,真实模型将有很多可用资源,船舶可能需要两辆以上的卡车。我想要的是确定所需的最佳资源量)。

谢谢。

解决方法

ResourcePool 中有一个选项Customize request choice,当设置为True 时,将允许创建Request choice condition 函数。可以确保首先占用的资源是利用率 > 0 的资源。如果你的假设是正确的,那么第 3 辆卡车将永远不会被占用。

,

你只需要运行两个实验。一辆有 2 辆卡车,另一辆有 3 辆卡车。然后在船舶等待时间和车池利用率方面进行比较。

,

我以一种非常简单的方式解决了这个问题:

在 Seize 块中,使用“自定义资源选择”选项,“资源选择”等于“评分最高的单位”和“单位评分”= unit.getUtilization()。

这样一来,Anylogic 将闲置资源按利用率排序,选择利用率最高的资源,这意味着永远不会占用不需要的资源。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。