Wed, 12 Aug 2009 09:45:15 +0200Separate group for the min mean cycle classes (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Wed, 12 Aug 2009 09:45:15 +0200] rev 815
Separate group for the min mean cycle classes (#179)

Tue, 11 Aug 2009 22:52:35 +0200Simplify comparisons in min mean cycle classes (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 11 Aug 2009 22:52:35 +0200] rev 814
Simplify comparisons in min mean cycle classes (#179)
using extreme INF values instead of bool flags.

Tue, 11 Aug 2009 21:53:39 +0200Add HartmannOrlin algorithm class (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 11 Aug 2009 21:53:39 +0200] rev 813
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.

Tue, 11 Aug 2009 20:55:40 +0200Add Karp algorithm class (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Tue, 11 Aug 2009 20:55:40 +0200] rev 812
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.

Mon, 10 Aug 2009 14:50:57 +0200Rename MinMeanCycle to Howard (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Mon, 10 Aug 2009 14:50:57 +0200] rev 811
Rename MinMeanCycle to Howard (#179)

Fri, 07 Aug 2009 14:52:40 +0200Add a detailed test file for MinMeanCycle and fix test_tools.h (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Fri, 07 Aug 2009 14:52:40 +0200] rev 810
Add a detailed test file for MinMeanCycle and fix test_tools.h (#179)

Thu, 06 Aug 2009 20:31:04 +0200Rename cyclePath() to cycle() in MinMeanCycle (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 06 Aug 2009 20:31:04 +0200] rev 809
Rename cyclePath() to cycle() in MinMeanCycle (#179)

Thu, 06 Aug 2009 20:28:28 +0200Traits class + named parameters for MinMeanCycle (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 06 Aug 2009 20:28:28 +0200] rev 808
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).

Thu, 06 Aug 2009 20:12:43 +0200Rework and fix the implementation of MinMeanCycle (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Thu, 06 Aug 2009 20:12:43 +0200] rev 807
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.

Mon, 03 Aug 2009 14:35:38 +0200Simplify the interface of MinMeanCycle (#179)
Peter Kovacs <kpeter@inf.elte.hu> [Mon, 03 Aug 2009 14:35:38 +0200] rev 806
Simplify the interface of MinMeanCycle (#179)
Remove init() and reset(), and move their content into findMinMean().