University of Southern California s23

ISE 330: Lecture 15 Notes http://www-classes.usc.edu/engr/ise/330

University of Southern California
Daniel J. Epstein Department of Industrial and Systems Engineering
ISE 330: Introduction to Operations Research
Lecture 15 Outline: October 30, 2003
Instructor: Elaine Chew

Read: H & L chapter 9.6 – 9.7

Minimum Cost Flow Problem

The Minimum Cost Flow Problem:

1.  Considers a directed and connected network.

2.  Nodes: At least one node is a supply node. At least one other node is a demand node. Remaining nodes are transshipment nodes.

3.  Arcs are directed and have capacities. Cost of flow through each arc is proportional to the amount of that flow. Cost per unit is known.

4.  A feasible solution exists: the network has sufficient capacity to enable all the flow generated at the supply nodes to reach all the demand nodes.

5.  Objective: minimize the total cost of sending the available supply through the network to satisfy the given demand.

Applications:

n  Operation of a company’s distribution network: devising a plan for shipping goods from its isources to intermediate storage facilities and then on to the customers.

Linear Programming Formulation:

xij = flow through arc (i,j)

cij = cost per unit flow through arc (i,j)

uij = arc capacity for arc (i,j)

bi = net flow generated at node i

What can you say about bi if node i is a supply / demand / supply node?

Feasible Solutions Property: A necessary condition for a minimum cost flow problem to have any feasible solutions is that the total flow being generated at the supply nodes equals the total flow being absorbed at the demand nodes …

Integer Solutions Property: For minimum cost flow problems where every bi and uij have integer values, all the basic variables in every basic feasible solution (including the optimal one) also have integer values.

Example

What is the LP for this graph?

Shortest Path Problem as a MCF problem:

Maximum Flow Problem as a MCF problem:


The Network Simplex Method

Introducing the upper bound technique to deal efficiently with upper bound constraints, xij ≤ uij.

Whenever a nonbasic variable is at its upper bound, xij = uij, the slack variable

yij = uij – xij = 0 becomes the nonbasic variable.

Original network…

Adjusted network when xAB = uAB = 10.

Network representation of BFS: Every BFS has (n – 1) basic variables, where each basic variable xij represents the flow through arc i ® j. The (n – 1) arcs are referred to as basic arcs. Similarly, the arcs corresponding to the nonbasic variables xij = 0 or yij = 0 are called nonbasic arcs.

Note: Any complete set of (n – 1) basic arcs forms a spanning tree.

How to obtain as spanning tree solution:

1. For arcs not in the spanning tree, set xij = 0 or yij = 0.

2. For arcs in the spanning tree, solve for xij or yij in the system of linear equations derived from the node constraints.

A feasible spanning tree is a spanning tree whose solution from the node constraints also satisfies all the other constraints ( 0 £ xij £ uij or 0 £ yij £ uij).

Fundamental Theorem for the network simplex method: Basic solutions are spanning tree solutions and that BFS are solutions for feasible spanning trees. The converse is also true.

Example

Initial BFS:

Goal: To select the incoming variable that improves Z at the fastest rate…

What happens when arc AC is added to the basic set…

What happens when arc BA is added to the basic set?

What happens when arc ED is added to the basic set?

To select the leaving basic variable, find the variable that first reaches its lower or upper bound as q increases.

Iteration 2:

Nonbasic Arc Cycle Created DZ when q = 1

Iteration 3:

Nonbasic Arc Cycle Created DZ when q = 1

Homework 7: 9.3-1, 9.6-3, 9.7-4 Due in class

November 6, 2003

E.C. 2