AnyLogic PMIライブラリの「分割」コンポーネントに関する質問があります。このケースをよりよく説明するために、私が構築しているシナリオの一部の写真を掲載します。 。AnyLogicスプリットコンポーネントで、1つのエージェントを複数のエージェントに分割できますか?
上記の図の左側のソース要素は、「要件」タイプのオブジェクトを生成します(これは、エージェントクラスを継承するカスタムクラスです)。このクラスは、すべての顧客「CI」(行列の例が与えられている)ごとに製品「PI」の要件を有するマトリックスを表し:
ためごとこのマトリックスは、薬剤の集まりとして見ることができます行は、私の回路ブロックの最初のものが関係するエージェント(論理的には、製品供給者から注文される製品Piの量に関する情報を含む)であり、すべての列は、 (論理的には、顧客Ciの販売予測を含む)。
スプリットブロックの "on at enter"イベントでは、最初に行を繰り返し、 "out"スプリットのポートでそれぞれを出力し、次に列を反復してそれぞれを出力するスクリプトを作成します「アウトコピー」スプリットのポート。
matrix = (Requirement)agent;
Iterator<Object> reqIter = matrix.getRequirements(); //iterate the rows
while (reqIter.hasNext())
{
Object current = reqIter.next();
//PUSH current in the out port of the split
}
Iterator<Object> sellIter = matrix.getRequirements(); //iterate the columns
while (sellIter.hasNext())
{
Object current = sellIter.next();
//PUSH current in the out-copy port of the split
}