Travelling Salesman problem

advertisement
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)
jB(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
iN
. 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
iN
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.
Download