Changes in test/suurballe_test.cc [346:7f26c4b32651:440:88ed40ad0d4f] in lemon-1.1
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
test/suurballe_test.cc
r346 r440 1 /* -*- C++-*-1 /* -*- mode: C++; indent-tabs-mode: nil; -*- 2 2 * 3 * This file is a part of LEMON, a generic C++ optimization library 3 * This file is a part of LEMON, a generic C++ optimization library. 4 4 * 5 * Copyright (C) 2003-200 85 * Copyright (C) 2003-2009 6 6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport 7 7 * (Egervary Research Group on Combinatorial Optimization, EGRES). … … 18 18 19 19 #include <iostream> 20 #include <fstream>21 20 22 21 #include <lemon/list_graph.h> … … 29 28 using namespace lemon; 30 29 30 char test_lgf[] = 31 "@nodes\n" 32 "label supply1 supply2 supply3\n" 33 "1 0 20 27\n" 34 "2 0 -4 0\n" 35 "3 0 0 0\n" 36 "4 0 0 0\n" 37 "5 0 9 0\n" 38 "6 0 -6 0\n" 39 "7 0 0 0\n" 40 "8 0 0 0\n" 41 "9 0 3 0\n" 42 "10 0 -2 0\n" 43 "11 0 0 0\n" 44 "12 0 -20 -27\n" 45 "@arcs\n" 46 " cost capacity lower1 lower2\n" 47 " 1 2 70 11 0 8\n" 48 " 1 3 150 3 0 1\n" 49 " 1 4 80 15 0 2\n" 50 " 2 8 80 12 0 0\n" 51 " 3 5 140 5 0 3\n" 52 " 4 6 60 10 0 1\n" 53 " 4 7 80 2 0 0\n" 54 " 4 8 110 3 0 0\n" 55 " 5 7 60 14 0 0\n" 56 " 5 11 120 12 0 0\n" 57 " 6 3 0 3 0 0\n" 58 " 6 9 140 4 0 0\n" 59 " 6 10 90 8 0 0\n" 60 " 7 1 30 5 0 0\n" 61 " 8 12 60 16 0 4\n" 62 " 9 12 50 6 0 0\n" 63 "10 12 70 13 0 5\n" 64 "10 2 100 7 0 0\n" 65 "10 7 60 10 0 0\n" 66 "11 10 20 14 0 6\n" 67 "12 11 30 10 0 0\n" 68 "@attributes\n" 69 "source 1\n" 70 "target 12\n" 71 "@end\n"; 72 31 73 // Check the feasibility of the flow 32 74 template <typename Digraph, typename FlowMap> 33 bool checkFlow( const Digraph& gr, const FlowMap& flow, 75 bool checkFlow( const Digraph& gr, const FlowMap& flow, 34 76 typename Digraph::Node s, typename Digraph::Node t, 35 77 int value ) … … 54 96 55 97 // Check the optimalitiy of the flow 56 template < typename Digraph, typename CostMap, 98 template < typename Digraph, typename CostMap, 57 99 typename FlowMap, typename PotentialMap > 58 100 bool checkOptimality( const Digraph& gr, const CostMap& cost, … … 97 139 Node source, target; 98 140 99 std::string fname; 100 if(getenv("srcdir")) 101 fname = std::string(getenv("srcdir")); 102 else fname = "."; 103 fname += "/test/min_cost_flow_test.lgf"; 104 105 std::ifstream input(fname.c_str()); 106 check(input, "Input file '" << fname << "' not found"); 141 std::istringstream input(test_lgf); 107 142 DigraphReader<ListDigraph>(digraph, input). 108 143 arcMap("cost", length). … … 110 145 node("target", target). 111 146 run(); 112 input.close(); 113 147 114 148 // Find 2 paths 115 149 { … … 119 153 "The flow is not feasible"); 120 154 check(suurballe.totalLength() == 510, "The flow is not optimal"); 121 check(checkOptimality(digraph, length, suurballe.flowMap(), 155 check(checkOptimality(digraph, length, suurballe.flowMap(), 122 156 suurballe.potentialMap()), 123 157 "Wrong potentials"); … … 134 168 "The flow is not feasible"); 135 169 check(suurballe.totalLength() == 1040, "The flow is not optimal"); 136 check(checkOptimality(digraph, length, suurballe.flowMap(), 170 check(checkOptimality(digraph, length, suurballe.flowMap(), 137 171 suurballe.potentialMap()), 138 172 "Wrong potentials"); … … 149 183 "The flow is not feasible"); 150 184 check(suurballe.totalLength() == 1040, "The flow is not optimal"); 151 check(checkOptimality(digraph, length, suurballe.flowMap(), 185 check(checkOptimality(digraph, length, suurballe.flowMap(), 152 186 suurballe.potentialMap()), 153 187 "Wrong potentials");
Note: See TracChangeset
for help on using the changeset viewer.