void FlowBasedGlobalConstraint::initStructure() { if (!hasConfigOrganized) { organizeConfig(); hasConfigOrganized = true; } if (graph == NULL) { size_t graphSize = GetGraphAllocatedSize(); graph = new Graph(graphSize, arity_, wcsp->getStore()); if (zeroEdges == NULL) { zeroEdges = new bool*[graph->size()]; for (int i=0;i<graph->size();i++) zeroEdges[i] = new bool[graph->size()]; } for (int i=0;i<graph->size();i++) { for (int j=0;j<graph->size();j++) { zeroEdges[i][j] = false; } } buildGraph(*graph); cost = constructFlow(*graph); } propagate(); }
inline Cost constructFlow() {return constructFlow(graph);}