301. Multi-Commodity Network Flow

301.1. Minimum Cost Network Flow (MCNF)

  1. Maximum Flow
  2. Shortest Path

IP LP Relaxation Integer Solution

Network

Path

Path from node 𝑠 to node 𝑡 is the set of arcs:

(𝑠,𝑣1),(𝑣1,𝑣2),(𝑣2,𝑡)

such that 𝑠 and 𝑡 are connected


Cycle: Path whose source and destination are the same node

Simple path: A path that is not a cycle

Acyclic network: Network containing no cycle

Flow: actions of sending items through an edge

Flow size: Number of units sent through an edge

Weight: Property on an edge (e.g., distance, cost per unit, etc.)

Weighted network: network whose edges are Weighted

Capacity: Edge constraint

Capacitated network: network whose edges have capacities

Consider the weighted capacitated network 𝐺=(𝑉,𝐸)

Objective: Satisfy all demand while minimizing cost

LP Formulation

Example

Decision variables:

𝑥𝑖𝑗: Flow size of edge (𝑖,𝑗)

for all (𝑖,𝑗)𝐸


Objective function:

min4𝑥12+3𝑥13+2𝑥23+2𝑥24+3𝑥25+2𝑥34+1𝑥35+2𝑥45+1𝑥53

Capacity Constraints

𝑥1215𝑥1320𝑥2410𝑥258𝑥3412𝑥355𝑥5310

Flow Balancing Constraints

  • Supply node
𝑥12+𝑥13=25
  • Transhipment nodes
𝑥12=𝑥23+𝑥24+𝑥25𝑥13+𝑥23+𝑥53=𝑥34+𝑥35
  • Demand nodes
𝑥24+𝑥34=𝑥45+10𝑥25+𝑥35+𝑥45=𝑥53+15

Complete Formulation

min4𝑥12+3𝑥13+2𝑥23+2𝑥24+3𝑥25+2𝑥34+𝑥35+2𝑥45+4𝑥53𝑠.𝑡.𝑥12+𝑥13=25𝑥12+𝑥23+𝑥24+𝑥25=0𝑥13𝑥23+𝑥34+𝑥35𝑥53=0𝑥24𝑥34+𝑥45=10𝑥25𝑥35𝑥45+𝑥53=15









As long as

are integers, the solution will be an integer solution

The LP relaxation of the IP formulation always gives an integer solution

Total unimodularity gives integer solutions

For a standard form LP min{𝑐𝑇𝑥|𝐴𝑥=𝑏,𝑥0}, if

then an optimal bfs 𝑥 obtained by the simplex method must satisfy 𝑥𝑛

Proof:

𝑥𝐵=𝐴𝐵1𝑏=1det𝐴𝐵𝐴𝐵adj𝑏

Where:

If A is totally unimodular, det(𝐴𝐵) will be either 1 or −1 for any basis 𝐵. 𝑥𝐵 is then an integer vector if 𝑏 is an integer vector.

Sufficient conditions for total unimodularity: For matrix 𝐴, if:

Then 𝐴 is totally unimodular

Example
  • All its elements are 1, 0, −1
  • Each column contains at most two nonzero elements

Constraints:

𝑥12+𝑥13=25𝑥12+𝑥23+𝑥24+𝑥25=0𝑥13𝑥23+𝑥34+𝑥35𝑥53=0𝑥24𝑥34+𝑥45=10𝑥25𝑥35𝑥45+𝑥53=15

For simplex:

𝑥12+𝑥13=25𝑥12+𝑥23+𝑥24+𝑥25=0𝑥13𝑥23+𝑥34+𝑥35𝑥53=0+𝑥24+𝑥34𝑥45=+10+𝑥25+𝑥35+𝑥45𝑥53=+15
  • Rows can be divided into two groups so that for each column two nonzero elements are in the same group if and only if they are different (+ and -)
[
]

301.2. Transportation Problems

A firm owns 𝑛 factories that supply one pruduct to 𝑚 markets

Between factory 𝑖 and market 𝑗 there is a route

How to produce and ship the product to fulfill all demands while minimizing the total cost?

if 𝑖=1𝑛𝑠𝑖=𝑗=1𝑛𝑑𝑗

This is a MCNF problem:

If capacity is greater than demand:

𝑖=1𝑛𝑠𝑖>𝑗=1𝑛𝑑𝑗

If different factories have different unit production costs 𝑐𝑖𝑃

If different markets habe different unit retailing costs 𝑐𝑗𝑅

301.3. Assignment Problems

How to minimize total cost?

Special case of Transportation Problem

What if there are fewer jobs then workers:

𝑖=1𝑛𝑠𝑖<𝑗=1𝑛𝑑𝑗

IP Formulation

301.4. Transhipment Problems

If there are intermediary nodes in the transportation problem it is a transhipment problem

301.5. Maximum Flow Problems

min𝑥𝑡𝑠𝑠.𝑡.(𝑖,𝑘)𝐸𝑥𝑖𝑘(𝑘,𝑗)𝐸𝑥𝑘𝑗=0𝑘𝑉𝑥𝑖𝑗𝑢𝑖𝑗(𝑖,𝑗)𝐸𝑥𝑖𝑗+(𝑖,𝑗)𝐸

Where:

Objective: Maximize number of units sent from 𝑠 to 𝑡 given edge capacities

301.6. Shortest Path Problems

min𝑖𝐼𝑗𝐽𝑑𝑖𝑗𝑥𝑖𝑗𝑠.𝑡.(𝑠,𝑗)𝐸𝑥𝑠𝑗=1(𝑖,𝑡)𝐸𝑥𝑖𝑡=1(𝑖,𝑘)𝐸𝑥𝑖𝑘(𝑘,𝑗)𝐸𝑥𝑘𝑗=0𝑘𝑇𝑥𝑖𝑗{0,1}(𝑖,𝑗)𝐸

Where:

Objective: Get from 𝑠 to 𝑡 while minimizing distance

Out of all outgoing edges from 𝑠, one must be selected:

Out of all ingoing edges to 𝑡, one must be selected:

For all transhipment nodes 𝑇,

Summary

Assignment problems are a special case of Transportation problems where:

Transportation problems are a special case of Transhipment problems where:

Transhipment problems are a special case of MCNF problems where:

Shortest Path problem is a special case of Transhipment problems where:

Maximum Flow problems are a special case of MCNF problems where:

Example
𝐴=[0254000002070000014300000040000001500000070000000]