[英]Seize resource if another resource is located in a specific node
我是 AnyLogic 的新手。 如果另一个资源单元位于特定注释中,我如何使用 Seize Block 中的动态资源池字段来获取特定资源单元?
例子:
如果 ResourcePool1 中的一个单元位于 node1 内部,则从 ResourcePool2 中获取资源单元。 否则不要抓住。 那可能吗?
这个问题的答案不是很简单。 我将逐步描述它。 不幸的是,AnyLogic 不允许您单独访问单独的资源单元(有一些功能,例如访问被占用的特定单元,但这不是您所需要的)。 所以请按照以下步骤操作:
Go 到代理面板,然后拖放第一个名为代理的元素
选择“代理数量”,然后选择“我想创建一个新的代理类型”。
创建一个 function(通过从代理面板拖放它)
如下图所示设计 function。 这个 function 所做的是检查资源池的任何单元是否位于 node1 中。 如果至少 1 位于 node1 中,则返回 true,否则返回 false
最后,go 到服务并写入以下内容。 这意味着每次代理进入服务时,都会检查 function。 如果返回true,则占用一个resourcePool,否则占用一个resourcePool1。
当然,这些步骤是相当通用的,您需要调整以匹配资源池、节点等的数量。但这就是我可以回答的详细信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.