3

実際の製造プロセスのマルチエージェント シミュレーション モデルを作成して、ディスパッチ ルールを評価したいと考えています。シミュレーションでは、実際の製造イベント ログと比較してディスパッチ ルールの時間効果を評価するために、イベント ログを生成する必要があります。

「現在のシミュレーション時間」を、この種のマルチエージェント、メッセージ パッシングの集中的なシミュレーションにどのように組み込むことができますか?

背景:
システム内のエージェントは比較的複雑な動作とルーティング要件を表し、ディスパッチ ルールでは頻繁に通信する必要があるため、(時間の進行を適切に処理する) 古典的な離散イベント シミュレーションはここでは適用できません。このプロセスやその他のプロセスの複雑さにより、集中型のスケジューリング アプローチも除外されます。

製造科学では、製造関連の問題を解決するためにマルチエージェント シミュレーションを使用した何千もの論文があります。ただし、これらのシミュレーションの内部の仕組みや実装の詳細を必要な詳細で説明している論文をまだ見つけていません。

残念ながら、プロセス時間の範囲が 0.1 秒から 24 時間の間であるため、システム内の離散時間ステッピングに最短のプロセス時間を使用することは実行不可能な場合があります。私のシミュレーションは後でプロジェクトの what-if 評価に使用される可能性があるため、シミュレーションをできるだけ速く実行する必要があります。夜間のシミュレーション実行のオプションはありません。

問題のサイズは、約 500 のリソースと 1000 から 10000 の製品エージェントであり、それらのほとんどは終了しており、それ以上のコミュニケーションやリソース占有に参加していません。

その結果、コミュニケーションの結果として、新しいイベントは、元の「次回」イベントが到着する前に、エージェントが何かを行うようにトリガーできます。たとえば、エージェントは現在、1 時間続くリソースでブロックされています。ただし、優先度の高い別のエージェントがすぐにそのリソースを必要とし、最初のエージェントにそのリソースを解放するように依頼します。

ある意味では、従来のメッセージ パッシング エージェント シミュレーションと離散イベント シミュレーションのハイブリッドを作成する方法が必要です。

私は、すべてのメッセージに関与するメディエーター エージェント (メッセージ ルーターと、メッセージとタイマー ティック イベントを送信するタイム エンフォーサー) を考えました。また、メディエーター エージェントは、さまざまなエージェントの次のイベント時間のリストを保持します。しかし、この概念はメディエーター エージェントに大きなプレッシャーを与えるため、問題を解決するためのより良い方法があるはずだと感じています。

アップデート

少し時間がかかりましたが、なんとかミニフレームワークを作成し、DES とエージェントの概念を 1 つにまとめることができたようです。新しいものではないと確信していますが、少なくともユニークです: http://code.google.com/p/tidra-framework/興味がある場合。

4

1 に答える 1

4

この問題は、並列離散イベント シミュレーションを使用して対処する必要があるように思えます。実装を計画しているメディエーター エージェント (「すべてのメッセージに関与する」、「メッセージとタイマー ティック イベントを送信する」) が機能しているようです。現在の離散イベント シミュレータの。このようなシミュレーターを並行して使用することで、このスケールを目的の問題サイズにすることができます。次に、因果関係を維持するために同期アルゴリズムを使用します (詳細については、この本を参照してください)。もちろん、これにはかなりの労力が必要であり、最初に逐次アルゴリズムを実際に試してみたほうがよい場合があります。

イベントを介して相互に通信する論理プロセス (= エージェント) の古典的な DES ビューを拡張する良い方法は、DEVSなどの離散イベント システムを記述するために使用される他の形式主義からのいくつかのアイデアをブレンドすることです。DEVS では、各エンティティは、特定の状態 (エージェントがリソースをブロックするなど) に留まる期間を指定でき、着信メッセージによってのみ中断されます (その後、エージェントがリソースを解放するなど、それに応じて状態を変更します)。

ところで、どのような意味で、エージェントが複雑すぎて離散イベント シミュレーションで処理できないと思いますか? 各エージェントを論理的なプロセスと見なす場合、シミュレーションの観点から見てどれだけ複雑であっても問題ありません。それとも、ここで何か間違っているのでしょうか?

于 2009-06-25T12:01:59.263 に答える