220 likes | 468 Vues
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 .
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.