Consider this test case:
testnetwork.txt
If I run the MCMCF solver on this, the edge (4, 9) ends up with a flow of 3.16. I'm probably just misunderstanding what the program is supposed to do, but the capacity of (4, 9) is 2 < 3.16, and I would have expected the flow over an edge to never exceed its capacity, or at least not by that much (given that we're using the default value of 0.1 for epislon here).
$ ./mcf_solver testnetwork.txt -problem_type MCMCF | grep " 4 -> 9"
109 4 -> 9 cap: 2.00 flow: 3.16 breakdown: 0.00 0.00 0.00 0.00 3.16
I can see that in some cases, you get a warning saying that there's a small violation of the capacity constraint, but in this case, no such warning is given (and the violation is large).
Consider this test case:
testnetwork.txt
If I run the MCMCF solver on this, the edge (4, 9) ends up with a flow of 3.16. I'm probably just misunderstanding what the program is supposed to do, but the capacity of (4, 9) is 2 < 3.16, and I would have expected the flow over an edge to never exceed its capacity, or at least not by that much (given that we're using the default value of 0.1 for epislon here).
I can see that in some cases, you get a warning saying that there's a small violation of the capacity constraint, but in this case, no such warning is given (and the violation is large).