簡體   English   中英

在 AnyLogic 中為同一資源的多個 Seize Blocks 分配優先級

[英]Assign priorities for multiple Seize Blocks for the same resource in AnyLogic

我有一個不太典型的場景,我不確定如何進行:

  • 有兩個車站位於兩個不同的位置。
  • 兩個站都需要相同的資源。
  • 一旦釋放,資源就會從一個站移動到另一個站。 所以它不斷地從1號站到2號站再到1號站,以此類推,直到再次被抓住。 這是通過從釋放塊的資源進程端口添加鏈接來建模的。 所以除非有條件,否則它不會完全釋放。 條件是在同一資源的 seize 塊的隊列中有代理正在等待。 所以它應該繼續移動,直到再次需要它。 棘手的部分是該資源有兩個捕獲塊,每個站一個。 代理可能已准備就緒,並在兩個站點的資源占用元素中等待。 我在發布時添加了資源過程的圖像。 所以在“selectOuput4”它檢查站1的seize元素是否有代理等待,如果是,則資源被釋放並且可以被占用。 否則,它移動到站 2 並檢查相同但站 2。

在此處輸入圖片說明

我擔心可能會出現兩個站點都有代理在各自的占用塊中等待的情況。 我如何確保資源將被站點 1 的占用元素占用而不是站點 2 的元素,反之亦然。 在兩個 seize 元素正在等待資源的情況下,有沒有辦法控制資源的去向? 還是總是隨機的?

我為這篇長文章道歉,我希望我能正確地表達我的想法。

首先,我認為你的設計有點奇怪,因為你總是抓住資源。

我要做的是首先在資源中有一個狀態圖來控制資源從一個地方到另一個地方的移動,這樣你就可以更好地控制它。 狀態圖僅在未被占用時用於移動您的資源。 這將允許您的資源從站 1 移動到站 2 但有東西進入站 1 隊列並且資源可以立即做出反應並在到達站 2 之前返回站 2(如果您認為這是一個好這樣做的想法)

第二個是seize塊定義了當agent到達seize塊時任務的優先級,你的情況需要動態改變該優先級,據我所知這是無法做到的,所以在seize之前的wait塊不幸的是,阻止是一個不錯的選擇。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM