1.1 --- a/doc/coding_style.dox Fri Aug 09 14:07:27 2013 +0200
1.2 +++ b/doc/coding_style.dox Fri Aug 09 11:28:17 2013 +0200
1.3 @@ -2,7 +2,7 @@
1.4 *
1.5 * This file is a part of LEMON, a generic C++ optimization library.
1.6 *
1.7 - * Copyright (C) 2003-2009
1.8 + * Copyright (C) 2003-2013
1.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
1.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
1.11 *
2.1 --- a/doc/dirs.dox Fri Aug 09 14:07:27 2013 +0200
2.2 +++ b/doc/dirs.dox Fri Aug 09 11:28:17 2013 +0200
2.3 @@ -2,7 +2,7 @@
2.4 *
2.5 * This file is a part of LEMON, a generic C++ optimization library.
2.6 *
2.7 - * Copyright (C) 2003-2009
2.8 + * Copyright (C) 2003-2013
2.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
2.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
2.11 *
3.1 --- a/doc/groups.dox Fri Aug 09 14:07:27 2013 +0200
3.2 +++ b/doc/groups.dox Fri Aug 09 11:28:17 2013 +0200
3.3 @@ -2,7 +2,7 @@
3.4 *
3.5 * This file is a part of LEMON, a generic C++ optimization library.
3.6 *
3.7 - * Copyright (C) 2003-2010
3.8 + * Copyright (C) 2003-2013
3.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
3.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
3.11 *
3.12 @@ -429,7 +429,7 @@
3.13 which is capable of handling real-valued arc costs (other numerical
3.14 data are required to be integer).
3.15
3.16 -For more details about these implementations and for a comprehensive
3.17 +For more details about these implementations and for a comprehensive
3.18 experimental study, see the paper \cite KiralyKovacs12MCF.
3.19 It also compares these codes to other publicly available
3.20 minimum cost flow solvers.
3.21 @@ -570,7 +570,7 @@
3.22 \image html planar.png
3.23 \image latex planar.eps "Plane graph" width=\textwidth
3.24 */
3.25 -
3.26 +
3.27 /**
3.28 @defgroup tsp Traveling Salesman Problem
3.29 @ingroup algs
4.1 --- a/doc/lgf.dox Fri Aug 09 14:07:27 2013 +0200
4.2 +++ b/doc/lgf.dox Fri Aug 09 11:28:17 2013 +0200
4.3 @@ -2,7 +2,7 @@
4.4 *
4.5 * This file is a part of LEMON, a generic C++ optimization library.
4.6 *
4.7 - * Copyright (C) 2003-2009
4.8 + * Copyright (C) 2003-2013
4.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
4.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
4.11 *
5.1 --- a/doc/min_cost_flow.dox Fri Aug 09 14:07:27 2013 +0200
5.2 +++ b/doc/min_cost_flow.dox Fri Aug 09 11:28:17 2013 +0200
5.3 @@ -2,7 +2,7 @@
5.4 *
5.5 * This file is a part of LEMON, a generic C++ optimization library.
5.6 *
5.7 - * Copyright (C) 2003-2010
5.8 + * Copyright (C) 2003-2013
5.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
5.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
5.11 *
6.1 --- a/lemon/adaptors.h Fri Aug 09 14:07:27 2013 +0200
6.2 +++ b/lemon/adaptors.h Fri Aug 09 11:28:17 2013 +0200
6.3 @@ -2,7 +2,7 @@
6.4 *
6.5 * This file is a part of LEMON, a generic C++ optimization library.
6.6 *
6.7 - * Copyright (C) 2003-2010
6.8 + * Copyright (C) 2003-2013
6.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
6.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
6.11 *
7.1 --- a/lemon/assert.h Fri Aug 09 14:07:27 2013 +0200
7.2 +++ b/lemon/assert.h Fri Aug 09 11:28:17 2013 +0200
7.3 @@ -2,7 +2,7 @@
7.4 *
7.5 * This file is a part of LEMON, a generic C++ optimization library.
7.6 *
7.7 - * Copyright (C) 2003-2009
7.8 + * Copyright (C) 2003-2013
7.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
7.11 *
8.1 --- a/lemon/base.cc Fri Aug 09 14:07:27 2013 +0200
8.2 +++ b/lemon/base.cc Fri Aug 09 11:28:17 2013 +0200
8.3 @@ -2,7 +2,7 @@
8.4 *
8.5 * This file is a part of LEMON, a generic C++ optimization library.
8.6 *
8.7 - * Copyright (C) 2003-2009
8.8 + * Copyright (C) 2003-2013
8.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
8.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
8.11 *
9.1 --- a/lemon/bellman_ford.h Fri Aug 09 14:07:27 2013 +0200
9.2 +++ b/lemon/bellman_ford.h Fri Aug 09 11:28:17 2013 +0200
9.3 @@ -2,7 +2,7 @@
9.4 *
9.5 * This file is a part of LEMON, a generic C++ optimization library.
9.6 *
9.7 - * Copyright (C) 2003-2010
9.8 + * Copyright (C) 2003-2013
9.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
9.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
9.11 *
10.1 --- a/lemon/bfs.h Fri Aug 09 14:07:27 2013 +0200
10.2 +++ b/lemon/bfs.h Fri Aug 09 11:28:17 2013 +0200
10.3 @@ -2,7 +2,7 @@
10.4 *
10.5 * This file is a part of LEMON, a generic C++ optimization library.
10.6 *
10.7 - * Copyright (C) 2003-2010
10.8 + * Copyright (C) 2003-2013
10.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
10.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
10.11 *
11.1 --- a/lemon/bin_heap.h Fri Aug 09 14:07:27 2013 +0200
11.2 +++ b/lemon/bin_heap.h Fri Aug 09 11:28:17 2013 +0200
11.3 @@ -2,7 +2,7 @@
11.4 *
11.5 * This file is a part of LEMON, a generic C++ optimization library.
11.6 *
11.7 - * Copyright (C) 2003-2009
11.8 + * Copyright (C) 2003-2013
11.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
11.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
11.11 *
12.1 --- a/lemon/bits/alteration_notifier.h Fri Aug 09 14:07:27 2013 +0200
12.2 +++ b/lemon/bits/alteration_notifier.h Fri Aug 09 11:28:17 2013 +0200
12.3 @@ -2,7 +2,7 @@
12.4 *
12.5 * This file is a part of LEMON, a generic C++ optimization library.
12.6 *
12.7 - * Copyright (C) 2003-2009
12.8 + * Copyright (C) 2003-2013
12.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
12.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
12.11 *
13.1 --- a/lemon/bits/array_map.h Fri Aug 09 14:07:27 2013 +0200
13.2 +++ b/lemon/bits/array_map.h Fri Aug 09 11:28:17 2013 +0200
13.3 @@ -2,7 +2,7 @@
13.4 *
13.5 * This file is a part of LEMON, a generic C++ optimization library.
13.6 *
13.7 - * Copyright (C) 2003-2010
13.8 + * Copyright (C) 2003-2013
13.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
13.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
13.11 *
14.1 --- a/lemon/bits/bezier.h Fri Aug 09 14:07:27 2013 +0200
14.2 +++ b/lemon/bits/bezier.h Fri Aug 09 11:28:17 2013 +0200
14.3 @@ -2,7 +2,7 @@
14.4 *
14.5 * This file is a part of LEMON, a generic C++ optimization library.
14.6 *
14.7 - * Copyright (C) 2003-2009
14.8 + * Copyright (C) 2003-2013
14.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
14.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
14.11 *
15.1 --- a/lemon/bits/default_map.h Fri Aug 09 14:07:27 2013 +0200
15.2 +++ b/lemon/bits/default_map.h Fri Aug 09 11:28:17 2013 +0200
15.3 @@ -2,7 +2,7 @@
15.4 *
15.5 * This file is a part of LEMON, a generic C++ optimization library.
15.6 *
15.7 - * Copyright (C) 2003-2010
15.8 + * Copyright (C) 2003-2013
15.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
15.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
15.11 *
16.1 --- a/lemon/bits/edge_set_extender.h Fri Aug 09 14:07:27 2013 +0200
16.2 +++ b/lemon/bits/edge_set_extender.h Fri Aug 09 11:28:17 2013 +0200
16.3 @@ -2,7 +2,7 @@
16.4 *
16.5 * This file is a part of LEMON, a generic C++ optimization library.
16.6 *
16.7 - * Copyright (C) 2003-2010
16.8 + * Copyright (C) 2003-2013
16.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
16.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
16.11 *
17.1 --- a/lemon/bits/graph_adaptor_extender.h Fri Aug 09 14:07:27 2013 +0200
17.2 +++ b/lemon/bits/graph_adaptor_extender.h Fri Aug 09 11:28:17 2013 +0200
17.3 @@ -2,7 +2,7 @@
17.4 *
17.5 * This file is a part of LEMON, a generic C++ optimization library.
17.6 *
17.7 - * Copyright (C) 2003-2009
17.8 + * Copyright (C) 2003-2013
17.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
17.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
17.11 *
18.1 --- a/lemon/bits/graph_extender.h Fri Aug 09 14:07:27 2013 +0200
18.2 +++ b/lemon/bits/graph_extender.h Fri Aug 09 11:28:17 2013 +0200
18.3 @@ -2,7 +2,7 @@
18.4 *
18.5 * This file is a part of LEMON, a generic C++ optimization library.
18.6 *
18.7 - * Copyright (C) 2003-2009
18.8 + * Copyright (C) 2003-2013
18.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
18.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
18.11 *
18.12 @@ -843,7 +843,7 @@
18.13 // Alterable extension
18.14
18.15 typedef AlterationNotifier<BpGraphExtender, Node> NodeNotifier;
18.16 - typedef AlterationNotifier<BpGraphExtender, RedNode> RedNodeNotifier;
18.17 + typedef AlterationNotifier<BpGraphExtender, RedNode> RedNodeNotifier;
18.18 typedef AlterationNotifier<BpGraphExtender, BlueNode> BlueNodeNotifier;
18.19 typedef AlterationNotifier<BpGraphExtender, Arc> ArcNotifier;
18.20 typedef AlterationNotifier<BpGraphExtender, Edge> EdgeNotifier;
19.1 --- a/lemon/bits/lock.h Fri Aug 09 14:07:27 2013 +0200
19.2 +++ b/lemon/bits/lock.h Fri Aug 09 11:28:17 2013 +0200
19.3 @@ -2,7 +2,7 @@
19.4 *
19.5 * This file is a part of LEMON, a generic C++ optimization library.
19.6 *
19.7 - * Copyright (C) 2003-2012
19.8 + * Copyright (C) 2003-2013
19.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
19.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
19.11 *
19.12 @@ -33,16 +33,16 @@
19.13 class Lock {
19.14 public:
19.15 Lock() {
19.16 - pthread_mutex_init(&_lock, 0);
19.17 + pthread_mutex_init(&_lock, 0);
19.18 }
19.19 ~Lock() {
19.20 - pthread_mutex_destroy(&_lock);
19.21 + pthread_mutex_destroy(&_lock);
19.22 }
19.23 void lock() {
19.24 - pthread_mutex_lock(&_lock);
19.25 + pthread_mutex_lock(&_lock);
19.26 }
19.27 void unlock() {
19.28 - pthread_mutex_unlock(&_lock);
19.29 + pthread_mutex_unlock(&_lock);
19.30 }
19.31
19.32 private:
19.33 @@ -57,7 +57,7 @@
19.34 ~Lock() {}
19.35 void lock() {}
19.36 void unlock() {}
19.37 - };
19.38 + };
19.39 #endif
19.40 }
19.41 }
20.1 --- a/lemon/bits/map_extender.h Fri Aug 09 14:07:27 2013 +0200
20.2 +++ b/lemon/bits/map_extender.h Fri Aug 09 11:28:17 2013 +0200
20.3 @@ -2,7 +2,7 @@
20.4 *
20.5 * This file is a part of LEMON, a generic C++ optimization library.
20.6 *
20.7 - * Copyright (C) 2003-2009
20.8 + * Copyright (C) 2003-2013
20.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
20.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
20.11 *
21.1 --- a/lemon/bits/path_dump.h Fri Aug 09 14:07:27 2013 +0200
21.2 +++ b/lemon/bits/path_dump.h Fri Aug 09 11:28:17 2013 +0200
21.3 @@ -2,7 +2,7 @@
21.4 *
21.5 * This file is a part of LEMON, a generic C++ optimization library.
21.6 *
21.7 - * Copyright (C) 2003-2009
21.8 + * Copyright (C) 2003-2013
21.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
21.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
21.11 *
22.1 --- a/lemon/bits/solver_bits.h Fri Aug 09 14:07:27 2013 +0200
22.2 +++ b/lemon/bits/solver_bits.h Fri Aug 09 11:28:17 2013 +0200
22.3 @@ -2,7 +2,7 @@
22.4 *
22.5 * This file is a part of LEMON, a generic C++ optimization library.
22.6 *
22.7 - * Copyright (C) 2003-2010
22.8 + * Copyright (C) 2003-2013
22.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
22.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
22.11 *
23.1 --- a/lemon/bits/traits.h Fri Aug 09 14:07:27 2013 +0200
23.2 +++ b/lemon/bits/traits.h Fri Aug 09 11:28:17 2013 +0200
23.3 @@ -2,7 +2,7 @@
23.4 *
23.5 * This file is a part of LEMON, a generic C++ optimization library.
23.6 *
23.7 - * Copyright (C) 2003-2009
23.8 + * Copyright (C) 2003-2013
23.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
23.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
23.11 *
24.1 --- a/lemon/bits/windows.cc Fri Aug 09 14:07:27 2013 +0200
24.2 +++ b/lemon/bits/windows.cc Fri Aug 09 11:28:17 2013 +0200
24.3 @@ -2,7 +2,7 @@
24.4 *
24.5 * This file is a part of LEMON, a generic C++ optimization library.
24.6 *
24.7 - * Copyright (C) 2003-2010
24.8 + * Copyright (C) 2003-2013
24.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
24.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
24.11 *
24.12 @@ -140,7 +140,7 @@
24.13 _repr = 0; //Just to avoid 'unused variable' warning with clang
24.14 #endif
24.15 }
24.16 -
24.17 +
24.18 WinLock::~WinLock() {
24.19 #ifdef WIN32
24.20 CRITICAL_SECTION *lock = static_cast<CRITICAL_SECTION*>(_repr);
25.1 --- a/lemon/bits/windows.h Fri Aug 09 14:07:27 2013 +0200
25.2 +++ b/lemon/bits/windows.h Fri Aug 09 11:28:17 2013 +0200
25.3 @@ -2,7 +2,7 @@
25.4 *
25.5 * This file is a part of LEMON, a generic C++ optimization library.
25.6 *
25.7 - * Copyright (C) 2003-2009
25.8 + * Copyright (C) 2003-2013
25.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
25.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
25.11 *
26.1 --- a/lemon/capacity_scaling.h Fri Aug 09 14:07:27 2013 +0200
26.2 +++ b/lemon/capacity_scaling.h Fri Aug 09 11:28:17 2013 +0200
26.3 @@ -2,7 +2,7 @@
26.4 *
26.5 * This file is a part of LEMON, a generic C++ optimization library.
26.6 *
26.7 - * Copyright (C) 2003-2010
26.8 + * Copyright (C) 2003-2013
26.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
26.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
26.11 *
26.12 @@ -838,7 +838,7 @@
26.13
26.14 return OPTIMAL;
26.15 }
26.16 -
26.17 +
26.18 // Check if the upper bound is greater or equal to the lower bound
26.19 // on each arc.
26.20 bool checkBoundMaps() {
27.1 --- a/lemon/cbc.cc Fri Aug 09 14:07:27 2013 +0200
27.2 +++ b/lemon/cbc.cc Fri Aug 09 11:28:17 2013 +0200
27.3 @@ -2,7 +2,7 @@
27.4 *
27.5 * This file is a part of LEMON, a generic C++ optimization library.
27.6 *
27.7 - * Copyright (C) 2003-2009
27.8 + * Copyright (C) 2003-2013
27.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
27.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
27.11 *
28.1 --- a/lemon/cbc.h Fri Aug 09 14:07:27 2013 +0200
28.2 +++ b/lemon/cbc.h Fri Aug 09 11:28:17 2013 +0200
28.3 @@ -2,7 +2,7 @@
28.4 *
28.5 * This file is a part of LEMON, a generic C++ optimization library.
28.6 *
28.7 - * Copyright (C) 2003-2010
28.8 + * Copyright (C) 2003-2013
28.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
28.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
28.11 *
29.1 --- a/lemon/christofides_tsp.h Fri Aug 09 14:07:27 2013 +0200
29.2 +++ b/lemon/christofides_tsp.h Fri Aug 09 11:28:17 2013 +0200
29.3 @@ -2,7 +2,7 @@
29.4 *
29.5 * This file is a part of LEMON, a generic C++ optimization library.
29.6 *
29.7 - * Copyright (C) 2003-2010
29.8 + * Copyright (C) 2003-2013
29.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
29.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
29.11 *
29.12 @@ -30,7 +30,7 @@
29.13 #include <lemon/euler.h>
29.14
29.15 namespace lemon {
29.16 -
29.17 +
29.18 /// \ingroup tsp
29.19 ///
29.20 /// \brief Christofides algorithm for symmetric TSP.
29.21 @@ -108,11 +108,11 @@
29.22 _path.push_back(_gr(1));
29.23 return _sum = 2 * _cost[_gr.edge(_gr(0), _gr(1))];
29.24 }
29.25 -
29.26 +
29.27 // Compute min. cost spanning tree
29.28 std::vector<Edge> tree;
29.29 kruskal(_gr, _cost, std::back_inserter(tree));
29.30 -
29.31 +
29.32 FullGraph::NodeMap<int> deg(_gr, 0);
29.33 for (int i = 0; i != int(tree.size()); ++i) {
29.34 Edge e = tree[i];
29.35 @@ -125,7 +125,7 @@
29.36 for (NodeIt u(_gr); u != INVALID; ++u) {
29.37 if (deg[u] % 2 == 1) odd_nodes.push_back(u);
29.38 }
29.39 -
29.40 +
29.41 SmartGraph sgr;
29.42 SmartGraph::EdgeMap<Cost> scost(sgr);
29.43 for (int i = 0; i != int(odd_nodes.size()); ++i) {
29.44 @@ -139,20 +139,20 @@
29.45 scost[e] = -_cost[_gr.edge(odd_nodes[i], odd_nodes[j])];
29.46 }
29.47 }
29.48 -
29.49 +
29.50 // Compute min. cost perfect matching
29.51 MaxWeightedPerfectMatching<SmartGraph, SmartGraph::EdgeMap<Cost> >
29.52 mwpm(sgr, scost);
29.53 mwpm.run();
29.54 -
29.55 +
29.56 for (SmartGraph::EdgeIt e(sgr); e != INVALID; ++e) {
29.57 if (mwpm.matching(e)) {
29.58 tree.push_back( _gr.edge(odd_nodes[sgr.id(sgr.u(e))],
29.59 odd_nodes[sgr.id(sgr.v(e))]) );
29.60 }
29.61 }
29.62 -
29.63 - // Join the spanning tree and the matching
29.64 +
29.65 + // Join the spanning tree and the matching
29.66 sgr.clear();
29.67 for (int i = 0; i != _gr.nodeNum(); ++i) {
29.68 sgr.addNode();
29.69 @@ -182,10 +182,10 @@
29.70 }
29.71
29.72 /// @}
29.73 -
29.74 +
29.75 /// \name Query Functions
29.76 /// @{
29.77 -
29.78 +
29.79 /// \brief The total cost of the found tour.
29.80 ///
29.81 /// This function returns the total cost of the found tour.
29.82 @@ -194,7 +194,7 @@
29.83 Cost tourCost() const {
29.84 return _sum;
29.85 }
29.86 -
29.87 +
29.88 /// \brief Returns a const reference to the node sequence of the
29.89 /// found tour.
29.90 ///
29.91 @@ -227,7 +227,7 @@
29.92 void tourNodes(Iterator out) const {
29.93 std::copy(_path.begin(), _path.end(), out);
29.94 }
29.95 -
29.96 +
29.97 /// \brief Gives back the found tour as a path.
29.98 ///
29.99 /// This function copies the found tour as a list of arcs/edges into
29.100 @@ -244,9 +244,9 @@
29.101 path.addBack(_gr.arc(_path.back(), _path.front()));
29.102 }
29.103 }
29.104 -
29.105 +
29.106 /// @}
29.107 -
29.108 +
29.109 };
29.110
29.111 }; // namespace lemon
30.1 --- a/lemon/circulation.h Fri Aug 09 14:07:27 2013 +0200
30.2 +++ b/lemon/circulation.h Fri Aug 09 11:28:17 2013 +0200
30.3 @@ -2,7 +2,7 @@
30.4 *
30.5 * This file is a part of LEMON, a generic C++ optimization library.
30.6 *
30.7 - * Copyright (C) 2003-2010
30.8 + * Copyright (C) 2003-2013
30.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
30.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
30.11 *
31.1 --- a/lemon/clp.cc Fri Aug 09 14:07:27 2013 +0200
31.2 +++ b/lemon/clp.cc Fri Aug 09 11:28:17 2013 +0200
31.3 @@ -2,7 +2,7 @@
31.4 *
31.5 * This file is a part of LEMON, a generic C++ optimization library.
31.6 *
31.7 - * Copyright (C) 2003-2010
31.8 + * Copyright (C) 2003-2013
31.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
31.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
31.11 *
32.1 --- a/lemon/clp.h Fri Aug 09 14:07:27 2013 +0200
32.2 +++ b/lemon/clp.h Fri Aug 09 11:28:17 2013 +0200
32.3 @@ -2,7 +2,7 @@
32.4 *
32.5 * This file is a part of LEMON, a generic C++ optimization library.
32.6 *
32.7 - * Copyright (C) 2003-2010
32.8 + * Copyright (C) 2003-2013
32.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
32.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
32.11 *
33.1 --- a/lemon/concept_check.h Fri Aug 09 14:07:27 2013 +0200
33.2 +++ b/lemon/concept_check.h Fri Aug 09 11:28:17 2013 +0200
33.3 @@ -2,7 +2,7 @@
33.4 *
33.5 * This file is a part of LEMON, a generic C++ optimization library.
33.6 *
33.7 - * Copyright (C) 2003-2009
33.8 + * Copyright (C) 2003-2013
33.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
33.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
33.11 *
34.1 --- a/lemon/concepts/bpgraph.h Fri Aug 09 14:07:27 2013 +0200
34.2 +++ b/lemon/concepts/bpgraph.h Fri Aug 09 11:28:17 2013 +0200
34.3 @@ -2,7 +2,7 @@
34.4 *
34.5 * This file is a part of LEMON, a generic C++ optimization library.
34.6 *
34.7 - * Copyright (C) 2003-2010
34.8 + * Copyright (C) 2003-2013
34.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
34.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
34.11 *
34.12 @@ -804,12 +804,12 @@
34.13 BlueNode asBlueNode(const Node&) const { return BlueNode(); }
34.14
34.15 /// \brief Gives back the red end node of the edge.
34.16 - ///
34.17 + ///
34.18 /// Gives back the red end node of the edge.
34.19 RedNode redNode(const Edge&) const { return RedNode(); }
34.20
34.21 /// \brief Gives back the blue end node of the edge.
34.22 - ///
34.23 + ///
34.24 /// Gives back the blue end node of the edge.
34.25 BlueNode blueNode(const Edge&) const { return BlueNode(); }
34.26
35.1 --- a/lemon/concepts/digraph.h Fri Aug 09 14:07:27 2013 +0200
35.2 +++ b/lemon/concepts/digraph.h Fri Aug 09 11:28:17 2013 +0200
35.3 @@ -2,7 +2,7 @@
35.4 *
35.5 * This file is a part of LEMON, a generic C++ optimization library.
35.6 *
35.7 - * Copyright (C) 2003-2010
35.8 + * Copyright (C) 2003-2013
35.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
35.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
35.11 *
36.1 --- a/lemon/concepts/graph.h Fri Aug 09 14:07:27 2013 +0200
36.2 +++ b/lemon/concepts/graph.h Fri Aug 09 11:28:17 2013 +0200
36.3 @@ -2,7 +2,7 @@
36.4 *
36.5 * This file is a part of LEMON, a generic C++ optimization library.
36.6 *
36.7 - * Copyright (C) 2003-2010
36.8 + * Copyright (C) 2003-2013
36.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
36.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
36.11 *
37.1 --- a/lemon/concepts/graph_components.h Fri Aug 09 14:07:27 2013 +0200
37.2 +++ b/lemon/concepts/graph_components.h Fri Aug 09 11:28:17 2013 +0200
37.3 @@ -2,7 +2,7 @@
37.4 *
37.5 * This file is a part of LEMON, a generic C++ optimization library.
37.6 *
37.7 - * Copyright (C) 2003-2010
37.8 + * Copyright (C) 2003-2013
37.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
37.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
37.11 *
37.12 @@ -391,12 +391,12 @@
37.13 bool blue(const Node&) const { return true; }
37.14
37.15 /// \brief Gives back the red end node of the edge.
37.16 - ///
37.17 + ///
37.18 /// Gives back the red end node of the edge.
37.19 RedNode redNode(const Edge&) const { return RedNode(); }
37.20
37.21 /// \brief Gives back the blue end node of the edge.
37.22 - ///
37.23 + ///
37.24 /// Gives back the blue end node of the edge.
37.25 BlueNode blueNode(const Edge&) const { return BlueNode(); }
37.26
37.27 @@ -1150,7 +1150,7 @@
37.28 typedef typename Base::BlueNode BlueNode;
37.29 typedef typename Base::Arc Arc;
37.30 typedef typename Base::Edge Edge;
37.31 -
37.32 +
37.33 typedef IterableBpGraphComponent BpGraph;
37.34
37.35 using IterableGraphComponent<BAS>::first;
37.36 @@ -1210,7 +1210,7 @@
37.37
37.38 typename _BpGraph::RedNode rn(INVALID);
37.39 bpgraph.first(rn);
37.40 - bpgraph.next(rn);
37.41 + bpgraph.next(rn);
37.42 typename _BpGraph::BlueNode bn(INVALID);
37.43 bpgraph.first(bn);
37.44 bpgraph.next(bn);
38.1 --- a/lemon/concepts/heap.h Fri Aug 09 14:07:27 2013 +0200
38.2 +++ b/lemon/concepts/heap.h Fri Aug 09 11:28:17 2013 +0200
38.3 @@ -2,7 +2,7 @@
38.4 *
38.5 * This file is a part of LEMON, a generic C++ optimization library.
38.6 *
38.7 - * Copyright (C) 2003-2010
38.8 + * Copyright (C) 2003-2013
38.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
38.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
38.11 *
39.1 --- a/lemon/concepts/maps.h Fri Aug 09 14:07:27 2013 +0200
39.2 +++ b/lemon/concepts/maps.h Fri Aug 09 11:28:17 2013 +0200
39.3 @@ -2,7 +2,7 @@
39.4 *
39.5 * This file is a part of LEMON, a generic C++ optimization library.
39.6 *
39.7 - * Copyright (C) 2003-2009
39.8 + * Copyright (C) 2003-2013
39.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
39.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
39.11 *
40.1 --- a/lemon/concepts/path.h Fri Aug 09 14:07:27 2013 +0200
40.2 +++ b/lemon/concepts/path.h Fri Aug 09 11:28:17 2013 +0200
40.3 @@ -2,7 +2,7 @@
40.4 *
40.5 * This file is a part of LEMON, a generic C++ optimization library.
40.6 *
40.7 - * Copyright (C) 2003-2009
40.8 + * Copyright (C) 2003-2013
40.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
40.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
40.11 *
41.1 --- a/lemon/connectivity.h Fri Aug 09 14:07:27 2013 +0200
41.2 +++ b/lemon/connectivity.h Fri Aug 09 11:28:17 2013 +0200
41.3 @@ -2,7 +2,7 @@
41.4 *
41.5 * This file is a part of LEMON, a generic C++ optimization library.
41.6 *
41.7 - * Copyright (C) 2003-2010
41.8 + * Copyright (C) 2003-2013
41.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
41.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
41.11 *
42.1 --- a/lemon/core.h Fri Aug 09 14:07:27 2013 +0200
42.2 +++ b/lemon/core.h Fri Aug 09 11:28:17 2013 +0200
42.3 @@ -2,7 +2,7 @@
42.4 *
42.5 * This file is a part of LEMON, a generic C++ optimization library.
42.6 *
42.7 - * Copyright (C) 2003-2010
42.8 + * Copyright (C) 2003-2013
42.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
42.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
42.11 *
42.12 @@ -254,7 +254,7 @@
42.13 }
42.14
42.15 namespace _graph_utils_bits {
42.16 -
42.17 +
42.18 template <typename Graph, typename Enable = void>
42.19 struct CountRedNodesSelector {
42.20 static int count(const Graph &g) {
42.21 @@ -264,13 +264,13 @@
42.22
42.23 template <typename Graph>
42.24 struct CountRedNodesSelector<
42.25 - Graph, typename
42.26 - enable_if<typename Graph::NodeNumTag, void>::type>
42.27 + Graph, typename
42.28 + enable_if<typename Graph::NodeNumTag, void>::type>
42.29 {
42.30 static int count(const Graph &g) {
42.31 return g.redNum();
42.32 }
42.33 - };
42.34 + };
42.35 }
42.36
42.37 /// \brief Function to count the red nodes in the graph.
42.38 @@ -279,7 +279,7 @@
42.39 /// The complexity of the function is O(n) but for some
42.40 /// graph structures it is specialized to run in O(1).
42.41 ///
42.42 - /// If the graph contains a \e redNum() member function and a
42.43 + /// If the graph contains a \e redNum() member function and a
42.44 /// \e NodeNumTag tag then this function calls directly the member
42.45 /// function to query the cardinality of the node set.
42.46 template <typename Graph>
42.47 @@ -288,7 +288,7 @@
42.48 }
42.49
42.50 namespace _graph_utils_bits {
42.51 -
42.52 +
42.53 template <typename Graph, typename Enable = void>
42.54 struct CountBlueNodesSelector {
42.55 static int count(const Graph &g) {
42.56 @@ -298,13 +298,13 @@
42.57
42.58 template <typename Graph>
42.59 struct CountBlueNodesSelector<
42.60 - Graph, typename
42.61 - enable_if<typename Graph::NodeNumTag, void>::type>
42.62 + Graph, typename
42.63 + enable_if<typename Graph::NodeNumTag, void>::type>
42.64 {
42.65 static int count(const Graph &g) {
42.66 return g.blueNum();
42.67 }
42.68 - };
42.69 + };
42.70 }
42.71
42.72 /// \brief Function to count the blue nodes in the graph.
42.73 @@ -313,7 +313,7 @@
42.74 /// The complexity of the function is O(n) but for some
42.75 /// graph structures it is specialized to run in O(1).
42.76 ///
42.77 - /// If the graph contains a \e blueNum() member function and a
42.78 + /// If the graph contains a \e blueNum() member function and a
42.79 /// \e NodeNumTag tag then this function calls directly the member
42.80 /// function to query the cardinality of the node set.
42.81 template <typename Graph>
42.82 @@ -1865,7 +1865,7 @@
42.83
42.84 /// The Digraph type
42.85 typedef GR Digraph;
42.86 -
42.87 +
42.88 protected:
42.89
42.90 class AutoNodeMap : public ItemSetTraits<GR, Node>::template Map<Arc>::Type
43.1 --- a/lemon/cost_scaling.h Fri Aug 09 14:07:27 2013 +0200
43.2 +++ b/lemon/cost_scaling.h Fri Aug 09 11:28:17 2013 +0200
43.3 @@ -2,7 +2,7 @@
43.4 *
43.5 * This file is a part of LEMON, a generic C++ optimization library.
43.6 *
43.7 - * Copyright (C) 2003-2010
43.8 + * Copyright (C) 2003-2013
43.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
43.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
43.11 *
43.12 @@ -904,7 +904,7 @@
43.13
43.14 return OPTIMAL;
43.15 }
43.16 -
43.17 +
43.18 // Check if the upper bound is greater or equal to the lower bound
43.19 // on each arc.
43.20 bool checkBoundMaps() {
44.1 --- a/lemon/cplex.cc Fri Aug 09 14:07:27 2013 +0200
44.2 +++ b/lemon/cplex.cc Fri Aug 09 11:28:17 2013 +0200
44.3 @@ -2,7 +2,7 @@
44.4 *
44.5 * This file is a part of LEMON, a generic C++ optimization library.
44.6 *
44.7 - * Copyright (C) 2003-2010
44.8 + * Copyright (C) 2003-2013
44.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
44.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
44.11 *
45.1 --- a/lemon/cplex.h Fri Aug 09 14:07:27 2013 +0200
45.2 +++ b/lemon/cplex.h Fri Aug 09 11:28:17 2013 +0200
45.3 @@ -2,7 +2,7 @@
45.4 *
45.5 * This file is a part of LEMON, a generic C++ optimization library.
45.6 *
45.7 - * Copyright (C) 2003-2009
45.8 + * Copyright (C) 2003-2013
45.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
45.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
45.11 *
46.1 --- a/lemon/cycle_canceling.h Fri Aug 09 14:07:27 2013 +0200
46.2 +++ b/lemon/cycle_canceling.h Fri Aug 09 11:28:17 2013 +0200
46.3 @@ -2,7 +2,7 @@
46.4 *
46.5 * This file is a part of LEMON, a generic C++ optimization library.
46.6 *
46.7 - * Copyright (C) 2003-2010
46.8 + * Copyright (C) 2003-2013
46.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
46.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
46.11 *
46.12 @@ -783,7 +783,7 @@
46.13
46.14 return OPTIMAL;
46.15 }
46.16 -
46.17 +
46.18 // Check if the upper bound is greater or equal to the lower bound
46.19 // on each arc.
46.20 bool checkBoundMaps() {
46.21 @@ -960,7 +960,7 @@
46.22 hw_mmc.cycle(cycle);
46.23 buildResidualNetwork();
46.24 while (true) {
46.25 -
46.26 +
46.27 typename HwMmc::TerminationCause hw_tc =
46.28 hw_mmc.findCycleMean(hw_iter_limit);
46.29 if (hw_tc == HwMmc::ITERATION_LIMIT) {
46.30 @@ -976,7 +976,7 @@
46.31 if (!(hw_tc == HwMmc::OPTIMAL && hw_mmc.cycleCost() < 0)) break;
46.32 hw_mmc.findCycle();
46.33 }
46.34 -
46.35 +
46.36 // Compute delta value
46.37 Value delta = INF;
46.38 for (SPathArcIt a(cycle); a != INVALID; ++a) {
47.1 --- a/lemon/dfs.h Fri Aug 09 14:07:27 2013 +0200
47.2 +++ b/lemon/dfs.h Fri Aug 09 11:28:17 2013 +0200
47.3 @@ -2,7 +2,7 @@
47.4 *
47.5 * This file is a part of LEMON, a generic C++ optimization library.
47.6 *
47.7 - * Copyright (C) 2003-2010
47.8 + * Copyright (C) 2003-2013
47.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
47.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
47.11 *
48.1 --- a/lemon/dijkstra.h Fri Aug 09 14:07:27 2013 +0200
48.2 +++ b/lemon/dijkstra.h Fri Aug 09 11:28:17 2013 +0200
48.3 @@ -2,7 +2,7 @@
48.4 *
48.5 * This file is a part of LEMON, a generic C++ optimization library.
48.6 *
48.7 - * Copyright (C) 2003-2010
48.8 + * Copyright (C) 2003-2013
48.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
48.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
48.11 *
49.1 --- a/lemon/dimacs.h Fri Aug 09 14:07:27 2013 +0200
49.2 +++ b/lemon/dimacs.h Fri Aug 09 11:28:17 2013 +0200
49.3 @@ -2,7 +2,7 @@
49.4 *
49.5 * This file is a part of LEMON, a generic C++ optimization library.
49.6 *
49.7 - * Copyright (C) 2003-2010
49.8 + * Copyright (C) 2003-2013
49.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
49.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
49.11 *
50.1 --- a/lemon/edge_set.h Fri Aug 09 14:07:27 2013 +0200
50.2 +++ b/lemon/edge_set.h Fri Aug 09 11:28:17 2013 +0200
50.3 @@ -2,7 +2,7 @@
50.4 *
50.5 * This file is a part of LEMON, a generic C++ optimization library.
50.6 *
50.7 - * Copyright (C) 2003-2010
50.8 + * Copyright (C) 2003-2013
50.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
50.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
50.11 *
51.1 --- a/lemon/edmonds_karp.h Fri Aug 09 14:07:27 2013 +0200
51.2 +++ b/lemon/edmonds_karp.h Fri Aug 09 11:28:17 2013 +0200
51.3 @@ -2,7 +2,7 @@
51.4 *
51.5 * This file is a part of LEMON, a generic C++ optimization library.
51.6 *
51.7 - * Copyright (C) 2003-2010
51.8 + * Copyright (C) 2003-2013
51.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
51.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
51.11 *
51.12 @@ -36,7 +36,7 @@
51.13 template <typename GR, typename CAP>
51.14 struct EdmondsKarpDefaultTraits {
51.15
51.16 - /// \brief The digraph type the algorithm runs on.
51.17 + /// \brief The digraph type the algorithm runs on.
51.18 typedef GR Digraph;
51.19
51.20 /// \brief The type of the map that stores the arc capacities.
51.21 @@ -60,7 +60,7 @@
51.22
51.23 /// \brief Instantiates a FlowMap.
51.24 ///
51.25 - /// This function instantiates a \ref FlowMap.
51.26 + /// This function instantiates a \ref FlowMap.
51.27 /// \param digraph The digraph for which we would like to define
51.28 /// the flow map.
51.29 static FlowMap* createFlowMap(const Digraph& digraph) {
51.30 @@ -95,7 +95,7 @@
51.31 ///
51.32 /// \tparam GR The type of the digraph the algorithm runs on.
51.33 /// \tparam CAP The type of the capacity map. The default map
51.34 - /// type is \ref concepts::Digraph::ArcMap "GR::ArcMap<int>".
51.35 + /// type is \ref concepts::Digraph::ArcMap "GR::ArcMap<int>".
51.36 /// \tparam TR The traits class that defines various types used by the
51.37 /// algorithm. By default, it is \ref EdmondsKarpDefaultTraits
51.38 /// "EdmondsKarpDefaultTraits<GR, CAP>".
51.39 @@ -104,9 +104,9 @@
51.40
51.41 #ifdef DOXYGEN
51.42 template <typename GR, typename CAP, typename TR>
51.43 -#else
51.44 +#else
51.45 template <typename GR,
51.46 - typename CAP = typename GR::template ArcMap<int>,
51.47 + typename CAP = typename GR::template ArcMap<int>,
51.48 typename TR = EdmondsKarpDefaultTraits<GR, CAP> >
51.49 #endif
51.50 class EdmondsKarp {
51.51 @@ -120,7 +120,7 @@
51.52 /// The type of the capacity map.
51.53 typedef typename Traits::CapacityMap CapacityMap;
51.54 /// The type of the flow values.
51.55 - typedef typename Traits::Value Value;
51.56 + typedef typename Traits::Value Value;
51.57
51.58 /// The type of the flow map.
51.59 typedef typename Traits::FlowMap FlowMap;
51.60 @@ -131,7 +131,7 @@
51.61
51.62 TEMPLATE_DIGRAPH_TYPEDEFS(Digraph);
51.63 typedef typename Digraph::template NodeMap<Arc> PredMap;
51.64 -
51.65 +
51.66 const Digraph& _graph;
51.67 const CapacityMap* _capacity;
51.68
51.69 @@ -142,30 +142,30 @@
51.70
51.71 PredMap* _pred;
51.72 std::vector<Node> _queue;
51.73 -
51.74 +
51.75 Tolerance _tolerance;
51.76 Value _flow_value;
51.77
51.78 void createStructures() {
51.79 if (!_flow) {
51.80 - _flow = Traits::createFlowMap(_graph);
51.81 - _local_flow = true;
51.82 + _flow = Traits::createFlowMap(_graph);
51.83 + _local_flow = true;
51.84 }
51.85 if (!_pred) {
51.86 - _pred = new PredMap(_graph);
51.87 + _pred = new PredMap(_graph);
51.88 }
51.89 _queue.resize(countNodes(_graph));
51.90 }
51.91
51.92 void destroyStructures() {
51.93 if (_local_flow) {
51.94 - delete _flow;
51.95 + delete _flow;
51.96 }
51.97 if (_pred) {
51.98 - delete _pred;
51.99 + delete _pred;
51.100 }
51.101 }
51.102 -
51.103 +
51.104 public:
51.105
51.106 typedef EdmondsKarp Create;
51.107 @@ -178,7 +178,7 @@
51.108 struct SetFlowMapTraits : public Traits {
51.109 typedef T FlowMap;
51.110 static FlowMap *createFlowMap(const Digraph&) {
51.111 - LEMON_ASSERT(false, "FlowMap is not initialized");
51.112 + LEMON_ASSERT(false, "FlowMap is not initialized");
51.113 return 0;
51.114 }
51.115 };
51.116 @@ -189,7 +189,7 @@
51.117 /// \ref named-templ-param "Named parameter" for setting FlowMap
51.118 /// type
51.119 template <typename T>
51.120 - struct SetFlowMap
51.121 + struct SetFlowMap
51.122 : public EdmondsKarp<Digraph, CapacityMap, SetFlowMapTraits<T> > {
51.123 typedef EdmondsKarp<Digraph, CapacityMap, SetFlowMapTraits<T> > Create;
51.124 };
51.125 @@ -197,22 +197,22 @@
51.126 /// @}
51.127
51.128 protected:
51.129 -
51.130 +
51.131 EdmondsKarp() {}
51.132
51.133 public:
51.134
51.135 /// \brief The constructor of the class.
51.136 ///
51.137 - /// The constructor of the class.
51.138 - /// \param digraph The digraph the algorithm runs on.
51.139 - /// \param capacity The capacity of the arcs.
51.140 + /// The constructor of the class.
51.141 + /// \param digraph The digraph the algorithm runs on.
51.142 + /// \param capacity The capacity of the arcs.
51.143 /// \param source The source node.
51.144 /// \param target The target node.
51.145 EdmondsKarp(const Digraph& digraph, const CapacityMap& capacity,
51.146 - Node source, Node target)
51.147 + Node source, Node target)
51.148 : _graph(digraph), _capacity(&capacity), _source(source), _target(target),
51.149 - _flow(0), _local_flow(false), _pred(0), _tolerance(), _flow_value()
51.150 + _flow(0), _local_flow(false), _pred(0), _tolerance(), _flow_value()
51.151 {
51.152 LEMON_ASSERT(_source != _target,
51.153 "Flow source and target are the same nodes.");
51.154 @@ -244,8 +244,8 @@
51.155 /// \return <tt>(*this)</tt>
51.156 EdmondsKarp& flowMap(FlowMap& map) {
51.157 if (_local_flow) {
51.158 - delete _flow;
51.159 - _local_flow = false;
51.160 + delete _flow;
51.161 + _local_flow = false;
51.162 }
51.163 _flow = ↦
51.164 return *this;
51.165 @@ -276,7 +276,7 @@
51.166 EdmondsKarp& tolerance(const Tolerance& tolerance) {
51.167 _tolerance = tolerance;
51.168 return *this;
51.169 - }
51.170 + }
51.171
51.172 /// \brief Returns a const reference to the tolerance.
51.173 ///
51.174 @@ -284,14 +284,14 @@
51.175 /// the algorithm.
51.176 const Tolerance& tolerance() const {
51.177 return _tolerance;
51.178 - }
51.179 + }
51.180
51.181 /// \name Execution control
51.182 /// The simplest way to execute the algorithm is to use \ref run().\n
51.183 /// If you need better control on the initial solution or the execution,
51.184 /// you have to call one of the \ref init() functions first, then
51.185 /// \ref start() or multiple times the \ref augment() function.
51.186 -
51.187 +
51.188 ///@{
51.189
51.190 /// \brief Initializes the algorithm.
51.191 @@ -305,7 +305,7 @@
51.192 }
51.193 _flow_value = 0;
51.194 }
51.195 -
51.196 +
51.197 /// \brief Initializes the algorithm using the given flow map.
51.198 ///
51.199 /// Initializes the internal data structures and sets the initial
51.200 @@ -317,7 +317,7 @@
51.201 void init(const FlowMap& flowMap) {
51.202 createStructures();
51.203 for (ArcIt e(_graph); e != INVALID; ++e) {
51.204 - _flow->set(e, flowMap[e]);
51.205 + _flow->set(e, flowMap[e]);
51.206 }
51.207 _flow_value = 0;
51.208 for (OutArcIt jt(_graph, _source); jt != INVALID; ++jt) {
51.209 @@ -334,14 +334,14 @@
51.210 /// flow to the given \c flowMap. The \c flowMap should
51.211 /// contain a feasible flow, i.e. at each node excluding the source
51.212 /// and the target, the incoming flow should be equal to the
51.213 - /// outgoing flow.
51.214 + /// outgoing flow.
51.215 /// \return \c false when the given \c flowMap does not contain a
51.216 /// feasible flow.
51.217 template <typename FlowMap>
51.218 bool checkedInit(const FlowMap& flowMap) {
51.219 createStructures();
51.220 for (ArcIt e(_graph); e != INVALID; ++e) {
51.221 - _flow->set(e, flowMap[e]);
51.222 + _flow->set(e, flowMap[e]);
51.223 }
51.224 for (NodeIt it(_graph); it != INVALID; ++it) {
51.225 if (it == _source || it == _target) continue;
51.226 @@ -372,7 +372,7 @@
51.227 }
51.228
51.229 /// \brief Augments the solution along a shortest path.
51.230 - ///
51.231 + ///
51.232 /// Augments the solution along a shortest path. This function searches a
51.233 /// shortest path between the source and the target
51.234 /// in the residual digraph by the Bfs algoritm.
51.235 @@ -383,81 +383,81 @@
51.236 /// current flow is a feasible and optimal solution.
51.237 bool augment() {
51.238 for (NodeIt n(_graph); n != INVALID; ++n) {
51.239 - _pred->set(n, INVALID);
51.240 + _pred->set(n, INVALID);
51.241 }
51.242 -
51.243 +
51.244 int first = 0, last = 1;
51.245 -
51.246 +
51.247 _queue[0] = _source;
51.248 _pred->set(_source, OutArcIt(_graph, _source));
51.249
51.250 while (first != last && (*_pred)[_target] == INVALID) {
51.251 - Node n = _queue[first++];
51.252 -
51.253 - for (OutArcIt e(_graph, n); e != INVALID; ++e) {
51.254 - Value rem = (*_capacity)[e] - (*_flow)[e];
51.255 - Node t = _graph.target(e);
51.256 - if (_tolerance.positive(rem) && (*_pred)[t] == INVALID) {
51.257 - _pred->set(t, e);
51.258 - _queue[last++] = t;
51.259 - }
51.260 - }
51.261 - for (InArcIt e(_graph, n); e != INVALID; ++e) {
51.262 - Value rem = (*_flow)[e];
51.263 - Node t = _graph.source(e);
51.264 - if (_tolerance.positive(rem) && (*_pred)[t] == INVALID) {
51.265 - _pred->set(t, e);
51.266 - _queue[last++] = t;
51.267 - }
51.268 - }
51.269 + Node n = _queue[first++];
51.270 +
51.271 + for (OutArcIt e(_graph, n); e != INVALID; ++e) {
51.272 + Value rem = (*_capacity)[e] - (*_flow)[e];
51.273 + Node t = _graph.target(e);
51.274 + if (_tolerance.positive(rem) && (*_pred)[t] == INVALID) {
51.275 + _pred->set(t, e);
51.276 + _queue[last++] = t;
51.277 + }
51.278 + }
51.279 + for (InArcIt e(_graph, n); e != INVALID; ++e) {
51.280 + Value rem = (*_flow)[e];
51.281 + Node t = _graph.source(e);
51.282 + if (_tolerance.positive(rem) && (*_pred)[t] == INVALID) {
51.283 + _pred->set(t, e);
51.284 + _queue[last++] = t;
51.285 + }
51.286 + }
51.287 }
51.288
51.289 if ((*_pred)[_target] != INVALID) {
51.290 - Node n = _target;
51.291 - Arc e = (*_pred)[n];
51.292 + Node n = _target;
51.293 + Arc e = (*_pred)[n];
51.294
51.295 - Value prem = (*_capacity)[e] - (*_flow)[e];
51.296 - n = _graph.source(e);
51.297 - while (n != _source) {
51.298 - e = (*_pred)[n];
51.299 - if (_graph.target(e) == n) {
51.300 - Value rem = (*_capacity)[e] - (*_flow)[e];
51.301 - if (rem < prem) prem = rem;
51.302 - n = _graph.source(e);
51.303 - } else {
51.304 - Value rem = (*_flow)[e];
51.305 - if (rem < prem) prem = rem;
51.306 - n = _graph.target(e);
51.307 - }
51.308 - }
51.309 + Value prem = (*_capacity)[e] - (*_flow)[e];
51.310 + n = _graph.source(e);
51.311 + while (n != _source) {
51.312 + e = (*_pred)[n];
51.313 + if (_graph.target(e) == n) {
51.314 + Value rem = (*_capacity)[e] - (*_flow)[e];
51.315 + if (rem < prem) prem = rem;
51.316 + n = _graph.source(e);
51.317 + } else {
51.318 + Value rem = (*_flow)[e];
51.319 + if (rem < prem) prem = rem;
51.320 + n = _graph.target(e);
51.321 + }
51.322 + }
51.323
51.324 - n = _target;
51.325 - e = (*_pred)[n];
51.326 + n = _target;
51.327 + e = (*_pred)[n];
51.328
51.329 - _flow->set(e, (*_flow)[e] + prem);
51.330 - n = _graph.source(e);
51.331 - while (n != _source) {
51.332 - e = (*_pred)[n];
51.333 - if (_graph.target(e) == n) {
51.334 - _flow->set(e, (*_flow)[e] + prem);
51.335 - n = _graph.source(e);
51.336 - } else {
51.337 - _flow->set(e, (*_flow)[e] - prem);
51.338 - n = _graph.target(e);
51.339 - }
51.340 - }
51.341 + _flow->set(e, (*_flow)[e] + prem);
51.342 + n = _graph.source(e);
51.343 + while (n != _source) {
51.344 + e = (*_pred)[n];
51.345 + if (_graph.target(e) == n) {
51.346 + _flow->set(e, (*_flow)[e] + prem);
51.347 + n = _graph.source(e);
51.348 + } else {
51.349 + _flow->set(e, (*_flow)[e] - prem);
51.350 + n = _graph.target(e);
51.351 + }
51.352 + }
51.353
51.354 - _flow_value += prem;
51.355 - return true;
51.356 + _flow_value += prem;
51.357 + return true;
51.358 } else {
51.359 - return false;
51.360 + return false;
51.361 }
51.362 }
51.363
51.364 /// \brief Executes the algorithm
51.365 ///
51.366 /// Executes the algorithm by performing augmenting phases until the
51.367 - /// optimal solution is reached.
51.368 + /// optimal solution is reached.
51.369 /// \pre One of the \ref init() functions must be called before
51.370 /// using this function.
51.371 void start() {
51.372 @@ -465,10 +465,10 @@
51.373 }
51.374
51.375 /// \brief Runs the algorithm.
51.376 - ///
51.377 + ///
51.378 /// Runs the Edmonds-Karp algorithm.
51.379 /// \note ek.run() is just a shortcut of the following code.
51.380 - ///\code
51.381 + ///\code
51.382 /// ek.init();
51.383 /// ek.start();
51.384 ///\endcode
51.385 @@ -483,7 +483,7 @@
51.386 /// The result of the Edmonds-Karp algorithm can be obtained using these
51.387 /// functions.\n
51.388 /// Either \ref run() or \ref start() should be called before using them.
51.389 -
51.390 +
51.391 ///@{
51.392
51.393 /// \brief Returns the value of the maximum flow.
51.394 @@ -542,10 +542,10 @@
51.395 template <typename CutMap>
51.396 void minCutMap(CutMap& cutMap) const {
51.397 for (NodeIt n(_graph); n != INVALID; ++n) {
51.398 - cutMap.set(n, (*_pred)[n] != INVALID);
51.399 + cutMap.set(n, (*_pred)[n] != INVALID);
51.400 }
51.401 cutMap.set(_source, true);
51.402 - }
51.403 + }
51.404
51.405 /// @}
51.406
52.1 --- a/lemon/euler.h Fri Aug 09 14:07:27 2013 +0200
52.2 +++ b/lemon/euler.h Fri Aug 09 11:28:17 2013 +0200
52.3 @@ -2,7 +2,7 @@
52.4 *
52.5 * This file is a part of LEMON, a generic C++ optimization library.
52.6 *
52.7 - * Copyright (C) 2003-2010
52.8 + * Copyright (C) 2003-2013
52.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
52.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
52.11 *
53.1 --- a/lemon/fractional_matching.h Fri Aug 09 14:07:27 2013 +0200
53.2 +++ b/lemon/fractional_matching.h Fri Aug 09 11:28:17 2013 +0200
53.3 @@ -2,7 +2,7 @@
53.4 *
53.5 * This file is a part of LEMON, a generic C++ optimization library.
53.6 *
53.7 - * Copyright (C) 2003-2010
53.8 + * Copyright (C) 2003-2013
53.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
53.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
53.11 *
54.1 --- a/lemon/full_graph.h Fri Aug 09 14:07:27 2013 +0200
54.2 +++ b/lemon/full_graph.h Fri Aug 09 11:28:17 2013 +0200
54.3 @@ -2,7 +2,7 @@
54.4 *
54.5 * This file is a part of LEMON, a generic C++ optimization library.
54.6 *
54.7 - * Copyright (C) 2003-2010
54.8 + * Copyright (C) 2003-2013
54.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
54.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
54.11 *
54.12 @@ -874,7 +874,7 @@
54.13 int id(const BlueNode& v) const { return v._id - _red_num; }
54.14 static int id(Arc e) { return e._id; }
54.15 static int id(Edge e) { return e._id; }
54.16 -
54.17 +
54.18 static Node nodeFromId(int id) { return Node(id);}
54.19 static Arc arcFromId(int id) { return Arc(id);}
54.20 static Edge edgeFromId(int id) { return Edge(id);}
54.21 @@ -904,13 +904,13 @@
54.22 int index(BlueNode n) const {
54.23 return n._id - _red_num;
54.24 }
54.25 -
54.26 +
54.27 void clear() {
54.28 _red_num = 0; _blue_num = 0;
54.29 _node_num = 0; _edge_num = 0;
54.30 }
54.31
54.32 - Edge edge(const Node& u, const Node& v) const {
54.33 + Edge edge(const Node& u, const Node& v) const {
54.34 if (u._id < _red_num) {
54.35 if (v._id < _red_num) {
54.36 return Edge(-1);
54.37 @@ -926,7 +926,7 @@
54.38 }
54.39 }
54.40
54.41 - Arc arc(const Node& u, const Node& v) const {
54.42 + Arc arc(const Node& u, const Node& v) const {
54.43 if (u._id < _red_num) {
54.44 if (v._id < _red_num) {
54.45 return Arc(-1);
55.1 --- a/lemon/glpk.cc Fri Aug 09 14:07:27 2013 +0200
55.2 +++ b/lemon/glpk.cc Fri Aug 09 11:28:17 2013 +0200
55.3 @@ -2,7 +2,7 @@
55.4 *
55.5 * This file is a part of LEMON, a generic C++ optimization library.
55.6 *
55.7 - * Copyright (C) 2003-2010
55.8 + * Copyright (C) 2003-2013
55.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
55.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
55.11 *
56.1 --- a/lemon/glpk.h Fri Aug 09 14:07:27 2013 +0200
56.2 +++ b/lemon/glpk.h Fri Aug 09 11:28:17 2013 +0200
56.3 @@ -2,7 +2,7 @@
56.4 *
56.5 * This file is a part of LEMON, a generic C++ optimization library.
56.6 *
56.7 - * Copyright (C) 2003-2010
56.8 + * Copyright (C) 2003-2013
56.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
56.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
56.11 *
56.12 @@ -148,7 +148,7 @@
56.13
56.14 #ifdef DOXYGEN
56.15 /// Write the problem or the solution to a file in the given format
56.16 -
56.17 +
56.18 /// This function writes the problem or the solution
56.19 /// to a file in the given format.
56.20 /// Trying to write in an unsupported format will trigger
57.1 --- a/lemon/gomory_hu.h Fri Aug 09 14:07:27 2013 +0200
57.2 +++ b/lemon/gomory_hu.h Fri Aug 09 11:28:17 2013 +0200
57.3 @@ -2,7 +2,7 @@
57.4 *
57.5 * This file is a part of LEMON, a generic C++ optimization library.
57.6 *
57.7 - * Copyright (C) 2003-2010
57.8 + * Copyright (C) 2003-2013
57.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
57.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
57.11 *
58.1 --- a/lemon/graph_to_eps.h Fri Aug 09 14:07:27 2013 +0200
58.2 +++ b/lemon/graph_to_eps.h Fri Aug 09 11:28:17 2013 +0200
58.3 @@ -2,7 +2,7 @@
58.4 *
58.5 * This file is a part of LEMON, a generic C++ optimization library.
58.6 *
58.7 - * Copyright (C) 2003-2010
58.8 + * Copyright (C) 2003-2013
58.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
58.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
58.11 *
59.1 --- a/lemon/greedy_tsp.h Fri Aug 09 14:07:27 2013 +0200
59.2 +++ b/lemon/greedy_tsp.h Fri Aug 09 11:28:17 2013 +0200
59.3 @@ -2,7 +2,7 @@
59.4 *
59.5 * This file is a part of LEMON, a generic C++ optimization library.
59.6 *
59.7 - * Copyright (C) 2003-2010
59.8 + * Copyright (C) 2003-2013
59.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
59.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
59.11 *
59.12 @@ -67,9 +67,9 @@
59.13 const CostMap &_cost;
59.14 Cost _sum;
59.15 std::vector<Node> _path;
59.16 -
59.17 +
59.18 private:
59.19 -
59.20 +
59.21 // Functor class to compare edges by their costs
59.22 class EdgeComp {
59.23 private:
60.1 --- a/lemon/grosso_locatelli_pullan_mc.h Fri Aug 09 14:07:27 2013 +0200
60.2 +++ b/lemon/grosso_locatelli_pullan_mc.h Fri Aug 09 11:28:17 2013 +0200
60.3 @@ -2,7 +2,7 @@
60.4 *
60.5 * This file is a part of LEMON, a generic C++ optimization library.
60.6 *
60.7 - * Copyright (C) 2003-2010
60.8 + * Copyright (C) 2003-2013
60.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
60.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
60.11 *
60.12 @@ -120,11 +120,11 @@
60.13 // Internal matrix representation of the graph
60.14 BoolMatrix _gr;
60.15 int _n;
60.16 -
60.17 +
60.18 // Search options
60.19 bool _delta_based_restart;
60.20 int _restart_delta_limit;
60.21 -
60.22 +
60.23 // Search limits
60.24 int _iteration_limit;
60.25 int _step_limit;
60.26 @@ -442,12 +442,12 @@
60.27
60.28 /// \name Execution Control
60.29 /// The \ref run() function can be used to execute the algorithm.\n
60.30 - /// The functions \ref iterationLimit(int), \ref stepLimit(int), and
60.31 + /// The functions \ref iterationLimit(int), \ref stepLimit(int), and
60.32 /// \ref sizeLimit(int) can be used to specify various limits for the
60.33 /// search process.
60.34 -
60.35 +
60.36 /// @{
60.37 -
60.38 +
60.39 /// \brief Sets the maximum number of iterations.
60.40 ///
60.41 /// This function sets the maximum number of iterations.
60.42 @@ -459,7 +459,7 @@
60.43 /// algorithm. For larger values, the algorithm runs slower, but it more
60.44 /// likely finds larger cliques. For smaller values, the algorithm is
60.45 /// faster but probably gives worse results.
60.46 - ///
60.47 + ///
60.48 /// The default value is \c 1000.
60.49 /// \c -1 means that number of iterations is not limited.
60.50 ///
60.51 @@ -474,7 +474,7 @@
60.52 _iteration_limit = limit;
60.53 return *this;
60.54 }
60.55 -
60.56 +
60.57 /// \brief Sets the maximum number of search steps.
60.58 ///
60.59 /// This function sets the maximum number of elementary search steps.
60.60 @@ -486,7 +486,7 @@
60.61 /// algorithm. For larger values, the algorithm runs slower, but it more
60.62 /// likely finds larger cliques. For smaller values, the algorithm is
60.63 /// faster but probably gives worse results.
60.64 - ///
60.65 + ///
60.66 /// The default value is \c -1, which means that number of steps
60.67 /// is not limited explicitly. However, the number of iterations is
60.68 /// limited and each iteration performs a finite number of search steps.
60.69 @@ -502,17 +502,17 @@
60.70 _step_limit = limit;
60.71 return *this;
60.72 }
60.73 -
60.74 +
60.75 /// \brief Sets the desired clique size.
60.76 ///
60.77 /// This function sets the desired clique size that serves as a search
60.78 /// limit. If a clique of this size (or a larger one) is found, then the
60.79 /// algorithm terminates.
60.80 - ///
60.81 + ///
60.82 /// This function is especially useful if you know an exact upper bound
60.83 - /// for the size of the cliques in the graph or if any clique above
60.84 + /// for the size of the cliques in the graph or if any clique above
60.85 /// a certain size limit is sufficient for your application.
60.86 - ///
60.87 + ///
60.88 /// The default value is \c -1, which means that the size limit is set to
60.89 /// the number of nodes in the graph.
60.90 ///
60.91 @@ -524,7 +524,7 @@
60.92 _size_limit = limit;
60.93 return *this;
60.94 }
60.95 -
60.96 +
60.97 /// \brief The maximum number of iterations.
60.98 ///
60.99 /// This function gives back the maximum number of iterations.
60.100 @@ -534,7 +534,7 @@
60.101 int iterationLimit() const {
60.102 return _iteration_limit;
60.103 }
60.104 -
60.105 +
60.106 /// \brief The maximum number of search steps.
60.107 ///
60.108 /// This function gives back the maximum number of search steps.
60.109 @@ -544,7 +544,7 @@
60.110 int stepLimit() const {
60.111 return _step_limit;
60.112 }
60.113 -
60.114 +
60.115 /// \brief The desired clique size.
60.116 ///
60.117 /// This function gives back the desired clique size that serves as a
60.118 @@ -583,7 +583,7 @@
60.119
60.120 /// \name Query Functions
60.121 /// The results of the algorithm can be obtained using these functions.\n
60.122 - /// The run() function must be called before using them.
60.123 + /// The run() function must be called before using them.
60.124
60.125 /// @{
60.126
60.127 @@ -676,13 +676,13 @@
60.128 /// @}
60.129
60.130 private:
60.131 -
60.132 +
60.133 // Initialize search options and limits
60.134 void initOptions() {
60.135 // Search options
60.136 _delta_based_restart = true;
60.137 _restart_delta_limit = 4;
60.138 -
60.139 +
60.140 // Search limits
60.141 _iteration_limit = 1000;
60.142 _step_limit = -1; // this is disabled by default
61.1 --- a/lemon/hao_orlin.h Fri Aug 09 14:07:27 2013 +0200
61.2 +++ b/lemon/hao_orlin.h Fri Aug 09 11:28:17 2013 +0200
61.3 @@ -2,7 +2,7 @@
61.4 *
61.5 * This file is a part of LEMON, a generic C++ optimization library.
61.6 *
61.7 - * Copyright (C) 2003-2010
61.8 + * Copyright (C) 2003-2013
61.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
61.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
61.11 *
62.1 --- a/lemon/hartmann_orlin_mmc.h Fri Aug 09 14:07:27 2013 +0200
62.2 +++ b/lemon/hartmann_orlin_mmc.h Fri Aug 09 11:28:17 2013 +0200
62.3 @@ -2,7 +2,7 @@
62.4 *
62.5 * This file is a part of LEMON, a generic C++ optimization library.
62.6 *
62.7 - * Copyright (C) 2003-2010
62.8 + * Copyright (C) 2003-2013
62.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
62.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
62.11 *
63.1 --- a/lemon/howard_mmc.h Fri Aug 09 14:07:27 2013 +0200
63.2 +++ b/lemon/howard_mmc.h Fri Aug 09 11:28:17 2013 +0200
63.3 @@ -2,7 +2,7 @@
63.4 *
63.5 * This file is a part of LEMON, a generic C++ optimization library.
63.6 *
63.7 - * Copyright (C) 2003-2010
63.8 + * Copyright (C) 2003-2013
63.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
63.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
63.11 *
63.12 @@ -155,10 +155,10 @@
63.13 /// termination. The \ref findCycleMean() function returns one of
63.14 /// these values.
63.15 enum TerminationCause {
63.16 -
63.17 +
63.18 /// No directed cycle can be found in the digraph.
63.19 NO_CYCLE = 0,
63.20 -
63.21 +
63.22 /// Optimal solution (minimum cycle mean) is found.
63.23 OPTIMAL = 1,
63.24
63.25 @@ -356,11 +356,11 @@
63.26 /// minimal.
63.27 ///
63.28 /// \param limit The maximum allowed number of iterations during
63.29 - /// the search process. Its default value implies that the algorithm
63.30 + /// the search process. Its default value implies that the algorithm
63.31 /// runs until it finds the exact optimal solution.
63.32 ///
63.33 /// \return The termination cause of the search process.
63.34 - /// For more information, see \ref TerminationCause.
63.35 + /// For more information, see \ref TerminationCause.
63.36 TerminationCause findCycleMean(int limit = std::numeric_limits<int>::max()) {
63.37 // Initialize and find strongly connected components
63.38 init();
63.39 @@ -389,7 +389,7 @@
63.40 _best_size = _curr_size;
63.41 _best_node = _curr_node;
63.42 }
63.43 -
63.44 +
63.45 if (iter_limit_reached) break;
63.46 }
63.47
64.1 --- a/lemon/insertion_tsp.h Fri Aug 09 14:07:27 2013 +0200
64.2 +++ b/lemon/insertion_tsp.h Fri Aug 09 11:28:17 2013 +0200
64.3 @@ -2,7 +2,7 @@
64.4 *
64.5 * This file is a part of LEMON, a generic C++ optimization library.
64.6 *
64.7 - * Copyright (C) 2003-2010
64.8 + * Copyright (C) 2003-2013
64.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
64.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
64.11 *
64.12 @@ -360,7 +360,7 @@
64.13 for (unsigned int i=0; i<_notused.size(); ++i) {
64.14 Node u = _notused[i];
64.15 Cost min_cost = costDiff(_tour.back(), _tour.front(), u);
64.16 - int min_pos = 0;
64.17 + int min_pos = 0;
64.18 for (unsigned int j=1; j<_tour.size(); ++j) {
64.19 Cost curr_cost = costDiff(_tour[j-1], _tour[j], u);
64.20 if (curr_cost < min_cost) {
64.21 @@ -390,7 +390,7 @@
64.22 Node sn = _notused[min_node];
64.23 _notused[min_node] = _notused.back();
64.24 _notused.pop_back();
64.25 -
64.26 +
64.27 // Insert the selected node into the tour
64.28 const int ipos = _ins_pos[sn];
64.29 _tour.insert(_tour.begin() + ipos, sn);
64.30 @@ -405,7 +405,7 @@
64.31 int ipos_next = ipos == int(_tour.size())-1 ? 0 : ipos+1;
64.32 Cost nc1 = costDiff(_tour[ipos_prev], _tour[ipos], u);
64.33 Cost nc2 = costDiff(_tour[ipos], _tour[ipos_next], u);
64.34 -
64.35 +
64.36 if (nc1 <= curr_cost || nc2 <= curr_cost) {
64.37 // A new position is better than the old one
64.38 if (nc1 <= nc2) {
64.39 @@ -420,7 +420,7 @@
64.40 if (curr_pos == ipos) {
64.41 // The minimum should be found again
64.42 curr_cost = costDiff(_tour.back(), _tour.front(), u);
64.43 - curr_pos = 0;
64.44 + curr_pos = 0;
64.45 for (unsigned int j=1; j<_tour.size(); ++j) {
64.46 Cost tmp_cost = costDiff(_tour[j-1], _tour[j], u);
64.47 if (tmp_cost < curr_cost) {
64.48 @@ -433,7 +433,7 @@
64.49 ++curr_pos;
64.50 }
64.51 }
64.52 -
64.53 +
64.54 _ins_cost[u] = curr_cost;
64.55 _ins_pos[u] = curr_pos;
64.56 }
65.1 --- a/lemon/karp_mmc.h Fri Aug 09 14:07:27 2013 +0200
65.2 +++ b/lemon/karp_mmc.h Fri Aug 09 11:28:17 2013 +0200
65.3 @@ -2,7 +2,7 @@
65.4 *
65.5 * This file is a part of LEMON, a generic C++ optimization library.
65.6 *
65.7 - * Copyright (C) 2003-2010
65.8 + * Copyright (C) 2003-2013
65.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
65.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
65.11 *
66.1 --- a/lemon/kruskal.h Fri Aug 09 14:07:27 2013 +0200
66.2 +++ b/lemon/kruskal.h Fri Aug 09 11:28:17 2013 +0200
66.3 @@ -2,7 +2,7 @@
66.4 *
66.5 * This file is a part of LEMON, a generic C++ optimization library.
66.6 *
66.7 - * Copyright (C) 2003-2009
66.8 + * Copyright (C) 2003-2013
66.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
66.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
66.11 *
67.1 --- a/lemon/lgf_reader.h Fri Aug 09 14:07:27 2013 +0200
67.2 +++ b/lemon/lgf_reader.h Fri Aug 09 11:28:17 2013 +0200
67.3 @@ -2,7 +2,7 @@
67.4 *
67.5 * This file is a part of LEMON, a generic C++ optimization library.
67.6 *
67.7 - * Copyright (C) 2003-2011
67.8 + * Copyright (C) 2003-2013
67.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
67.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
67.11 *
67.12 @@ -2638,7 +2638,7 @@
67.13 for (RedNodeIt n(_graph); n != INVALID; ++n) {
67.14 _red_node_index.insert(std::make_pair(converter(map[n]), n));
67.15 }
67.16 - for (BlueNodeIt n(_graph); n != INVALID; ++n) {
67.17 + for (BlueNodeIt n(_graph); n != INVALID; ++n) {
67.18 _blue_node_index.insert(std::make_pair(converter(map[n]), n));
67.19 }
67.20 return *this;
68.1 --- a/lemon/lgf_writer.h Fri Aug 09 14:07:27 2013 +0200
68.2 +++ b/lemon/lgf_writer.h Fri Aug 09 11:28:17 2013 +0200
68.3 @@ -2,7 +2,7 @@
68.4 *
68.5 * This file is a part of LEMON, a generic C++ optimization library.
68.6 *
68.7 - * Copyright (C) 2003-2010
68.8 + * Copyright (C) 2003-2013
68.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
68.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
68.11 *
68.12 @@ -185,7 +185,7 @@
68.13 public:
68.14 ValueStorage(const Value& value, const Converter& converter = Converter())
68.15 : _value(value), _converter(converter) {}
68.16 -
68.17 +
68.18 virtual std::string get() {
68.19 return _converter(_value);
68.20 }
69.1 --- a/lemon/list_graph.h Fri Aug 09 14:07:27 2013 +0200
69.2 +++ b/lemon/list_graph.h Fri Aug 09 11:28:17 2013 +0200
69.3 @@ -2,7 +2,7 @@
69.4 *
69.5 * This file is a part of LEMON, a generic C++ optimization library.
69.6 *
69.7 - * Copyright (C) 2003-2010
69.8 + * Copyright (C) 2003-2013
69.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
69.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
69.11 *
69.12 @@ -1765,7 +1765,7 @@
69.13
69.14 void next(BlueNode& node) const {
69.15 node.id = nodes[node.id].partition_next;
69.16 - }
69.17 + }
69.18
69.19 void first(Arc& e) const {
69.20 int n = first_node;
70.1 --- a/lemon/lp.h Fri Aug 09 14:07:27 2013 +0200
70.2 +++ b/lemon/lp.h Fri Aug 09 11:28:17 2013 +0200
70.3 @@ -2,7 +2,7 @@
70.4 *
70.5 * This file is a part of LEMON, a generic C++ optimization library.
70.6 *
70.7 - * Copyright (C) 2003-2010
70.8 + * Copyright (C) 2003-2013
70.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
70.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
70.11 *
71.1 --- a/lemon/lp_base.cc Fri Aug 09 14:07:27 2013 +0200
71.2 +++ b/lemon/lp_base.cc Fri Aug 09 11:28:17 2013 +0200
71.3 @@ -2,7 +2,7 @@
71.4 *
71.5 * This file is a part of LEMON, a generic C++ optimization library.
71.6 *
71.7 - * Copyright (C) 2003-2010
71.8 + * Copyright (C) 2003-2013
71.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
71.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
71.11 *
72.1 --- a/lemon/lp_base.h Fri Aug 09 14:07:27 2013 +0200
72.2 +++ b/lemon/lp_base.h Fri Aug 09 11:28:17 2013 +0200
72.3 @@ -2,7 +2,7 @@
72.4 *
72.5 * This file is a part of LEMON, a generic C++ optimization library.
72.6 *
72.7 - * Copyright (C) 2003-2010
72.8 + * Copyright (C) 2003-2013
72.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
72.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
72.11 *
72.12 @@ -1028,13 +1028,13 @@
72.13 else return "lemon::UnsupportedFormatError";
72.14 }
72.15 };
72.16 -
72.17 +
72.18 protected:
72.19 virtual void _write(std::string, std::string format) const
72.20 {
72.21 throw UnsupportedFormatError(format);
72.22 }
72.23 -
72.24 +
72.25 public:
72.26
72.27 /// Virtual destructor
73.1 --- a/lemon/lp_skeleton.cc Fri Aug 09 14:07:27 2013 +0200
73.2 +++ b/lemon/lp_skeleton.cc Fri Aug 09 11:28:17 2013 +0200
73.3 @@ -2,7 +2,7 @@
73.4 *
73.5 * This file is a part of LEMON, a generic C++ optimization library.
73.6 *
73.7 - * Copyright (C) 2003-2010
73.8 + * Copyright (C) 2003-2013
73.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
73.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
73.11 *
74.1 --- a/lemon/lp_skeleton.h Fri Aug 09 14:07:27 2013 +0200
74.2 +++ b/lemon/lp_skeleton.h Fri Aug 09 11:28:17 2013 +0200
74.3 @@ -2,7 +2,7 @@
74.4 *
74.5 * This file is a part of LEMON, a generic C++ optimization library.
74.6 *
74.7 - * Copyright (C) 2003-2010
74.8 + * Copyright (C) 2003-2013
74.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
74.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
74.11 *
75.1 --- a/lemon/maps.h Fri Aug 09 14:07:27 2013 +0200
75.2 +++ b/lemon/maps.h Fri Aug 09 11:28:17 2013 +0200
75.3 @@ -2,7 +2,7 @@
75.4 *
75.5 * This file is a part of LEMON, a generic C++ optimization library.
75.6 *
75.7 - * Copyright (C) 2003-2010
75.8 + * Copyright (C) 2003-2013
75.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
75.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
75.11 *
76.1 --- a/lemon/matching.h Fri Aug 09 14:07:27 2013 +0200
76.2 +++ b/lemon/matching.h Fri Aug 09 11:28:17 2013 +0200
76.3 @@ -2,7 +2,7 @@
76.4 *
76.5 * This file is a part of LEMON, a generic C++ optimization library.
76.6 *
76.7 - * Copyright (C) 2003-2010
76.8 + * Copyright (C) 2003-2013
76.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
76.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
76.11 *
77.1 --- a/lemon/math.h Fri Aug 09 14:07:27 2013 +0200
77.2 +++ b/lemon/math.h Fri Aug 09 11:28:17 2013 +0200
77.3 @@ -2,7 +2,7 @@
77.4 *
77.5 * This file is a part of LEMON, a generic C++ optimization library.
77.6 *
77.7 - * Copyright (C) 2003-2010
77.8 + * Copyright (C) 2003-2013
77.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
77.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
77.11 *
78.1 --- a/lemon/max_cardinality_search.h Fri Aug 09 14:07:27 2013 +0200
78.2 +++ b/lemon/max_cardinality_search.h Fri Aug 09 11:28:17 2013 +0200
78.3 @@ -1,8 +1,8 @@
78.4 -/* -*- C++ -*-
78.5 +/* -*- mode: C++; indent-tabs-mode: nil; -*-
78.6 *
78.7 - * This file is a part of LEMON, a generic C++ optimization library
78.8 + * This file is a part of LEMON, a generic C++ optimization library.
78.9 *
78.10 - * Copyright (C) 2003-2010
78.11 + * Copyright (C) 2003-2013
78.12 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
78.13 * (Egervary Research Group on Combinatorial Optimization, EGRES).
78.14 *
78.15 @@ -21,7 +21,7 @@
78.16
78.17
78.18 /// \ingroup search
78.19 -/// \file
78.20 +/// \file
78.21 /// \brief Maximum cardinality search in undirected digraphs.
78.22
78.23 #include <lemon/bin_heap.h>
78.24 @@ -41,7 +41,7 @@
78.25 /// \param CapacityMap Type of capacity map.
78.26 template <typename GR, typename CAP>
78.27 struct MaxCardinalitySearchDefaultTraits {
78.28 - /// The digraph type the algorithm runs on.
78.29 + /// The digraph type the algorithm runs on.
78.30 typedef GR Digraph;
78.31
78.32 template <typename CM>
78.33 @@ -50,7 +50,7 @@
78.34 typedef CM CapacityMap;
78.35
78.36 static CapacityMap *createCapacityMap(const Digraph& g) {
78.37 - return new CapacityMap(g);
78.38 + return new CapacityMap(g);
78.39 }
78.40 };
78.41
78.42 @@ -60,7 +60,7 @@
78.43 typedef ConstMap<CM, Const<int, 1> > CapacityMap;
78.44
78.45 static CapacityMap *createCapacityMap(const Digraph&) {
78.46 - return new CapacityMap;
78.47 + return new CapacityMap;
78.48 }
78.49 };
78.50
78.51 @@ -90,17 +90,17 @@
78.52
78.53 /// \brief Instantiates a HeapCrossRef.
78.54 ///
78.55 - /// This function instantiates a \ref HeapCrossRef.
78.56 - /// \param digraph is the digraph, to which we would like to define the
78.57 + /// This function instantiates a \ref HeapCrossRef.
78.58 + /// \param digraph is the digraph, to which we would like to define the
78.59 /// HeapCrossRef.
78.60 static HeapCrossRef *createHeapCrossRef(const Digraph &digraph) {
78.61 return new HeapCrossRef(digraph);
78.62 }
78.63 -
78.64 +
78.65 template <typename CapacityMap>
78.66 struct HeapSelector {
78.67 template <typename Value, typename Ref>
78.68 - struct Selector {
78.69 + struct Selector {
78.70 typedef BinHeap<Value, Ref, std::greater<Value> > Heap;
78.71 };
78.72 };
78.73 @@ -128,7 +128,7 @@
78.74
78.75 /// \brief Instantiates a Heap.
78.76 ///
78.77 - /// This function instantiates a \ref Heap.
78.78 + /// This function instantiates a \ref Heap.
78.79 /// \param crossref The cross reference of the heap.
78.80 static Heap *createHeap(HeapCrossRef& crossref) {
78.81 return new Heap(crossref);
78.82 @@ -143,7 +143,7 @@
78.83
78.84 /// \brief Instantiates a ProcessedMap.
78.85 ///
78.86 - /// This function instantiates a \ref ProcessedMap.
78.87 + /// This function instantiates a \ref ProcessedMap.
78.88 /// \param digraph is the digraph, to which
78.89 /// we would like to define the \ref ProcessedMap
78.90 #ifdef DOXYGEN
78.91 @@ -156,15 +156,15 @@
78.92 }
78.93
78.94 /// \brief The type of the map that stores the cardinalities of the nodes.
78.95 - ///
78.96 + ///
78.97 /// The type of the map that stores the cardinalities of the nodes.
78.98 /// It must meet the \ref concepts::WriteMap "WriteMap" concept.
78.99 typedef typename Digraph::template NodeMap<Value> CardinalityMap;
78.100
78.101 /// \brief Instantiates a CardinalityMap.
78.102 ///
78.103 - /// This function instantiates a \ref CardinalityMap.
78.104 - /// \param digraph is the digraph, to which we would like to define the \ref
78.105 + /// This function instantiates a \ref CardinalityMap.
78.106 + /// \param digraph is the digraph, to which we would like to define the \ref
78.107 /// CardinalityMap
78.108 static CardinalityMap *createCardinalityMap(const Digraph &digraph) {
78.109 return new CardinalityMap(digraph);
78.110 @@ -172,13 +172,13 @@
78.111
78.112
78.113 };
78.114 -
78.115 +
78.116 /// \ingroup search
78.117 ///
78.118 /// \brief Maximum Cardinality Search algorithm class.
78.119 ///
78.120 - /// This class provides an efficient implementation of Maximum Cardinality
78.121 - /// Search algorithm. The maximum cardinality search first chooses any
78.122 + /// This class provides an efficient implementation of Maximum Cardinality
78.123 + /// Search algorithm. The maximum cardinality search first chooses any
78.124 /// node of the digraph. Then every time it chooses one unprocessed node
78.125 /// with maximum cardinality, i.e the sum of capacities on out arcs to the nodes
78.126 /// which were previusly processed.
78.127 @@ -186,38 +186,38 @@
78.128 /// again any unprocessed node of the digraph.
78.129
78.130 /// The arc capacities are passed to the algorithm using a
78.131 - /// \ref concepts::ReadMap "ReadMap", so it is easy to change it to any
78.132 + /// \ref concepts::ReadMap "ReadMap", so it is easy to change it to any
78.133 /// kind of capacity.
78.134 ///
78.135 - /// The type of the capacity is determined by the \ref
78.136 + /// The type of the capacity is determined by the \ref
78.137 /// concepts::ReadMap::Value "Value" of the capacity map.
78.138 ///
78.139 /// It is also possible to change the underlying priority heap.
78.140 ///
78.141 ///
78.142 /// \param GR The digraph type the algorithm runs on. The value of
78.143 - /// Digraph is not used directly by the search algorithm, it
78.144 + /// Digraph is not used directly by the search algorithm, it
78.145 /// is only passed to \ref MaxCardinalitySearchDefaultTraits.
78.146 - /// \param CAP This read-only ArcMap determines the capacities of
78.147 + /// \param CAP This read-only ArcMap determines the capacities of
78.148 /// the arcs. It is read once for each arc, so the map may involve in
78.149 /// relatively time consuming process to compute the arc capacity if
78.150 /// it is necessary. The default map type is \ref
78.151 /// ConstMap "ConstMap<concepts::Digraph::Arc, Const<int,1> >". The value
78.152 - /// of CapacityMap is not used directly by search algorithm, it is only
78.153 - /// passed to \ref MaxCardinalitySearchDefaultTraits.
78.154 - /// \param TR Traits class to set various data types used by the
78.155 - /// algorithm. The default traits class is
78.156 - /// \ref MaxCardinalitySearchDefaultTraits
78.157 - /// "MaxCardinalitySearchDefaultTraits<GR, CAP>".
78.158 - /// See \ref MaxCardinalitySearchDefaultTraits
78.159 + /// of CapacityMap is not used directly by search algorithm, it is only
78.160 + /// passed to \ref MaxCardinalitySearchDefaultTraits.
78.161 + /// \param TR Traits class to set various data types used by the
78.162 + /// algorithm. The default traits class is
78.163 + /// \ref MaxCardinalitySearchDefaultTraits
78.164 + /// "MaxCardinalitySearchDefaultTraits<GR, CAP>".
78.165 + /// See \ref MaxCardinalitySearchDefaultTraits
78.166 /// for the documentation of a MaxCardinalitySearch traits class.
78.167
78.168 #ifdef DOXYGEN
78.169 template <typename GR, typename CAP, typename TR>
78.170 #else
78.171 - template <typename GR, typename CAP =
78.172 - ConstMap<typename GR::Arc, Const<int,1> >,
78.173 - typename TR =
78.174 + template <typename GR, typename CAP =
78.175 + ConstMap<typename GR::Arc, Const<int,1> >,
78.176 + typename TR =
78.177 MaxCardinalitySearchDefaultTraits<GR, CAP> >
78.178 #endif
78.179 class MaxCardinalitySearch {
78.180 @@ -226,7 +226,7 @@
78.181 typedef TR Traits;
78.182 ///The type of the underlying digraph.
78.183 typedef typename Traits::Digraph Digraph;
78.184 -
78.185 +
78.186 ///The type of the capacity of the arcs.
78.187 typedef typename Traits::CapacityMap::Value Value;
78.188 ///The type of the map that stores the arc capacities.
78.189 @@ -266,7 +266,7 @@
78.190 public :
78.191
78.192 typedef MaxCardinalitySearch Create;
78.193 -
78.194 +
78.195 ///\name Named template parameters
78.196
78.197 ///@{
78.198 @@ -275,89 +275,89 @@
78.199 struct DefCapacityMapTraits : public Traits {
78.200 typedef T CapacityMap;
78.201 static CapacityMap *createCapacityMap(const Digraph &) {
78.202 - LEMON_ASSERT(false,"Uninitialized parameter.");
78.203 - return 0;
78.204 + LEMON_ASSERT(false,"Uninitialized parameter.");
78.205 + return 0;
78.206 }
78.207 };
78.208 - /// \brief \ref named-templ-param "Named parameter" for setting
78.209 + /// \brief \ref named-templ-param "Named parameter" for setting
78.210 /// CapacityMap type
78.211 ///
78.212 /// \ref named-templ-param "Named parameter" for setting CapacityMap type
78.213 /// for the algorithm.
78.214 template <class T>
78.215 - struct SetCapacityMap
78.216 - : public MaxCardinalitySearch<Digraph, CapacityMap,
78.217 - DefCapacityMapTraits<T> > {
78.218 - typedef MaxCardinalitySearch<Digraph, CapacityMap,
78.219 + struct SetCapacityMap
78.220 + : public MaxCardinalitySearch<Digraph, CapacityMap,
78.221 + DefCapacityMapTraits<T> > {
78.222 + typedef MaxCardinalitySearch<Digraph, CapacityMap,
78.223 DefCapacityMapTraits<T> > Create;
78.224 };
78.225
78.226 template <class T>
78.227 struct DefCardinalityMapTraits : public Traits {
78.228 typedef T CardinalityMap;
78.229 - static CardinalityMap *createCardinalityMap(const Digraph &)
78.230 + static CardinalityMap *createCardinalityMap(const Digraph &)
78.231 {
78.232 - LEMON_ASSERT(false,"Uninitialized parameter.");
78.233 - return 0;
78.234 + LEMON_ASSERT(false,"Uninitialized parameter.");
78.235 + return 0;
78.236 }
78.237 };
78.238 - /// \brief \ref named-templ-param "Named parameter" for setting
78.239 + /// \brief \ref named-templ-param "Named parameter" for setting
78.240 /// CardinalityMap type
78.241 ///
78.242 - /// \ref named-templ-param "Named parameter" for setting CardinalityMap
78.243 + /// \ref named-templ-param "Named parameter" for setting CardinalityMap
78.244 /// type for the algorithm.
78.245 template <class T>
78.246 - struct SetCardinalityMap
78.247 - : public MaxCardinalitySearch<Digraph, CapacityMap,
78.248 - DefCardinalityMapTraits<T> > {
78.249 - typedef MaxCardinalitySearch<Digraph, CapacityMap,
78.250 + struct SetCardinalityMap
78.251 + : public MaxCardinalitySearch<Digraph, CapacityMap,
78.252 + DefCardinalityMapTraits<T> > {
78.253 + typedef MaxCardinalitySearch<Digraph, CapacityMap,
78.254 DefCardinalityMapTraits<T> > Create;
78.255 };
78.256 -
78.257 +
78.258 template <class T>
78.259 struct DefProcessedMapTraits : public Traits {
78.260 typedef T ProcessedMap;
78.261 static ProcessedMap *createProcessedMap(const Digraph &) {
78.262 - LEMON_ASSERT(false,"Uninitialized parameter.");
78.263 - return 0;
78.264 + LEMON_ASSERT(false,"Uninitialized parameter.");
78.265 + return 0;
78.266 }
78.267 };
78.268 - /// \brief \ref named-templ-param "Named parameter" for setting
78.269 + /// \brief \ref named-templ-param "Named parameter" for setting
78.270 /// ProcessedMap type
78.271 ///
78.272 /// \ref named-templ-param "Named parameter" for setting ProcessedMap type
78.273 /// for the algorithm.
78.274 template <class T>
78.275 - struct SetProcessedMap
78.276 - : public MaxCardinalitySearch<Digraph, CapacityMap,
78.277 - DefProcessedMapTraits<T> > {
78.278 - typedef MaxCardinalitySearch<Digraph, CapacityMap,
78.279 + struct SetProcessedMap
78.280 + : public MaxCardinalitySearch<Digraph, CapacityMap,
78.281 + DefProcessedMapTraits<T> > {
78.282 + typedef MaxCardinalitySearch<Digraph, CapacityMap,
78.283 DefProcessedMapTraits<T> > Create;
78.284 };
78.285 -
78.286 +
78.287 template <class H, class CR>
78.288 struct DefHeapTraits : public Traits {
78.289 typedef CR HeapCrossRef;
78.290 typedef H Heap;
78.291 static HeapCrossRef *createHeapCrossRef(const Digraph &) {
78.292 - LEMON_ASSERT(false,"Uninitialized parameter.");
78.293 - return 0;
78.294 + LEMON_ASSERT(false,"Uninitialized parameter.");
78.295 + return 0;
78.296 }
78.297 static Heap *createHeap(HeapCrossRef &) {
78.298 - LEMON_ASSERT(false,"Uninitialized parameter.");
78.299 - return 0;
78.300 + LEMON_ASSERT(false,"Uninitialized parameter.");
78.301 + return 0;
78.302 }
78.303 };
78.304 - /// \brief \ref named-templ-param "Named parameter" for setting heap
78.305 + /// \brief \ref named-templ-param "Named parameter" for setting heap
78.306 /// and cross reference type
78.307 ///
78.308 - /// \ref named-templ-param "Named parameter" for setting heap and cross
78.309 + /// \ref named-templ-param "Named parameter" for setting heap and cross
78.310 /// reference type for the algorithm.
78.311 template <class H, class CR = typename Digraph::template NodeMap<int> >
78.312 struct SetHeap
78.313 - : public MaxCardinalitySearch<Digraph, CapacityMap,
78.314 - DefHeapTraits<H, CR> > {
78.315 - typedef MaxCardinalitySearch< Digraph, CapacityMap,
78.316 + : public MaxCardinalitySearch<Digraph, CapacityMap,
78.317 + DefHeapTraits<H, CR> > {
78.318 + typedef MaxCardinalitySearch< Digraph, CapacityMap,
78.319 DefHeapTraits<H, CR> > Create;
78.320 };
78.321
78.322 @@ -366,29 +366,29 @@
78.323 typedef CR HeapCrossRef;
78.324 typedef H Heap;
78.325 static HeapCrossRef *createHeapCrossRef(const Digraph &digraph) {
78.326 - return new HeapCrossRef(digraph);
78.327 + return new HeapCrossRef(digraph);
78.328 }
78.329 static Heap *createHeap(HeapCrossRef &crossref) {
78.330 - return new Heap(crossref);
78.331 + return new Heap(crossref);
78.332 }
78.333 };
78.334
78.335 - /// \brief \ref named-templ-param "Named parameter" for setting heap and
78.336 + /// \brief \ref named-templ-param "Named parameter" for setting heap and
78.337 /// cross reference type with automatic allocation
78.338 ///
78.339 - /// \ref named-templ-param "Named parameter" for setting heap and cross
78.340 - /// reference type. It can allocate the heap and the cross reference
78.341 - /// object if the cross reference's constructor waits for the digraph as
78.342 + /// \ref named-templ-param "Named parameter" for setting heap and cross
78.343 + /// reference type. It can allocate the heap and the cross reference
78.344 + /// object if the cross reference's constructor waits for the digraph as
78.345 /// parameter and the heap's constructor waits for the cross reference.
78.346 template <class H, class CR = typename Digraph::template NodeMap<int> >
78.347 struct SetStandardHeap
78.348 - : public MaxCardinalitySearch<Digraph, CapacityMap,
78.349 - DefStandardHeapTraits<H, CR> > {
78.350 - typedef MaxCardinalitySearch<Digraph, CapacityMap,
78.351 - DefStandardHeapTraits<H, CR> >
78.352 + : public MaxCardinalitySearch<Digraph, CapacityMap,
78.353 + DefStandardHeapTraits<H, CR> > {
78.354 + typedef MaxCardinalitySearch<Digraph, CapacityMap,
78.355 + DefStandardHeapTraits<H, CR> >
78.356 Create;
78.357 };
78.358 -
78.359 +
78.360 ///@}
78.361
78.362
78.363 @@ -396,14 +396,14 @@
78.364
78.365 MaxCardinalitySearch() {}
78.366
78.367 - public:
78.368 -
78.369 + public:
78.370 +
78.371 /// \brief Constructor.
78.372 ///
78.373 ///\param digraph the digraph the algorithm will run on.
78.374 ///\param capacity the capacity map used by the algorithm.
78.375 MaxCardinalitySearch(const Digraph& digraph,
78.376 - const CapacityMap& capacity) :
78.377 + const CapacityMap& capacity) :
78.378 _graph(&digraph),
78.379 _capacity(&capacity), local_capacity(false),
78.380 _cardinality(0), local_cardinality(false),
78.381 @@ -441,8 +441,8 @@
78.382 /// \return <tt> (*this) </tt>
78.383 MaxCardinalitySearch &capacityMap(const CapacityMap &m) {
78.384 if (local_capacity) {
78.385 - delete _capacity;
78.386 - local_capacity=false;
78.387 + delete _capacity;
78.388 + local_capacity=false;
78.389 }
78.390 _capacity=&m;
78.391 return *this;
78.392 @@ -456,7 +456,7 @@
78.393 return *_capacity;
78.394 }
78.395
78.396 - /// \brief Sets the map storing the cardinalities calculated by the
78.397 + /// \brief Sets the map storing the cardinalities calculated by the
78.398 /// algorithm.
78.399 ///
78.400 /// Sets the map storing the cardinalities calculated by the algorithm.
78.401 @@ -466,8 +466,8 @@
78.402 /// \return <tt> (*this) </tt>
78.403 MaxCardinalitySearch &cardinalityMap(CardinalityMap &m) {
78.404 if(local_cardinality) {
78.405 - delete _cardinality;
78.406 - local_cardinality=false;
78.407 + delete _cardinality;
78.408 + local_cardinality=false;
78.409 }
78.410 _cardinality = &m;
78.411 return *this;
78.412 @@ -480,11 +480,11 @@
78.413 /// it will allocate one. The destuctor deallocates this
78.414 /// automatically allocated map, of course.
78.415 /// \return <tt> (*this) </tt>
78.416 - MaxCardinalitySearch &processedMap(ProcessedMap &m)
78.417 + MaxCardinalitySearch &processedMap(ProcessedMap &m)
78.418 {
78.419 if(local_processed) {
78.420 - delete _processed;
78.421 - local_processed=false;
78.422 + delete _processed;
78.423 + local_processed=false;
78.424 }
78.425 _processed = &m;
78.426 return *this;
78.427 @@ -507,13 +507,13 @@
78.428 /// \return <tt> (*this) </tt>
78.429 MaxCardinalitySearch &heap(Heap& hp, HeapCrossRef &cr) {
78.430 if(local_heap_cross_ref) {
78.431 - delete _heap_cross_ref;
78.432 - local_heap_cross_ref = false;
78.433 + delete _heap_cross_ref;
78.434 + local_heap_cross_ref = false;
78.435 }
78.436 _heap_cross_ref = &cr;
78.437 if(local_heap) {
78.438 - delete _heap;
78.439 - local_heap = false;
78.440 + delete _heap;
78.441 + local_heap = false;
78.442 }
78.443 _heap = &hp;
78.444 return *this;
78.445 @@ -544,27 +544,27 @@
78.446
78.447 void create_maps() {
78.448 if(!_capacity) {
78.449 - local_capacity = true;
78.450 - _capacity = Traits::createCapacityMap(*_graph);
78.451 + local_capacity = true;
78.452 + _capacity = Traits::createCapacityMap(*_graph);
78.453 }
78.454 if(!_cardinality) {
78.455 - local_cardinality = true;
78.456 - _cardinality = Traits::createCardinalityMap(*_graph);
78.457 + local_cardinality = true;
78.458 + _cardinality = Traits::createCardinalityMap(*_graph);
78.459 }
78.460 if(!_processed) {
78.461 - local_processed = true;
78.462 - _processed = Traits::createProcessedMap(*_graph);
78.463 + local_processed = true;
78.464 + _processed = Traits::createProcessedMap(*_graph);
78.465 }
78.466 if (!_heap_cross_ref) {
78.467 - local_heap_cross_ref = true;
78.468 - _heap_cross_ref = Traits::createHeapCrossRef(*_graph);
78.469 + local_heap_cross_ref = true;
78.470 + _heap_cross_ref = Traits::createHeapCrossRef(*_graph);
78.471 }
78.472 if (!_heap) {
78.473 - local_heap = true;
78.474 - _heap = Traits::createHeap(*_heap_cross_ref);
78.475 + local_heap = true;
78.476 + _heap = Traits::createHeap(*_heap_cross_ref);
78.477 }
78.478 }
78.479 -
78.480 +
78.481 void finalizeNodeData(Node node, Value capacity) {
78.482 _processed->set(node, true);
78.483 _cardinality->set(node, capacity);
78.484 @@ -589,22 +589,22 @@
78.485 create_maps();
78.486 _heap->clear();
78.487 for (NodeIt it(*_graph) ; it != INVALID ; ++it) {
78.488 - _processed->set(it, false);
78.489 - _heap_cross_ref->set(it, Heap::PRE_HEAP);
78.490 + _processed->set(it, false);
78.491 + _heap_cross_ref->set(it, Heap::PRE_HEAP);
78.492 }
78.493 }
78.494 -
78.495 +
78.496 /// \brief Adds a new source node.
78.497 - ///
78.498 + ///
78.499 /// Adds a new source node to the priority heap.
78.500 ///
78.501 /// It checks if the node has not yet been added to the heap.
78.502 void addSource(Node source, Value capacity = 0) {
78.503 if(_heap->state(source) == Heap::PRE_HEAP) {
78.504 - _heap->push(source, capacity);
78.505 - }
78.506 + _heap->push(source, capacity);
78.507 + }
78.508 }
78.509 -
78.510 +
78.511 /// \brief Processes the next node in the priority heap
78.512 ///
78.513 /// Processes the next node in the priority heap.
78.514 @@ -613,22 +613,22 @@
78.515 ///
78.516 /// \warning The priority heap must not be empty!
78.517 Node processNextNode() {
78.518 - Node node = _heap->top();
78.519 + Node node = _heap->top();
78.520 finalizeNodeData(node, _heap->prio());
78.521 _heap->pop();
78.522 -
78.523 +
78.524 for (InArcIt it(*_graph, node); it != INVALID; ++it) {
78.525 - Node source = _graph->source(it);
78.526 - switch (_heap->state(source)) {
78.527 - case Heap::PRE_HEAP:
78.528 - _heap->push(source, (*_capacity)[it]);
78.529 - break;
78.530 - case Heap::IN_HEAP:
78.531 - _heap->decrease(source, (*_heap)[source] + (*_capacity)[it]);
78.532 - break;
78.533 - case Heap::POST_HEAP:
78.534 - break;
78.535 - }
78.536 + Node source = _graph->source(it);
78.537 + switch (_heap->state(source)) {
78.538 + case Heap::PRE_HEAP:
78.539 + _heap->push(source, (*_capacity)[it]);
78.540 + break;
78.541 + case Heap::IN_HEAP:
78.542 + _heap->decrease(source, (*_heap)[source] + (*_capacity)[it]);
78.543 + break;
78.544 + case Heap::POST_HEAP:
78.545 + break;
78.546 + }
78.547 }
78.548 return node;
78.549 }
78.550 @@ -637,24 +637,24 @@
78.551 ///
78.552 /// Next node to be processed.
78.553 ///
78.554 - /// \return The next node to be processed or INVALID if the
78.555 + /// \return The next node to be processed or INVALID if the
78.556 /// priority heap is empty.
78.557 - Node nextNode() {
78.558 + Node nextNode() {
78.559 return !_heap->empty() ? _heap->top() : INVALID;
78.560 }
78.561 -
78.562 +
78.563 /// \brief Returns \c false if there are nodes
78.564 /// to be processed in the priority heap
78.565 ///
78.566 /// Returns \c false if there are nodes
78.567 /// to be processed in the priority heap
78.568 bool emptyQueue() { return _heap->empty(); }
78.569 - /// \brief Returns the number of the nodes to be processed
78.570 + /// \brief Returns the number of the nodes to be processed
78.571 /// in the priority heap
78.572 ///
78.573 /// Returns the number of the nodes to be processed in the priority heap
78.574 int emptySize() { return _heap->size(); }
78.575 -
78.576 +
78.577 /// \brief Executes the algorithm.
78.578 ///
78.579 /// Executes the algorithm.
78.580 @@ -662,12 +662,12 @@
78.581 ///\pre init() must be called and at least one node should be added
78.582 /// with addSource() before using this function.
78.583 ///
78.584 - /// This method runs the Maximum Cardinality Search algorithm from the
78.585 + /// This method runs the Maximum Cardinality Search algorithm from the
78.586 /// source node(s).
78.587 void start() {
78.588 while ( !_heap->empty() ) processNextNode();
78.589 }
78.590 -
78.591 +
78.592 /// \brief Executes the algorithm until \c dest is reached.
78.593 ///
78.594 /// Executes the algorithm until \c dest is reached.
78.595 @@ -675,13 +675,13 @@
78.596 /// \pre init() must be called and at least one node should be added
78.597 /// with addSource() before using this function.
78.598 ///
78.599 - /// This method runs the %MaxCardinalitySearch algorithm from the source
78.600 + /// This method runs the %MaxCardinalitySearch algorithm from the source
78.601 /// nodes.
78.602 void start(Node dest) {
78.603 while ( !_heap->empty() && _heap->top()!=dest ) processNextNode();
78.604 if ( !_heap->empty() ) finalizeNodeData(_heap->top(), _heap->prio());
78.605 }
78.606 -
78.607 +
78.608 /// \brief Executes the algorithm until a condition is met.
78.609 ///
78.610 /// Executes the algorithm until a condition is met.
78.611 @@ -696,10 +696,10 @@
78.612 while ( !_heap->empty() && !nm[_heap->top()] ) processNextNode();
78.613 if ( !_heap->empty() ) finalizeNodeData(_heap->top(),_heap->prio());
78.614 }
78.615 -
78.616 +
78.617 /// \brief Runs the maximum cardinality search algorithm from node \c s.
78.618 ///
78.619 - /// This method runs the %MaxCardinalitySearch algorithm from a root
78.620 + /// This method runs the %MaxCardinalitySearch algorithm from a root
78.621 /// node \c s.
78.622 ///
78.623 ///\note d.run(s) is just a shortcut of the following code.
78.624 @@ -714,10 +714,10 @@
78.625 start();
78.626 }
78.627
78.628 - /// \brief Runs the maximum cardinality search algorithm for the
78.629 + /// \brief Runs the maximum cardinality search algorithm for the
78.630 /// whole digraph.
78.631 ///
78.632 - /// This method runs the %MaxCardinalitySearch algorithm from all
78.633 + /// This method runs the %MaxCardinalitySearch algorithm from all
78.634 /// unprocessed node of the digraph.
78.635 ///
78.636 ///\note d.run(s) is just a shortcut of the following code.
78.637 @@ -739,16 +739,16 @@
78.638 }
78.639 }
78.640 }
78.641 -
78.642 +
78.643 ///@}
78.644
78.645 /// \name Query Functions
78.646 - /// The results of the maximum cardinality search algorithm can be
78.647 + /// The results of the maximum cardinality search algorithm can be
78.648 /// obtained using these functions.
78.649 /// \n
78.650 - /// Before the use of these functions, either run() or start() must be
78.651 + /// Before the use of these functions, either run() or start() must be
78.652 /// called.
78.653 -
78.654 +
78.655 ///@{
78.656
78.657 /// \brief The cardinality of a node.
78.658 @@ -767,10 +767,10 @@
78.659
78.660 /// \brief Returns a reference to the NodeMap of cardinalities.
78.661 ///
78.662 - /// Returns a reference to the NodeMap of cardinalities. \pre \ref run()
78.663 + /// Returns a reference to the NodeMap of cardinalities. \pre \ref run()
78.664 /// must be called before using this function.
78.665 const CardinalityMap &cardinalityMap() const { return *_cardinality;}
78.666 -
78.667 +
78.668 /// \brief Checks if a node is reachable from the root.
78.669 ///
78.670 /// Returns \c true if \c v is reachable from the root.
78.671 @@ -784,7 +784,7 @@
78.672 /// path to \c v has already found.
78.673 /// \pre \ref run() must be called before using this function.
78.674 bool processed(Node v) { return (*_heap_cross_ref)[v] == Heap::POST_HEAP; }
78.675 -
78.676 +
78.677 ///@}
78.678 };
78.679
79.1 --- a/lemon/min_cost_arborescence.h Fri Aug 09 14:07:27 2013 +0200
79.2 +++ b/lemon/min_cost_arborescence.h Fri Aug 09 11:28:17 2013 +0200
79.3 @@ -2,7 +2,7 @@
79.4 *
79.5 * This file is a part of LEMON, a generic C++ optimization library.
79.6 *
79.7 - * Copyright (C) 2003-2010
79.8 + * Copyright (C) 2003-2013
79.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
79.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
79.11 *
80.1 --- a/lemon/nagamochi_ibaraki.h Fri Aug 09 14:07:27 2013 +0200
80.2 +++ b/lemon/nagamochi_ibaraki.h Fri Aug 09 11:28:17 2013 +0200
80.3 @@ -2,7 +2,7 @@
80.4 *
80.5 * This file is a part of LEMON, a generic C++ optimization library.
80.6 *
80.7 - * Copyright (C) 2003-2010
80.8 + * Copyright (C) 2003-2013
80.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
80.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
80.11 *
80.12 @@ -303,8 +303,8 @@
80.13 protected:
80.14 //This is here to avoid a gcc-3.3 compilation error.
80.15 //It should never be called.
80.16 - NagamochiIbaraki() {}
80.17 -
80.18 + NagamochiIbaraki() {}
80.19 +
80.20 public:
80.21
80.22 typedef NagamochiIbaraki Create;
80.23 @@ -414,18 +414,18 @@
80.24 for (typename Graph::NodeIt n(_graph); n != INVALID; ++n) {
80.25 for (typename Graph::OutArcIt a(_graph, n); a != INVALID; ++a) {
80.26 typename Graph::Node m = _graph.target(a);
80.27 -
80.28 +
80.29 if (!(n < m)) continue;
80.30
80.31 (*_nodes)[n].sum += (*_capacity)[a];
80.32 (*_nodes)[m].sum += (*_capacity)[a];
80.33 -
80.34 +
80.35 int c = (*_nodes)[m].curr_arc;
80.36 if (c != -1 && _arcs[c ^ 1].target == n) {
80.37 _edges[c >> 1].capacity += (*_capacity)[a];
80.38 } else {
80.39 _edges[index].capacity = (*_capacity)[a];
80.40 -
80.41 +
80.42 _arcs[index << 1].prev = -1;
80.43 if ((*_nodes)[n].first_arc != -1) {
80.44 _arcs[(*_nodes)[n].first_arc].prev = (index << 1);
80.45 @@ -435,7 +435,7 @@
80.46 _arcs[index << 1].target = m;
80.47
80.48 (*_nodes)[m].curr_arc = (index << 1);
80.49 -
80.50 +
80.51 _arcs[(index << 1) | 1].prev = -1;
80.52 if ((*_nodes)[m].first_arc != -1) {
80.53 _arcs[(*_nodes)[m].first_arc].prev = ((index << 1) | 1);
80.54 @@ -443,7 +443,7 @@
80.55 _arcs[(index << 1) | 1].next = (*_nodes)[m].first_arc;
80.56 (*_nodes)[m].first_arc = ((index << 1) | 1);
80.57 _arcs[(index << 1) | 1].target = n;
80.58 -
80.59 +
80.60 ++index;
80.61 }
80.62 }
80.63 @@ -452,7 +452,7 @@
80.64 typename Graph::Node cut_node = INVALID;
80.65 _min_cut = std::numeric_limits<Value>::max();
80.66
80.67 - for (typename Graph::Node n = _first_node;
80.68 + for (typename Graph::Node n = _first_node;
80.69 n != INVALID; n = (*_nodes)[n].next) {
80.70 if ((*_nodes)[n].sum < _min_cut) {
80.71 cut_node = n;
80.72 @@ -477,7 +477,7 @@
80.73 if (_first_node == INVALID) return true;
80.74
80.75 _heap->clear();
80.76 - for (typename Graph::Node n = _first_node;
80.77 + for (typename Graph::Node n = _first_node;
80.78 n != INVALID; n = (*_nodes)[n].next) {
80.79 (*_heap_cross_ref)[n] = Heap::PRE_HEAP;
80.80 }
80.81 @@ -497,7 +497,7 @@
80.82 _heap->pop();
80.83 for (int a = (*_nodes)[n].first_arc; a != -1; a = _arcs[a].next) {
80.84 switch (_heap->state(_arcs[a].target)) {
80.85 - case Heap::PRE_HEAP:
80.86 + case Heap::PRE_HEAP:
80.87 {
80.88 Value nv = _edges[a >> 1].capacity;
80.89 _heap->push(_arcs[a].target, nv);
80.90 @@ -563,7 +563,7 @@
80.91 if (!(_edges[a >> 1].cut < pmc)) {
80.92 if (!merged) {
80.93 for (int b = (*_nodes)[n].first_arc; b != -1; b = _arcs[b].next) {
80.94 - (*_nodes)[_arcs[b].target].curr_arc = b;
80.95 + (*_nodes)[_arcs[b].target].curr_arc = b;
80.96 }
80.97 merged = true;
80.98 }
80.99 @@ -573,7 +573,7 @@
80.100 nb = _arcs[b].next;
80.101 if ((b ^ a) == 1) continue;
80.102 typename Graph::Node o = _arcs[b].target;
80.103 - int c = (*_nodes)[o].curr_arc;
80.104 + int c = (*_nodes)[o].curr_arc;
80.105 if (c != -1 && _arcs[c ^ 1].target == n) {
80.106 _edges[c >> 1].capacity += _edges[b >> 1].capacity;
80.107 (*_nodes)[n].sum += _edges[b >> 1].capacity;
80.108 @@ -606,7 +606,7 @@
80.109 _arcs[_arcs[a].prev].next = _arcs[a].next;
80.110 } else {
80.111 (*_nodes)[n].first_arc = _arcs[a].next;
80.112 - }
80.113 + }
80.114 if (_arcs[a].next != -1) {
80.115 _arcs[_arcs[a].next].prev = _arcs[a].prev;
80.116 }
80.117 @@ -614,7 +614,7 @@
80.118 (*_nodes)[n].sum -= _edges[a >> 1].capacity;
80.119 (*_next_rep)[(*_nodes)[n].last_rep] = m;
80.120 (*_nodes)[n].last_rep = (*_nodes)[m].last_rep;
80.121 -
80.122 +
80.123 if ((*_nodes)[m].prev != INVALID) {
80.124 (*_nodes)[(*_nodes)[m].prev].next = (*_nodes)[m].next;
80.125 } else{
81.1 --- a/lemon/nearest_neighbor_tsp.h Fri Aug 09 14:07:27 2013 +0200
81.2 +++ b/lemon/nearest_neighbor_tsp.h Fri Aug 09 11:28:17 2013 +0200
81.3 @@ -2,7 +2,7 @@
81.4 *
81.5 * This file is a part of LEMON, a generic C++ optimization library.
81.6 *
81.7 - * Copyright (C) 2003-2010
81.8 + * Copyright (C) 2003-2013
81.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
81.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
81.11 *
82.1 --- a/lemon/network_simplex.h Fri Aug 09 14:07:27 2013 +0200
82.2 +++ b/lemon/network_simplex.h Fri Aug 09 11:28:17 2013 +0200
82.3 @@ -2,7 +2,7 @@
82.4 *
82.5 * This file is a part of LEMON, a generic C++ optimization library.
82.6 *
82.7 - * Copyright (C) 2003-2010
82.8 + * Copyright (C) 2003-2013
82.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
82.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
82.11 *
82.12 @@ -1234,7 +1234,7 @@
82.13
82.14 return true;
82.15 }
82.16 -
82.17 +
82.18 // Check if the upper bound is greater or equal to the lower bound
82.19 // on each arc.
82.20 bool checkBoundMaps() {
83.1 --- a/lemon/opt2_tsp.h Fri Aug 09 14:07:27 2013 +0200
83.2 +++ b/lemon/opt2_tsp.h Fri Aug 09 11:28:17 2013 +0200
83.3 @@ -2,7 +2,7 @@
83.4 *
83.5 * This file is a part of LEMON, a generic C++ optimization library.
83.6 *
83.7 - * Copyright (C) 2003-2010
83.8 + * Copyright (C) 2003-2013
83.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
83.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
83.11 *
84.1 --- a/lemon/path.h Fri Aug 09 14:07:27 2013 +0200
84.2 +++ b/lemon/path.h Fri Aug 09 11:28:17 2013 +0200
84.3 @@ -2,7 +2,7 @@
84.4 *
84.5 * This file is a part of LEMON, a generic C++ optimization library.
84.6 *
84.7 - * Copyright (C) 2003-2010
84.8 + * Copyright (C) 2003-2013
84.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
84.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
84.11 *
85.1 --- a/lemon/planarity.h Fri Aug 09 14:07:27 2013 +0200
85.2 +++ b/lemon/planarity.h Fri Aug 09 11:28:17 2013 +0200
85.3 @@ -2,7 +2,7 @@
85.4 *
85.5 * This file is a part of LEMON, a generic C++ optimization library.
85.6 *
85.7 - * Copyright (C) 2003-2010
85.8 + * Copyright (C) 2003-2013
85.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
85.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
85.11 *
86.1 --- a/lemon/preflow.h Fri Aug 09 14:07:27 2013 +0200
86.2 +++ b/lemon/preflow.h Fri Aug 09 11:28:17 2013 +0200
86.3 @@ -2,7 +2,7 @@
86.4 *
86.5 * This file is a part of LEMON, a generic C++ optimization library.
86.6 *
86.7 - * Copyright (C) 2003-2010
86.8 + * Copyright (C) 2003-2013
86.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
86.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
86.11 *
86.12 @@ -554,10 +554,10 @@
86.13 (*_excess)[v] += rem;
86.14 }
86.15 }
86.16 - for (NodeIt n(_graph); n != INVALID; ++n)
86.17 + for (NodeIt n(_graph); n != INVALID; ++n)
86.18 if(n!=_source && n!=_target && _tolerance.positive((*_excess)[n]))
86.19 _level->activate(n);
86.20 -
86.21 +
86.22 return true;
86.23 }
86.24
86.25 @@ -585,7 +585,7 @@
86.26 if (n == INVALID) goto first_phase_done;
86.27 level = _level->highestActiveLevel();
86.28 --num;
86.29 -
86.30 +
86.31 Value excess = (*_excess)[n];
86.32 int new_level = _level->maxLevel();
86.33
87.1 --- a/lemon/radix_sort.h Fri Aug 09 14:07:27 2013 +0200
87.2 +++ b/lemon/radix_sort.h Fri Aug 09 11:28:17 2013 +0200
87.3 @@ -2,7 +2,7 @@
87.4 *
87.5 * This file is a part of LEMON, a generic C++ optimization library.
87.6 *
87.7 - * Copyright (C) 2003-2009
87.8 + * Copyright (C) 2003-2013
87.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
87.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
87.11 *
88.1 --- a/lemon/smart_graph.h Fri Aug 09 14:07:27 2013 +0200
88.2 +++ b/lemon/smart_graph.h Fri Aug 09 11:28:17 2013 +0200
88.3 @@ -2,7 +2,7 @@
88.4 *
88.5 * This file is a part of LEMON, a generic C++ optimization library.
88.6 *
88.7 - * Copyright (C) 2003-2010
88.8 + * Copyright (C) 2003-2013
88.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
88.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
88.11 *
88.12 @@ -1263,7 +1263,7 @@
88.13 } else {
88.14 max_red = -1;
88.15 }
88.16 - Parent::notifier(RedNode()).erase(asRedNodeUnsafe(node));
88.17 + Parent::notifier(RedNode()).erase(asRedNodeUnsafe(node));
88.18 } else {
88.19 first_blue = nodes[n].partition_next;
88.20 if (first_blue != -1) {
89.1 --- a/lemon/soplex.cc Fri Aug 09 14:07:27 2013 +0200
89.2 +++ b/lemon/soplex.cc Fri Aug 09 11:28:17 2013 +0200
89.3 @@ -2,7 +2,7 @@
89.4 *
89.5 * This file is a part of LEMON, a generic C++ optimization library.
89.6 *
89.7 - * Copyright (C) 2003-2010
89.8 + * Copyright (C) 2003-2013
89.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
89.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
89.11 *
90.1 --- a/lemon/soplex.h Fri Aug 09 14:07:27 2013 +0200
90.2 +++ b/lemon/soplex.h Fri Aug 09 11:28:17 2013 +0200
90.3 @@ -2,7 +2,7 @@
90.4 *
90.5 * This file is a part of LEMON, a generic C++ optimization library.
90.6 *
90.7 - * Copyright (C) 2003-2010
90.8 + * Copyright (C) 2003-2013
90.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
90.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
90.11 *
91.1 --- a/lemon/suurballe.h Fri Aug 09 14:07:27 2013 +0200
91.2 +++ b/lemon/suurballe.h Fri Aug 09 11:28:17 2013 +0200
91.3 @@ -2,7 +2,7 @@
91.4 *
91.5 * This file is a part of LEMON, a generic C++ optimization library.
91.6 *
91.7 - * Copyright (C) 2003-2010
91.8 + * Copyright (C) 2003-2013
91.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
91.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
91.11 *
92.1 --- a/lemon/time_measure.h Fri Aug 09 14:07:27 2013 +0200
92.2 +++ b/lemon/time_measure.h Fri Aug 09 11:28:17 2013 +0200
92.3 @@ -2,7 +2,7 @@
92.4 *
92.5 * This file is a part of LEMON, a generic C++ optimization library.
92.6 *
92.7 - * Copyright (C) 2003-2009
92.8 + * Copyright (C) 2003-2013
92.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
92.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
92.11 *
92.12 @@ -98,7 +98,7 @@
92.13 ///The output format is global for all timestamp instances.
92.14 static Format format() { return _format; }
92.15
92.16 -
92.17 +
92.18 ///Read the current time values of the process
92.19 void stamp()
92.20 {
92.21 @@ -522,14 +522,14 @@
92.22 ///\param active Sets whether the report should actually be printed
92.23 /// on destruction.
92.24 TimeReport(std::string title,std::ostream &os=std::cerr,bool run=true,
92.25 - bool active=true)
92.26 + bool active=true)
92.27 : Timer(run), _title(title), _os(os), _active(active) {}
92.28 ///Destructor that prints the ellapsed time
92.29 ~TimeReport()
92.30 {
92.31 if(_active) _os << _title << *this << std::endl;
92.32 }
92.33 -
92.34 +
92.35 ///Retrieve the activity status
92.36
92.37 ///\e
93.1 --- a/lemon/unionfind.h Fri Aug 09 14:07:27 2013 +0200
93.2 +++ b/lemon/unionfind.h Fri Aug 09 11:28:17 2013 +0200
93.3 @@ -2,7 +2,7 @@
93.4 *
93.5 * This file is a part of LEMON, a generic C++ optimization library.
93.6 *
93.7 - * Copyright (C) 2003-2010
93.8 + * Copyright (C) 2003-2013
93.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
93.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
93.11 *
94.1 --- a/test/adaptors_test.cc Fri Aug 09 14:07:27 2013 +0200
94.2 +++ b/test/adaptors_test.cc Fri Aug 09 11:28:17 2013 +0200
94.3 @@ -2,7 +2,7 @@
94.4 *
94.5 * This file is a part of LEMON, a generic C++ optimization library.
94.6 *
94.7 - * Copyright (C) 2003-2009
94.8 + * Copyright (C) 2003-2013
94.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
94.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
94.11 *
95.1 --- a/test/arc_look_up_test.cc Fri Aug 09 14:07:27 2013 +0200
95.2 +++ b/test/arc_look_up_test.cc Fri Aug 09 11:28:17 2013 +0200
95.3 @@ -2,7 +2,7 @@
95.4 *
95.5 * This file is a part of LEMON, a generic C++ optimization library.
95.6 *
95.7 - * Copyright (C) 2003-2009
95.8 + * Copyright (C) 2003-2013
95.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
95.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
95.11 *
95.12 @@ -68,17 +68,17 @@
95.13 ListDigraph graph;
95.14 std::istringstream lgfs(lgf);
95.15 DigraphReader<ListDigraph>(graph, lgfs).run();
95.16 -
95.17 +
95.18 AllArcLookUp<ListDigraph> lookup(graph);
95.19 -
95.20 +
95.21 int numArcs = countArcs(graph);
95.22 -
95.23 +
95.24 int arcCnt = 0;
95.25 for(ListDigraph::NodeIt n1(graph); n1 != INVALID; ++n1)
95.26 for(ListDigraph::NodeIt n2(graph); n2 != INVALID; ++n2)
95.27 for(ListDigraph::Arc a = lookup(n1, n2); a != INVALID;
95.28 - a = lookup(n1, n2, a))
95.29 - ++arcCnt;
95.30 + a = lookup(n1, n2, a))
95.31 + ++arcCnt;
95.32 check(arcCnt==numArcs, "Wrong total number of arcs");
95.33
95.34 return 0;
96.1 --- a/test/bellman_ford_test.cc Fri Aug 09 14:07:27 2013 +0200
96.2 +++ b/test/bellman_ford_test.cc Fri Aug 09 11:28:17 2013 +0200
96.3 @@ -2,7 +2,7 @@
96.4 *
96.5 * This file is a part of LEMON, a generic C++ optimization library.
96.6 *
96.7 - * Copyright (C) 2003-2010
96.8 + * Copyright (C) 2003-2013
96.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
96.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
96.11 *
97.1 --- a/test/bfs_test.cc Fri Aug 09 14:07:27 2013 +0200
97.2 +++ b/test/bfs_test.cc Fri Aug 09 11:28:17 2013 +0200
97.3 @@ -2,7 +2,7 @@
97.4 *
97.5 * This file is a part of LEMON, a generic C++ optimization library.
97.6 *
97.7 - * Copyright (C) 2003-2010
97.8 + * Copyright (C) 2003-2013
97.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
97.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
97.11 *
98.1 --- a/test/bpgraph_test.cc Fri Aug 09 14:07:27 2013 +0200
98.2 +++ b/test/bpgraph_test.cc Fri Aug 09 11:28:17 2013 +0200
98.3 @@ -2,7 +2,7 @@
98.4 *
98.5 * This file is a part of LEMON, a generic C++ optimization library.
98.6 *
98.7 - * Copyright (C) 2003-2010
98.8 + * Copyright (C) 2003-2013
98.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
98.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
98.11 *
98.12 @@ -113,7 +113,7 @@
98.13
98.14 BpGraph G;
98.15 RedNode
98.16 - n1 = G.addRedNode(), n4 = G.addRedNode();
98.17 + n1 = G.addRedNode(), n4 = G.addRedNode();
98.18 BlueNode
98.19 n2 = G.addBlueNode(), n3 = G.addBlueNode();
98.20 Edge
98.21 @@ -161,7 +161,7 @@
98.22
98.23 BpGraph G;
98.24 RedNode
98.25 - n1 = G.addRedNode(), n4 = G.addRedNode();
98.26 + n1 = G.addRedNode(), n4 = G.addRedNode();
98.27 BlueNode
98.28 n2 = G.addBlueNode(), n3 = G.addBlueNode();
98.29 Edge
98.30 @@ -216,7 +216,7 @@
98.31 BlueNode
98.32 n2 = G.addBlueNode(),
98.33 n3 = G.addBlueNode();
98.34 - Edge
98.35 + Edge
98.36 e1 = G.addEdge(n1, n2),
98.37 e2 = G.addEdge(n1, n3);
98.38
99.1 --- a/test/circulation_test.cc Fri Aug 09 14:07:27 2013 +0200
99.2 +++ b/test/circulation_test.cc Fri Aug 09 11:28:17 2013 +0200
99.3 @@ -2,7 +2,7 @@
99.4 *
99.5 * This file is a part of LEMON, a generic C++ optimization library.
99.6 *
99.7 - * Copyright (C) 2003-2010
99.8 + * Copyright (C) 2003-2013
99.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
99.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
99.11 *
100.1 --- a/test/connectivity_test.cc Fri Aug 09 14:07:27 2013 +0200
100.2 +++ b/test/connectivity_test.cc Fri Aug 09 11:28:17 2013 +0200
100.3 @@ -2,7 +2,7 @@
100.4 *
100.5 * This file is a part of LEMON, a generic C++ optimization library.
100.6 *
100.7 - * Copyright (C) 2003-2010
100.8 + * Copyright (C) 2003-2013
100.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
100.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
100.11 *
101.1 --- a/test/dfs_test.cc Fri Aug 09 14:07:27 2013 +0200
101.2 +++ b/test/dfs_test.cc Fri Aug 09 11:28:17 2013 +0200
101.3 @@ -2,7 +2,7 @@
101.4 *
101.5 * This file is a part of LEMON, a generic C++ optimization library.
101.6 *
101.7 - * Copyright (C) 2003-2010
101.8 + * Copyright (C) 2003-2013
101.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
101.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
101.11 *
101.12 @@ -223,7 +223,7 @@
101.13 Dfs<Digraph> dfs(G);
101.14 check(dfs.run(s1,t1) && dfs.reached(t1),"Node 3 is reachable from Node 6.");
101.15 }
101.16 -
101.17 +
101.18 {
101.19 NullMap<Node,Arc> myPredMap;
101.20 dfs(G).predMap(myPredMap).run(s);
102.1 --- a/test/digraph_test.cc Fri Aug 09 14:07:27 2013 +0200
102.2 +++ b/test/digraph_test.cc Fri Aug 09 11:28:17 2013 +0200
102.3 @@ -2,7 +2,7 @@
102.4 *
102.5 * This file is a part of LEMON, a generic C++ optimization library.
102.6 *
102.7 - * Copyright (C) 2003-2010
102.8 + * Copyright (C) 2003-2013
102.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
102.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
102.11 *
103.1 --- a/test/dijkstra_test.cc Fri Aug 09 14:07:27 2013 +0200
103.2 +++ b/test/dijkstra_test.cc Fri Aug 09 11:28:17 2013 +0200
103.3 @@ -2,7 +2,7 @@
103.4 *
103.5 * This file is a part of LEMON, a generic C++ optimization library.
103.6 *
103.7 - * Copyright (C) 2003-2010
103.8 + * Copyright (C) 2003-2013
103.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
103.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
103.11 *
104.1 --- a/test/edge_set_test.cc Fri Aug 09 14:07:27 2013 +0200
104.2 +++ b/test/edge_set_test.cc Fri Aug 09 11:28:17 2013 +0200
104.3 @@ -2,7 +2,7 @@
104.4 *
104.5 * This file is a part of LEMON, a generic C++ optimization library.
104.6 *
104.7 - * Copyright (C) 2003-2010
104.8 + * Copyright (C) 2003-2013
104.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
104.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
104.11 *
105.1 --- a/test/euler_test.cc Fri Aug 09 14:07:27 2013 +0200
105.2 +++ b/test/euler_test.cc Fri Aug 09 11:28:17 2013 +0200
105.3 @@ -2,7 +2,7 @@
105.4 *
105.5 * This file is a part of LEMON, a generic C++ optimization library.
105.6 *
105.7 - * Copyright (C) 2003-2010
105.8 + * Copyright (C) 2003-2013
105.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
105.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
105.11 *
105.12 @@ -102,7 +102,7 @@
105.13 Graph g(d);
105.14 Digraph::Node n = d.addNode();
105.15 ::lemon::ignore_unused_variable_warning(n);
105.16 -
105.17 +
105.18 checkDiEulerIt(d);
105.19 checkDiEulerIt(g);
105.20 checkEulerIt(g);
106.1 --- a/test/fractional_matching_test.cc Fri Aug 09 14:07:27 2013 +0200
106.2 +++ b/test/fractional_matching_test.cc Fri Aug 09 11:28:17 2013 +0200
106.3 @@ -2,7 +2,7 @@
106.4 *
106.5 * This file is a part of LEMON, a generic C++ optimization library.
106.6 *
106.7 - * Copyright (C) 2003-2010
106.8 + * Copyright (C) 2003-2013
106.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
106.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
106.11 *
107.1 --- a/test/gomory_hu_test.cc Fri Aug 09 14:07:27 2013 +0200
107.2 +++ b/test/gomory_hu_test.cc Fri Aug 09 11:28:17 2013 +0200
107.3 @@ -2,7 +2,7 @@
107.4 *
107.5 * This file is a part of LEMON, a generic C++ optimization library.
107.6 *
107.7 - * Copyright (C) 2003-2010
107.8 + * Copyright (C) 2003-2013
107.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
107.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
107.11 *
108.1 --- a/test/graph_copy_test.cc Fri Aug 09 14:07:27 2013 +0200
108.2 +++ b/test/graph_copy_test.cc Fri Aug 09 11:28:17 2013 +0200
108.3 @@ -2,7 +2,7 @@
108.4 *
108.5 * This file is a part of LEMON, a generic C++ optimization library.
108.6 *
108.7 - * Copyright (C) 2003-2009
108.8 + * Copyright (C) 2003-2013
108.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
108.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
108.11 *
108.12 @@ -53,7 +53,7 @@
108.13 if (i == 0 && j == 0) fa = arc;
108.14 }
108.15 }
108.16 -
108.17 +
108.18 // Test digraph copy
108.19 GR to;
108.20 typename GR::template NodeMap<int> tnm(to);
108.21 @@ -72,7 +72,7 @@
108.22 nodeRef(nr).arcRef(er).
108.23 nodeCrossRef(ncr).arcCrossRef(ecr).
108.24 node(fn, tn).arc(fa, ta).run();
108.25 -
108.26 +
108.27 check(countNodes(from) == countNodes(to), "Wrong copy.");
108.28 check(countArcs(from) == countArcs(to), "Wrong copy.");
108.29
108.30 @@ -100,7 +100,7 @@
108.31
108.32 // Test repeated copy
108.33 digraphCopy(from, to).run();
108.34 -
108.35 +
108.36 check(countNodes(from) == countNodes(to), "Wrong copy.");
108.37 check(countArcs(from) == countArcs(to), "Wrong copy.");
108.38 }
108.39 @@ -203,7 +203,7 @@
108.40
108.41 // Test repeated copy
108.42 graphCopy(from, to).run();
108.43 -
108.44 +
108.45 check(countNodes(from) == countNodes(to), "Wrong copy.");
108.46 check(countEdges(from) == countEdges(to), "Wrong copy.");
108.47 check(countArcs(from) == countArcs(to), "Wrong copy.");
108.48 @@ -366,7 +366,7 @@
108.49
108.50 // Test repeated copy
108.51 bpGraphCopy(from, to).run();
108.52 -
108.53 +
108.54 check(countNodes(from) == countNodes(to), "Wrong copy.");
108.55 check(countRedNodes(from) == countRedNodes(to), "Wrong copy.");
108.56 check(countBlueNodes(from) == countBlueNodes(to), "Wrong copy.");
109.1 --- a/test/graph_test.cc Fri Aug 09 14:07:27 2013 +0200
109.2 +++ b/test/graph_test.cc Fri Aug 09 11:28:17 2013 +0200
109.3 @@ -2,7 +2,7 @@
109.4 *
109.5 * This file is a part of LEMON, a generic C++ optimization library.
109.6 *
109.7 - * Copyright (C) 2003-2010
109.8 + * Copyright (C) 2003-2013
109.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
109.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
109.11 *
110.1 --- a/test/graph_test.h Fri Aug 09 14:07:27 2013 +0200
110.2 +++ b/test/graph_test.h Fri Aug 09 11:28:17 2013 +0200
110.3 @@ -2,7 +2,7 @@
110.4 *
110.5 * This file is a part of LEMON, a generic C++ optimization library.
110.6 *
110.7 - * Copyright (C) 2003-2009
110.8 + * Copyright (C) 2003-2013
110.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
110.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
110.11 *
111.1 --- a/test/hao_orlin_test.cc Fri Aug 09 14:07:27 2013 +0200
111.2 +++ b/test/hao_orlin_test.cc Fri Aug 09 11:28:17 2013 +0200
111.3 @@ -2,7 +2,7 @@
111.4 *
111.5 * This file is a part of LEMON, a generic C++ optimization library.
111.6 *
111.7 - * Copyright (C) 2003-2010
111.8 + * Copyright (C) 2003-2013
111.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
111.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
111.11 *
112.1 --- a/test/heap_test.cc Fri Aug 09 14:07:27 2013 +0200
112.2 +++ b/test/heap_test.cc Fri Aug 09 11:28:17 2013 +0200
112.3 @@ -2,7 +2,7 @@
112.4 *
112.5 * This file is a part of LEMON, a generic C++ optimization library.
112.6 *
112.7 - * Copyright (C) 2003-2009
112.8 + * Copyright (C) 2003-2013
112.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
112.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
112.11 *
113.1 --- a/test/lgf_reader_writer_test.cc Fri Aug 09 14:07:27 2013 +0200
113.2 +++ b/test/lgf_reader_writer_test.cc Fri Aug 09 11:28:17 2013 +0200
113.3 @@ -2,7 +2,7 @@
113.4 *
113.5 * This file is a part of LEMON, a generic C++ optimization library.
113.6 *
113.7 - * Copyright (C) 2003-2010
113.8 + * Copyright (C) 2003-2013
113.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
113.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
113.11 *
113.12 @@ -385,7 +385,7 @@
113.13 writer.edgeMap("edge_map2", edge_map, WriterConverter());
113.14 writer.arcMap("arc_map1", arc_map);
113.15 writer.arcMap("arc_map2", arc_map, WriterConverter());
113.16 - writer.node("node", n2);
113.17 + writer.node("node", n2);
113.18 writer.edge("edge", e1);
113.19 writer.arc("arc", graph.direct(e1, false));
113.20 writer.attribute("attr1", attr);
113.21 @@ -492,7 +492,7 @@
113.22 writer.arcMap("arc_map1", arc_map);
113.23 writer.arcMap("arc_map2", arc_map, WriterConverter());
113.24 writer.node("node", n);
113.25 - writer.redNode("red_node", rn1);
113.26 + writer.redNode("red_node", rn1);
113.27 writer.blueNode("blue_node", bn2);
113.28 writer.edge("edge", e1);
113.29 writer.arc("arc", graph.direct(e1, false));
114.1 --- a/test/lgf_test.cc Fri Aug 09 14:07:27 2013 +0200
114.2 +++ b/test/lgf_test.cc Fri Aug 09 11:28:17 2013 +0200
114.3 @@ -2,7 +2,7 @@
114.4 *
114.5 * This file is a part of LEMON, a generic C++ optimization library.
114.6 *
114.7 - * Copyright (C) 2003-2011
114.8 + * Copyright (C) 2003-2013
114.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
114.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
114.11 *
114.12 @@ -63,10 +63,10 @@
114.13 "0 1\n";
114.14
114.15
114.16 -int main()
114.17 +int main()
114.18 {
114.19 {
114.20 - ListDigraph d;
114.21 + ListDigraph d;
114.22 ListDigraph::Node s,t;
114.23 ListDigraph::ArcMap<int> label(d);
114.24 std::istringstream input(test_lgf);
114.25 @@ -93,7 +93,7 @@
114.26 }
114.27
114.28 {
114.29 - ListDigraph d;
114.30 + ListDigraph d;
114.31 std::istringstream input(test_lgf_nomap);
114.32 digraphReader(d, input).
114.33 run();
114.34 @@ -110,14 +110,14 @@
114.35 }
114.36
114.37 {
114.38 - ListDigraph d;
114.39 + ListDigraph d;
114.40 std::istringstream input(test_lgf_bad1);
114.41 bool ok=false;
114.42 try {
114.43 digraphReader(d, input).
114.44 run();
114.45 }
114.46 - catch (FormatError&)
114.47 + catch (FormatError&)
114.48 {
114.49 ok = true;
114.50 }
114.51 @@ -139,7 +139,7 @@
114.52 }
114.53
114.54 {
114.55 - ListDigraph d;
114.56 + ListDigraph d;
114.57 std::istringstream input(test_lgf_bad2);
114.58 bool ok=false;
114.59 try {
115.1 --- a/test/lp_test.cc Fri Aug 09 14:07:27 2013 +0200
115.2 +++ b/test/lp_test.cc Fri Aug 09 11:28:17 2013 +0200
115.3 @@ -2,7 +2,7 @@
115.4 *
115.5 * This file is a part of LEMON, a generic C++ optimization library.
115.6 *
115.7 - * Copyright (C) 2003-2009
115.8 + * Copyright (C) 2003-2013
115.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
115.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
115.11 *
116.1 --- a/test/maps_test.cc Fri Aug 09 14:07:27 2013 +0200
116.2 +++ b/test/maps_test.cc Fri Aug 09 11:28:17 2013 +0200
116.3 @@ -2,7 +2,7 @@
116.4 *
116.5 * This file is a part of LEMON, a generic C++ optimization library.
116.6 *
116.7 - * Copyright (C) 2003-2010
116.8 + * Copyright (C) 2003-2013
116.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
116.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
116.11 *
117.1 --- a/test/matching_test.cc Fri Aug 09 14:07:27 2013 +0200
117.2 +++ b/test/matching_test.cc Fri Aug 09 11:28:17 2013 +0200
117.3 @@ -2,7 +2,7 @@
117.4 *
117.5 * This file is a part of LEMON, a generic C++ optimization library.
117.6 *
117.7 - * Copyright (C) 2003-2010
117.8 + * Copyright (C) 2003-2013
117.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
117.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
117.11 *
118.1 --- a/test/max_cardinality_search_test.cc Fri Aug 09 14:07:27 2013 +0200
118.2 +++ b/test/max_cardinality_search_test.cc Fri Aug 09 11:28:17 2013 +0200
118.3 @@ -2,7 +2,7 @@
118.4 *
118.5 * This file is a part of LEMON, a generic C++ optimization library.
118.6 *
118.7 - * Copyright (C) 2003-2010
118.8 + * Copyright (C) 2003-2013
118.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
118.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
118.11 *
118.12 @@ -67,7 +67,7 @@
118.13 CardMap card;
118.14 ProcMap proc;
118.15 HeapCrossRef crossref(g);
118.16 -
118.17 +
118.18 typedef MaxCardinalitySearch<Digraph,CapMap>
118.19 ::SetCapacityMap<CapMap>
118.20 ::SetCardinalityMap<CardMap>
118.21 @@ -81,7 +81,7 @@
118.22 const MaxCardType::Heap& heap_const = const_maxcard.heap();
118.23 MaxCardType::Heap& heap = const_cast<MaxCardType::Heap&>(heap_const);
118.24 maxcard.heap(heap,crossref);
118.25 -
118.26 +
118.27 maxcard.capacityMap(cap).cardinalityMap(card).processedMap(proc);
118.28
118.29 maxcard.init();
119.1 --- a/test/max_clique_test.cc Fri Aug 09 14:07:27 2013 +0200
119.2 +++ b/test/max_clique_test.cc Fri Aug 09 11:28:17 2013 +0200
119.3 @@ -2,7 +2,7 @@
119.4 *
119.5 * This file is a part of LEMON, a generic C++ optimization library.
119.6 *
119.7 - * Copyright (C) 2003-2010
119.8 + * Copyright (C) 2003-2013
119.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
119.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
119.11 *
119.12 @@ -54,7 +54,7 @@
119.13 "5 6 13\n"
119.14 "5 7 14\n"
119.15 "6 7 15\n";
119.16 -
119.17 +
119.18
119.19 // Check with general graphs
119.20 template <typename Param>
119.21 @@ -62,7 +62,7 @@
119.22 typedef ListGraph GR;
119.23 typedef GrossoLocatelliPullanMc<GR> McAlg;
119.24 typedef McAlg::CliqueNodeIt CliqueIt;
119.25 -
119.26 +
119.27 // Basic tests
119.28 {
119.29 GR g;
119.30 @@ -81,7 +81,7 @@
119.31 CliqueIt it1(mc);
119.32 check(static_cast<GR::Node>(it1) == u && ++it1 == INVALID,
119.33 "Wrong CliqueNodeIt");
119.34 -
119.35 +
119.36 GR::Node v = g.addNode();
119.37 check(mc.run(rule) == McAlg::ITERATION_LIMIT, "Wrong termination cause");
119.38 check(mc.cliqueSize() == 1, "Wrong clique size");
119.39 @@ -109,7 +109,7 @@
119.40 graphReader(g, input)
119.41 .nodeMap("max_clique", max_clique)
119.42 .run();
119.43 -
119.44 +
119.45 McAlg mc(g);
119.46 mc.iterationLimit(50);
119.47 check(mc.run(rule) == McAlg::ITERATION_LIMIT, "Wrong termination cause");
119.48 @@ -133,7 +133,7 @@
119.49 typedef FullGraph GR;
119.50 typedef GrossoLocatelliPullanMc<FullGraph> McAlg;
119.51 typedef McAlg::CliqueNodeIt CliqueIt;
119.52 -
119.53 +
119.54 for (int size = 0; size <= 40; size = size * 3 + 1) {
119.55 GR g(size);
119.56 GR::NodeMap<bool> map(g);
119.57 @@ -156,7 +156,7 @@
119.58 GridGraph g(5, 7);
119.59 GridGraph::NodeMap<char> map(g);
119.60 GrossoLocatelliPullanMc<GridGraph> mc(g);
119.61 -
119.62 +
119.63 mc.iterationLimit(100);
119.64 check(mc.run(rule) == mc.ITERATION_LIMIT, "Wrong termination cause");
119.65 check(mc.cliqueSize() == 2, "Wrong clique size");
119.66 @@ -179,10 +179,10 @@
119.67 checkMaxCliqueFullGraph(GrossoLocatelliPullanMc<FullGraph>::RANDOM);
119.68 checkMaxCliqueFullGraph(GrossoLocatelliPullanMc<FullGraph>::DEGREE_BASED);
119.69 checkMaxCliqueFullGraph(GrossoLocatelliPullanMc<FullGraph>::PENALTY_BASED);
119.70 -
119.71 +
119.72 checkMaxCliqueGridGraph(GrossoLocatelliPullanMc<GridGraph>::RANDOM);
119.73 checkMaxCliqueGridGraph(GrossoLocatelliPullanMc<GridGraph>::DEGREE_BASED);
119.74 checkMaxCliqueGridGraph(GrossoLocatelliPullanMc<GridGraph>::PENALTY_BASED);
119.75 -
119.76 +
119.77 return 0;
119.78 }
120.1 --- a/test/max_flow_test.cc Fri Aug 09 14:07:27 2013 +0200
120.2 +++ b/test/max_flow_test.cc Fri Aug 09 11:28:17 2013 +0200
120.3 @@ -2,7 +2,7 @@
120.4 *
120.5 * This file is a part of LEMON, a generic C++ optimization library.
120.6 *
120.7 - * Copyright (C) 2003-2010
120.8 + * Copyright (C) 2003-2013
120.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
120.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
120.11 *
120.12 @@ -222,7 +222,7 @@
120.13 void initFlowTest()
120.14 {
120.15 DIGRAPH_TYPEDEFS(SmartDigraph);
120.16 -
120.17 +
120.18 SmartDigraph g;
120.19 SmartDigraph::ArcMap<int> cap(g),iflow(g);
120.20 Node s=g.addNode(); Node t=g.addNode();
120.21 @@ -382,7 +382,7 @@
120.22 checkMaxFlowAlg<PType1, PreflowStartFunctions<PType1> >();
120.23 checkMaxFlowAlg<PType2, PreflowStartFunctions<PType2> >();
120.24 initFlowTest();
120.25 -
120.26 +
120.27 // Check EdmondsKarp
120.28 typedef EdmondsKarp<SmartDigraph, SmartDigraph::ArcMap<int> > EKType1;
120.29 typedef EdmondsKarp<SmartDigraph, SmartDigraph::ArcMap<float> > EKType2;
120.30 @@ -390,6 +390,6 @@
120.31 checkMaxFlowAlg<EKType2, GeneralStartFunctions<EKType2> >();
120.32
120.33 initFlowTest();
120.34 -
120.35 +
120.36 return 0;
120.37 }
121.1 --- a/test/min_cost_arborescence_test.cc Fri Aug 09 14:07:27 2013 +0200
121.2 +++ b/test/min_cost_arborescence_test.cc Fri Aug 09 11:28:17 2013 +0200
121.3 @@ -2,7 +2,7 @@
121.4 *
121.5 * This file is a part of LEMON, a generic C++ optimization library.
121.6 *
121.7 - * Copyright (C) 2003-2010
121.8 + * Copyright (C) 2003-2013
121.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
121.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
121.11 *
122.1 --- a/test/min_cost_flow_test.cc Fri Aug 09 14:07:27 2013 +0200
122.2 +++ b/test/min_cost_flow_test.cc Fri Aug 09 11:28:17 2013 +0200
122.3 @@ -2,7 +2,7 @@
122.4 *
122.5 * This file is a part of LEMON, a generic C++ optimization library.
122.6 *
122.7 - * Copyright (C) 2003-2010
122.8 + * Copyright (C) 2003-2013
122.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
122.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
122.11 *
123.1 --- a/test/min_mean_cycle_test.cc Fri Aug 09 14:07:27 2013 +0200
123.2 +++ b/test/min_mean_cycle_test.cc Fri Aug 09 11:28:17 2013 +0200
123.3 @@ -2,7 +2,7 @@
123.4 *
123.5 * This file is a part of LEMON, a generic C++ optimization library.
123.6 *
123.7 - * Copyright (C) 2003-2010
123.8 + * Copyright (C) 2003-2013
123.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
123.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
123.11 *
123.12 @@ -210,7 +210,7 @@
123.13 checkMmcAlg<HowardMmc<GR, IntArcMap> >(gr, l2, c2, 5, 2);
123.14 checkMmcAlg<HowardMmc<GR, IntArcMap> >(gr, l3, c3, 0, 1);
123.15 checkMmcAlg<HowardMmc<GR, IntArcMap> >(gr, l4, c4, -1, 1);
123.16 -
123.17 +
123.18 // Howard with iteration limit
123.19 HowardMmc<GR, IntArcMap> mmc(gr, l1);
123.20 check((mmc.findCycleMean(2) == HowardMmc<GR, IntArcMap>::ITERATION_LIMIT),
124.1 --- a/test/nagamochi_ibaraki_test.cc Fri Aug 09 14:07:27 2013 +0200
124.2 +++ b/test/nagamochi_ibaraki_test.cc Fri Aug 09 11:28:17 2013 +0200
124.3 @@ -2,7 +2,7 @@
124.4 *
124.5 * This file is a part of LEMON, a generic C++ optimization library.
124.6 *
124.7 - * Copyright (C) 2003-2010
124.8 + * Copyright (C) 2003-2013
124.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
124.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
124.11 *
125.1 --- a/test/path_test.cc Fri Aug 09 14:07:27 2013 +0200
125.2 +++ b/test/path_test.cc Fri Aug 09 11:28:17 2013 +0200
125.3 @@ -2,7 +2,7 @@
125.4 *
125.5 * This file is a part of LEMON, a generic C++ optimization library.
125.6 *
125.7 - * Copyright (C) 2003-2009
125.8 + * Copyright (C) 2003-2013
125.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
125.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
125.11 *
126.1 --- a/test/radix_sort_test.cc Fri Aug 09 14:07:27 2013 +0200
126.2 +++ b/test/radix_sort_test.cc Fri Aug 09 11:28:17 2013 +0200
126.3 @@ -2,7 +2,7 @@
126.4 *
126.5 * This file is a part of LEMON, a generic C++ optimization library.
126.6 *
126.7 - * Copyright (C) 2003-2009
126.8 + * Copyright (C) 2003-2013
126.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
126.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
126.11 *
126.12 @@ -52,7 +52,7 @@
126.13
126.14 template<class T>
126.15 T listsort(typename T::iterator b, typename T::iterator e)
126.16 -{
126.17 +{
126.18 if(b==e) return T();
126.19 typename T::iterator bn=b;
126.20 if(++bn==e) {
127.1 --- a/test/suurballe_test.cc Fri Aug 09 14:07:27 2013 +0200
127.2 +++ b/test/suurballe_test.cc Fri Aug 09 11:28:17 2013 +0200
127.3 @@ -2,7 +2,7 @@
127.4 *
127.5 * This file is a part of LEMON, a generic C++ optimization library.
127.6 *
127.7 - * Copyright (C) 2003-2010
127.8 + * Copyright (C) 2003-2013
127.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
127.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
127.11 *
128.1 --- a/test/time_measure_test.cc Fri Aug 09 14:07:27 2013 +0200
128.2 +++ b/test/time_measure_test.cc Fri Aug 09 11:28:17 2013 +0200
128.3 @@ -2,7 +2,7 @@
128.4 *
128.5 * This file is a part of LEMON, a generic C++ optimization library.
128.6 *
128.7 - * Copyright (C) 2003-2009
128.8 + * Copyright (C) 2003-2013
128.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
128.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
128.11 *
129.1 --- a/test/tsp_test.cc Fri Aug 09 14:07:27 2013 +0200
129.2 +++ b/test/tsp_test.cc Fri Aug 09 11:28:17 2013 +0200
129.3 @@ -2,7 +2,7 @@
129.4 *
129.5 * This file is a part of LEMON, a generic C++ optimization library.
129.6 *
129.7 - * Copyright (C) 2003-2010
129.8 + * Copyright (C) 2003-2013
129.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
129.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
129.11 *
129.12 @@ -41,7 +41,7 @@
129.13 // check(checkMetricCost(g, constMap<Edge>(0)), "Wrong checkMetricCost()");
129.14 // check(checkMetricCost(g, constMap<Edge>(1)), "Wrong checkMetricCost()");
129.15 // check(!checkMetricCost(g, constMap<Edge>(-1)), "Wrong checkMetricCost()");
129.16 -//
129.17 +//
129.18 // FullGraph::EdgeMap<float> cost(g);
129.19 // for (NodeIt u(g); u != INVALID; ++u) {
129.20 // for (NodeIt v(g); v != INVALID; ++v) {
129.21 @@ -64,7 +64,7 @@
129.22 template <typename Container>
129.23 bool checkTour(const FullGraph &gr, const Container &p) {
129.24 FullGraph::NodeMap<bool> used(gr, false);
129.25 -
129.26 +
129.27 int node_cnt = 0;
129.28 for (typename Container::const_iterator it = p.begin(); it != p.end(); ++it) {
129.29 FullGraph::Node node = *it;
129.30 @@ -72,14 +72,14 @@
129.31 used[node] = true;
129.32 ++node_cnt;
129.33 }
129.34 -
129.35 +
129.36 return (node_cnt == gr.nodeNum());
129.37 }
129.38
129.39 // Checks tour validity
129.40 bool checkTourPath(const FullGraph &gr, const Path<FullGraph> &p) {
129.41 FullGraph::NodeMap<bool> used(gr, false);
129.42 -
129.43 +
129.44 if (!checkPath(gr, p)) return false;
129.45 if (gr.nodeNum() <= 1 && p.length() != 0) return false;
129.46 if (gr.nodeNum() > 1 && p.length() != gr.nodeNum()) return false;
129.47 @@ -181,7 +181,7 @@
129.48 cost[g.edge(u, v)] = (pos[u] - pos[v]).normSquare();
129.49 }
129.50 }
129.51 -
129.52 +
129.53 check(alg.run() > 0, alg_name + ": Wrong total cost");
129.54
129.55 std::vector<Node> vec;
129.56 @@ -195,14 +195,14 @@
129.57 check(checkTourPath(g, path), alg_name + ": Wrong tour");
129.58 check(checkCost(g, path, cost, alg.tourCost()),
129.59 alg_name + ": Wrong tour cost");
129.60 -
129.61 +
129.62 check(!Tolerance<double>().less(alg.tourCost(), opt2.run(alg.tourNodes())),
129.63 "2-opt improvement: Wrong total cost");
129.64 check(checkTour(g, opt2.tourNodes()),
129.65 "2-opt improvement: Wrong node sequence");
129.66 check(checkCost(g, opt2.tourNodes(), cost, opt2.tourCost()),
129.67 "2-opt improvement: Wrong tour cost");
129.68 -
129.69 +
129.70 check(!Tolerance<double>().less(alg.tourCost(), opt2.run(path)),
129.71 "2-opt improvement: Wrong total cost");
129.72 check(checkTour(g, opt2.tourNodes()),
129.73 @@ -212,7 +212,7 @@
129.74 }
129.75 }
129.76
129.77 -// Algorithm class for Nearest Insertion
129.78 +// Algorithm class for Nearest Insertion
129.79 template <typename CM>
129.80 class NearestInsertionTsp : public InsertionTsp<CM> {
129.81 public:
129.82 @@ -223,7 +223,7 @@
129.83 }
129.84 };
129.85
129.86 -// Algorithm class for Farthest Insertion
129.87 +// Algorithm class for Farthest Insertion
129.88 template <typename CM>
129.89 class FarthestInsertionTsp : public InsertionTsp<CM> {
129.90 public:
129.91 @@ -234,7 +234,7 @@
129.92 }
129.93 };
129.94
129.95 -// Algorithm class for Cheapest Insertion
129.96 +// Algorithm class for Cheapest Insertion
129.97 template <typename CM>
129.98 class CheapestInsertionTsp : public InsertionTsp<CM> {
129.99 public:
129.100 @@ -245,7 +245,7 @@
129.101 }
129.102 };
129.103
129.104 -// Algorithm class for Random Insertion
129.105 +// Algorithm class for Random Insertion
129.106 template <typename CM>
129.107 class RandomInsertionTsp : public InsertionTsp<CM> {
129.108 public:
130.1 --- a/tools/dimacs-solver.cc Fri Aug 09 14:07:27 2013 +0200
130.2 +++ b/tools/dimacs-solver.cc Fri Aug 09 11:28:17 2013 +0200
130.3 @@ -2,7 +2,7 @@
130.4 *
130.5 * This file is a part of LEMON, a generic C++ optimization library.
130.6 *
130.7 - * Copyright (C) 2003-2010
130.8 + * Copyright (C) 2003-2013
130.9 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
130.10 * (Egervary Research Group on Combinatorial Optimization, EGRES).
130.11 *