Presentation is loading. Please wait.

Presentation is loading. Please wait.

Flow in Network. Graph, oriented graph, network A graph G =(V, E) is specified by a non empty set of nodes V and a set of edges E such that each edge.

Similar presentations


Presentation on theme: "Flow in Network. Graph, oriented graph, network A graph G =(V, E) is specified by a non empty set of nodes V and a set of edges E such that each edge."— Presentation transcript:

1 Flow in Network

2 Graph, oriented graph, network A graph G =(V, E) is specified by a non empty set of nodes V and a set of edges E such that each edge a is identified by a pair of nodes (u, v). c a b d V = {1, 2, 3} E = {a, b, c, d} a = b = (1, 2) ; c = (1, 3) ; d =(2, 3) 1 2 3

3 A graph g is a sub graph of a graph G if all the nodes and all the edges of g are nodes and edges of G. c c a b d G g 1 2 3 1 3

4 A sub graph of a graph G including all the nodes of G is a partial graph of G. c c a b d d G g 1 2 3 1 3 2

5 A chain in a graph G is a sequence of distinct edges a 1, a 2, …, a p such that there exist (p+1) nodes u 1, u 2, …, u p+1 where a i = (u i, u i+1 ). c a b d The sequence a, c is a chain. 1 2 3

6 A cycle in a graph G is a chain such that u 1 = u p+1 c a b d The sequence c, b, d is a cycle. 1 2 3

7 A graph G is connected if for all pair of nodes, there exists a chain linking them. c a b d This graph is connected. 1 2 3

8 A tree is a connected graph with no cycle Property : A tree with n nodes includes exactly (n – 1) edges

9 A partial tree ( spanning tree) of a connected graph G is a partial graph of G being a tree c c a b d d G partial tree 1 2 3 1 3 2

10 A fondamental cycle with respect to a partial tree is a cycle including an edge of the graph not included in the partial tree and edges of the tree. c c a b d d G partial tree 1 2 3 1 3 2

11 A fondamental cycle with respect to a spanning tree is a cycle including an edge of the graph not included in the partial tree and edges of the tree. c c a b a d d G fondamental cycle 1 2 3 1 3 2

12 An oriented graph G = (V, E) is specified by a non empty set of nodes V and a set of arcs E such that each arc a is identified by an ordered pair of nodes (u, v). a b c d e f V = {1, 2, 3, 4} E = {a, b, c, d, e, f} a = (1, 2), b = (2, 4), c = (2, 3), d =(3, 2), e = (1, 3), f = (3, 4) 2 3 14

13 A non oriented graph obtained from an oriented graph G by eliminating the direction of the arc is denoted the corresponding graph. The notions of chain, cycle, connectedness, tree, spanning tree, and fondamental cycle for an oriented graph refer to the corresponding graph. A path in an oriented graph is a sequence of distinct arcs a 1, a 2, …, a p being a chain where all the arcs are oriented in the same direction. A directed graph is simple if the nodes identifying each arc are distinct, and if there is no pairs of arcs specified by the same pair of nodes.

14 A network is a connected oriented graph in which a flow can move over the arcs. Each arc (i, j) est characterized as follows a capacity d ij corresponding to an upper bound on the flow in the arc a lower bound l ij on the flow in the arc Moreover, 0≤ l ij ≤ d ij [0, 2] [2, 9] [0, 6] [3, 4] [0, 4] [1, 6] At each arc (i, j) is associated a pair [l ij, d ij ]. 2 3 14

15 Minimum cost flow model Consider a network where the following attributs are associated with each arc (i, j) : d ij the capacity of the arc l ij the lower bound on the flow in the arc c ij flow unitary cost in the arc x ij the variable including the value of the flow in the arc Furthermore, associate the following two sets of nodes with each node i:

16 Exemple B 1 = Φ, B 2 = {1, 3}, B 3 = {1, 2}, B 4 = {2, 3} P 1 = {2, 3}, P 2 = {3, 4}, P 3 = {2, 4}, P 4 = Φ [0, 2] [2, 9] [0, 6] [3, 4] [0, 4] [1, 6] 2 3 14

17 The minimum cost flow problem is to determine how to send a fixed quantity of flow v from a source to a destination along the arcs of the network satisfying the lower bound and the capacity constraints of the arcs in order to minimize the total cost. Constraints of the problem: 1. lower bound and the capacity constraints of the arcs: 2. flow conservation constraints (specific to network flow problems): For each node the total flow going in the node must be equal to the total flow going out of the node

18 For each node, the total flow going in the node must be equal to the total flow going out of the node. v 2 3 14

19 For each node, the total flow going in the node must be equal to the total flow going out of the node. v 2 3 14

20 For each node, the total flow going in the node must be equal to the total flow going out of the node. 2 3 14

21 Model for the minimum cost flow problem The minimum cost flow problem is to determine how to send a fixed quantity of flow v from a source to a destination along the arcs of the network satisfying the lower bound and the capacity constraints of the arcs in order to minimize the total cost.

22 The matrix associated with the flow conservation constraints are denoted the nodes-arcs incidence matrix: row i ↔ node i column (i, j) ↔ arc (i, j) ligne i ligne j colonne (i, j)

23 Exemple of an incidence matrix 2 3 14

24 The nodes-arcs incidence matrix has the unimodularity property indicating that the simplex algorithm generates an integer solution for problem (MCF) when l ij, d ij et v are integer.

25 Properties of the incidence matrix Now we show that the columns of any basis correspond to arcs in a spanning tree and vice versa. Theorem: The incidence matrix A of a connected simple oriented graph having m nodes and n arcs has a rank equal to (m–1). Proof: First we show that Each column of A includes only one component equal to 1, another one equal to -1, and all the other elements are equal to 0. Hence if we sum up the rows of A, then we obtain a row vector having all its elements equal to 0. Consequently the rows of A are linearly dependent. Thus

26 Exemple of incidence matrix 2 3 14

27

28 2 3 14

29

30 Theorem: Consider an incidence matrix A associated with a simple connected directed graph G including m nodes and n arcs. A square (m – 1)x (m – 1) sub matrix of A is non singular if and only if the arcs associated to its columns are those specifying a spanning tree of G.

31 Proof: Let T be a spanning tree of G illustrated in red. 2 3 14

32 Proof: Let T be a spanning tree of G illustrated in red. Denote by A(T) the mx(m ˗ 1) sub matrix A being the incidence matrix of T. 2 3 14

33 Proof: Let T be a spanning tree of G illustrated in red. Denote by A(T) the mx(m–1) sub matrix A being the incidence matrix of T. Since T is a simple connected graph, it follows from the preceding theorem that rank(A(T)) = (m–1). 2 3 14

34 Proof: Let T be a spanning tree of G illustrated in red. Denote by A(T) the mx(m–1) sub matrix A being the incidence matrix of T. Since T is a simple connected graph, it follows from the preceding theorem that rank(A(T)) = (m–1). Then all (m – 1)x (m – 1) sub matrices obtained by eliminating a row of A(T) is non singular is non singular. But these sub matrices are also sub matrices of A. 2 3 14

35 Let B be a (m – 1)x (m – 1) square non singular sub matrix of A. 2 3 14

36 Let B be a (m – 1)x (m – 1) square non singular sub matrix of A. 2 3 14

37 Let B be a (m – 1)x (m – 1) square non singular sub matrix of A. B is obtained by eliminating a row from an incident matrix of a spanning tree g of G. 2 3 14

38 Let B be a (m – 1)x (m – 1) square non singular sub matrix of A. B is obtained by eliminating a row from an incident matrix of a spanning tree g of G. This sub graph g is simple, connected, including (m – 1) arcs. Then g is a spanning tree of G. 2 3 14

39 Theorem: The incidence matrix A of a connected simple oriented graph having m nodes and n arcs has a rank equal to (m–1). Theorem: Consider an incidence matrix A associated with a simple connected directed graph G including m nodes and n arcs. A square (m – 1)x (m – 1) sub matrix of A is non singular if and only if the arcs associated to its columns are those specifying a spanning tree of G. Any base from the incidence matrix is such that its columns correspond to variables associated with the arcs of a spanning tree, and vice versa. The basic variables of a basic solution of a (MCF) problem correspond to the arcs of a spanning tree and vice-versa.

40 The simplex method for the minimum cost flow problem We use the variant of the simplex method when the variables are bounded to solve the minimum cost flow problem (MCF):

41 To analyse one iteration of the simplex method, suppose that we have a basic feasible solution x of the problem. Then the non basic variables x ij are such that x ij = 0 ou d ij. The basic variables x ij correspond to the arcs of a spanning tree T of the network.

42 Entering criterion determine the relative costs of the variables x ij : that can be written as Moreover, for the basic variables associated to the arcs of the spanning tree T : ligne i ligne j

43 In a tree (# arcs) = (# nodes) –1. The preceding system includes (m – 1) équations (associated to the arcs ) et m unknown π i (associated to the nodes i of T). But since any sub matrix (m – 1)x (m – 1) of the incidence matrix T is non singular, we can fix the value of one multiplier and to evaluate the others using the system. The system of equations being triangular, it is easy to show that the multipliers are evaluated sequentially one by one.

44 In our exemple Let π t = 0 π 3 =1 π t =0 π 1 =1 π s =5 π 2 =4 1 3

45 Once the values of the multipliers are known, determine the relative costs of the non basic variables associated to the arcs that are not belonging to the spanning tree T. In our exemple π t =0π 1 =1π s =5 π 2 =4 π 3 =1

46 Once the values of the multipliers are known, determine the relative costs of the non basic variables associated to the arcs that are not belonging to the spanning tree T.

47 Once the values of the multipliers are known, determine the relative costs of the non basic variables associated to the arcs that are not belonging to the spanning tree T. In our exemple π t =0π 1 =1π s =5 π 2 =4 π 3 =1 x 21 is admissible to increase x 3t is admissible to decrease

48 Recall: Step 1: Selecting the entering variable The criterion to select the entering variable must be modified to account for the non basic variables x j being equal to their upper bounds u j since these variables can be reduced. Hence, for an index if, it is interesting to increase x j if, it is interesting to decrease x j

49 Once the values of the multipliers are known, determine the relative costs of the non basic variables associated to the arcs that are not belonging to the spanning tree T. In our exemple π t =0π 1 =1π s =5 π 2 =4 π 3 =1 x 21 is admissible to increase x 3t is admissible to decrease Entering variable

50 Leaving criterion In our exemple: x 3t is the entering variable

51

52 4-θ 0+θ

53

54 Second iteration : Entering criterion Determine the multipliers by solving the system:

55 Let π t = 0 3 1

56 Determine the relavive costs of the non basic variables 2 3 1 4 π t = 0 π 3 = 2 π 2 = 5 π s = 6 π 1 = 2

57 2 3 1 4

58

59 Leaving criterion Then θ = 2 since for this value, x s1 = 2 – 2 = 0 x 21 = 0 + 2 = 2 = d 21. 0+θ0+θ 2+θ 2-θ

60 Leaving criterion Then θ = 2 since for this value, x s1 = 2 – 2 = 0 x 21 = 0 + 2 = 2 = d 21.

61 Third iteration : Entering criterion Determine the multipliers Determine the relative costs of the non basic variables 2 3 2 1 π t =0π s =6 π 2 =5π 3 =2 π 1 =3

62 The solution is optimal

63 The simplex version for the minimum cost flow problem is simplified because of the incidence matrix structure. There is a lot of degeneracy in flow problem. This may induce degenerate iteration (where the values of the variables dont change) sinply to modify the basis. There exists procedures to guide in chosing the basic solutions in order to reduce the number of degenerate iterations.

64 Multiple sources and multiple destinations s1s1 s2s2 spsp t1t1 t2t2 tqtq Rest of network

65 Generate the network G 1 = (V 1, E 1 ) s1s1 s2s2 spsp t1t1 t2t2 tqtq Rest of network st

66 Generate the network G 1 = (V 1, E 1 ) s1s1 s2s2 spsp t1t1 t2t2 tqtq Reste du réseau st

67 Generate the network G 1 = (V 1, E 1 ) s1s1 s2s2 spsp t1t1 t2t2 tqtq Rest of network st

68 Generate the network G 1 = (V 1, E 1 ) v v s1s1 s2s2 spsp t1t1 t2t2 tqtq Rest of network st

69 References M.S. Bazaraa, J.J. Jarvis, H.D. Sherali, “ Linear Programming and Network Flows”, 3rd edition, Wiley-Interscience (2005), Chapter9 F.S. Hillier, G.J. Lieberman, “Introduction to Operations Research”, Mc Graw Hill (2005), Section 9.7 D. G. Luenberger, “ Linear and Nonlinear Programming ”, 2nd edition, Addison-Wesley (1984), Chapter 5


Download ppt "Flow in Network. Graph, oriented graph, network A graph G =(V, E) is specified by a non empty set of nodes V and a set of edges E such that each edge."

Similar presentations


Ads by Google