Почему этот код в 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);

            }

0 ответов

Другие вопросы по тегам