private void RemoveCyclesFromGluedConstraints() { var feedbackSet = CycleRemoval <IntPair> . GetFeedbackSetWithConstraints(new BasicGraph <IntPair>(GluedUpDownIntConstraints, this.intGraph.NodeCount), null); //feedbackSet contains all glued constraints making constraints cyclic foreach (IntPair p in feedbackSet) { GluedUpDownIntConstraints.Remove(p); } }
private IEnumerable <IEdge> GetFeedbackSet() { this.gluedIntGraph = CreateGluedGraph(); return(UnglueIntPairs(CycleRemoval <IntPair> .GetFeedbackSetWithConstraints(gluedIntGraph, this.GluedUpDownIntConstraints)));//avoiding lazy evaluation }