Cirkulationsproblem - Circulation problem

Den cirkulationsproblem och dess varianter är en generalisering av nätverksflödesproblem, med den extra begränsning av en lägre gräns för kanten flöden, och med bevarande flöde också krävs för källan och sjunker (dvs det finns inga speciella noder). I varianter av problemet finns det flera varor som flödar genom nätverket och en kostnad för flödet.

Definition

Givet flödesnätverk med:

, nedre gränsen på flöde från nod till nod ,
, övre gräns på 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.

Minimera i minimikostnadsvarianten av problemet

Cirkulation med flera varor

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

Varuflödet från till .
Det totala flödet.

Det finns också en nedre gräns för varje varuflöde.

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

Lösning

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

För flera varor är problemet NP-komplett för heltalströmmar. För fraktionsflöden är det lösbart under polynomtid , eftersom 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 cirkulationsinställningen som anges ovan.

  • Lägsta kostnad med cirkulationsproblem med flera varor - Använd alla begränsningar som anges ovan.
  • Problem med lägsta kostnadscirkulation - Använd en enda vara
  • Cirkulation med flera varor - Lös utan att optimera kostnaden.
  • Enkel cirkulation - använd bara en vara utan kostnad.
  • Flödesvaruflöde - Om det indikerar ett krav på varan från till , skapa en kant med för alla varor . Låt för alla andra kanter.
  • Problem med flödesvaror för minimikostnader - Som ovan, men minimera kostnaden.
  • Minsta kostnadsflödesproblem - Som ovan, med en vara.
  • Maximalt flödesproblem - Ställ in alla kostnader på 0 och lägg till en kant från diskbänken till källan med , ∞ och .
  • Minsta kostnad för maximal flöde - Hitta först det maximala flödet . Lös sedan med och .
  • Kortaste sökvägen med en källa - Låt och för alla kanter i diagrammet och lägg till en kant med och .
  • Kortaste sökvä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 noderpar.

referenser

  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). "På komplexiteten i tidtabellen och flödesvaruproblemen" . SIAM Journal on Computing . SIAM. 5 (4): 691–703. doi : 10.1137 / 0205048 . Arkiverades från originalet 2013-01-12.