Peter Kovacs <kpeter@inf.elte.hu> [Fri, 13 Nov 2009 00:23:07 +0100] rev 818
Rework the MCF test file to help extending it (#180)
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 13 Nov 2009 00:15:50 +0100] rev 817
Fixes in the heap concept to avoid warnings (#180)
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 13 Nov 2009 00:11:11 +0100] rev 816
Add citations to CycleCanceling (#180, #184)
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 13 Nov 2009 00:10:33 +0100] rev 815
Entirely rework cycle canceling algorithms (#180)
- Move the cycle canceling algorithms (CycleCanceling, CancelAndTighten)
into one class (CycleCanceling).
- Add a Method parameter to the run() function to be able to select
the used cycle canceling method.
- Use the new interface similarly to NetworkSimplex.
- Rework the implementations using an efficient internal structure
for handling the residual network.
This improvement made the codes much faster.
- Handle GEQ supply type (LEQ is not supported).
- Handle infinite upper bounds.
- Handle negative costs (for arcs of finite upper bound).
- Extend the documentation.
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 13 Nov 2009 00:09:35 +0100] rev 814
Port cycle canceling algorithms from SVN -r3524 (#180)
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 12 Nov 2009 23:52:51 +0100] rev 813
Add citations to the scaling MCF algorithms (#180, #184)
and improve the doc of their group.
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 12 Nov 2009 23:49:05 +0100] rev 812
Small doc improvements + unifications in MCF classes (#180)
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 12 Nov 2009 23:45:15 +0100] rev 811
Small implementation improvements in MCF algorithms (#180)
- Handle max() as infinite value (not only infinity()).
- Better GEQ handling in CapacityScaling.
- Skip the unnecessary saturating operations in the first phase in
CapacityScaling.
- Use vector<char> instead of vector<bool> and vector<int> if it is
possible and it proved to be usually faster.
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 12 Nov 2009 23:34:35 +0100] rev 810
More options for run() in scaling MCF algorithms (#180)
- Three methods can be selected and the scaling factor can be
given for CostScaling.
- The scaling factor can be given for CapacityScaling.
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 12 Nov 2009 23:30:45 +0100] rev 809
Entirely rework CostScaling (#180)
- Use the new interface similarly to NetworkSimplex.
- Rework the implementation using an efficient internal structure
for handling the residual network. This improvement made the
code much faster.
- Handle GEQ supply type (LEQ is not supported).
- Handle infinite upper bounds.
- Handle negative costs (for arcs of finite upper bound).
- Traits class + named parameter for the LargeCost type used in
internal computations.
- Extend the documentation.
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 12 Nov 2009 23:29:42 +0100] rev 808
Port CostScaling from SVN -r3524 (#180)
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 12 Nov 2009 23:27:21 +0100] rev 807
Traits class + a named parameter for CapacityScaling (#180)
to specify the heap used in internal Dijkstra computations.
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 12 Nov 2009 23:26:13 +0100] rev 806
Entirely rework CapacityScaling (#180)
- Use the new interface similarly to NetworkSimplex.
- Rework the implementation using an efficient internal structure
for handling the residual network. This improvement made the
code much faster (up to 2-5 times faster on large graphs).
- Handle GEQ supply type (LEQ is not supported).
- Handle negative costs for arcs of finite capacity.
(Note that this algorithm cannot handle arcs of negative cost
and infinite upper bound, thus it returns UNBOUNDED if such
an arc exists.)
- Extend the documentation.
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 12 Nov 2009 23:17:34 +0100] rev 805
Port CapacityScaling from SVN -r3524 (#180)
Peter Kovacs <kpeter@inf.elte.hu> [Sun, 13 Dec 2009 22:19:08 +0100] rev 804
Memory leak bugfix in BellmanFord (#51)
Alpar Juttner <alpar@cs.elte.hu> [Thu, 10 Dec 2009 17:18:25 +0100] rev 803
Merge bugfix #330
Alpar Juttner <alpar@cs.elte.hu> [Thu, 10 Dec 2009 17:05:35 +0100] rev 802
Merge
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 13 Nov 2009 12:33:33 +0100] rev 801
Bug fix in map_extender.h (#330)
Balazs Dezso <deba@inf.elte.hu> [Thu, 10 Dec 2009 09:14:47 +0100] rev 800
Fix clear() function in ExtendFindEnum (#335)
Alpar Juttner <alpar@cs.elte.hu> [Wed, 09 Dec 2009 11:14:06 +0100] rev 799
Merge #62
Balazs Dezso <deba@inf.elte.hu> [Sun, 04 Oct 2009 10:15:32 +0200] rev 798
Planarity checking function instead of class (#62)
Balazs Dezso <deba@inf.elte.hu> [Wed, 09 Sep 2009 15:32:03 +0200] rev 797
Port planarity related algorithms from SVN 3509 (#62)
Alpar Juttner <alpar@cs.elte.hu> [Fri, 20 Nov 2009 14:18:33 +0100] rev 796
Merge
Balazs Dezso <deba@inf.elte.hu> [Wed, 18 Nov 2009 21:21:26 +0100] rev 795
Fix in HartmannOrlin algorithm (#333)
Alpar Juttner <alpar@cs.elte.hu> [Thu, 19 Nov 2009 09:36:43 +0100] rev 794
Valgring option for ./scripts/bootstrap.sh
Akos Ladanyi <ladanyi@tmit.bme.hu> [Wed, 18 Nov 2009 18:37:21 +0000] rev 793
Optionally use valgrind when running tests + other build system fixes
Alpar Juttner <alpar@cs.elte.hu> [Wed, 18 Nov 2009 14:38:38 +0100] rev 792
Merge
Alpar Juttner <alpar@cs.elte.hu> [Wed, 18 Nov 2009 14:22:52 +0100] rev 791
Merge
Alpar Juttner <alpar@cs.elte.hu> [Wed, 18 Nov 2009 14:21:35 +0100] rev 790
Fix gcc-4.4 compilation warning
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 13 Nov 2009 12:47:13 +0100] rev 789
Map utility functions (#320)
Alpar Juttner <alpar@cs.elte.hu> [Wed, 18 Nov 2009 14:38:02 +0100] rev 788
Merge
Peter Kovacs <kpeter@inf.elte.hu> [Sun, 15 Nov 2009 19:57:02 +0100] rev 787
Various doc improvements (#331)
- Add notes to the graph classes about the time of
item counting.
- Clarify the doc for run() in BFS and DFS.
- Other improvements.
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 13 Nov 2009 18:10:06 +0100] rev 786
Small doc fixes in several files (#331)
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 13 Nov 2009 17:30:26 +0100] rev 785
Doc improvements for Path and PathDumper concepts (#331)
Alpar Juttner <alpar@cs.elte.hu> [Thu, 05 Nov 2009 15:50:01 +0100] rev 784
Merge #321
Alpar Juttner <alpar@cs.elte.hu> [Thu, 05 Nov 2009 15:48:01 +0100] rev 783
Merge #293
Alpar Juttner <alpar@cs.elte.hu> [Thu, 05 Nov 2009 10:27:17 +0100] rev 782
Merge
Peter Kovacs <kpeter@inf.elte.hu> [Mon, 28 Sep 2009 15:53:20 +0200] rev 781
Small fixes related to BellmanFord (#51)
- Add a missing #include.
- Add a missing const keyword for negativeCycle().
- Test if negativeCycle() is const function.
Alpar Juttner <alpar@cs.elte.hu> [Thu, 05 Nov 2009 10:23:16 +0100] rev 780
Merge #68 (Port static graph implementation)
Alpar Juttner <alpar@cs.elte.hu> [Thu, 05 Nov 2009 10:01:02 +0100] rev 779
Merge
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 29 Sep 2009 13:03:34 +0200] rev 778
Make some graph member functions static (#311, #68)
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 29 Sep 2009 12:03:02 +0200] rev 777
Add a new build() function to StaticDigraph (#68)
This function builds the digraph from an arc list that
contains pairs of integer indices from the range [0..n-1].
It is useful in the cases when you would like to build a
StaticDigraph from scratch, i.e. you do not want to build
another digraph that can be copied using the other build()
function.
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 29 Sep 2009 10:39:20 +0200] rev 776
Extend the interface of StaticDigraph (#68)
with index(), arc() and node() functions similarly to
other static graph structures.
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 25 Aug 2009 16:32:47 +0200] rev 775
Add documentation for StaticDigraph (#68)
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 25 Aug 2009 13:58:43 +0200] rev 774
Small improvements + add tests for StaticDigraph (#68)
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 25 Aug 2009 11:09:02 +0200] rev 773
Port StaticDigraph from SVN -r3524 (#68)
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 16 Oct 2009 09:50:18 +0200] rev 772
Small fix in the doc (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 15 Oct 2009 12:55:41 +0200] rev 771
Add citations to the min mean cycle classes (#179, #184)
Alpar Juttner <alpar@cs.elte.hu> [Thu, 05 Nov 2009 08:39:49 +0100] rev 770
Merge #179 (Port the min mean cycle algorithms)
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 18 Aug 2009 10:08:28 +0200] rev 769
Add tolerance() functions for MMC classes (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Wed, 12 Aug 2009 09:45:15 +0200] rev 768
Separate group for the min mean cycle classes (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 11 Aug 2009 22:52:35 +0200] rev 767
Simplify comparisons in min mean cycle classes (#179)
using extreme INF values instead of bool flags.
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 11 Aug 2009 21:53:39 +0200] rev 766
Add HartmannOrlin algorithm class (#179)
This algorithm is an improved version of Karp's original method,
it applies an efficient early termination scheme.
The interface is the same as Karp's and Howard's interface.
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 11 Aug 2009 20:55:40 +0200] rev 765
Add Karp algorithm class (#179)
based on the MinMeanCycle implementation in SVN -r3436.
The interface is reworked to be the same as Howard's interface.
Peter Kovacs <kpeter@inf.elte.hu> [Mon, 10 Aug 2009 14:50:57 +0200] rev 764
Rename MinMeanCycle to Howard (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 07 Aug 2009 14:52:40 +0200] rev 763
Add a detailed test file for MinMeanCycle and fix test_tools.h (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 06 Aug 2009 20:31:04 +0200] rev 762
Rename cyclePath() to cycle() in MinMeanCycle (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 06 Aug 2009 20:28:28 +0200] rev 761
Traits class + named parameters for MinMeanCycle (#179)
- Add a Traits class defining LargeValue, Tolerance, Path types.
LargeValue is used for internal computations, it is 'long long'
if the length type is integer, otherwise it is 'double'.
- Add named template parameters for LargeValue and Path types.
- Improve numerical stability: remove divisions from the internal
computations. If the arc lengths are integers, then all used
values are integers (except for the cycleMean() query function,
of course).
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 06 Aug 2009 20:12:43 +0200] rev 760
Rework and fix the implementation of MinMeanCycle (#179)
- Fix the handling of the cycle means.
- Many implementation improvements:
- More efficient data storage for the strongly connected
components.
- Better handling of BFS queues.
- Merge consecutive BFS searches (perform two BFS searches
instead of three).
This version is about two times faster on average and an order of
magnitude faster if there are a lot of strongly connected components.
Peter Kovacs <kpeter@inf.elte.hu> [Mon, 03 Aug 2009 14:35:38 +0200] rev 759
Simplify the interface of MinMeanCycle (#179)
Remove init() and reset(), and move their content into findMinMean().