問題タブ [anylogic]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
anylogic - AnyLogic - ネットワークにエージェントを追加する
私はAnyLogicを初めて使用し、解決できない問題があります...
私は「メイン」、セクション「スペースとネットワーク」「レイアウトタイプ」と「ネットワークタイプ」を「ランダム」に設定し、「起動時に適用」ボックスをチェックしました...最初は素敵なソーシャルネットワークを持っています
しかし、エージェントは生まれては死んでいきます...問題は、エージェントを追加するとmain.add_individuals()
、新しく作成されたエージェントに接続がないことです! だから私はすべての最初のエージェントが死んだとき、私は自分自身にエージェントがいることに気づきますが、ネットワークはありません!
どのようにできるのか?新しいエージェントを追加するときに、他のエージェントと接続したい :S
ありがとう!!!
anylogic - Anylogic - Excel ファイルへの相対パスを使用する方法
AnyLogic シミュレーション モデルに接続した Excel ファイルへの実際のパスを使用しようとしています。Excel ファイルは、モデルと同じフォルダーにあります。誰かが私に手がかりを教えてもらえますか?前もって感謝します!
java - ゲートウェイとしての AnyLogic アセンブラ
おはようございます。私は AnyLogic プラットフォームを初めて使用し、会社のビジネス プロセスをマッピングするために使用したいので、AnyLogic プラットフォームの研究を開始しました。ツールのプロセス モデル ライブラリを使用してさまざまな部門をモデル化し、部門間の情報の流れがどのように実装されているかを調査することを計画しています。
私のダイアグラムは「ソース」要素とさまざまな「アセンブラー」要素で構成され、最後の要素 (アセンブラー) がゲートウェイとして機能することを望みます。状況をよりよく説明するために、簡単な図を同封します(例)。
''sourceA'' と ''sourceB'' (異なる部門に置かれている) が、2 つのカスタム エージェントで実装された 2 つの異なるドキュメントを生成するとします (たとえば、''sourceA'' から生成されたエージェントには ''orderID'' パラメータがあり、エージェントは ''orderID'' パラメータを持っています)。 ''sourceB'' には ''qualityCheckID'' パラメーターがあります) は、アセンブラー コンポーネント (別の部門に配置されます) に到達する前に、それぞれのキューで伝達されます。部門が同期されていないため、高い確率でキューがシミュレーション中に整列されません (queue[10] = agent.orderID が 10 に設定され、queue[10] = agent.qualityIDCheck が 9 に設定されます)。アセンブラがゲートウェイとして機能して、''orderID'' が ''
ドキュメントを読むと、エージェントは空いているときにアセンブラー ポートに到達し、それ以外の場合はキューで待機することがわかりました。非同期化が原因で、アセンブラー ポートには、orderID が qualityCheckID と等しくないエージェントが存在する可能性があります。この場合、アセンブラーの出力が生成されることは望ましくありません。必要なエージェントがポートではなくキューにあるため、「アセンブラー」はキュー内を検索して、対応するエージェントが存在するかどうかを確認し、存在する場合はキューから削除する必要があります (間違ったエージェントをポートはこの最後のものをキューに入れ、出力を生成します)
このシナリオをどのように実装できるかを理解するのを手伝ってくれる人がいます。
java - エージェントのパラメーターを反復処理する
別のコードに基づいてエージェントを作成しています。元のエージェントは処理中の遅延ブロックにあり、id のみが変更されるコピーを作成し、Enter ブロックで取得するメソッドを実行したいと考えています。
元のエージェントから情報をコピーするには、次のように各パラメーターを指定するよりも良い方法を見つけることができないようです。
等々。
このアクションを改善するためにエージェント パラメーターを反復処理する方法はありますか?
前もってありがとう、ルイス
java - AnyLogic でカスタム フローチャート ブロックを作成する
AnyLogic 7.3.5 でカスタム プロセス モデリング ライブラリ (PML) ブロックを作成する方法を説明するチュートリアルまたはハウツーを探しています。
スライド 7に示すように、昨年 2015 年 11 月 4/5 日にフィラデルフィアで開催された会議で使用されたスライドを見ました。カスタム ブロックが新しい AgentTypeであり、その内部で標準の PML ブロックを使用して「動作」を作成できることを知っています。 「メイン」エージェント。
ありがとうアンドレア
anylogic - AnyLogic - 条件によってトリガーされる遷移
私はAnyLogicを初めて使用しています...しかし、それは私を夢中にさせています!!!
それは非常に基本的です... ABモデルでは、エージェントのある割合をある状態から別の状態に移行させたいのですが...私には理解できないことが起こります:S
エージェントは 1000 人います... 950 人が V3 状態になると予想しています... まだ
ステータスを変更するエージェントは 889 人だけです:(
条件が 2 回評価されるようです...実際、0.95*0.95=0.90..これは、ステータスを変更するエージェントのパーセンテージです:(
誰でもこれを理解するのを手伝ってもらえますか? :( モデル全体を修正する必要があります...いつ「条件」と「ガード」を配置する必要がありますか?
みんな、ありがとう!!
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
@sdazaモデルより
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^
AnyLogic サポート チームの回答
_最初に true を返した場合、条件は 2 回評価されます。初期チェックは、エージェントが次の条件遷移がある状態に入ったときに実行されます。遷移の特定の条件が true を返す場合、エンジンはそれをトリガーしようとします。ここで再度条件を確認します。条件が false を返した場合はキャンセルされ、エージェントはその状態のままになります。つまり、条件は実行されるために 2 回 true を返す必要があります。
あなたの場合、「true」を 2 回返したエージェントのみがトランジションを実行し、確率は結果と一致します: 0.95 * 0.95 = 0.9。これが実際の確率です。
お役に立てば幸いです_
どうしてそうなるのか、理由はわかりませんでしたが…
anylogic - 条件はどのように機能しますか?
私は、イタリアで百日咳の疫学的モデルを構築しています。ここでは、予防接種スケジュールは生後 III、V、および IX 月に設定されています。その後、4 ~ 6 歳で追加接種が行われ、14 歳で追加接種が行われます。エージェントはイタリアの人口分布を再現しています。私は前世紀のデータを使用して、最初の人口をさまざまな州に分割しました。別の論文から毎日の接触に関するデータを取得しましたが、これらのデータに基づいて、すべてのエージェントが他のエージェントと接続します。
2006年から2014年までのイタリアでの百日咳の疫学を再現したいので、感染者数に興味があります
新しいエージェント (シミュレーション中に生まれた) は状態 S に入ります...生後 3 か月目 (生後 60 日から 89 日) で、エージェントはワクチン接種を受けて状態を変更できます (V1 に移動)...毎日の確率は状態の変更 (ProbVaccD)...これは、トランジションで書いたコードです。
condition: age() >= 60./365 && age()<90./365
guard: randomTrue(main.ProbVaccD)
モデルの時間は「days」であり、「age()」はreturn time(YEAR) - birthDate;
「birthDate」が変数であるとして定義された関数であり、エージェントが生まれたモデルの時間 (YEAR) を格納します。
条件を毎日評価したいので、「周期イベント」に「繰り返し時間1日」を追加したのaction: onChange();
ですが・・・これでよろしいでしょうか?
私が心配している点は、一部のエージェント (状態 Ip、Is、R1、R2、および R3 のもの) が、接続されているすべてのエージェントに毎日メッセージを送信するという事実です...
エージェントが 8 つのメッセージを受信し、条件が 8 回 (メッセージごとに 1 回) + 1 回 ("onChange();) 関数で評価されるとします。
前もって感謝します!!!