Почему этот код в Repast J для Java создает в два раза больше "outedge"
Я моделирую цепочку поставок с покупателем, продавцом и поставщиком. Они связаны в узле. Я нашел этот код. Но я не понимаю, почему этот код создает двойное количество выходов. Может быть, кто-то может помочь?
while (it.hasNext()) {
// Find the next agent to link to.
tempAgent = (supply_chain_agent) it.next();
System.out.println(tempAgent);
// Create an edge from the last agent to the temp agent.
tempEdge = new supply_chain_edge("Orders", 1, this.initialOrderPerTimeStep);
// Connect the new edge.
tempAgent.addInEdge(tempEdge);
System.out.println(tempEdge.getLabel());
lastAgent.addOutEdge(tempEdge);
System.out.println(tempEdge.getLabel());
tempEdge.setTo(tempAgent);
tempEdge.setFrom(lastAgent);
// Create an edge from the temp agent to the last agent.
if (lastAgent.getNodeLabel().startsWith("Customer")) {
tempEdge = new supply_chain_edge("Shipments", this.ordering_delay, this.initialOrderPerTimeStep);
} else {
tempEdge = new supply_chain_edge("Shipments", this.delivery_delay, this.initialOrderPerTimeStep);
}
// Connect the new edge.
lastAgent.addInEdge(tempEdge);
System.out.println(tempEdge.getLabel());
tempAgent.addOutEdge(tempEdge);
System.out.println(tempEdge.getLabel());
tempEdge.setTo(lastAgent);
tempEdge.setFrom(tempAgent);
// Move on.
lastAgent = tempAgent;
System.out.println(lastAgent);
}