COIN-OR::LEMON - Graph Library

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.

Change History (0)

Note: See TracTickets for help on using tickets.