Graphs and Network Flows IE411. Lecture 20. Dr. Ted Ralphs

Similar documents
Graphs and Network Flows IE411 Lecture 20

Tuesday, April 10. The Network Simplex Method for Solving the Minimum Cost Flow Problem

5.4 Pure Minimal Cost Flow

Advanced Operations Research Techniques IE316. Quiz 1 Review. Dr. Ted Ralphs

Section Notes 5. Review of Linear Programming. Applied Math / Engineering Sciences 121. Week of October 15, 2017

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs

Discrete Optimization 2010 Lecture 5 Min-Cost Flows & Total Unimodularity

and 6.855J. The Successive Shortest Path Algorithm and the Capacity Scaling Algorithm for the Minimum Cost Flow Problem

Graphs and Network Flows ISE 411. Lecture 7. Dr. Ted Ralphs

Final Exam Spring 2003

Linear Programming. Course review MS-E2140. v. 1.1

Primal Simplex Algorithm for the Pure Minimal Cost Flow Problem

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs

ME 391Q Network Flow Programming

Advanced Operations Research Techniques IE316. Quiz 2 Review. Dr. Ted Ralphs

The Simplex Algorithm

5. Consider the tree solution for a minimum cost network flow problem shown in Figure 5.

ORF 307: Lecture 14. Linear Programming: Chapter 14: Network Flows: Algorithms

LECTURE 6: INTERIOR POINT METHOD. 1. Motivation 2. Basic concepts 3. Primal affine scaling algorithm 4. Dual affine scaling algorithm

Introduction to Mathematical Programming IE496. Final Review. Dr. Ted Ralphs

CS 473: Algorithms. Ruta Mehta. Spring University of Illinois, Urbana-Champaign. Ruta (UIUC) CS473 1 Spring / 29

Mathematical and Algorithmic Foundations Linear Programming and Matchings

J Linear Programming Algorithms

The simplex method and the diameter of a 0-1 polytope

An iteration of the simplex method (a pivot )

4 Integer Linear Programming (ILP)

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

Introduction to Mathematical Programming IE406. Lecture 20. Dr. Ted Ralphs

Network optimization: An overview

Generalized Network Flow Programming

CS675: Convex and Combinatorial Optimization Spring 2018 The Simplex Algorithm. Instructor: Shaddin Dughmi

Introduction to Mathematical Programming IE406. Lecture 4. Dr. Ted Ralphs

56:272 Integer Programming & Network Flows Final Exam -- December 16, 1997

New Directions in Linear Programming

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Solutions for Operations Research Final Exam

Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

Lecture notes on the simplex method September We will present an algorithm to solve linear programs of the form. maximize.

Integer Programming ISE 418. Lecture 7. Dr. Ted Ralphs

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Department of Mathematics Oleg Burdakov of 30 October Consider the following linear programming problem (LP):

Some Advanced Topics in Linear Programming

Outline. CS38 Introduction to Algorithms. Linear programming 5/21/2014. Linear programming. Lecture 15 May 20, 2014

Recap, and outline of Lecture 18

16.410/413 Principles of Autonomy and Decision Making

Linear Programming. Linear programming provides methods for allocating limited resources among competing activities in an optimal way.

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

The Ascendance of the Dual Simplex Method: A Geometric View

4.1 The original problem and the optimal tableau

Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem

Integer Programming Theory

Fundamentals of Operations Research. Prof. G. Srinivasan. Department of Management Studies. Indian Institute of Technology Madras.

Introduction to Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras

AM 121: Intro to Optimization Models and Methods Fall 2017

Linear Programming Duality and Algorithms

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

Easter Term OPTIMIZATION

Marginal and Sensitivity Analyses

Linear programming and duality theory

Computational Integer Programming. Lecture 12: Branch and Cut. Dr. Ted Ralphs

1. Lecture notes on bipartite matching February 4th,

Programming, numerics and optimization

DEGENERACY AND THE FUNDAMENTAL THEOREM

The Simplex Algorithm. Chapter 5. Decision Procedures. An Algorithmic Point of View. Revision 1.0

CSE 417 Network Flows (pt 4) Min Cost Flows

Solving Linear Programs Using the Simplex Method (Manual)

Math 5490 Network Flows

CS599: Convex and Combinatorial Optimization Fall 2013 Lecture 14: Combinatorial Problems as Linear Programs I. Instructor: Shaddin Dughmi

Lecture Notes 2: The Simplex Algorithm

Mathematics for Decision Making: An Introduction. Lecture 18

Lecture 2 - Introduction to Polytopes

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

Linear Programming Algorithms [Read Chapters G and H first.] Status: Half-finished.

DM545 Linear and Integer Programming. Lecture 2. The Simplex Method. Marco Chiarandini

CSCI 5654 (Fall 2013): Network Simplex Algorithm for Transshipment Problems.

A NETWORK SIMPLEX ALGORITHM FOR SOLVING THE MINIMUM DISTRIBUTION COST PROBLEM. I-Lin Wang and Shiou-Jie Lin. (Communicated by Shu-Cherng Fang)

LECTURES 3 and 4: Flows and Matchings

Lecture 4: Linear Programming

Duality. Primal program P: Maximize n. Dual program D: Minimize m. j=1 c jx j subject to n. j=1. i=1 b iy i subject to m. i=1

Civil Engineering Systems Analysis Lecture XV. Instructor: Prof. Naveen Eluru Department of Civil Engineering and Applied Mechanics

Math Models of OR: The Simplex Algorithm: Practical Considerations

Read: H&L chapters 1-6

56:272 Integer Programming & Network Flows Final Examination -- December 14, 1998

Julian Hall School of Mathematics University of Edinburgh. June 15th Parallel matrix inversion for the revised simplex method - a study

Optimization of Design. Lecturer:Dung-An Wang Lecture 8

ALGORITHMS FOR THE SIMPLE EQUAL FLOW PROBLEM

1. Lecture notes on bipartite matching

Section Notes 4. Duality, Sensitivity, and the Dual Simplex Algorithm. Applied Math / Engineering Sciences 121. Week of October 8, 2018

1 Linear programming relaxation

BCN Decision and Risk Analysis. Syed M. Ahmed, Ph.D.

CSE 40/60236 Sam Bailey

Linear Programming Motivation: The Diet Problem

Previously Local sensitivity analysis: having found an optimal basis to a problem in standard form,

Integer Programming ISE 418. Lecture 1. Dr. Ted Ralphs

Chapter II. Linear Programming

CSC 8301 Design & Analysis of Algorithms: Linear Programming

COT 6936: Topics in Algorithms! Giri Narasimhan. ECS 254A / EC 2443; Phone: x3748

6.854 Advanced Algorithms. Scribes: Jay Kumar Sundararajan. Duality

Mathematical Tools for Engineering and Management

Lecture 7. s.t. e = (u,v) E x u + x v 1 (2) v V x v 0 (3)

Transcription:

Graphs and Network Flows IE411 Lecture 20 Dr. Ted Ralphs

IE411 Lecture 20 1 Network Simplex Algorithm Input: A network G = (N, A), a vector of capacities u Z A, a vector of costs c Z A, and a vector of supplies b Z N Output: x represents a minimum cost network flow Determine an initial feasible tree structure (T, L, U) Let x be flow and π be node potentials associated with (T, L, U) while Some non-tree arc violates the optimality conditions do Select an entering arc (k, l) violating optimality conditions Add arc (k, l) to tree and determine leaving arc (p, q) Perform a tree update and update solutions x and π end while

IE411 Lecture 20 2 Example

IE411 Lecture 20 3 Degeneracy in Network Simplex Network simplex does not necessarily terminate in a finite number of iterations Poor choices of entering and leaving arcs lead to cycling Maintaining a strongly feasible spanning tree guarantees finite termination and speeds up the running time A pivot iteration is non-degenerate if δ > 0 and is degenerate if δ = 0 A degenerate iteration occurs only if T is a degenerate spanning tree. If two arcs tie while determining the value of δ, the next spanning tree will be degenerate.

IE411 Lecture 20 4 Strongly Feasible Spanning Trees Let (T, L, U) be a spanning tree structure for a MCFP with integral data. A spanning tree T is strongly feasible if every tree arc with zero flow is upward pointing (toward root) and every tree arc with flow equal to capacity is downward pointing (away from root) we can send a positive amount of flow from any node to the root along the tree path without violating any flow bound. These two definitions are equivalent. Proof?

IE411 Lecture 20 5 Modifications to Network Simplex Algorithm Initial Strongly Feasible Spanning Tree Does our construction algorithm work? A non-degenerate spanning tree is always strongly feasible. A degenerate spanning tree is sometimes strongly feasible. Leaving Arc Rule Select the leaving arc as the last blocking arc encountered in traversing the pivot cycle W along its orientation starting at the apex w. Proof: Show that next spanning tree is strongly feasible.

IE411 Lecture 20 6 Termination Each non-degenerate pivot strictly decreases objective function, so number of non-degenerate pivots is finite. To show: The pivot rule maintains the invariant that each spanning tree solution is strongly feasible. Consider W 2, the part of the cycle from p to apex: no arc can be blocking by pivot rule. Consider W 1, the part of the cycle from apex to q: If pivot is non-degenerate, then must be able to send flow backwards to root. If pivot is degenerate, then (p, q) must be contained in the part of the cycle from apex to k. Since the previous tree was strongly feasible and flows don t change, we must still be able to send positive flow back along W 1. Note that each degenerate pivot must decrease the sum of the node potentials, so the number of denegerate pivots in between each successive non-degenrate pivot must also be finite.

IE411 Lecture 20 7 Network Simplex and Simplex for LP Network simplex is an implementation of the simplex method for general LPs with upper and lower bounds on the variables. Tree solutions correspond to basic solutions in the simplex method. To see this, recall from the homework that a directed graph is acyclic if and only if its arc-node incidence matrix is lower triangularizable. The number of linearly independent constraints in our formulation of the MCFP is n 1. Any basis matrix thus consists of n 1 linearly independent columns. It is easy to show that such a basis matrix must have all 1 s on the diagonal and must be a tree.

IE411 Lecture 20 8 Network Simplex and Simplex for LP (cont.) The node potentials are the dual values from the LP and reduced costs are the reduced costs of the arcs. Each iteration of network simplex corresponds to a pivot operation in general simplex. Find a nonbasic (nontree) variable (arc) with negative reduced cost fixed at its lower or positive reduced cost fixed at its upper bound. Increase the value of this variable until one of the basic variables hits its bound. Remove the blocking variable from the basis. Because of the special form of the problem, we do not need to maintain the basis inverse explicitly.

IE411 Lecture 20 9 Dual Network Simplex As in general simplex, there is a dual version of the algorithm. In this version, we maintain optimality conditions, while trying to achiee feasibility. We start with a (possibly infeasible) solution that satisfies optimality conditions and choose a tree arc whose flow violates its bounds. This arc is the leaving arc. We want to push flow around some cycle until the arc reaches its bound. The entering arc is the one with the correct orientation that has the smallest reduced cost (absolute value). There is a finite version of this algorithm that uses a perturbation technique similar to that used in general simplex.

IE411 Lecture 20 10 Polynomial Algorthms for MCFPs As with the maximum flow problem, we can use scaling to reduce the dependence of running time on U and C. By scaling the capacitites, we can get a running time of O(m log US(n, m, nc)). By scaling the costs, we can get a running time of O(n 2 m log(nc)). By scaling both, we get a running time of O(nm log U log nc). The minimum mean cycle-canceling algorithm has a strongly polynomial running time of O(n 2 m 3 log n) (or O(n 2 n 2 lognc)).

IE411 Lecture 20 11 Sensitivity Analysis Determine changes in optimal solution resulting from changes in data arc cost supply/demand arc capacity Assuming spanning tree structure remains unchanged, if change in data affects optimality perform primal pivots to achieve optimality feasibility perform dual pivots to achieve feasibility

IE411 Lecture 20 12 Cost Sensitivity Analysis Suppose the cost of arc (p, q) increases by λ units. Case 1 (p, q) is a non-tree arc Case 2 (p, q) is a tree arc

IE411 Lecture 20 13 Supply/Demand Sensitivity Suppose supply/demand b(k) of node k increases by λ units. Then, the supply/demand b(l) of some node l decreases by λ units. From the mass balance constraints, we know that we must ship λ units of flow from node k to node l. Let P be the unique tree path from node k to node l. δ = min{δ ij : (i, j) P }. And let If λ δ, then If λ > δ, then

IE411 Lecture 20 14 Capacity Sensitivity Analysis Suppose capacity of (p, q) increases by λ units. What do we know about previous optimal solution? If (p, q) is a tree arc or a non-tree arc at its lower bound If (p, q) is a non-tree arc at its upper bound