Linear Programming Network Flows Applications - Essay - Mathematics, Essays (high school) of Mathematics

Equal number of supply and demand nodes.  Every supply node has a supply of one.  Every demand node has a demand for one.  Each supply node is connected to every demand node (called a complete bipartite graph).  Solution is required to be all integers.

Typology: Essays (high school)

2011/2012

Uploaded on 03/05/2012

tylar
tylar 🇺🇸

4.8

(19)

238 documents

1 / 11

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Linear Programming: Chapter 14
Network Flows: Applications
Robert J. Vanderbei
October 22, 2007
Operations Research and Financial Engineering
Princeton University
Princeton, NJ 08544
http://www.princeton.edu/rvdb
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Linear Programming Network Flows Applications - Essay - Mathematics and more Essays (high school) Mathematics in PDF only on Docsity!

Linear Programming: Chapter 14

Network Flows: Applications

Robert J. Vanderbei

October 22, 2007

Operations Research and Financial Engineering Princeton University Princeton, NJ 08544 http://www.princeton.edu/∼rvdb

Transportation Problem

Each node is one of two types:

  • source (supply) node
  • destination (demand) node Every arc has:
  • its tail at a supply node
  • its head at a demand node Such a graph is called bipartite.

Tree Solution

Leaving arc: (a,b) Entering arc: (i,h) Etc., etc., etc.

Assignment Problem

Transportation problem in which

  • Equal number of supply and demand nodes.
  • Every supply node has a supply of one.
  • Every demand node has a demand for one.
  • Each supply node is connected to every demand node (called a complete bipartite graph).
  • Solution is required to be all integers.

Notes:

  • These problems are very common.
  • They are notoriously degenerate ( 2 n constraints but only n nonzero flows).

Network Flow Formulation

  • Put bi =

1 i 6 = r −(m − 1) i = r

  • Solve min-cost network flow problem.
  • Shortest path from i to r: follow tree arcs.
  • Length (of time) of shortest path = y r∗ − y i∗.

Notation Used in Following Algorithms

  • Put vi = min. time from i to r
    • Called label in networks literature.
    • Called value in dynamic programming literature.

Label Correcting Algorithm

Dynamic Programming

  • Bellman’s Equation = Principle of Dynamic Programming

vr = 0 (1) vi = min{cij + vj : (i, j) ∈ A} (2) T = {(i, j) ∈ A : vi = cij + vj } – not necessarily a tree (3)

  • Method of Successive Approximation
    • Initialize: v i(0) =

0 i = r ∞ i 6 = r

  • Iterate: v i( k+1) =

0 i = r min{cij + v( jk ) : (i, j) ∈ A} i 6 = r

  • Stop: when a pass leaves vi’s unchanged.

Label Setting Algorithm

Dijkstra’s Algorithm

Notations:

  • F = set of finished nodes (labels are set).
  • hi, i ∈ N = next node to visit after i (heading).

Dijkstra’s Algorithm:

  • Initialize: F = ∅, vj =

0 j = r ∞ j 6 = r

  • Iterate:
    • While unfinished nodes remain, select the one with smallest vk. Call it j. Add it to set of finished nodes F.
    • For each unfinished node i having an arc connecting it to j: ∗ If cij + vj < vi, then set

vi = cij + vj (4) hi = j (5)

Dijkstra’s Algorithm—Complexity

  • Each iteration finishes one node: m iterations
  • Work per iteration:
    • Selecting an unfinished node: ∗ Naively, m compar- isons. ∗ Using appropriate data structures, a heap, log m compar- isons.
    • Update adjacent arcs.
  • Overall: m log m + n.