Pređi na sadržaj

Problem protoka sa minimalnom cenom

S Vikipedije, slobodne enciklopedije

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

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 | uredi izvor]

  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