[Lemon-commits] deba: r3419 - lemon/trunk/lemon
Lemon SVN
svn at lemon.cs.elte.hu
Wed Dec 12 14:35:56 CET 2007
Author: deba
Date: Wed Dec 12 14:35:55 2007
New Revision: 3419
Modified:
lemon/trunk/lemon/circulation.h
Log:
Bug fix
Modified: lemon/trunk/lemon/circulation.h
==============================================================================
--- lemon/trunk/lemon/circulation.h (original)
+++ lemon/trunk/lemon/circulation.h Wed Dec 12 14:35:55 2007
@@ -403,9 +403,6 @@
_excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_flow)[e]);
}
- typename Graph::template NodeMap<bool> reached(_g, false);
-
-
// global relabeling tested, but in general case it provides
// worse performance for random graphs
_level->initStart();
@@ -436,8 +433,8 @@
_excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_up)[e]);
} else if (_tol.positive((*_excess)[_g.target(e)] + (*_lo)[e])) {
_flow->set(e, (*_lo)[e]);
- _excess->set(_g.target(e), (*_excess)[_g.target(e)] + (*_up)[e]);
- _excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_up)[e]);
+ _excess->set(_g.target(e), (*_excess)[_g.target(e)] + (*_lo)[e]);
+ _excess->set(_g.source(e), (*_excess)[_g.source(e)] - (*_lo)[e]);
} else {
Value fc = -(*_excess)[_g.target(e)];
_flow->set(e, fc);
@@ -471,7 +468,7 @@
int actlevel=(*_level)[act];
int mlevel=_node_num;
Value exc=(*_excess)[act];
-
+
for(OutEdgeIt e(_g,act);e!=INVALID; ++e) {
Node v = _g.target(e);
Value fc=(*_up)[e]-(*_flow)[e];
@@ -488,7 +485,7 @@
}
else {
_flow->set(e, (*_up)[e]);
- _excess->set(v, (*_excess)[v] + exc);
+ _excess->set(v, (*_excess)[v] + fc);
if(!_level->active(v) && _tol.positive((*_excess)[v]))
_level->activate(v);
exc-=fc;
More information about the Lemon-commits
mailing list