วันศุกร์ที่ 13 มีนาคม พ.ศ. 2569

Minimum-cost flow

Minimum-cost flow is an optimization problem that finds the cheapest way to send a specific amount of "flow" (material, data, or goods) from source nodes to sink nodes through a network. It minimizes total transportation costs, ensuring flow does not exceed edge capacities.

Key Aspects of Min-Cost Flow:
  • Capacity Constraints: Every edge has a maximum capacity that
     cannot be exceeded.
  • Cost per Unit: Each unit of flow on an edge has a associated cost.
  • Flow Conservation: For every node, flow in must equal flow out, except for supply nodes () and demand nodes ().
  • Goal: Minimize
     (total cost) while satisfying all supply/demand needs.
Common Applications:
  • Logistics & Supply Chain: Shipping goods from factories to consumers at minimum cost.
  • Telecommunications: Routing data packets to reduce latency and maximize bandwidth utilization.
  • Energy Distribution: Transporting electricity or liquids through pipelines.
  • Assignment Problems: Matching tasks to workers efficiently.
Solving Techniques:
The problem is typically solved using variations of the Successive Shortest Path algorithm, which uses Bellman-Ford or Dijkstra's algorithm with potentials to find the cheapest path, often using solvers such as Gurobi or Google OR-Tools.