









Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Transshipment Problem. 3.1. Overview. 3.1.1. Problem ... A cycle in a digraph is the node and arcs corresponding to a cycle in the underlying graph.
Typology: Exercises
1 / 16
This page cannot be seen from the preview
Don't miss anything!










David Duan, 20703592
1 Simplex Algorithm
1.1 Preliminaries 1.1.1 Standard Equality Form 1.1.2 Basis and Basic Solutions 1.1.3 Canonical Form 1.1.4 The Fundamental Theorem of Linear Programming 1.2 Two Phase Method 1.2.1 Phase I. Initialization 1.2.2 Phase II. Loop 1.3 Tableau Method
2 Basic Graph Theory
3 Transshipment Problem
3.1 Overview 3.1.1 Problem 3.1.2 LP Formulation 3.1.3 Incidence Matrix 3.1.4 Dual LP 3.1.5 Complementary Slackness Conditions 3.2 Cycle, Spanning Tree, and Basis 3.3 Network Simplex 3.3.1 Node Potential and Reduced Cost 3.3.2 Unboundedness 3.4 Network Simplex Algorithm 3.4.1 Detailed Algorithm
3.4.2 Short Algorithm for Problem Solving 3.5 Network Simplex Initialization 3.5.1 Auxiliary Graph 3.5.2 Feasibility Characterization
4 Summary
4.1 LPs and CS Conditions 4.2 Key Results
5 Appendix
5.1 Additional Proofs
1.2.1 Phase I. Initialization
Given a general LP (P) , we want to find an initial BFS to start Simplex. First, multiply equations so that becomes non-negative. Next, construct an auxiliary LP where are auxiliary variables, and solve the auxiliary LP using Simplex. If is the optimal solution to the auxiliary problem, then LP is feasible if and only if.
An LP in SEF is either infeasible, unbounded, or feasible with a basic optimal solution.
1.2.2 Phase II. Loop
Given an LP with a feasible basis , we want to output an optimal solution or report that the LP is unbounded. First, we rewrite the LP in canonical form for the basis :
At this stage, is a feasible basis, ; the LP is in canonical form for , and is a basic solution (Remark: ). Next, we find a better basis or get required outcome:
Bland's rule states that, if we have a choice for element entering or leaving the basis, always pick the smallest one. If we use Bland's rule, then the Simplex algorithm always terminates.
1.3 Tableau Method
See example.
2 Basic Graph Theory
A directed graph ( digraph ) consists of a set of nodes and a set of arcs.
For an arc , is the tail and is the head.
The out degree of a node , denoted , is the number arcs whose tail is.
The in degree of a node , denoted is the number of arcs whose head is.
A directed walk ( diwalk ) is a sequence of nodes where is an arc.
A directed path ( dipath ) is a diwalk with no repeated node.
A directed cycle ( dicycle ) is a diwalk , where are distinct.
The cut induced by is the set of arcs leaving , i.e.,.
We also define the set of arcs going into :.
If and , we call an -cut.
The underlying graph of is obtained by removing the directions on each arc.
A cycle in a digraph is the node and arcs corresponding to a cycle in the underlying graph.
If we fix an orientation on the cycle, then arcs in this direction are called forward arcs , and other arcs are called backward arcs.
An undirected graph is connected if there exists a path between every pair of nodes
. A digraph is connected if the underlying graph is connected.
A set of arcs is said to be a spanning tree of an undirected graph if is connected and. A spanning tree of a digraph is a spanning tree of the underlying graph.
Let be a digraph. The following are equivalent:
Let be a (directed) tree. Then
3.1.4 Dual LP
Recall to derive given , we flip signs of variables for signs of constraints and keep signs of constraints the same for the signs of variables. Thus, and .
Since each column of contains exactly one entry of (the row corresponding to the arc's head or destination) and exactly one entry of (the row corresponding to the arc's source or tail), each row in contains exactly these two non-zero entries. Thus, we can also write dual constraints explicitly for each arc :
3.1.5 Complementary Slackness Conditions
Let and be feasible solutions for a pair of primal and dual LPs and. Recall the solutions are optimal if the CS conditions hold:
For all variables of , or the th constraint of is satisfied with equality for ; For all variables of , or the th constraint of is satisfied with equality for.
Since all primal constraints are equalities, if a flow is optimal, then the CS conditions say that there must exist a (dual potential) such that or for each.
If the (dual potential) is then feasible (for all other non-active conditions, the constraints still hold), then we have verified optimality of the solution for the primal.
Intuitively, for an arc , we either don't use it at all ( ), or we use it to its full potential ( ). See economical interpretation in section 3.3.1 for more explanation.
3.2 Cycle, Spanning Tree, and Basis
Recall that an LP is called infeasible if it has no feasible solutions, and unbounded if it has feasible solutions with objective values that are arbitrarily large (for maximization) or arbitrarily small (for minimization). Review section 1.2 for more information.
By definition, each column of the incidence matrix contains exactly one entry of and one entry of. Thus, the sum of all rows of the incidence matrix is the zero vector. Recall from linear algebra, the vectors in a set are linearly independent if the equation can only be satisfied by for all. This means. We will now show that, assume is connected, we have.
Proposition The columns of corresponding to a cycle are linearly dependent.
Proof. Let be a cycle and be its incidence matrix. Let be the forward and backward arcs of , respectively. Now, suppose is obtained by multiplying columns of (backward) arcs in by. Then is the incidence matrix of a cycle where every arc is a forward, or equivalently, the new graph is a directed cycle.
Since for all , in each row of , there exists exactly one entry of and one entry of. Thus, the sum of the entries of each row is. This implies that the sum of columns of is zero (you can use an example to verify). Since this is a non-trivial linear combination of columns of which equals to zero, is linearly dependent.
Proposition Let be a digraph and be its incidence matrix. Let be a subset of the arcs whose corresponding columns in are linearly dependent. Prove that contains a cycle. (Note that this cycle is not necessarily a directed cycle.)
Lemma. If every vertex of a graph has degree at least , then it contains a cycle. (See Appendix for Proof.)
Proof. Since the columns of in are linearly dependent, there exists non-trivial linear combination of these columns that equal to 0. Let be the subset of whose columns receive non-zero coefficients in the linear combination, i.e., there exist non-zero 's where. For each node , , where represents the entry for in the column for.
Let be the subset of nodes where for at least one. For a node in , if , then. Hence for each , there exist at least arcs in whose columns in have non-zero entries for. Each of these arcs is incident with. Therefore, the subgraph with as the nodes and as the arcs have the property that every node has degree. By the Lemma, it contains a cycle.
Recall that a basis is the maximal linearly independent set of vectors. In our case, a basis corresponds to a spanning tree of a graph, as it is maximal with no cycles. From these two propositions, we derive the following theorem:
3.3.2 Unboundedness
In Network Simplex, unboundedness occurs when no leaving arc can be found, so that you can increase parameters (entering variable) indefinitely.
Consider the diagram above. Suppose all arcs are in the basis and we pick as the entering arc. Let be the dual potential at. Since all arcs here are in the basis, their reduced cost must be zero. Then
Since ,
Since was chosen as an entering arc, , and hence the sum of arc costs on cycle is negative. We call such a negative dicycle.
Theorem A feasible TP is unbounded if and only if there exists a negative dicycle.
( ) Let be a negative dicycle, i.e.,. Let be a feasible flow. Define flow where
for. So for each. (Easy to check.)
Since is a dicycle, is a feasible flow:
The objective value is , where is a fixed finite number. Then we have as as.
For example, suppose forms a negative dicycle. Then we can push as much of goods on this dicycle since it will cancel out eventually. in this case.
( ) Obtain a new digraph by adding a new node and arcs for all. Set the cost of new arcs to be. For each node in , let be the minimum cost among all possible directed -paths. This minimum exists since there is at least one such dipath, and the number of such dipaths is finite.
First, we show if does not contain a negative dicycle, then is a feasible potential for. Suppose not, i.e., there exist where. Consider a -dipath that has minimum cost. By assumption,. If is not on , then is a -dipath with cost , which is strictly less than by assumption. This contradicts the fact that is the minimum cost of all -dipaths.
Now assume is on , and let be the part of from to , and be the part of from to
. Since is a -dipath and a minimum cost -dipath has cost , we have. Also,. Then. By assumption, , so , or. So is a dicycle whose cost is negative, contradicting the assumption that there is no negative dicycle. Hence is a feasible potential for.
If does not contain a negative dicycle, then there exists a feasible potential for. The same potential applied to only nodes in is also feasible, hence the dual LP is feasible. Therefore, the original TP is bounded by the objective value of the dual feasible solution.
3.4 Network Simplex Algorithm
3.4.1 Detailed Algorithm
Given a connected digraph with arc costs and node demands ,
g. Update the spanning tree to. h. Go back to 2.
3.5 Network Simplex Initialization
Recall in standard Simplex, we find an initial feasible solution by constructing an auxiliary LP: (1) multiply to appropriate rows to make , then (2) add one auxiliary variable for each constraint, and (3) solve the auxiliary LP using Simplex.
For Network Simplex, we add an extra row containing all the auxiliary variables.
Then the constraints behave like an incidence matrix corresponding to an auxiliary graph, where each supply node has an arc going into the auxiliary node , and each demand node has an arc coming from.
Since the objective function is , each original arc has a cost of and each auxiliary arc. This gives us an obvious starting feasible flow: transport all supplies to then distribute to demand nodes from.
3.5.1 Auxiliary Graph
Given a digraph and node demands , the auxiliary TP with
and arc cost is
where is a new node. . , for all. and.
As seen above, the auxiliary TP has a natural feasible flow (sending everything through ).
3.5.2 Feasibility Characterization
Theorem A TP is feasible if and only if its auxiliary TP has optimal value zero.
Intuition. Simplex initialization.
Proposition Suppose TP with digraph is infeasible. If we partition into and according to the dual potentials of nodes, then
Proof. Assume that our TP is not feasible, i.e., the auxiliary TP has an optimal solution with strictly positive optimal value.
Let be an optimal solution. Set. We can partition the nodes in according to their dual potentials , which are either or (use definition for dual potentials and definition for to check this statement). Let be the set of nodes whose value (dual potential) is and the set of nodes whose value is.
We now answer two questions. First, can there be an arc from to? Next, if is an arc from to , do we know anything about?
Let and. If arc goes from to ,
. This contradicts the optimality of our solution (recall Simplex terminates when all reduced costs are positive). Thus, all arcs between and are in the same direction: from to. Next, for an arc from to ,. Then is not basic, i.e., not in our spanning tree, thus.
Restricting our attention to arcs with non-zero flow, we get a digraph where all arcs are either leaving to or leaving to.
Theorem A TP with digraph and node demand is infeasible if and only if there exists such that and. [Alternatively, we can say and ].
Intuition. If there exists a set of nodes with negative net demand and no arcs leaving, or a set of nodes with positive net demand and no arcs coming in, then the TP is infeasible.
Proof.
( ): Assume our TP is infeasible. By theorem, the AUX TP has an optimal solution with strictly positive optimal value. Let be an optimal tree flow and be the corresponding feasible potential with , where is the auxiliary node. Partition into and based on the dual potential. We claim that satisfies the conditions (the net flow of is negative) and (there is no arc leaving ).
If , then there exists an arc such that , , but
. But this contradicts optimality. Thus, . Next, for any arc , implies that is non-basic and hence. Since some flow goes to ,
( ): Let where and. Suppose for a contradiction that there exists a feasible flow. By feasibility,
. But , a contradiction.
5 Appendix
5.1 Additional Proofs
Lemma Show that if is a (undirected) graph in which every vertex has degree at least , then contains a cycle as a subgraph.
Proof. Suppose that does not contain a cycle. Consider any connected component of. Since every vertex of has degree at least , has at least three vertices. Since is connected and contains no cycles, is a tree. Since is a tree with at least two vertices, has at least two vertices of degree one. But this contradicts the hypothesis that every vertex of has degree at least. In fact, every connected component of must contain a cycle.