Transshipment Problem

Work in progress. This note is still being written and incomplete.

An extension of the transportation problem where a shipment may pass through an intermediate node before reaching its final destination.

A transshipment problem is solved by converting it into an equivalent transportation problem with a buffer supply and demand added at every node.

Transshipment Point

A node that a shipment may pass through on its way to a final destination.

May be a source or destination handling passthrough shipments, or a dedicated warehouse.

Conversion

Let mm be the number of pure sources with supply aia_i, nn be the number of pure destinations with demand bjb_j, pp be the number of dedicated warehouses with no supply or demand of their own, and cijc_{ij} be the shipping cost between any 2 nodes. The problem must be balanced, ∑iai=∑jbj\sum_i a_i = \sum_j b_j.

Buffer Quantity

Sum of all pure source supplies. T=∑iaiT = \sum_i a_i.

TT is added to both supply and demand of each node to calculate the buffer supply and demand.

Adding both buffer supply and buffer demand to the same node lets it hold up to TT units in transit without a net shipment, which is what makes it act as a transshipment point.

Solution

Build an augmented transportation table over all N=m+n+pN=m+n+p nodes, treating every node as both a supply row and a demand column.

  • Each pure source ii gets supply ai+Ta_i + T (its own supply plus buffer supply) and demand TT (buffer demand only).
  • Each pure destination jj gets supply TT (buffer supply only) and demand bj+Tb_j + T (its own demand plus buffer demand).
  • Each dedicated warehouse gets supply TT and demand TT (buffer supply and buffer demand only, no supply or demand of its own).

Let xijx_{ij} be the quantity shipped from node ii to node jj, over all NN nodes on both sides.

minimize z=∑i=1N∑j=1Ncijxij\text{minimize } z = \sum_{i=1}^{N} \sum_{j=1}^{N} c_{ij} x_{ij}

Subject to:

  • ∑j=1Nxij=(supply of i)\sum_{j=1}^{N} x_{ij} = (\text{supply of } i) for every node ii
  • ∑i=1Nxij=(demand of j)\sum_{i=1}^{N} x_{ij} = (\text{demand of } j) for every node jj
  • xij≥0x_{ij} \ge 0
  • cii=0c_{ii} = 0 for every node ii, since a node shipping to itself carries no real transfer

Solving the augmented table gives xii=T−(actual through-flow at i)x_{ii} = T - (\text{actual through-flow at } i) on the diagonal. Discard the diagonal values. The remaining xijx_{ij}, i≠ji \ne j, are the actual shipment quantities in the original network.

Written by September 28, 2026 2 min read
Was this helpful?