COIN-OR::LEMON - Graph Library

Opened 2 months ago

Last modified 5 weeks ago

#625 reopened defect

lemon preflow algorithm init with flowmap failed because of excess < 0

Reported by: zhaofeng-shu33 Owned by: Alpar Juttner
Priority: major Milestone: LEMON 1.4 release
Component: core Version: hg main
Keywords: Cc:
Revision id:

Description

I use the returned flowMap of Preflow algorithm to initialize the next Preflow class. But it fails because of in the Preflow code, the excess check gives -1e-19 < 0. The test code can be seen at https://gitee.com/freewind201301/test_preflow/blob/master/test_preflow.cpp . Hope some tolerance can be added.

Change History (7)

comment:1 Changed 2 months ago by Peter Kovacs

I think this issue has already been fixed in #608.

Which version of LEMON do you use? Could you test your code with the latest development version?

comment:2 Changed 2 months ago by zhaofeng-shu33

I use LEMON 1.3.1

comment:3 Changed 2 months ago by zhaofeng-shu33

test mycode with the latest development version fixes the problem.

comment:4 in reply to:  3 Changed 2 months ago by Peter Kovacs

Thank you for the quick response.

comment:5 Changed 2 months ago by Alpar Juttner

Resolution: duplicate
Status: newclosed

comment:6 Changed 5 weeks ago by zhaofeng-shu33

The problem still exists for some input graph. I prepare one working input graph which makes init(flowMap) fails. See https://gitee.com/freewind201301/test_preflow/blob/master/test_preflow.cpp. The result can be seen from the continuous integration build log.

I guess the excess < -1.0 * tolerance.epsilon() check is not enough.

comment:7 Changed 5 weeks ago by Peter Kovacs

Resolution: duplicate
Status: closedreopened
Note: See TracTickets for help on using tickets.