static void Main(string[] args) { var lh = new LoggingHelper(); lh.ClearLogFile(); Log.Info("====================================================================="); var g0 = ExampleWeightedGraph.GenerateExampleWeightedTwinGraph2(); TwinGraph g0Star = GenerateG0StarFrom(g0); _mAugmentingPath = new LinkedList <Arc>(); var i = 0; var mAugmentingPaths = new LinkedList <LinkedList <Arc> >(); while (true) { i++; Log.Info("ITERATION " + i + " ============================================="); var k = new ABVertexStack(); var l = new LinkedList <ABVertex>(); var mdfsw = new MDFSW(g0Star, k, l); MDFSW._step = 0; _mAugmentingPath = mdfsw.Run(); if (_mAugmentingPath == null) { //Extension step instead of breaking break; } mAugmentingPaths.AddLast(_mAugmentingPath); g0Star.SymmetricDifferenceWith(_mAugmentingPath); g0Star.LogArcsWeighted(); g0Star.LogVerticesWeighted(); } LogPaths(mAugmentingPaths); }