Cirkulationsproblem

Cirkulationsproblemet och dess varianter är en generalisering av nätverksflödesproblem , med den extra begränsningen av en nedre gräns för kantflöden, och med flödeskonservering som också krävs för källan och sänkan (dvs. det finns inga speciella noder). I varianter av problemet finns det flera varor som strömmar genom nätverket och en kostnad på flödet.

Definition

Givet flödesnätverk med:

, nedre gräns för flöde från nod till nod ,
, övre gräns för flöde från nod till nod ,
, kostnad för en flödesenhet på

och begränsningarna:

,
(flöde kan inte visas eller försvinna i noder).

Att hitta en flödesuppgift som uppfyller begränsningarna ger en lösning på det givna cirkulationsproblemet.

I den lägsta kostnadsvarianten av problemet, minimera

Cirkulation av flera varor

I ett cirkulationsproblem med flera varor måste du också hålla reda på flödet av de enskilda varorna:

Flödet av varu från till .
Det totala flödet.

Det finns också en lägre gräns för varje flöde av råvara.

Bevarandebegränsningen måste upprätthållas individuellt för varorna:

Lösning

För cirkulationsproblemet har många polynomalgoritmer utvecklats (t.ex. Edmonds–Karp algorithm , 1972; Tarjan 1987-1988). Tardos hittade den första starkt polynomiska algoritmen.

För fallet med flera varor är problemet NP-komplett för heltalsflöden. För bråkflöden är det lösbart i polynomtid , då man kan formulera problemet som ett linjärt program .

Relaterade problem

Nedan ges några problem och hur man löser dem med den allmänna cirkulationsuppsättningen som ges ovan.

  • Minsta kostnadsproblem med cirkulation av flera varor - Använder alla begränsningar som anges ovan.
  • Cirkulationsproblem med minimal kostnad - Använd en enda vara
  • Multi-commodity cirkulation - Lös utan att optimera kostnaden.
  • Enkel cirkulation - Använd bara en vara och utan kostnad.
  • Multi-commodity flow - Om anger ett krav på för commodity från till , skapa en kant i för alla varor . Låt för alla andra kanter.
  • Lägsta kostnad flödesproblem för flera varor - Som ovan, men minimera kostnaden.
  • Minsta kostnadsflödesproblem - Som ovan, med 1 vara.
  • Maximalt flödesproblem - Sätt alla kostnader till 0 och lägg till en kant från sänkan till källans med , ∞ och .
  • Minsta kostnad maximalt flöde problem - Hitta först den maximala flödesmängden . Lös sedan med och .
  • Enkällas kortaste väg - Låt och för alla kanter i grafen och lägg till en kant med och .
  • Kortaste vägen för alla par - Låt alla kapaciteter vara obegränsade och hitta ett flöde på 1 för varor, en för varje nodpar.
  1. ^ Éva Tardos. "En starkt polynomisk minimikostnadscirkulationsalgoritm". Combinatorica . 5 : 247-255. doi : 10.1007/BF02579369 .
  2. ^ S. Even och A. Itai och A. Shamir (1976). "Om komplexiteten i tidtabell och problem med flöde av flera varor" . SIAM Journal on Computing . SIAM. 5 (4): 691-703. doi : 10.1137/0205048 . Arkiverad från originalet 2013-01-12.