Multi-Commodity Flow: Problem Definition

Introduces the multi-commodity flow (MCF) problem: a network with shared edge capacities through which several commodities, each with its own source, sink, and demand, must be routed simultaneously. Defines bundle (joint capacity) constraints and per-commodity flow conservation, and uses these to verify feasibility of a proposed multi-commodity flow.

Step 1 of 157%

Tutorial

Introduction

In the single-commodity setting, we route one good through a network. The multi-commodity flow (MCF) problem extends this to settings in which several distinct goods, called commodities, must be routed simultaneously through the same network, sharing edge capacities.

An MCF instance is specified by:

  • A directed graph G=(V,E)G = (V, E).
  • A capacity c(e)0c(e) \geq 0 for each edge eEe \in E.
  • A list of kk commodities. Each commodity i{1,2,,k}i \in \{1, 2, \ldots, k\} is specified by:
    • a source siVs_i \in V,
    • a sink tiVt_i \in V, and
    • a demand di0d_i \geq 0 (the amount of commodity ii that must be shipped from sis_i to tit_i).

A multi-commodity flow is a tuple (f1,f2,,fk),(f_1, f_2, \ldots, f_k), where each fi ⁣:ER0f_i \colon E \to \mathbb{R}_{\geq 0} is a non-negative flow assignment for commodity i.i. The intent of fif_i is to ship did_i units of commodity ii from sis_i to ti.t_i.

For instance, a telecom backbone routing voice traffic between three distinct city pairs has k=3k = 3 commodities, where each commodity corresponds to one source-destination pair and its requested bandwidth.

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