我對Java非常新穎& AnyLogic所以請在我的水平上爲這個。AnyLogic基於代理的模擬代理值轉移
代理是否有辦法從另一個代理獲取變量值? 在這種情況下,代理將是相同的類型。因此,它們都具有相同的變量,但由於它是隨機初始值而非參數的變量,因此這些值不一樣。
代理最初也通過Small-World連接進行連接,並且這些連接在運行期間不會被更改。
例如,事件中發生的代理如何從另一個代理收集變量值(例如,代理i獲得代理j的變量值X)。爲了修改代理i的變量X的值,這個值將被放入一個小的等式中。換句話說,代理人我會受到他的連接代理j的影響,從而改變了他的X值。
我試過.getConnectedAgent()
和.get
的多種組合,但沒有取得任何成功。我現在試圖將每個代理的X的值提取到數據庫中,然後使用該數據庫來收集代理i的代理j的X的值,但是我沒有取得任何進展。
需要提取的值是double
s,但如果它更容易,我可以將變量更改爲整數。
爲了讓本傑明(好)回答更明確的,如果你想從你連接到第一代理得到AnyLogic的變量x的值,那麼你會使用'getConnectedAgent(0)。 x'。 (括號中的零表示AnyLogic *連接的代理要使用,其中零是第一個。如果您使用的是小世界的網絡環境,AnyLogic爲您設置了零個或多個連接,在這種情況下,訂單有點不相關) –
你還需要測試*有*實際上是當前代理的連接,這可能不是這樣的,例如,你會把代碼放在'if(connectedNumber()> 0 )'塊。 –