Problemă de debit maxim
În teoria optimizării , problema debitului maxim constă în găsirea, într-o rețea de curgere cu o singură sursă și un puț, a unui debit admisibil care este maxim.
Problema debitului maxim poate fi văzută ca un caz particular de probleme mai complexe pe rețelele de curgere, cum ar fi problema circulației . Valoarea maximă a unui flux de st (adică un flux generat de o sursă s care se termină într-un puț t ) este echivalentă cu capacitatea minimă a unui st tăiat în aceeași rețea, așa cum este afirmat de debitul maxim și teorema de tăiere minimă .
Istorie
Problema debitului maxim a fost formulată pentru prima dată în 1954 de TE Harris și FS Ross pentru simplificarea modelului de debit al sistemului feroviar sovietic. [1] [2] [3] În 1955, Lester R. Ford, Jr. și Delbert R. Fulkerson au publicat primul algoritm cunoscut, algoritmul Ford-Fulkerson . [4] [5]
În anii următori, au fost concepute diverse soluții la această problemă, printre care cele mai cunoscute sunt cele ale americanilor Edmonds și Karp (1972) și Sovietul Dinitz (1970).
Definiție
Este o rețea cu respectiv sursă și fântână de .
Capacitatea unui arc este o funcție , indicat cu sau , care reprezintă debitul maxim care poate trece printr-un arc.
Un flux este o funcție , indicat cu sau , sub rezerva următoarelor două constrângeri:
- (constrângerea capacității: fluxul printr-un arc nu poate fi mai mare decât capacitatea sa);
- (constrângere de conservare a fluxului: suma fluxurilor care intră într-un nod trebuie să fie egală cu suma fluxurilor care ies din acesta, cu excepția sursei și a puțului).
Valoarea fluxului este definită de , unde este este sursa . Reprezintă cantitatea de debit de la sursă la fântână.
Problema debitului maxim este de a maximiza , adică să direcționeze cât mai mult flux posibil din la .
Soluții
Pentru a înțelege diferitele soluții ale problemei, este necesar să se introducă conceptul de rețea reziduală. Având în vedere o rețea de flux și un flux pe , definim rețeaua reziduală pe în comparație cu după cum urmează:
- Setul de noduri ale Este la fel ca .
- Fiecare arc din are o capacitate .
- Fiecare arc din are o capacitate .
Tabelul următor listează cei mai cunoscuți algoritmi pentru rezolvarea problemei debitului maxim.
Metodă | Complexitatea computațională | Notă |
---|---|---|
Algoritmul Ford-Fulkerson | Încetarea algoritmului este garantată dacă toate greutățile sunt raționale , altfel este posibil ca algoritmul să nu convergă la valoarea maximă. În orice caz, dacă algoritmul se termină, corectitudinea rezultatului este garantată. | |
Algoritmul Edmonds-Karp | O specializare a algoritmului Ford - Fulkerson care exploatează căutarea pe larg . | |
Algoritm dinic cu flux de blocare | În fiecare fază a algoritmului se construiește un grafic stratificat prin căutarea în amplitudine pe graficul rezidual. Debitul maxim pe un grafic stratificat poate fi calculat în timp iar numărul maxim de faze este . În rețelele cu capacități unitare algoritmul se termină în timp . | |
Algoritm MPM (Malhotra, Pramodh-Kumar și Maheshwari) [6] | Vă rugăm să consultați publicația originală . | |
Algoritmul lui Dinic | Structura dinamică a arborelui accelerează calculul debitului maxim în graficul stratificat până la . | |
Algoritm generic push-relabel | ||
Algoritm push-relabel cu selecție FIFO | ||
Algoritm push-relabel cu arbori dinamici | ||
Algoritmul KRT (King, Rao, Tarjan) [7] | ||
Algoritm binar de blocare a fluxului [8] | Valoarea corespunde capacității maxime a rețelei. | |
James B Orlin + algoritmul KRT (King, Rao, Tarjan) [9] | Algoritmul lui Orlin găsește fluxul maxim în timp pentru în timp ce KRT rezolvă problema în pentru . |
Aplicații
Notă
- ^ (EN) A. Schrijver, Despre istoria transportului și problemele de debit maxim în programarea matematică, vol. 91, nr. 3, 2002, pp. 437-445, DOI : 10.1007 / s101070100259 .
- ^ (EN) Saul I. Gass și Arjang A. Assad, Dezvoltări matematice, algoritmice și profesionale ale cercetării operaționale din 1951 până în 1956, în An Annotated Timeline of Operations Research, International Series in Operations Research & Management Science, vol. 75, 2005, pp. 79-110, DOI : 10.1007 / 0-387-25837-X_5 , ISBN 1-4020-8116-2 .
- ^ (EN) TE Harris și FS Ross, Fundamentele unei metode pentru evaluarea capacităților feroviare nete (PDF), în Research Memorandum, Rand Corporation, 1955.
- ^ (EN) LR Ford și DR Fulkerson , Flux maxim printr-o rețea , în Canadian Journal of Mathematics , vol. 8, 1956, p. 399, DOI : 10.4153 / CJM-1956-045-5 .
- ^(RO) Ford, LR, Jr.; Fulkerson, DR, Flows in Networks , Princeton University Press (1962).
- ^ (EN) VM Malhotra, M.Pramodh Kumar și SN Maheshwari, An algoritm pentru găsirea fluxurilor maxime în rețele , în Scrisori de procesare a informațiilor , vol. 7, nr. 6, 1978, pp. 277-278, DOI : 10.1016 / 0020-0190 (78) 90016-9 .
- ^ (EN) V. King, S. Rao și R. Tarjan, Un algoritm de flux maxim determinist mai rapid , Journal of Algorithms, vol. 17, n. 3, 1994, pp. 447-474, DOI : 10.1006 / jagm.1994.1044 .
- ^ (EN) AV Goldberg și S. Rao, Dincolo de bariera de descompunere a fluxului , în Jurnalul ACM , vol. 45, n. 5, 1998, p. 783, DOI : 10.1145 / 290179.290181 .
- ^ (EN) James B. Orlin, Max curge în timp O (nm), sau mai bine , în STOC '13 Proceedings of the patruzeci și cincilea simpozion anual ACM on Theory of Computing, 2013, pp. 765-774, DOI : 10.1145 / 2488608.2488705 .
Bibliografie
- ( EN ) Joseph Cheriyan și Kurt Mehlhorn , O analiză a regulii de selecție la cel mai înalt nivel în algoritmul de debit maxim preflow-push , în Information Processing Letters , vol. 69, nr. 5, 1999, pp. 239-242, DOI : 10.1016 / S0020-0190 (99) 00019-8 .
- ( EN ) Daniel D. Sleator și Robert E. Tarjan , O structură de date pentru copaci dinamici ( PDF ), în Journal of Computer and System Sciences , vol. 26, n. 3, 1983, pp. 362-391, DOI : 10.1016 / 0022-0000 (83) 90006-5 , ISSN 0022-0000 .
- ( EN ) Eugene Lawler , 4. Fluxuri de rețea , în Combinatorial Optimization: Networks and Matroids , Dover, 2001, pp. 109-177, ISBN 0-486-41453-1 .
Elemente conexe
- Algoritmul Ford-Fulkerson
- Algoritmul Edmonds-Karp
- Algoritmul lui Dinic
- Problema fluxului de cost minim
linkuri externe
- Marco Di Summa, Problema fluxului maxim ( PDF ), pe math.unipd.it , Universitatea din Padova , Departamentul de Matematică. Adus la 31 august 2016 ( arhivat la 27 iunie 2013) .