コミュニティの発展をシミュレートするモデルを実装しようとしています。つまり、コミュニティの人口を持つ都市があり、各コミュニティには住宅の人口があります。私が問題を抱えているのは、住宅 (コミュニティ) が異なる時間と異なる速度で開発されるような方法を見つけることです. 私は AnyLogic を初めて使用するので、どんな助けでも大歓迎です。ありがとう。
1 に答える
これは非常に一般的な質問ですが、エージェントのインスタンスを動的に作成することについて話しているのです。作成のさまざまな時間/レートを取得するには、通常、確率分布からサンプリングされた繰り返し時間で AnyLogic イベントを使用します。
ヘルプセクションを見てください
エージェント ベースのモデリング > 人口からのエージェントの追加と削除
と
行動の定義。イベントとステートチャート > イベント
レート ベースの作成 (つまり、指数分布からサンプリングされた時間) の場合は、レート トリガー イベントを使用します。他の分布 (通常、均一、またはカスタムのものなど) の場合は、動的イベント (および最初のそのようなイベントに動的イベントの別のインスタンスをセットアップさせる) または通常のイベントのいずれかを使用します。分布からのサンプル (例: normal(2,20)
)。
確率分布のヘルプについては、次のヘルプ セクションを参照してください。
AnyLogic ヘルプ > 確率モデリング > 確率分布
たとえば、 という人口のコミュニティを動的に作成する場合communities
、イベント アクションは になりますadd_communities()
。(ヘルプでは、新しく作成されたエージェントのパラメーターの設定を処理する方法について説明しています。ここでの例では、エージェントのパラメーターに設定されたデフォルト値を使用していますがadd_communities("MyCoolPlace", 10)
、エージェントに文字列パラメーター、次に int (整数) パラメーター。
イベントが人口を含む同じエージェントにない場合、イベント アクションはそのエージェントにアクセスする必要があります (適切なadd_
関数は、人口を所有するエージェントを呼び出すためにのみ存在します)。詳細については、次のヘルプ セクションを参照してください。
Java を使用した高度なモデリング > AnyLogic の Java の基本 > どこにいて、どうすれば…?