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.