equal
deleted
inserted
replaced
1 /* -*- C++ -*- |
1 /* -*- C++ -*- |
2 * src/hugo/preflow.h - Part of HUGOlib, a generic C++ optimization library |
2 * src/lemon/preflow.h - Part of LEMON, a generic C++ optimization library |
3 * |
3 * |
4 * Copyright (C) 2004 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport |
4 * Copyright (C) 2004 Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport |
5 * (Egervary Combinatorial Optimization Research Group, EGRES). |
5 * (Egervary Combinatorial Optimization Research Group, EGRES). |
6 * |
6 * |
7 * Permission to use, modify and distribute this software is granted |
7 * Permission to use, modify and distribute this software is granted |
12 * express or implied, and with no claim as to its suitability for any |
12 * express or implied, and with no claim as to its suitability for any |
13 * purpose. |
13 * purpose. |
14 * |
14 * |
15 */ |
15 */ |
16 |
16 |
17 #ifndef HUGO_PREFLOW_H |
17 #ifndef LEMON_PREFLOW_H |
18 #define HUGO_PREFLOW_H |
18 #define LEMON_PREFLOW_H |
19 |
19 |
20 #include <vector> |
20 #include <vector> |
21 #include <queue> |
21 #include <queue> |
22 |
22 |
23 #include <hugo/invalid.h> |
23 #include <lemon/invalid.h> |
24 #include <hugo/maps.h> |
24 #include <lemon/maps.h> |
25 |
25 |
26 /// \file |
26 /// \file |
27 /// \ingroup flowalgs |
27 /// \ingroup flowalgs |
28 /// Implementation of the preflow algorithm. |
28 /// Implementation of the preflow algorithm. |
29 |
29 |
30 namespace hugo { |
30 namespace lemon { |
31 |
31 |
32 /// \addtogroup flowalgs |
32 /// \addtogroup flowalgs |
33 /// @{ |
33 /// @{ |
34 |
34 |
35 ///%Preflow algorithms class. |
35 ///%Preflow algorithms class. |
42 ///edges should be passed to the algorithm through the |
42 ///edges should be passed to the algorithm through the |
43 ///constructor. It is possible to change these quantities using the |
43 ///constructor. It is possible to change these quantities using the |
44 ///functions \ref setSource, \ref setTarget, \ref setCap and \ref |
44 ///functions \ref setSource, \ref setTarget, \ref setCap and \ref |
45 ///setFlow. |
45 ///setFlow. |
46 /// |
46 /// |
47 ///After running \ref hugo::Preflow::phase1() "phase1()" |
47 ///After running \ref lemon::Preflow::phase1() "phase1()" |
48 ///or \ref hugo::Preflow::run() "run()", the maximal flow |
48 ///or \ref lemon::Preflow::run() "run()", the maximal flow |
49 ///value can be obtained by calling \ref flowValue(). The minimum |
49 ///value can be obtained by calling \ref flowValue(). The minimum |
50 ///value cut can be written into a <tt>bool</tt> node map by |
50 ///value cut can be written into a <tt>bool</tt> node map by |
51 ///calling \ref minCut(). (\ref minMinCut() and \ref maxMinCut() writes |
51 ///calling \ref minCut(). (\ref minMinCut() and \ref maxMinCut() writes |
52 ///the inclusionwise minimum and maximum of the minimum value cuts, |
52 ///the inclusionwise minimum and maximum of the minimum value cuts, |
53 ///resp.) |
53 ///resp.) |
808 } |
808 } |
809 } |
809 } |
810 } //relabel |
810 } //relabel |
811 |
811 |
812 }; |
812 }; |
813 } //namespace hugo |
813 } //namespace lemon |
814 |
814 |
815 #endif //HUGO_PREFLOW_H |
815 #endif //LEMON_PREFLOW_H |
816 |
816 |
817 |
817 |
818 |
818 |
819 |
819 |