私は、エージェントベースの流行モデルを使っています。アイデアは、個々のエージェントが自分のネットワークで観察しているもの(距離ベース)に基づいて意思決定を行うというものです。感染した連絡先、特定の動作を示す連絡先などを動的に更新する各エージェント内の機能がいくつかあります。AnyLogic:ネットワークモデルの計算性能を改善する
以下のコードは、エージェントのネットワーク内の感染した連絡先を数えるためのコードです。
int infectedConnections = 0;
if (getConnections() != null)
for (Agent a : this.getConnections())
{
Person p = (Person) a;
if (p.IsCurrentlyInfected())
infectedConnections++;
}
return infectedConnections ;
エージェントネットワーク内の他の機能を表す他のエージェントの数をカウントする機能が少なくとも3つ以上あります。さて、これは私が<人のエージェントを持っているときにうまくいくようですが、エージェントの人口を約1,000人に増やすと、モデルは非常に遅くなります。私は少なくとも5,000人のエージェントをシミュレートしようとしていますが、この時点でモデルは初期化さえしません。
より多くの集団に対してAnylogicのネットワーク統計を追跡するための計算上効率的な方法がありますか?
この質問にはより良いタイトルを付けることができます。現時点では非常に一般的/曖昧です。 –