[英]getting the waiting time for different agent types AnyLogic
希望你們都平安
假設我有第一張照片中顯示的這個系統。 有 2 個源鏈接到 2 種不同的代理類型。 他們從同一個延遲服務。
我的目標:是找到第一個來源的代理和第二個來源的代理的等待時間。
我做了什么:我首先使用了“timeMeasureEnd”數據集。 我運行了模擬,然后檢查了日志中的 datasets_Log。 (見圖2)。
我的問題是:我不知道哪些代理來自源 1,哪些來自源 2。它只是根據 FIFO 給我代理的索引。
我需要一種方法來為我提供每個代理的等待時間並告訴我代理的類型(或它來自哪個來源)。
我的嘗試: 1. 我嘗試將代理 ID 保存在數據集中,但它沒有顯示在日志中。 2. 我創建了一個額外的隊列並為其分配了一個數據集。 在數據集中輸入代理 ID 以及等待時間,然后我比較代理 ID。 但這需要很長時間。
我希望我說清楚。
一句話:我需要獲取代理的來源和等待時間。
謝謝你
選項1:
只需在您的代理中創建一個名為 source 的變量(它可以是一個整數)
如果您的代理來自源代碼,則在退出時您可以執行 agent.source=0; 如果它來自 source1 你可以做 agent.source=1;
在延遲之后,您可以使用以下延遲時間
agent.source==0 ? delayForAgentsComingFromSource : delayForAgentsComingFromSource1
當然 delayForAgentsComingFromSource 是一個數字。
選項 2:
如果您的代理類型是 Meow(源)和 Meow2(源 1),那么您可以在延遲期間執行以下操作:
agent instanceof Meow ? delayForAgentsComingFromSource : delayForAgentsComingFromSource1
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.