簡體   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