Problém oběhu - Circulation problem
Problém cirkulace a jeho varianty jsou zevšeobecněním problémů s tokem v síti , s přidaným omezením dolní meze okrajových toků a se zachováním toku je také nutné pro zdroj a propad (tj. Neexistují žádné speciální uzly). Ve variantách problému protéká sítí několik komodit a náklady na tok.
Definice
Vzhledem k tomu, síť toku s:
- , dolní hranice toku z uzlu do uzlu ,
- , horní hranice toku z uzlu do uzlu ,
- , cena za jednotku toku
a omezení:
- ,
- (tok se nemůže objevit nebo zmizet v uzlech).
Nalezení přiřazení toku splňujícího omezení poskytuje řešení daného problému s cirkulací.
Ve variantě problému s minimálními náklady minimalizujte
Multikomoditní oběh
V případě problému s oběhem více komodit musíte také sledovat tok jednotlivých komodit:
Tok zboží z do . Celkový tok.
Na každém toku komodity je také spodní hranice.
Omezení ochrany musí být u komodit dodržováno individuálně:
Řešení
Pro problém cirkulace bylo vyvinuto mnoho polynomiálních algoritmů (např. Edmonds and Karp algorithm , 1972; Tarjan 1987-1988). Tardos našel první silně polynomiální algoritmus.
V případě více komodit je problém celočíselných toků NP-úplný . U zlomkových toků je řešitelný v polynomiálním čase , protože lze problém formulovat jako lineární program .
Související problémy
Níže jsou uvedeny některé problémy a jak je vyřešit pomocí obecného nastavení oběhu uvedeného výše.
- Problém multikomoditního oběhu s minimálními náklady - s využitím všech výše uvedených omezení.
- Problém s cirkulací minimálních nákladů - použijte jednu komoditu
- Multi-komoditní oběh - řešte bez optimalizace nákladů.
- Jednoduchý oběh - stačí použít jednu komoditu a žádné náklady.
- Multi-komodita proudění - Pokud označuje požadavek pro komodity z k , vytvořit hranu se pro všechny komodity . Nechte pro všechny ostatní hrany.
- Problém multikomoditních toků s minimálními náklady - Jak je uvedeno výše, ale minimalizujte náklady.
- Problém s minimálními náklady - Jak je uvedeno výše, s 1 komoditou.
- Problém s maximálním průtokem - Nastavte všechny náklady na 0 a přidejte hranu z umyvadla ke zdroji pomocí , ∞ a .
- Problém s minimálním průtokem při minimální ceně - Nejprve najděte maximální množství . Poté vyřešte pomocí a .
- Nejkratší cesta jednoho zdroje - Nechte a pro všechny hrany v grafu a přidejte hranu pomocí a .
- Nejkratší cesta všech párů - Nechte všechny kapacity neomezené a najděte tok 1 pro komodity, jeden pro každou dvojici uzlů.
Reference
- ^ Éva Tardos. Msgstr "Algoritmus cirkulace minimálních nákladů s minimálními náklady". Combinatorica . 5 : 247–255. doi : 10,1007 / BF02579369 .
- ^ S. Even a A. Itai a A. Shamir (1976). "O složitosti časového plánu a problémech s multikomoditním tokem" . SIAM Journal on Computing . SIAM. 5 (4): 691–703. doi : 10.1137 / 0205048 . Archivovány od originálu dne 2013-01-12.