簡體   English   中英

基於AnyLogic Agent的模擬代理價值轉移

[英]AnyLogic Agent-Based simulation agents value transfer

我對Java和AnyLogic還是很陌生,所以請對此進行介紹。

代理有沒有辦法從另一個代理獲取變量值? 在這種情況下,代理將是同一類型。 因此,它們都具有相同的變量,但是由於它是具有隨機初始值而不是參數的變量,所以值是不同的。

代理程序最初也通過Small-World連接進行連接,並且這些連接在運行期間不會更改。

例如,發生在事件中的代理如何從另一個代理中收集變量值(例如,代理i獲得代理j的變量值X)。 為了修改代理i的變量X的值,可以將該值放在一個小方程式中。 換句話說,代理i會受到其連接的代理j的影響,因此會更改其X的值。

我嘗試了.getConnectedAgent().get多種組合,但.getConnectedAgent()成功。 我現在正嘗試將每個代理的X值提取到數據庫中,然后使用該數據庫按代理i收集代理j的X值,但是我在此沒有任何進展。

需要提取的值是double ,但是如果更容易,我可以將變量更改為整數。

無需將其提取到數據庫中。 您應該對面向對象的編程進行更多的學習,您的問題與AnyLogic無關,而與正確使用Java有關。

如果您有一個稱為“ MyAgents”的代理,其中每個代理都有一個具有隨機雙精度值的變量var,則代理12可以通過調用var = get_Main().MyAgents.get(13).var獲得代理14的雙var = get_Main().MyAgents.get(13).varvar = get_Main().MyAgents.get(13).var

在這里, var的左側是主叫代理的變種。 get_Main()在層次結構中將其上移至一個級別,以訪問其自身的總體和其他代理。 然后,它訪問第14個代理(Java從零開始)及其var值。

如果計划使用getConnectedAgent() ,則需要首先連接代理。 如果您使用“小世界”,則可以在某種程度上完成此操作,但是通常您希望手動定義連接。 檢查幫助中的“鏈接到代理”文章。

干杯

暫無
暫無

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

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