Download Presentation
## The Network Simplex Method

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -

**The Network Simplex Method**Spanning Trees and Basic Feasible Solutions**BFS Spanning Tree**• Theorem 11.10: Every spanning tree of G defines a basis of the MCNFP LP and every basis of the MCNFP LP defines a spanning tree of G. • There is a one-to-one correspondence between spanning trees and basic solutions.**4**2 (0,4,5) (0,10,2) -3 1 3 5 (0,10,4) (0,5,8) -7 10 (0,5,10) 4 (0,5,5) (0,4,7) -4 MCNFP Example (, u, c)**Flow Balance Constraints**We can drop one of the constraints.**Basic Feasible Solutions (BFS)**• We can drop the flow balance constraint for one of the nodes. • The flow balance constraints form a system of 4 equations with 7 variables. • Thus, A BFS will have 4 basic variables and 7- 4 = 3 non-basic variables.**An initial BFS (Solution 1)**• Basic arcs (variables) B = {(1,3), (2,5), (3,5), (4,5)} • Non-basic arcs at their lower bounds L = {(1,2), (1,4)} • Non-basic arcs at their upper bounds. U = {(3,4)}**Flow Balance Constraints**Drop flow balance for node 5 and substitute and u values for non-basic arcs.**The Basis Matrix**• Let B be a set of n-1 arcs. • Let AB be the n-1 by n-1 submatrix of the node-arc incidence matrix formed by taking the columns corresponding to the arcs in B and removing one row. • The Basis Matrix AB must have an inverse in order for it to correspond to a BFS.**Results from Linear Algebra**• The determinant of a lower triangular matrix is the product of its diagonal elements. • A set of n-1 column vectors with n-1 elements each has an inverse if and only if the matrix comprised of these columns has a non-zero determinant.**Vector-Matrix Form of the Flow-Balance Constraints**This basis matrix is lower triangular. All diagonal elements are 1. Thus, this matrix has an inverse.**Converting Spanning Trees to Basis Matrices**• Perform a DFS of the underlying, undirected tree. • Traverse the nodes with a reverse thread: visit node i before pred(i) • Order the nodes (rows) according to the order they were visited in the reverse thread. • Order the arcs (columns): visit the nodes in order, and for each node i visited, select the unique arc incident to i on the path in the DFS tree.**BFS 2**2 1 3 5 4**0**0 0 -1 0 0 1 -1 0 0 0 -1 0 1 1 Converting the Spanning Tree to a Basis Matrix 1 Arc Order: (4,5) (2,5) (1,2) (1,3) 4 1 5 -1 3 2 0 2 0 3 5 1 0 Reverse Thread: visit i before pred(i). 4**(4,5)**(2,5) (1,2) (1,3) 4 1 0 0 0 5 -1 -1 0 0 1 -1 0 0 2 0 0 -1 0 3 LowerTriangular Basis Matrix All diagonal elements are +1 or –1.**BFS 3**2 1 3 5 4**0**0 0 -1 0 0 0 -1 0 0 1 -1 1 0 1 Converting the Tree to a Basis Matrix 1 Arc Order: Reverse Thread (3,4) (1,3) (2,5) (1,2) 4 -1 3 1 3 2 0 5 0 2 5 4 1 0**General Case**• Suppose arc (i, j) is in the spanning tree and assume j = pred(i) in the DFS. • Consider the column corresponding to arc (i, j): • This column will have a +1 or a –1 in the row (r) corresponding to node i. • The only other non-zero entry in the column will be in the row for node j which will be below row r. • Thus, the matrix is always lower triangular with +1 or –1 in all the diagonal elements.**Tree => Basis Matrix**• Theorem 11.9: The rows and columns of the node-arc incidence matrix of any spanning tree can be rearranged to be lower triangular. • Every spanning tree of G corresponds to a basis of the minimum-cost network flow problem.**Cycle => Not a Basis Matrix**j i k (k, i) column is a linear combination of (i, j) and (j, k) columns.