Network Flows Problems I. History 1.1 Introduction The network flow problem was first considered by Ford and Fulkerson who introduced the basic concepts of flow, cut, etc. used here and provided the main tool, the maximum-cut theorem. Ford and Fulkerson wrote about the flow between two special point, the source and the sink. Mayeda then took up the multi-terminal problem, where flows are considered between all pairs of nodes in a network, and Chein discussed the synthesis of such a network. 1.2 The network flows problems element 1.2.1 Graph Let G=(V,E) denote a directed graph, where V is the set of notes and E is the set of arcs. Each arc (v,w) in E is an ordered pair of distinct nodes in V. Let e= (v,w) be an arc in E. Then we say arc (v,w) is form v to node w. Node v is called the tail of the arc and is denoted by tail(e); node w is called the head of the arc and is denoted by head(e). Arc (v,w) is said to be incident to node v and node w, and node v is said to be adjacent to node w. In all of our algorithm, we only consider graphs in which for any pair of distinct nodes v and w. This is only for notational convenience and it does not restrict the applications of our algorithms to the case where there are multiple arcs between nodes. 1.2.2 Network If the nodes and arcs of a graph have numerical values associated with them (e.g., external flow values, arc capacities, etc.), then the graph is called a network. Problems associated with a network are called network flow problems. Usually a flow is computed in a network flow problem. A flow assigns a numerical value to each arc in the graph. For each arc e, if it has flow value g(e), then we say g(e) units of flow is sent from tail(e) to head(e). II. Problem Definition: We assume that the flow variable fij associated with an arc (i, j) in a generalized network always refers to the amount of material entering this arc at its tail node i for transit to node j. We also assume that all the data on this arc (lower bound, capacity, cost coefficient, multiplier) applies to this variable. Let G= (N, A, ( ), k (k ), p (p ), c (c ), s , t ) be a connected directed ij ij ij ij generalized network with |N| = n 2, |A| = m, p as the vector of multipliers associated with the arcs in A, and the usual meaning for the other symbols. Let v s , vt denote the amounts of material leaving the source node s , and arriving at the sink node t respectively. Then the flow vector f = (fij) is feasible in G if it satisfies -v s if i s - f ij p ji f ji 0 if i s or t (2.1) j A(i) jB(i) v if i t t ij f ij k ij , for all (i,j ) A Where A(i), B(i) are the after i, and before i set in G. Because of the multipliers, vt may not be equal to v s in (2.1). In the coefficient matrix of the equality constraints in (2.1), each column has exactly 2 nonzero entries, one of them a “−1,” and the other the positive multiplier associated with the arc in G corresponding to this column. We may be interested in maximizing vt given v s subject to (2.1), this problem is known as the minimum loss problem. A feasible flow vector which maximizes vt is known as a maximum feasible flow vector. Among all maximum feasible flow vectors, the one which is associated with the smallest value of v s is known as an optimum maximum feasible flow vector. The minimum cost flow problem in G deals with minimizing (c ij f ij : over (i,j) A) subject to (2.1), given vt or v s . This is the general problem that we will consider. III. Applications 3.1 Problem Description: 3.1.1 Maximum flow provlem Consider a flow network (G, u, s, t). A preflow is a pseudo flow f such that the excess function is non-negative for all vertices other than s and t. A flow f on G is a pseudo flow satisfying the conservation constraints for all vertices except s and t. The value f of a flow f is the net flow into the sink ef(t). A maximum flow is a flow of maximum value (also called an optimal flow). The maximum flow problem is that of finding a maximum flow in a given flow network. 3.1.2 Minimum cost network flow problem Consider a directed network G = (N,A) with node set N and arc set A. Let m A n N and . Each arc (i, j ) A is associated with a non-negative lower and a positive upper n bound capacity referred to as lij and uij, respectively. Let b Ζ be a vector of demand (if bi < 0, i N ) and supply (if bi > 0, i N ) satisfying N bi 0 iN . If bi = 0 for some i N , node i is a transshipment node. A function x : A→ R is called a (network) flow if it satisfies iN the flow conservation constraints capacity constraints lij xij uij x ij j:( i , j )A for all (i, j ) A. x ji j:( j ,i )A bi for all i N and the 3.2 Literature application: Application 1 Source: Ahuja, R., K., Magnanti, T., L., Orlin, J., B., 1993. Network flows: theory, algorithms and applications. Prentice-Hall, Englewood cliffs, N J. Description: (1) Let G = (N, A) be the graph in which the shortest path problem needs to be solved. Construct a graph G'= (N, A A1) such that A1 consists of directed arcs from each node in N - {s} to the source node s and has both lower and upper bounds equal to unity (see Figure S1.1(a)). We set the cost of every arc in A equal to one and the cost of every arc in A1 to zero. In the optimal minimum cost circulation of G' , the arcs in A with nonzero flow will define the shortest paths in G. (2) Let G = (N1 N2, A) be the graph in which the assignment problem needs to be solved. Construct the graph G' = (N1 N2 {p}, A A1) where p is a dummy node and A1 is defined as A1 = {(i, p) : i N2 } {(p, j) : j N1}. For illustration, see Figure S1.1(b). The lower and upper bounds on the capacity of each arc in A1 is 1. The lower bound on every arc in A is zero and its upper bound is 1. The cost of every arc in A1 is zero. (3) The construction is exactly similar to that in part (2) except that we set the upper and lower bounds on the capacity of every arc (p, i) and (i, p) in A1 to |b(i)|. Further, the capacities and the costs of arcs in the transformed problem are the same as those in the original problem. Application 2 Source: D., El Baz, 1989. A computational experience with distributed asynchronous iterative methods for convex network flow problems. Proceedings of the 28th conference on decision and control, 1, 590-591. Description: We present a first computational experience for various network flow problems on grid networks of dimensionα.3. In each case, price of node n = 3. α is constrained to be zero, and there is only one nonzero traffic input, say b1= 1. The arc costs are cij(fij) = 1 4 . f ij . The starting point is 4 always the same: pi = 0, i N . Application 3 Source: Fontes, Dalila B. M. M., Eleni, H., Nicos, C., 2006. A Branch-and-Bound algorithm for concave network flow problems. Journal of global optimization, 34(1), 127-155. Description: Type I : linear FC bij .x cij g ij ( x) 0 TypeII : concave FC if x 0, otherwise. a .x 2 bij .x cij g ij ( x) ij 0 otherwise. if x 0, The cost function gij is nondecreasing and aij, bij , and cij are non-negative. Problems are divided in groups based on the ratio between variable and fixed costs. Ten groups for problems with 10, 12, 15, 17, and 19 vertices and five for problems with 25 and 30 vertices are considered. For each group we generated three problem instances. Therefore, computational experiments are carried out on 360 problem instances. Application 4 Source: http://www-personal.umich.edu/~kschwede/math217/Worksheets/network.pdf Description: Consider the problem of calculating the pattern of traffic flow for a community. The network in this case consists of a system of streets and nodes, or intersections, where the roads meet. Each street will have a certain rate of flow, measured in vehicles per some time interval. Given certain flow rates into the road system, the rates of flow on each street will be computed. There is one big assumption: at each intersection, the flow is “conserved”; that is, a car that reaches an intersection must continue through the network. For example, if the flow rates into a given intersection are x1 and 30, and the flow rates out of the same intersection are x2 and 50, then x1+30= x2+50, or x1x2=20. Thus each intersection produces a linear equation in the unknown rates. Solving the system of linear equations resulting from each intersection will give the flow rates over each branch. 2 IV. Reference [1] Bertsekas, D., P., 1992. Auction algorithms for network flow problems: A tutorial introduction. Computational optimization and applications, 1(1), 7-66. [2] D., El Baz, 1989. A computational experience with distributed asynchronous iterative methods for convex network flow problems. Proceedings of the 28th conference on decision and control, 1, 590-591. [3] Fontes, Dalila B. M. M., Eleni, H., Nicos, C., 2006. A Branch-and-Bound algorithm for concave network flow problems. Journal of global optimization, 34(1), 127-155. [4] Goldberg, A., V., Tardos, E., Tarjan, R., 1989. Network Flow Algorithm. Ecommons.library.cornell.edu. [5] Gomory, R., E., Hu, T., C., 1961. Multi-terminal network flows. Journal of the society for industrial and applied mathematics, 9(4), 551-570. [6] Lin, Y., 2001. Algorithms for the generalized network flow problem. Columbia university. [7] Hamacher, H., W., Pedersen, C., R., Ruzika, S., 2007. Multiple objective minimum cost flow problems: A review. European Journal of Operational Research, 176(3), 1404-1422. [8] Yu, C.,M., Tsai, I.,M., Chou, Y.,H., Kuo, S.,Y., 2007. Improving the network flow problem using quantum search. 1126-1129.