Opened 15 years ago
Last modified 15 years ago
#319 closed enhancement
Infinite capacities in Preflow — at Version 4
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 (last modified by )
If you run Preflow
on a network in which the source node has some outgoing arcs of infinite capacity (represented by either the infinity()
or the max()
value of the type), then it will most likely cause problems, since the algorithm saturates these arcs.
Thus we should do one the followings:
- Add a warning about this problem to the doc of the class and the dimacs solver.
- Support infinite capacities in the algorithm (and in the dimacs solver as well). We could search for a finite cut and replace the infinite capacities on the outgoing arcs of the source node with the value of the found cut if such a cut exists. Otherwise the max. flow value is infinite.
- A possible combination would be to choose the first solution and create a wrapper function/class for
Preflow
that supports infinite capacities applying the second solution.
Change History (4)
comment:1 Changed 15 years ago by
Description: | modified (diff) |
---|---|
Status: | new → assigned |
Summary: | Infinite capacities in push-relabel algorithms → Infinite capacities in Preflow |
comment:2 Changed 15 years ago by
Description: | modified (diff) |
---|
comment:3 Changed 15 years ago by
Milestone: | → LEMON 1.2 release |
---|
comment:4 Changed 15 years ago by
Description: | modified (diff) |
---|
I suggest to apply the first solution soon. The second or third solution could be done later, but they are not as critical as adding a warning about this problem to the documentation.
Note: See
TracTickets for help on using
tickets.
Circulation
is safe in this manner, since it uses the excess of the corresponding node as an upper bound for each push operation.