0

「Sellers」というエージェントの母集団と、「Manufacturer」という母集団1の1つのエージェントを定義しました。 "AverageSales"は、売り手エージェントの統計に定義されています。今、私は、売り手の "AverageSales"によって取られた異なる値を製造者に知らせたいと思っています。私はこのコミュニケーションのために、 "AverageSales"の値が製造業者に送られる売り手からのメッセージを送るべきだと思います。問題は、すべての例がステートチャート内でメッセージを定義したことです。どうやってやるの?あなたはこの行動のコードを書いてください。どこに追加すればいいですか?ステートチャート内ではなく、2つのエージェント間の相互作用

ありがとうございました

答えて

1

エージェントの通信は常にメッセージ経由である必要はありません。 (これは、エージェントの行動のステートチャート指向のビューに適合し、多くのAnyLogicのサンプルモデルで強調されているものです)多くの場合(あなたのように)、他のエージェントの情報に直接アクセスするほうがはるかに簡単ですまたはその人口)。

あなたの場合、製造元のエージェントは統計値に直接アクセスできます。母集団manufacturerssellersMainであり、統計情報がAverageSalesであるとします。あなたのメーカーのエージェントの中から、main.sellers.AverageSales()を使って統計にアクセスすることができます(つまり、あなたのために作成された上位レベルエージェントへのリンクを介してMainに移動し、次に売り手の人口にアクセスし、統計値にアクセスします)。提供された機能)。

形式のヘルプを参照してください:Javaの持つ

  • 高度なモデリング - > AnyLogicのためのJavaの基本 - > Iと私はどのようにを得るのですか...?

  • リリースノート - >以前のリリースの新機能 - 上位レベルのエージェント

  • エージェントベースのモデリングへ>リンク - - > AnyLogic 7の新機能>エージェントの収集統計

関連する問題