Opened 16 years ago
Last modified 15 years ago
#319 closed enhancement
Infinite capacities in push-relabel algorithms — at Initial Version
Reported by: | Peter Kovacs | Owned by: | Peter Kovacs |
---|---|---|---|
Priority: | major | Milestone: | LEMON 1.2 release |
Component: | core | Version: | hg main |
Keywords: | Cc: | ||
Revision id: |
Description
If you run a push-relabel algorithm using floating point capacity type on a graph having some arcs of infinite capacity (represented by either the infinity()
or the max()
value of the type), then it could cause problems, since the algorithm usually saturate arcs.
To prevent this problem, we could replace the infinite capacities with sufficiently large finite values. For Preflow
it would require the finding a finite value cut (if one exists). However for Circulation
the SUM[-sup(v) : sup(v)<0]
value could be used (if it is finite), so it would be simpler.
I suggest to either make these algorithms safer in this manner or add a warning to the doc of these classes and the dimacs solver about this problem.