Problem protoka sa minimalnom cenom

Problem protoka sa minimalnom cenom je optimizacioni problem i problem odlučivanja kako bi se našlo najeftiniji mogući način slanja protoka kroz transportnu mrežu. Rešavanje ovog problema je korisno za životne situacije koje sadrže mreže sa cenama (npr. telekomunikacione mreže), kao i za druge situacije gde analogija nije toliko očigledna, na primer, gde naći stovarište.

Definicija

uredi

Transportna mreža je orijentisani graf   sa izvornom tačkom   i završno tačkom  , gde svaka ivica   ima popusnost  , protok   i cenu   (većina algoritama minimalne cene protoka podržavaju grane sa negativnim cenama). Cena slanja ovakvog protoka je  . Potrebno je poslati   protoka od   do  .

Definicija problema je minimizirati ukupnu cenu protoka:

 

sa ovim ograničenjima

Ograničenje popusnosti:  
Kosa simetrija:  
Čuvanje toka:  
Potreban protok:  

Relacije sa drgim problemima

uredi

Jedna varijacija ovog problema je da se nađe protok koji je maksimalan, ali ima najmanju cenu među maksimalnim. Ovaj problem bi se mogao nazvati poblem maksimalnog potoka minimalne cene. Ovo je korisno za nalaženje minimalne cene maksimalnog uparivanja.

Sa nekim rešenjima, nalaženje minimalne cene maksimalnog protoka je direkno. Ako nije, može se uraditi binarna pretraga po d.

Povezan problem je problem minimalna cene cirkulacije, koji može da se koristi za rešavanje minimalne cene protoka. Ovo se radi tako što se donja granica na svim granama stavi na nulu, a onda se dodaje nova grana od čvora   do čvora  , sa propušnošću  , Prisiljavajući ukupan protok od   do   da takođe bude  .

Problem može biti specijalizovan u druga dva problema:

  • Ako je ograničenje propustnosti izbačeno, problem se svodi na problem najkraće putanje.
  • Ako se sve cene postave na nule, problem se svodi na problem maksimalnog protoka.

Rešenja

uredi

Problem minimalne cene protoka može biti rešen korišćenjem linearnog programiranja, pošto možemo da optimizujemo linearnu funkciju i sva ograničenja su linearna.

Osim toga postoji mnogo kombinatornih algoritama za opširniji.[1] Neki od njih su generalizacije algoritama maksimalnog protoka, drugi koriste u potpunosti drugačije pristupe rešavanju problema.

Dobro poznati fundementalni algoritmi (imaju mnogo varijacija):

  • Izbacivanje ciklusa, generalno osnovni metod.[2]
  • Izbacivanje minimalnih ciklusa, jednostavan strogo polinomijalni algoritam.[3]
  • Uzastopni najkraći putevi, proporcionisanje propustnosti: dualne metode, koje se mogu posmatrati kao generalizacije Ford-fulkersonovog algoritma.[4]
  • Proporcionisanje cena, Osnovni dualni pristup koji može biti posmatran kao generalizaija algoritma push-relabel.[5]
  • Simpleks mreže: Specijalizovana verzija linearnog programiranja simpleks metode, koja se izvršava u polinomijalnom vremenu.[6]

Reference

uredi
  1. ^ Ravindra K. Ahuja,Tomas L. Magnanti, i Džejms B. Orlin(1993). Transportne mreže:Teorija, Algoritmi i upotrebe.
  2. ^ Morton Klein (1967) osnovni algoritam za minimlnu cenu protoka sa upotrebama za probleme zadataka i probleme transportacije.
  3. ^ Anders V. Goldburg i Robert E. Tarjan (1989). Nalaženje ciklusa minimalne cene poništavanjem negativnih ciklusa
  4. ^ Džek Emonds i Ričard M. Karp (1972)Teoritička poboljšanja u efikasnosti algoritama za transportne mreže.
  5. ^ Anders V. Goldburg i Robert E. Tarjan (1990) Nalaženje ciklusa minimalne cene postepenom aproksimacijom
  6. ^ Džejms B. Orlin (1997). Simpleks algoritam polinomijalnog vremena izvršavanja osnovne mreže za protoke minimalne cene