[英]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.