ネットワークフロー問題

ネットワークフロー問題(ネットワークフローもんだい、: network flow problems)とは、組合せ最適化の(グラフの辺上に容量の値が課せられた)フローネットワークにおいて各頂点において入るフローと出るフローが同じ量でかつすべての辺において流れるフローがその辺の容量以下となるようなフローを求める問題である[1]

ネットワークフロー問題における特筆すべき問題としては以下のものが挙げられる:

  • 最大流問題:フローネットワークにおいて始点となる頂点から終点となる頂点へ向けてフローを流すとき、最大のフローとなるものを求める問題である[1]:166-206
  • 最小費用流問題:辺に単位当たりのフローを流すのにかかる費用が与えられたフローネットワークにおいて始点から終点へ向けて決められた量のフローを流すときに、最小の費用で流すものを求める問題である[1]:294-356
  • 多品種流問題英語版:フローネットワークにおいてそれぞれ相異なる複数のフローを同時に流すときに最小の費用となるものを求める問題である[1]:649-694

最大流最小カット定理では最大流問題における最大流の値がフローネットワークの頂点のに分割を考え、そらを結ぶ辺の重みの和が最小となる頂点分割を求める最小カット問題の重みの和の値と一致することが知られている。また、近似最大流最小カット定理英語版は、最大流最小カット定理を多品種流問題に拡張した定理である。無向フローネットワークでのゴモリー・フー木は任意の二つの頂点における最小カットを得ることができる。

フローを構築的に求めるアルゴリズムとしては以下のものが知られている:

これらに挙げられる問題以外を解く方法としては線形計画問題として定式化を与えることが多くの場合で可能であり、それにより線形計画問題を解く最適化ソルバにより解くことが可能である。

脚注

[編集]
  1. ^ a b c d e f g Ahuja, Ravindra K.; Magnanti, Thomas L.; Orlin, James B. (1993). Network Flows: Theory, Algorithms, and Applications. Prentice Hall 

関連項目

[編集]