fbpx
Wikipedia

Minimum-cost flow problem

The minimum-cost flow problem (MCFP) is an optimization and decision problem to find the cheapest possible way of sending a certain amount of flow through a flow network. A typical application of this problem involves finding the best delivery route from a factory to a warehouse where the road network has some capacity and cost associated. The minimum cost flow problem is one of the most fundamental among all flow and circulation problems because most other such problems can be cast as a minimum cost flow problem and also that it can be solved efficiently using the network simplex algorithm.

Definition edit

A flow network is a directed graph   with a source vertex   and a sink vertex  , where each edge   has capacity  , flow   and cost  , with most minimum-cost flow algorithms supporting edges with negative costs. The cost of sending this flow along an edge   is  . The problem requires an amount of flow   to be sent from source   to sink  .

The definition of the problem is to minimize the total cost of the flow over all edges:

 

with the constraints

Capacity constraints:  
Skew symmetry:  
Flow conservation:  
Required flow:  

Relation to other problems edit

A variation of this problem is to find a flow which is maximum, but has the lowest cost among the maximum flow solutions. This could be called a minimum-cost maximum-flow problem and is useful for finding minimum cost maximum matchings.

With some solutions, finding the minimum cost maximum flow instead is straightforward. If not, one can find the maximum flow by performing a binary search on  .

A related problem is the minimum cost circulation problem, which can be used for solving minimum cost flow. This is achieved by setting the lower bound on all edges to zero, and then making an extra edge from the sink   to the source  , with capacity   and lower bound  , forcing the total flow from   to   to also be  .

The following problems are special cases of the minimum cost flow problem (we provide brief sketches of each applicable reduction, in turn):[1]

  • Shortest path problem (single-source). Require that a feasible solution to the minimum cost flow problem sends one unit of flow from a designated source   to a designated sink  . Give all edges infinite capacity.
  • Maximum flow problem. Let all nodes have zero demand, and let the cost associated with traversing any edge be zero. Now, introduce a new edge   from the current sink   to the current source  . Stipulate that the per-unit cost of sending flow across edge   equals  , and permit   infinite capacity. (This reduction is also mentioned in Circulation problem).
  • Assignment problem. Suppose that each partite set in the bipartition has   vertices, and denote the bipartition by  . Give each   supply   and give each   demand  . Each edge is to have unit capacity.

Solutions edit

The minimum cost flow problem can be solved by linear programming, since we optimize a linear function, and all constraints are linear.

Apart from that, many combinatorial algorithms exist, for a comprehensive survey, see [1]. Some of them are generalizations of maximum flow algorithms, others use entirely different approaches.

Well-known fundamental algorithms (they have many variations):

Application edit

Minimum weight bipartite matching edit

 
Reducing Minimum weight bipartite matching to minimum cost max flow problem

Given a bipartite graph G = (AB, E), the goal is to find the maximum cardinality matching in G that has minimum cost. Let w: ER be a weight function on the edges of E. The minimum weight bipartite matching problem or assignment problem is to find a perfect matching ME whose total weight is minimized. The idea is to reduce this problem to a network flow problem.

Let G′ = (V′ = AB, E′ = E). Assign the capacity of all the edges in E′ to 1. Add a source vertex s and connect it to all the vertices in A′ and add a sink vertex t and connect all vertices inside group B′ to this vertex. The capacity of all the new edges is 1 and their costs is 0. It is proved that there is minimum weight perfect bipartite matching in G if and only if there a minimum cost flow in G′. [9][dead link]

See also edit

References edit

  1. ^ Ahuja, Ravindra K.; Magnanti, Thomas L.; Orlin, James B. (1993). Network Flows. Theory, Algorithms, and Applications. Prentice Hall.
  1. ^ Ravindra K. Ahuja; Thomas L. Magnanti & James B. Orlin (1993). Network Flows: Theory, Algorithms, and Applications. Prentice-Hall, Inc. ISBN 978-0-13-617549-0.
  2. ^ Morton Klein (1967). "A primal method for minimal cost flows with applications to the assignment and transportation problems". Management Science. 14 (3): 205–220. CiteSeerX 10.1.1.228.7696. doi:10.1287/mnsc.14.3.205.
  3. ^ Refael Hassin (1983). "The minimum cost flow problem: A unifying approach to existing algorithms and a new tree search algorithm". Mathematical Programming. 25: 228–239. doi:10.1007/bf02591772.
  4. ^ Thomas R. Ervolina & S. Thomas McCormick (1993). "Two strongly polynomial cut cancelling algorithms for minimum cost network flow". Discrete Applied Mathematics. 4: 133–165. doi:10.1016/0166-218x(93)90025-j.
  5. ^ Andrew V. Goldberg & Robert E. Tarjan (1989). "Finding minimum-cost circulations by canceling negative cycles". Journal of the ACM. 36 (4): 873–886. doi:10.1145/76359.76368.
  6. ^ Jack Edmonds & Richard M. Karp (1972). "Theoretical improvements in algorithmic efficiency for network flow problems". Journal of the ACM. 19 (2): 248–264. doi:10.1145/321694.321699.
  7. ^ Andrew V. Goldberg & Robert E. Tarjan (1990). "Finding minimum-cost circulations by successive approximation". Math. Oper. Res. 15 (3): 430–466. doi:10.1287/moor.15.3.430.
  8. ^ James B. Orlin (1997). "A polynomial time primal network simplex algorithm for minimum cost flows". Mathematical Programming. 78 (2): 109–129. doi:10.1007/bf02614365. hdl:1721.1/2584.

External links edit

  • LEMON C++ library with several maximum flow and minimum cost circulation algorithms
  • The MCFClass C++ project library with some minimum cost flow and shortest path algorithms

minimum, cost, flow, problem, minimum, cost, flow, problem, mcfp, optimization, decision, problem, find, cheapest, possible, sending, certain, amount, flow, through, flow, network, typical, application, this, problem, involves, finding, best, delivery, route, . The minimum cost flow problem MCFP is an optimization and decision problem to find the cheapest possible way of sending a certain amount of flow through a flow network A typical application of this problem involves finding the best delivery route from a factory to a warehouse where the road network has some capacity and cost associated The minimum cost flow problem is one of the most fundamental among all flow and circulation problems because most other such problems can be cast as a minimum cost flow problem and also that it can be solved efficiently using the network simplex algorithm Contents 1 Definition 2 Relation to other problems 3 Solutions 4 Application 4 1 Minimum weight bipartite matching 5 See also 6 References 7 External linksDefinition editA flow network is a directed graph G V E displaystyle G V E nbsp with a source vertex s V displaystyle s in V nbsp and a sink vertex t V displaystyle t in V nbsp where each edge u v E displaystyle u v in E nbsp has capacity c u v gt 0 displaystyle c u v gt 0 nbsp flow f u v displaystyle f u v nbsp and cost a u v displaystyle a u v nbsp with most minimum cost flow algorithms supporting edges with negative costs The cost of sending this flow along an edge u v displaystyle u v nbsp is f u v a u v displaystyle f u v cdot a u v nbsp The problem requires an amount of flow d displaystyle d nbsp to be sent from source s displaystyle s nbsp to sink t displaystyle t nbsp The definition of the problem is to minimize the total cost of the flow over all edges u v E a u v f u v displaystyle sum u v in E a u v cdot f u v nbsp with the constraints Capacity constraints f u v c u v displaystyle f u v leq c u v nbsp Skew symmetry f u v f v u displaystyle f u v f v u nbsp Flow conservation w V f u w 0 for all u s t displaystyle sum w in V f u w 0 text for all u neq s t nbsp Required flow w V f s w d and w V f w t d displaystyle sum w in V f s w d text and sum w in V f w t d nbsp Relation to other problems editA variation of this problem is to find a flow which is maximum but has the lowest cost among the maximum flow solutions This could be called a minimum cost maximum flow problem and is useful for finding minimum cost maximum matchings With some solutions finding the minimum cost maximum flow instead is straightforward If not one can find the maximum flow by performing a binary search on d displaystyle d nbsp A related problem is the minimum cost circulation problem which can be used for solving minimum cost flow This is achieved by setting the lower bound on all edges to zero and then making an extra edge from the sink t displaystyle t nbsp to the source s displaystyle s nbsp with capacity c t s d displaystyle c t s d nbsp and lower bound l t s d displaystyle l t s d nbsp forcing the total flow from s displaystyle s nbsp to t displaystyle t nbsp to also be d displaystyle d nbsp The following problems are special cases of the minimum cost flow problem we provide brief sketches of each applicable reduction in turn 1 Shortest path problem single source Require that a feasible solution to the minimum cost flow problem sends one unit of flow from a designated source s displaystyle s nbsp to a designated sink t displaystyle t nbsp Give all edges infinite capacity Maximum flow problem Let all nodes have zero demand and let the cost associated with traversing any edge be zero Now introduce a new edge t s displaystyle t s nbsp from the current sink t displaystyle t nbsp to the current source s displaystyle s nbsp Stipulate that the per unit cost of sending flow across edge t s displaystyle t s nbsp equals 1 displaystyle 1 nbsp and permit t s displaystyle t s nbsp infinite capacity This reduction is also mentioned in Circulation problem Assignment problem Suppose that each partite set in the bipartition has n displaystyle n nbsp vertices and denote the bipartition by X Y displaystyle X Y nbsp Give each x X displaystyle x in X nbsp supply 1 n displaystyle 1 n nbsp and give each y Y displaystyle y in Y nbsp demand 1 n displaystyle 1 n nbsp Each edge is to have unit capacity Solutions editThe minimum cost flow problem can be solved by linear programming since we optimize a linear function and all constraints are linear Apart from that many combinatorial algorithms exist for a comprehensive survey see 1 Some of them are generalizations of maximum flow algorithms others use entirely different approaches Well known fundamental algorithms they have many variations Cycle canceling a general primal method 2 Cut canceling a general dual method 3 4 Minimum mean cycle canceling a simple strongly polynomial algorithm 5 Successive shortest path and capacity scaling dual methods which can be viewed as the generalization of the Ford Fulkerson algorithm 6 Cost scaling a primal dual approach which can be viewed as the generalization of the push relabel algorithm 7 Network simplex algorithm a specialized version of the linear programming simplex method 8 Out of kilter algorithm by D R FulkersonApplication editMinimum weight bipartite matching edit nbsp Reducing Minimum weight bipartite matching to minimum cost max flow problemGiven a bipartite graph G A B E the goal is to find the maximum cardinality matching in G that has minimum cost Let w E R be a weight function on the edges of E The minimum weight bipartite matching problem or assignment problem is to find a perfect matching M E whose total weight is minimized The idea is to reduce this problem to a network flow problem Let G V A B E E Assign the capacity of all the edges in E to 1 Add a source vertex s and connect it to all the vertices in A and add a sink vertex t and connect all vertices inside group B to this vertex The capacity of all the new edges is 1 and their costs is 0 It is proved that there is minimum weight perfect bipartite matching in G if and only if there a minimum cost flow in G 9 dead link See also editLEMON C library GNU Linear Programming Kit Network flow problemReferences edit Ahuja Ravindra K Magnanti Thomas L Orlin James B 1993 Network Flows Theory Algorithms and Applications Prentice Hall Ravindra K Ahuja Thomas L Magnanti amp James B Orlin 1993 Network Flows Theory Algorithms and Applications Prentice Hall Inc ISBN 978 0 13 617549 0 Morton Klein 1967 A primal method for minimal cost flows with applications to the assignment and transportation problems Management Science 14 3 205 220 CiteSeerX 10 1 1 228 7696 doi 10 1287 mnsc 14 3 205 Refael Hassin 1983 The minimum cost flow problem A unifying approach to existing algorithms and a new tree search algorithm Mathematical Programming 25 228 239 doi 10 1007 bf02591772 Thomas R Ervolina amp S Thomas McCormick 1993 Two strongly polynomial cut cancelling algorithms for minimum cost network flow Discrete Applied Mathematics 4 133 165 doi 10 1016 0166 218x 93 90025 j Andrew V Goldberg amp Robert E Tarjan 1989 Finding minimum cost circulations by canceling negative cycles Journal of the ACM 36 4 873 886 doi 10 1145 76359 76368 Jack Edmonds amp Richard M Karp 1972 Theoretical improvements in algorithmic efficiency for network flow problems Journal of the ACM 19 2 248 264 doi 10 1145 321694 321699 Andrew V Goldberg amp Robert E Tarjan 1990 Finding minimum cost circulations by successive approximation Math Oper Res 15 3 430 466 doi 10 1287 moor 15 3 430 James B Orlin 1997 A polynomial time primal network simplex algorithm for minimum cost flows Mathematical Programming 78 2 109 129 doi 10 1007 bf02614365 hdl 1721 1 2584 External links editLEMON C library with several maximum flow and minimum cost circulation algorithms The MCFClass C project library with some minimum cost flow and shortest path algorithms Retrieved from https en wikipedia org w index php title Minimum cost flow problem amp oldid 1136435679, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.