Multi-Commodity Flow

Extends single-commodity network flow to settings where several distinct commodities share the same network and capacities. Introduces per-commodity flow variables, bundle (shared-capacity) constraints, per-commodity flow conservation, and minimum-cost multi-commodity routing in the airline context.

Step 1 of 157%

Tutorial

From One Commodity to Many

In a single-commodity flow problem, we ship one quantity through a network with arc capacities. In airline operations, however, every scheduled flight leg is typically used by many distinct shipments at once: different passenger origin-destination markets, different fleet types, or different freight classes. The multi-commodity flow model captures this directly.

A multi-commodity flow problem on a directed network G=(N,A)G=(N,A) consists of:

  • KK commodities, indexed k=1,2,,Kk=1,2,\dots,K, each with origin sks_k, destination tkt_k, and demand dkd_k.
  • Arc capacities uiju_{ij} for each (i,j)A(i,j)\in A.
  • A decision variable xijk0x^k_{ij}\ge 0 representing the units of commodity kk routed on arc (i,j)(i,j).

Because every commodity competes for the same physical capacity, each arc must obey a bundle (shared-capacity) constraint: the total flow summed across all commodities cannot exceed the arc capacity:

k=1Kxijk    uijfor every arc (i,j)A.\sum_{k=1}^{K} x^{k}_{ij}\;\le\;u_{ij}\qquad\text{for every arc }(i,j)\in A.

For example, suppose the arc (i,j)(i,j) has capacity uij=300u_{ij}=300 seats and three commodities use it with

xij1=120,xij2=90,xij3=70.x^{1}_{ij}=120,\qquad x^{2}_{ij}=90,\qquad x^{3}_{ij}=70.

Then the total flow on (i,j)(i,j) is 120+90+70=280300120+90+70=280\le 300, so the bundle constraint is satisfied.

navigate · Enter open · Esc close · ⌘K/Ctrl K toggle