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

Similar documents
New Directions in Linear Programming

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

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

AM 121: Intro to Optimization Models and Methods Fall 2017

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

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

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

Primal Simplex Algorithm for the Pure Minimal Cost Flow Problem

5.4 Pure Minimal Cost Flow

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

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

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

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

Linear programming and duality theory

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

Artificial Intelligence

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

Linear Programming Motivation: The Diet Problem

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

Digital Arithmetic. Digital Arithmetic: Operations and Circuits Dr. Farahmand

Linear Programming. Linear Programming. Linear Programming. Example: Profit Maximization (1/4) Iris Hui-Ru Jiang Fall Linear programming

Lecture 9: Linear Programming

Farming Example. Lecture 22. Solving a Linear Program. withthe Simplex Algorithm and with Excel s Solver

Some Advanced Topics in Linear Programming

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

Econ 172A - Slides from Lecture 8

An iteration of the simplex method (a pivot )

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

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

ME 391Q Network Flow Programming

Solutions for Operations Research Final Exam

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

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

Read: H&L chapters 1-6

Lecture 16 October 23, 2014

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

Generalized Network Flow Programming

Mathematical and Algorithmic Foundations Linear Programming and Matchings

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

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

Dual-fitting analysis of Greedy for Set Cover

4 Integer Linear Programming (ILP)

Math 414 Lecture 30. The greedy algorithm provides the initial transportation matrix.

Introduction. Linear because it requires linear functions. Programming as synonymous of planning.

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

Linear programming II João Carlos Lourenço

CSE 40/60236 Sam Bailey

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

MEI Conference 2009: D2

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

Graphs and Network Flows IE411 Lecture 20

MATHEMATICS II: COLLECTION OF EXERCISES AND PROBLEMS

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

Homework 2: Multi-unit combinatorial auctions (due Nov. 7 before class)

CS483 Analysis of Algorithms Lecture 09 Linear Programming 01

Linear Programming. Revised Simplex Method, Duality of LP problems and Sensitivity analysis

Programming, numerics and optimization

Simulation. Lecture O1 Optimization: Linear Programming. Saeed Bastani April 2016

In this lecture, we ll look at applications of duality to three problems:

1. Sorting (assuming sorting into ascending order) a) BUBBLE SORT

CS6702 GRAPH THEORY AND APPLICATIONS 2 MARKS QUESTIONS AND ANSWERS

Recap, and outline of Lecture 18

Simplex Algorithm in 1 Slide

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

16.410/413 Principles of Autonomy and Decision Making

Conic Duality. yyye

CS 2336 Discrete Mathematics

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

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

An introduction to pplex and the Simplex Method

MATH 890 HOMEWORK 2 DAVID MEREDITH

4.1 Graphical solution of a linear program and standard form

Linear Programming Duality and Algorithms

The Simplex Algorithm

Linear Programming Terminology

CMPSCI611: The Simplex Algorithm Lecture 24

Clustering for Faster Network Simplex Pivots

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

Primal-Dual Methods for Approximation Algorithms

LECTURE 13: SOLUTION METHODS FOR CONSTRAINED OPTIMIZATION. 1. Primal approach 2. Penalty and barrier methods 3. Dual approach 4. Primal-dual approach

MATLAB Solution of Linear Programming Problems

CSE 417T: Introduction to Machine Learning. Lecture 22: The Kernel Trick. Henry Chai 11/15/18

AMS : Combinatorial Optimization Homework Problems - Week V

CSc 545 Lecture topic: The Criss-Cross method of Linear Programming

CSE 417 Network Flows (pt 4) Min Cost Flows

MAS341 Graph Theory 2015 exam solutions

Linear Programming: Introduction

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

Friday 5 June 2015 Morning

Monotone Paths in Geometric Triangulations

Finite Math - J-term Homework. Section Inverse of a Square Matrix

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

Math Models of OR: The Simplex Algorithm: Practical Considerations

Math 311. Trees Name: A Candel CSUN Math

Integer Programming Theory

Improved Gomory Cuts for Primal Cutting Plane Algorithms

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

Course Summary! What have we learned and what are we expected to know?

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

Line Arrangements. Applications

Transcription:

ORF 307: Lecture 14 Linear Programming: Chapter 14: Network Flows: Algorithms Robert J. Vanderbei April 10, 2018 Slides last edited on April 10, 2018 http://www.princeton.edu/ rvdb

Agenda Primal Network Simplex Method Dual Network Simplex Method Two-Phase Network Simplex Method One-Phase Primal-Dual Network Simplex Method Planar Graphs Integrality Theorem 1

Primal Network Simplex Method Used when all primal flows are nonnegative (i.e., primal feasible). Pivot Rules: Entering arc: Pick a nontree arc having a negative (i.e. infeasible) dual slack. Entering arc: (e,d) Leaving arc: (b,a) Leaving arc: Add entering arc to make a cycle. Leaving arc is an arc on the cycle, pointing in the opposite direction to the entering arc, and of all such arcs, it is the one with the smallest primal flow. 2

Primal Method Second Pivot Entering arc: (c,b) Leaving arc: (e,b) Explanation of leaving arc rule: Increase flow on (c,b). Each unit increase produces a unit increase on arcs pointing in the same direction. Each unit increase produces a unit decrease on arcs pointing in the opposite direction. The first to reach zero will be the one pointing in the opposite direction and having the smallest flow among all such arcs. 3

Primal Method Third Pivot Entering arc: (a,d) Leaving arc: (a,f) 4

Primal Method Fourth Pivot Entering arc: (c,a) Leaving arc: (e,d) Optimal! 5

Dual Network Simplex Method Used when all dual slacks are nonnegative (i.e., dual feasible). Pivot Rules: Leaving arc: Pick a tree arc having a negative (i.e. infeasible) primal flow. Leaving arc: (d,c) Entering arc: (a,d) Entering arc: Remove leaving arc to split the spanning tree into two subtrees. Entering arc is an arc reconnecting the spanning tree with an arc in the opposite direction, and, of all such arcs, is the one with the smallest dual slack. 6

Dual Network Simplex Method Second Pivot Leaving arc: (a,g) Entering arc: (g,f) Optimal! 7

Explanation of Entering Arc Rule Recall initial tree solution: Leaving arc: (d,c) Entering arc: (a,d) Remove leaving arc. Need to find a reconnecting arc. Since the leaving arc has a negative flow, there is a net supply at the subtree attached to the head node and a net demand at the subtree attached to the tail node. So, reconnecting with an arc that spans in the same direction does not improve anything. Hence, only consider arcs spanning the two subtrees in the opposite direction. Consider a potential arc reconnecting in the opposite direction, say (a,f). Its dual slack will drop to zero. All other reconnecting arcs pointing in the same direction will drop by the same amount. To maintain nonnegativity of all the others, must pick the one that drops the least. 8

Explanation of Entering Arc Rule Recall initial tree solution: Leaving arc: (d,c) Entering arc: (a,d) Remove leaving arc. Need to find a reconnecting arc. Since the leaving arc has a negative flow, there is a net supply at the subtree attached to the head node and a net demand at the subtree attached to the tail node. So, reconnecting with an arc that spans in the same direction does not improve anything. Hence, only consider arcs spanning the two subtrees in the opposite direction. Consider a potential arc reconnecting in the opposite direction, say (a,f). Its dual slack will drop to zero. All other reconnecting arcs pointing in the same direction will drop by the same amount. To maintain nonnegativity of all the others, must pick the one that drops the least. 9

Two-Phase Network Simplex Method Example. Turn off display of dual slacks. Turn on display of artificial dual slacks. 10

Two-Phase Method First Pivot Use dual network simplex method. Leaving arc: (b,a) Entering arc: (a,d) Primal Feasible! 11

Two-Phase Method Phase II Turn off display of artificial dual slacks. Turn on display of dual slacks. 12

Two-Phase Method Second Pivot Entering arc: (h,c) Leaving arc: (a,c) 13

Two-Phase Method Third Pivot Entering arc: (e,d) Leaving arc: (d,a) Optimal! 14

Online Network Simplex Pivot Tool Click here (or on any displayed network) to try out the online network simplex pivot tool. 15

One-Phase Primal-Dual Method Artificial flows and slacks are multiplied by a parameter µ. In the Figure, 4, 1 represents 4 + 1µ. Question: For which µ values is dictionary optimal? Answer: 7 + µ 0 (a, c) µ 0 (d, f) 13 + µ 0 (a, d) 15 + µ 0 (e, a) 16 + µ 0 (a, h) 4 + µ 0 (e, d) 8 + µ 0 (b, a) 5 + µ 0 (e, h) 10 + µ 0 (b, c) 12 + µ 0 (f, g) 8 + µ 0 (b, g) 2 + µ 0 (g, d) 8 + µ 0 (d, b) 13 + µ 0 (h, c) That is, 13 µ <. Lower bound on µ is generated by arc (h,c). Therefore, (h,c) enters. Arc (a,c) leaves. 16

Second Iteration Range of µ values: 8 µ 13. Leaving arc: (d,b) Entering arc: (e,d) New tree is OPTIMAL! 17

Online Network Simplex Pivot Tool Click here (or on any displayed network) to try out the online network simplex pivot tool. 18

Planar Networks (NOTE: Not Covered) Definition. Network is called planar if can be drawn on a plane without intersecting arcs. a b c Theorem. Every planar network has a geometric dual dual nodes are faces of primal network. f e d Note: Dual node A is node at infinity. Primal spanning tree shown in red. Dual spanning tree shown in blue (don t forget node A). Theorem. A dual pivot on the primal network is exactly a primal pivot on the dual network. 19

Planar Networks (NOTE: Not Covered) Definition. Network is called planar if can be drawn on a plane without intersecting arcs. A a B b D c Theorem. Every planar network has a geometric dual dual nodes are faces of primal network. f C e d Notes: Dual node A is node at infinity. Primal spanning tree shown in red. Dual spanning tree shown in blue (don t forget node A). Theorem. A dual pivot on the primal network is exactly a primal pivot on the dual network. 20

Planar Networks (NOTE: Not Covered) Definition. Network is called planar if can be drawn on a plane without intersecting arcs. A B D Theorem. Every planar network has a geometric dual dual nodes are faces of primal network. C Notes: Dual node A is node at infinity. Primal spanning tree shown in red. Dual spanning tree shown in blue (don t forget node A). Theorem. A dual pivot on the primal network is exactly a primal pivot on the dual network. 21

Integrality Theorem Theorem. Assuming integer supplies, every basic (i.e. tree) solution assigns integer flow to every arc. Corollary. Assuming integer supplies, every basic optimal solution assigns integer flow to every arc. 22