簡體   English   中英

Anylogic:如何根據代理的參數在ResourcePool中設置model設置時間(換刀)?

[英]Anylogic: How to model setup times (tool change) in ResourcePool based on a parameter of the agent?

由於我在最后一個問題上得到了很大的幫助,並且在幫助/教程中沒有找到任何有用的提示,我會再試一次:) 簡化的情況是:

  • 生產不同的產品變體(帶有參數productID的代理Product
  • 4工位生產線(建模為service ); 每個站有 2 台機器(建模為ResourcePool
  • 更改產品變型時,必須重新裝備機器。

我的想法是將機器狀態記錄為變量/參數( MachineStatus )。 當一個資源單元被占用時(代碼在“占用”時執行),然后比較productID = machineStatus 如果它們相等,則不延遲,如果它們不同,則中斷一定時間。 但是,我有兩個或三個問題:

  • 如何將變量MachineStatus分配給 ResourcePool 單元? 特別是如果我在資源池中有 2 台機器並因此將 MachineStatus 分開?
  • 我嘗試使用 self.timeout 來 model中斷,但這會導致錯誤。
  • 或者,一般來說; 這種方法有效還是我忽略了一些重要的東西?

謝謝你的幫助!

也許有人對我如何解決問題感興趣(與我的想法有點不同):

  • 定義一個參數MachineStatus和一個 function "RetoolingTime"
  • 我的服務塊的DelayTime時間值:

MachineStatus.equals(agent.productID)? 30: 30 + RetoolingTime(agent.productID, RetoolingTime)

請注意,30 秒是我的正常處理時間,如果我必須重新裝備,還有一個額外的重新裝備時間,這是由 function 計算的。

為了獲得重組時間,我將代碼寫入 function RetoolingTime的 function 主體中:

RetoolingTime 代碼

暫無
暫無

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

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