0

AnyLogic は私にとって非常に新しいので、エージェントの老化と死亡に問題があります。

エージェントは、指定された年齢分布に従って最初に作成されますここに画像の説明を入力

時間が経つにつれて老化します(利用可能な例で素晴らしい解決策を見つけました)

次のように変数「birthTime」を定義しました
if( time() == 0 ) { return -initialAge; } else { return time(); }

そして機能「年齢」return time() - birthTime

次に、すべての年齢の毎日の死の確率を格納する配列であるコレクション「deathprob」がありますここに画像の説明を入力

トラブルを避けるために、配列の最後の要素を 1 にします (119 がある場合は確実に死亡します)。

最後に、イベント「eventDeath」がありますここに画像の説明を入力

私によると、それはうまくいくはずですが、それは私に問題を引き起こしますここに画像の説明を入力

問題は、誰かが死んでいないため、存在しない位置を配列で探していることだと理解しています...しかし、誰かが私を助けてくれる必要があります...私が犯した間違いを見ることができません... :(

PS「イベント」は、すべてのエージェントが時間単位 (私の場合は 1 日) ごとに行うものですか?

. __________ . __________ . ____________ . __________ . __________ . __________ .

これが私がイベントを編集した方法です ここに画像の説明を入力

ここで、「onDeath()」は次の関数ですmain.remove_individuals(this);

以前は問題が発生しなくなりました...これが正しいことを確認したいだけです..このイベントの状態は、すべてのエージェントによって単位時間ごとにチェックされますか?

ありがとう!

4

0 に答える 0