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

Similar documents
and 6.855J March 6, Maximum Flows 2

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

Final Exam Spring 2003

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

Maximum flow problem CE 377K. March 3, 2015

Mathematics for Decision Making: An Introduction. Lecture 18

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

Incremental Algorithms for the Minimum Cost Flow Problem

Graphs and Network Flows IE411 Lecture 20

Job Management & Network Flows

Lecture 3: Totally Unimodularity and Network Flows

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

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

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

Solving problems on graph algorithms

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

Network Design and Optimization course

CS261: Problem Set #2

Network optimization: An overview

Algorithms for Integer Programming

15.082J & 6.855J & ESD.78J. Shortest Paths 2: Bucket implementations of Dijkstra s Algorithm R-Heaps

SEQUENTIAL AND PARALLEL ALGORITHMS FOR MINIMUM FLOWS

Lecture 18 Solving Shortest Path Problem: Dijkstra s Algorithm. October 23, 2009

ALGORITHMS FOR THE SIMPLE EQUAL FLOW PROBLEM

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

ACO Comprehensive Exam October 12 and 13, Computability, Complexity and Algorithms

LECTURES 3 and 4: Flows and Matchings

Minimum Cost Edge Disjoint Paths

Mathematical and Algorithmic Foundations Linear Programming and Matchings

CSE 417 Network Flows (pt 4) Min Cost Flows

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

Chapter 24. Shortest path problems. Chapter 24. Shortest path problems. 24. Various shortest path problems. Chapter 24. Shortest path problems

CS261: Problem Set #1

COS 423 Lecture 22. Robert E. Tarjan 2011

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

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

Lecture Overview. 2 Shortest s t path. 2.1 The LP. 2.2 The Algorithm. COMPSCI 530: Design and Analysis of Algorithms 11/14/2013

Minimum-Cost Flow Network

Lecture 5 Using Data Structures to Improve Dijkstra s Algorithm. (AM&O Sections and Appendix A)

Final Exam. Jonathan Turner 5/12/2010. CS 542 Advanced Data Structures and Algorithms

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

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

Repetition: Primal Dual for Set Cover

5.4 Pure Minimal Cost Flow

The Shortest Path Problem. The Shortest Path Problem. Mathematical Model. Integer Programming Formulation

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

Matchings in Graphs. Definition 1 Let G = (V, E) be a graph. M E is called as a matching of G if v V we have {e M : v is incident on e E} 1.

Sequential and parallel deficit scaling algorithms for minimum flow in bipartite networks

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

J Linear Programming Algorithms

A COMPUTATIONAL STUDY OF THE CONSTRAINED MAXIMUM FLOW PROBLEM

Solutions for the Exam 6 January 2014

Artificial Intelligence

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

Approximation Algorithms: The Primal-Dual Method. My T. Thai

x ji = s i, i N, (1.1)

Marginal and Sensitivity Analyses

Design and Analysis of Algorithms - - Assessment

Approximation Algorithms

A NEW SIMPLEX TYPE ALGORITHM FOR THE MINIMUM COST NETWORK FLOW PROBLEM

Primal Simplex Algorithm for the Pure Minimal Cost Flow Problem

Algorithms for Data Science

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

Betweness Centrality ENDRIAS KAHSSAY

Math 5490 Network Flows

1. Lecture notes on bipartite matching February 4th,

Algorithm Computation of a Single Source Shortest Path in a Directed Graph. (SSSP algorithm)

Clustering for Faster Network Simplex Pivots

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

Graph Algorithms (part 3 of CSC 282),

3 INTEGER LINEAR PROGRAMMING

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

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

16.1 Maximum Flow Definitions

Approximation Algorithms

Lecture I: Shortest Path Algorithms

Network Flows. 1. Flows deal with network models where edges have capacity constraints. 2. Shortest paths deal with edge costs.

VARIANTS OF THE SIMPLEX METHOD

CSC 373: Algorithm Design and Analysis Lecture 8

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

AM 121: Intro to Optimization Models and Methods Fall 2017

On the Computational Behavior of a Dual Network Exterior Point Simplex Algorithm for the Minimum Cost Network Flow Problem

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

MAXIMUM FLOWS: BASIC IDEAS

A Simpler Generalized Shortest Paths Algorithm

Solution for Homework set 3

Module 10. Network Simplex Method:

Lecture 4. 1 Overview. 2 Preflows. COMPSCI 532: Design and Analysis of Algorithms September 4, 2015

1 Introduction. 2 The Generic Push-Relabel Algorithm. Improvements on the Push-Relabel Method: Excess Scaling. 2.1 Definitions CMSC 29700

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

Primal-Dual Methods for Approximation Algorithms

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

in this web service Cambridge University Press

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

Recitation 13. Minimum Spanning Trees Announcements. SegmentLab has been released, and is due Friday, November 17. It s worth 135 points.

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

Applied Lagrange Duality for Constrained Optimization

A Faster Algorithm for the Inverse Spanning Tree Problem

Part 4. Decomposition Algorithms Dantzig-Wolf Decomposition Algorithm

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

Transcription:

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

Pseudo-Flows A pseudo-flow is a "flow" vector x such that 0 x u. Let e(i) denote the excess (deficit) at node i. The infeasiblity of the pseudo-flow is e(i)>0 e(i). 2

Supplies/Demands, Capacities, and Flows 5-2 10,5 2 4 23 1 30,3 20,20 25,0 20,0 25,13 3 5 20,0 What is e(i) for each node i? What is the infeasibility of the flow? -7-19 3

Optimality Conditions Let π be a vector of node potentials. Let x be a pseudo-flow. For each arc (i,j) G(x), the reduced cost of (i,j) is c π ij = c ij - π i + π j. We say that a pseudo-flow x satisfies the optimality conditions (is dual feasible) if c π ij 0 for each (i,j) G(x). Overview of the algorithm Start with a pseudo-flow x that satisfies the optimality conditions. : At each iteration maintain the optimality conditions, but continually reduce the infeasibility. 4

Maintaining optimality conditions A dual feasible network with excesses/deficits and capacities 5 10-2 Suppose that red 2 4 arcs have a reduced cost of 0 30 25 23 20 Optimality 1 20 conditions are maintained if flow is sent on 20 25 a red path. 3 5-7 -19 5

Sending Flow Along Paths with Reduced Cost of 0 If each arc of P G(x) has a reduced cost of 0, then sending flow along P maintains the optimality conditions. To reduce infeasibility, send flow from an excess node to a deficit node. Next: how to ensure that there is a path whose reduced cost is 0. 6

Find a shortest path node from node i, and update potentials. 2 4 7 0 5 The 2 1 1 6 0 0 4 2 3 5 current node potentials shortest path tree is marked in bold and blue. 0 0 7

Update the Potentials 0 1 7 0 0 6-7 4 3-8 To obtain new 2 4 node potentials, subtract the shortest path 5 0 distances from 6 2 1 the old potentials. 2 3 5 0-6 -8 The shortest path tree now has 0 reduced cost arcs. 8

The Successive Shortest Path Algorithm begin find an initial dual feasible pseudo-flow (x, π) {More on this later} while there is a node with positive excess do begin S = {i : e(i) > 0}; T = {j : e(j) < 0}; select a node s S and a node t T such that there is a path from s to t; determine shortest path distances d(j) from node s to all other nodes in G(x) with respect c π ; update π = π -d ; send flow along a 0-reduced cost path from s to t; update the residual network and S and T; end The SSP Algorithm end 9

Finding an Initial Dual Feasible Solution Case 1. All original costs are non-negative. Then take x = 0 and π = 0. In this case, the reduced costs are the original costs. Case 2. All arcs have a finite capacity. Set π = 0 and choose x as follows: Case 2a. Arc (i,j) has a non-negative cost. Then let x ij = 0 i 7 j Case 2b. Arc (i,j) has a negative cost. Then let x ij = u ij. i i -7 7 j j Arc in G(x) after saturating (i,j) 10

Analysis of the Successive Shortest Path Algorithm Each augmentation reduces the infeasibility by at least 1. What is a bound on the initial infeasibility? The time per augmentation is the time to run Dijkstra s algorithm (or any shortest path algorithm with non-negative distances.) 11

The Capacity Scaling Algorithm It s like the shortest augmenting path algorithm, except that we try to send flow along paths with large capacity from nodes with large excess to nodes with large deficit. In a -scaling phase, each augmentation will send at least units of flow. Initially is very large; when no augmentations of size exist, then := /2. 12

The Capacity Scaling Algorithm Initially, choose to be the largest power of 2 so that there is a path of capacity from a node with excess to a node with excess -. Initialization of the -scaling phase: saturate each arc of G(x) with capacity with negative reduced cost. Optimality conditions are maintained for arcs with capacity. 13

Major subroutine G(x, ) = G(x) restricted to arcs (i,j) with r ij S( ) : = {i N : e(i) }; T( ) : = {i N : e(i) }; Subroutine Augmentation(s,t, ). conditions: there is a node s S( ), a node t T( ), and a path in G(x, ) from s to t begin determine shortest path distances d(. ) from node s to all other nodes in G(x, ) with respect to the reduced costs c π ; update π : = π - d; augment units of flow along a shortest path from s to t in G(x, ); update x, S, T, and G(x, ); end; 14

Algorithm capacity scaling; begin initialize with a dual feasible pseudo-flow (x,π); initialize and G(x); while 1 begin { -scaling phase} for every arc (i, j) in the residual network G(x) if r ij and c ij < 0 then send r ij unit of flow along (i,j); while there is a node s S( ), a node t T( ), and a path in G(x, ) from s to t do Augmentation(s, t, ) : = /2; end; end; Capacity Scaling 15

Augmentations Are Per Scaling Phase Assume: there is a large capacity path from node 1 to each node and from each node to node 1. At the end of the -scaling phase: a. There is no node i with excess e(i), or b. There is no node j with excess e(i) -. And each arc in G(x, ) has a non-negative reduced cost. The infeasibility at the end of the -scaling phase is at most n. The infeasibility at the beginning of the -scaling phase is O(m ). The number of augmentations per scaling phase is O(m). 16

Consider what happens at the end of the = 32 scaling phase 2 4 6 1 3 5 7 Suppose r 67 = 28 c π 67 = -905 Either there is no node with e(i) 32, or else there is no node with e(i) -32. The infeasibility is 32n at the end of the phase All arcs in G(x, ) have non-negative reduced cost. 17

Saturating arcs at the beginning of the = 16 scaling phase 2 4 6 +28 1 3 5 7-28 Then r 76 = 28 c π 76 = 905 Saturate arc (6,7) at the beginning of the 16-scaling phase. e(6) increases by 28; e(7) decreases by 28; The infeasibility may increase by up to per saturation. The infeasibility at the beginning of the -scaling phase is at most n + 2m = O(m ). 18

Summary The successive shortest path algorithm and the capacity scaling algorithm both rely on sending flow in paths that have a reduced cost of 0. Both algorithms maintain dual feasibility conditions. The first in G(x), the second in G(x, ). The number of augmentations per scaling phase of the capacity scaling algorithm is O(m). Let B* denote the largest excess for the initial dual feasible pseudo-flow. The number of scaling phases is O(log B*). B* < max b(j) + n max (u ij ). 19

Some Final Remarks The capacity scaling algorithm can be made strongly polynomial with some modest changes. The resulting algorithm has O(m log m) augmentations, even though the number of scaling phases can be as large as O(m log m). The only way to have lots of scaling phases is to have very few augmentations per scaling phase. This comes out of the analysis, which is included in the book. Next lecture: Network simplex algorithm. 20