Lecture 4 – Network Flow Programming Topics Terminology and Notation Network diagrams Generic problems (TP, AP, SPP, STP, MF) LP formulations Finding solutions.

Slides:



Advertisements
Similar presentations
Outline LP formulation of minimal cost flow problem
Advertisements

1 Material to Cover  relationship between different types of models  incorrect to round real to integer variables  logical relationship: site selection.
1 Lecture 2 Shortest-Path Problems Assignment Problems Transportation Problems.
BU BU Decision Models Networks 1 Networks Models Summer 2013.
Network Flows. 2 Ardavan Asef-Vaziri June-2013Transportation Problem and Related Topics Table of Contents Chapter 6 (Network Optimization Problems) Minimum-Cost.
Transportation Problem (TP) and Assignment Problem (AP)
1 1 Slides by John Loucks St. Edward’s University Modifications by A. Asef-Vaziri.
Chapter 10, Part A Distribution and Network Models
1 1 Slide © 2011 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole.
Introduction to Algorithms
1 Network Models Chapter Introduction A network problem is one that can be represented by... Nodes Arcs Function on Arcs.
1Transportation ModelsLesson 4 LECTURE FOUR Transportation Models.
Chapter 6 Maximum Flow Problems Flows and Cuts Augmenting Path Algorithm.
Basic Feasible Solutions: Recap MS&E 211. WILL FOLLOW A CELEBRATED INTELLECTUAL TEACHING TRADITION.
1 1 Slide © 2006 Thomson South-Western. All Rights Reserved. Slides prepared by JOHN LOUCKS St. Edward’s University.
1 Maximum Flow Networks Suppose G = (V, E) is a directed network. Each edge (i,j) in E has an associated ‘capacity’ u ij. Goal: Determine the maximum amount.
Network Optimization Models: Maximum Flow Problems In this handout: The problem statement Solving by linear programming Augmenting path algorithm.
Computer Algorithms Integer Programming ECE 665 Professor Maciej Ciesielski By DFG.
Linear Programming Applications
Chapter 7 Transportation, Assignment & Transshipment Problems Part 1 ISE204/IE252 Prof. Dr. Arslan M. ÖRNEK.
1 Ford-Fulkerson method Ford-Fulkerson(G) f = 0 while( 9 simple path p from s to t in G f ) f := f + f p output f Runs in time O(|f max | |E|) where f.
1 The Min Cost Flow Problem. 2 The Min Cost Flow problem We want to talk about multi-source, multi-sink flows than just “flows from s to t”. We want to.
Max-flow/min-cut theorem Theorem: For each network with one source and one sink, the maximum flow from the source to the destination is equal to the minimal.
1 Lecture 4 Maximal Flow Problems Set Covering Problems.
15.082J and 6.855J and ESD.78J November 2, 2010 Network Flow Duality and Applications of Network Flows.
Table 1. Shipping costs, Supply, and Demand for Powerco Example
Lecture 4 – Network Flow Programming
1 1 Slide © 2008 Thomson South-Western. All Rights Reserved Slides by JOHN LOUCKS St. Edward’s University.
1 1 Slide © 2009 South-Western, a part of Cengage Learning Slides by John Loucks St. Edward’s University.
1 1 Slide © 2011 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or posted to a publicly accessible website, in whole.
Network Flow Programming Models
Chapter 5 Network Models. Thomson/South-Western 2007 © South-Western/Cengage Learning © 2012 Practical Management Science, 4e Winston/Albright Introduction.
Network Models (2) Tran Van Hoai Faculty of Computer Science & Engineering HCMC University of Technology Tran Van Hoai.
ENGM 732 Network Flow Programming Network Flow Models.
Section 2.9 Maximum Flow Problems Minimum Cost Network Flows Shortest Path Problems.
Modeling and Evaluation with Graph Mohammad Khalily Dermany Islamic Azad University, Khomein branch.
1 Minimum Cost Flows Goal: Minimize costs to meet all demands in a network subject to capacities (combines elements of both shortest path and max flow.
Chapter 7 Transportation, Assignment & Transshipment Problems
Minimum Cost Flows. 2 The Minimum Cost Flow Problem u ij = capacity of arc (i,j). c ij = unit cost of shipping flow from node i to node j on (i,j). x.
Chapter 7 Transportation, Assignment, and Transshipment Problems
EMIS 8373: Integer Programming “Easy” Integer Programming Problems: Network Flow Problems updated 11 February 2007.
Network Optimization Problems
1 1 Slide © 2009 South-Western, a part of Cengage Learning Slides by John Loucks St. Edward’s University.
DISTRIBUTION AND NETWORK MODELS (1/2)
1 1 © 2003 Thomson  /South-Western Slide Slides Prepared by JOHN S. LOUCKS St. Edward’s University.
1 Network Models Transportation Problem (TP) Distributing any commodity from any group of supply centers, called sources, to any group of receiving.
Maximum Flow Problem (Thanks to Jim Orlin & MIT OCW)
EMIS 8374 Network Flow Models updated 29 January 2008.
Network Optimization Network optimization models: Special cases of linear programming models Important to identify problems that can be modeled as networks.
Lecture 5 – Integration of Network Flow Programming Models Topics Min-cost flow problem (general model) Mathematical formulation and problem characteristics.
15.082J and 6.855J March 4, 2003 Introduction to Maximum Flows.
1 1 Slide © 2008 Thomson South-Western. All Rights Reserved Slides by JOHN LOUCKS St. Edward’s University.
8/14/04J. Bard and J. W. Barnes Operations Research Models and Methods Copyright All rights reserved Lecture 5 – Integration of Network Flow Programming.
Network Flow Problems Example of Network Flow problems:
Chapter 8 Network Models to accompany Operations Research: Applications and Algorithms 4th edition by Wayne L. Winston Copyright (c) 2004 Brooks/Cole,
1 1 Slide © 2008 Thomson South-Western. All Rights Reserved © 2011 Cengage Learning. All Rights Reserved. May not be scanned, copied or duplicated, or.
Problems in Combinatorial Optimization. Linear Programming.
1 Maximum Flows CONTENTS Introduction to Maximum Flows (Section 6.1) Introduction to Minimum Cuts (Section 6.1) Applications of Maximum Flows (Section.
Tuesday, March 19 The Network Simplex Method for Solving the Minimum Cost Flow Problem Handouts: Lecture Notes Warning: there is a lot to the network.
Minimum Cost Flow Algorithms and Networks. Algorithms and Networks: Minimum Cost Flow2 This lecture The minimum cost flow problem: statement and applications.
Lecture 5 – Integration of Network Flow Programming Models
Lecture 5 – Integration of Network Flow Programming Models
Routing and Logistics with TransCAD
Transportation, Assignment and Network Models
Introduction Basic formulations Applications
TRLabs & University of Alberta © Wayne D. Grover 2002, 2003, 2004
Chapter 6 Network Flow Models.
Flow Feasibility Problems
Lecture 12 Network Models.
Presentation transcript:

Lecture 4 – Network Flow Programming Topics Terminology and Notation Network diagrams Generic problems (TP, AP, SPP, STP, MF) LP formulations Finding solutions with Excel add-in

Network Optimization Network flow programming (NFP) is a special case of linear programming Important to identify problems that can be modeled as networks because: (1)Network representations make optimization models easier to visualize and explain (2)Very efficient algorithms are available

Example of (Distribution) Network

Terminology Nodes and arcs Arc flow (variables) Upper and lower bounds Cost Gains (and losses) External flow (supply an demand) Optimal flow

Network Flow Problems

Transportation Problem We wish to ship goods (a single commodity) from m warehouses to n destinations at minimum cost. Warehouse i has s i units available i = 1,…, m and destination j has a demand of d j, j = 1,…, n. Goal: Ship the goods from warehouses to destinations at minimum cost. Example: WarehouseSupplyMarketsDemand San Francisco 350 New York 325 Los Angeles 600 Chicago 300 Austin 275 Unit Shipping Costs From/ToNY Chicago Austin SF LA

Total supply = 950, total demand = 900 Transportation problem is defined on a bipartite network Arcs only go from supply nodes to destination nodes; to handle excess supply we can create a dummy destination with a demand of 50 and 0 shipment cost The min-cost flow network for this transportation problem is given by SF LA NY CHI AUS [350] [600] [-275] [-300] [-325] (2.5) (1.7) (1.8) (0) (M)(M) (1.8) (1.4) DUM [-50] (0)

 Costs on arcs to dummy destination = 0 (In some settings it would be necessary to include a nonzero warehousing cost.)  The objective coefficient on the LA  NY arc is M. This denotes a large value and effectively prohibits use of this arc (could eliminate arc).  We are assured of integer solutions because technological matrix A is totally unimodular. (important in some applications) Modeling Issues  Decision variables: x ij = amount shipped from warehouse i to destination j

The LP formulation of the transportation problem with m sources and n destinations is given by: Min m  i =1 n  j =1 c ij x ij s.t. n  j =1 x ij  s i, i = 1,…, m m  i =1 x ij = d j, j = 1,…, n 0  x ij  u ij  i = 1,…, m, j = 1,…, n

Solution to Transportation Problem

Assignment Problem Special case of transportation problem: same number of sources and destinations all supplies and demands = 1 Example 4 ships to transport 4 loads from single port to 4 separate ports; Each ship will carry exactly 1 load; Associated shipping costs as shown. Port/load 1234 Ship

Problem: Find a one-to-one matching between ships and loads in such a way as to minimize the total shipping cost. Decision variables are x ij = { 1, if ship i goes to port j 0, otherwise [-1] [1] (5) (6) (4) (7) (5) (6) (7) (6) (7) (5) (7) (6) (4) (5)

Note that from a feasibility perspective it could be possible to have x 11 = x 12 = x 13 = x 14 = ¼. But we know that a pure network flow problem guarantees that the simplex method will yield an integer solution. In this case we know that each x ij will either take on 0 or 1. If a particular ship cannot carry a particular load then we can use M as in the transportation problem. Other types of assignments: a.workers to jobs b.machines to tasks c.swimmers to events (in a relay) d.students to internships Characteristics of Assignment Problem

Shortest Path Problem Given a network with “distances” on the arcs, our goal is to find the shortest path from the origin to the destination. These distances might be length, time, cost, etc, and the values can be positive or negative. (A negative c ij can arise if we earn revenue by traversing an arc.) The shortest path problem may be formulated as a special case of the pure min-cost flow problem.

Example [1] [-1] (1) (3) (6) (4) (2) (1) (7) (c ij ) = cost/length We wish to find the shortest path from node 1 to node 6. To do so we place one unit of supply at node 1 and push it through the network to node 6 where there is one unit of demand. All other nodes in the network have external flows of zero.  Excel SP SolutionExcel SP Solution  SP Tree SolutionSP Tree Solution

Network Notation A = set of Arcs, N = set of nodes Forward Star for node i : FS( i ) = { ( i, j ) : ( i, j )  A } Reverse Star for node i : RS( i ) = { ( j, i ) : ( j, i )  A } i i FS( i ) RS( i )

In general, if node s is the source node and node t is the termination node then the shortest path problem may be written as follows. Min  (i, j )A(i, j )A s.t.    = ( i, j )  FS( i )( j, i )  RS( i ) x ij  0,  ( i, j )  A 1, i = s – 1, i = t 0, i  N \ {s, t} { Shortest Path Model c ij x ij x ij x ji

x  12 = 1 x  24 = 1 x  46 = 1 x  ij = 0 for all other arcs Total length (objective value) = 9 Shortest Path Problem Solution  SP ExampleSP Example

General Solution to Shortest Path Problem In general, x*x* ij = { 1, if ( i, j ) is on the shortest path 0, otherwise As in the assignment problem, the integer nature of the solution is key to this shortest path formulation. Examples of shortest path problems: a. airline scheduling b. equipment replacement c. routing in telecommunications networks d. reliability problems e. traffic routing

It is sometimes useful to find the shortest path from node s to all other nodes in the network. We could do this by solving a collection of shortest path problems, but it is simpler to use a single min- cost flow formulation: Min  (i,j )A(i,j )A s.t.    x ji = ( i, j )  RS( i ) ( j, i )  RS( i ) x ij  ( i, j )  A where m = | N | = number of nodes { m – 1, i = s –1, i  N \ {s} x ij c ij x ij Shortest Path Tree Problem

In our example, the shortest path tree is Each node is labeled with its shortest-path distance to node  SP ExampleSP Example (4) (3) (2) (1) (6)

Application: Network Reliability Consider a communications network in which the probability that arc ( i, j ) is operative is p ij. If the arcs fail independently then the probability that all arcs on a path from the origin to the termination node are “up” is the product of the individual arc probabilities. Routing a message/call from origin to destination so that the probability it arrives is maximized is equivalent to picking a path so that we Max  p ij ( i, j )  Path where “Path” is the set of feasible paths through the network.

We can turn a “Max” into a “Min” via Min  ( i, j )  Path – log (p ij ) Max log (  p ij ) = Max  log ( p ij ) ( i, j )  Path Equivalent Formulation Now we must introduce network variables and constraints.

Another Application: Knapsack Problem A hiker must choose among n items to place in a knapsack for a trip. Each item has a weight of w i (in pounds) and value of u i. The goal is to maximize the total value of the items in the knapsack subject to the total weight of the knapsack not exceeding W pounds. Problem can be formulated as a shortest (or longest) path problem. Example: i 1234 uiui wiwi Four items with their weights and values.

Our knapsack has a weight limit of W = 6 Stage 0 Stage 1Stage 2Stage 3 Stage 4 Stage 5 Network for Knapsack Example

The nodes have the form (stage, state) where stage corresponds to the item # just selected or rejected (except for artificial stages 0 and 5) state corresponds to the weight capacity consumed so far. We solve the knapsack problem by finding the longest path from s to t. (This can be converted into a shortest path problem by multiplying all costs by –1). This is an example of a dynamic programming problem. Notation for Knapsack Network

Maximum Flow Problem In the maximum flow problem our goal is to send the largest amount of flow possible from a specified destination node subject to arc capacities. This is a pure network flow problem (i.e., g ij = 1) in which all the (real) arc costs are zero ( c ij = 0) and at least some of the arc capacities are finite. Example (6) (1) (2) (4) (2) (1) (3) (7) ( u ij ) = arc capacity TheoremTheorem 

[x ij ] (u ij ) flow capacity Maximum flow = 5 Our goal is to send as much flow as possible from node 1 to node 6. (This is the same network we used in the shortest path discussion but now the arc labels represent capacities not costs.) [2] (2) [3] (7) [2] (3) [2] (2) [1] (1) [3] (4) [2] (6) Solution Max Flow Example  MF Excel SolutionMF Excel Solution [5] (  )

Examples of cuts in the network above are: S1S1 = {1} T1T1 = {2,3,4,5,6} = {1,2,3} T2T2 = {4,5,6} = {1,3,5} T3T3 = {2,4,6} The value of a cut V(S,T) is the sum of all the arc capacities that have their tails in S and their heads in T. V(S 1,T 1 ) = 10 V(S 3,T 3 ) = 12 Cut: A partition of the nodes into two sets S and T. The origin node must be in S and the destination node must be in T. S2S2 S3S3 V(S 2,T 2 ) = 5 Min-Cut Problem  NetworkNetwork

Max-Flow Min-Cut Theorem The value of the maximum flow is equal to the value of the minimum cut. In our problem, S = {1,2,3} / T = {4,5,6} is a minimum cut. The arcs that go from S to T are (2,4), (2,5) and (3,5). Note that the flow on each of these arcs is at its capacity. As such, they may be viewed as the bottlenecks of the system.

Max Flow Problem Formulation There are several different linear programming formulations. The one we will use is based on the idea of a “circulation.” We suppose an artificial return arc from the destination to the origin with u ts = +  and c ts = 1. External flows (supplies and demands) are zero at all nodes. s t

Max Flow LP Model Max x ts s.t.  x ij   x ji = 0,   i  N ( i, j )  FS( i ) ( j, i )  RS( i ) 0  x ij  u ij   ( i, j )  A Identify minimum cut from sensitivity report: (i)If the reduced cost for x ij has value 1 then arc ( i, j ) has its tail ( i ) in S and its head ( j ) in T. (ii)Reduced costs are the shadow prices on the simple bound constraint x ij  u ij. (iii)Value of another unit of capacity is 1 or 0 depending on whether or not the arc is part of the bottleneck Note that the sum of the arc capacities with reduced costs of 1 equals the max flow value.

Max Flow Problem Solution  MF ExampleMF Example

Sensitivity Report for Max Flow Problem Adjustable Cells FinalReducedObjectiveAllowable CellNameValueCostCoefficientIncreaseDecrease $E$9Arc1 Flow3001E+300 $E$10Arc2 Flow20001 $E$11Arc3 Flow00001E+30 $E$12Arc4 Flow2101E+301 $E$13Arc5 Flow1101E+301 $E$14Arc6 Flow2101E+301 $E$15Arc7 Flow00001E+30 $E$16Arc8 Flow20001 $E$17Arc9 Flow3001E+300 $E$18Arc10 Flow5011E+301 Constraints FinalShadowConstraintAllowable CellNameValuePriceR.H. SideIncreaseDecrease $N$9Node1 Balance00003 $N$10Node2 Balance0001E+300 $N$11Node3 Balance00003 $N$12Node4 Balance01002 $N$13Node5 Balance01003 $N$14Node6 Balance01003

What You Should Know About Network Flow Programming How to formulate a network flow problem. How to distinguish between the different network-type problems. How to construct a network diagram for a particular program. How to find a solution to a problem using the network Excel add-in.