繁体   English   中英

如果另一个资源位于特定节点中,则获取资源

[英]Seize resource if another resource is located in a specific node

我是 AnyLogic 的新手。 如果另一个资源单元位于特定注释中,我如何使用 Seize Block 中的动态资源池字段来获取特定资源单元?

例子:
如果 ResourcePool1 中的一个单元位于 node1 内部,则从 ResourcePool2 中获取资源单元。 否则不要抓住。 那可能吗?

这个问题的答案不是很简单。 我将逐步描述它。 不幸的是,AnyLogic 不允许您单独访问单独的资源单元(有一些功能,例如访问被占用的特定单元,但这不是您所需要的)。 所以请按照以下步骤操作:

  1. Go 到代理面板,然后拖放第一个名为代理的元素

  2. 选择“代理数量”,然后选择“我想创建一个新的代理类型”。

  3. 根据需要命名并填写如下所示的属性,然后单击完成。 在此处输入图像描述

  4. 单击资源池并指定突出显示的属性,如下所示: 在此处输入图像描述

  5. 创建一个 function(通过从代理面板拖放它)

  6. 如下图所示设计 function。 这个 function 所做的是检查资源池的任何单元是否位于 node1 中。 如果至少 1 位于 node1 中,则返回 true,否则返回 false 在此处输入图像描述

  7. 最后,go 到服务并写入以下内容。 这意味着每次代理进入服务时,都会检查 function。 如果返回true,则占用一个resourcePool,否则占用一个resourcePool1。 在此处输入图像描述

当然,这些步骤是相当通用的,您需要调整以匹配资源池、节点等的数量。但这就是我可以回答的详细信息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM