FLUXURI MAXIME ÎN REŢELE DE TRANSPORT Se numeşte reţea de transport un graf în care fiecărui arc îi este asociat capacitatea arcului şi în care eistă un singur punct de intrare şi un singur punct de ieşire. Grupa de probleme din activitatea de transport, care are ca model reţeaua de transport, prezintă următoarele caracteristici: - se dau mai multe surse ce dispun de resurse limitate şi mai multe destinaţii care solicită anumite cantităţi din resursele de la surse; - transportul resurselor de la surse la destinaţii se face trecând prin anumite centre intermediare care leagă resursele de destinaţii, iar între fiecare centre eistă o anumită limită a cantităţii ce se poate transporta (restricţii de capacitate); - obiectivul urmărit este transportul unui volum maim de resurse; - după realizarea transportului maim de resurse se analizează în continuare dacă este posibil să fie satisfăcute toate cererile şi cum trebuie organizat transportul. Această grupă de probleme cunoscută şi sub numele de grupa problemelor de flu maim se rezolvă cu ajutorul algoritmului Ford-Fulkerson. Problemele de acest gen apar în transportul aerian, feroviar, auto şi mai puţin în cel naval. Eemplu: I. Fie reţeaua reprezentată în figura următoare (pe fiecare arc este înscrisă capacitatea corespunzătoare). Să se determine fluul de valoare maimă ce străbate reţeaua R aplicând algoritmul Ford-Fulkerson. 5 4 0 6 5 5 8 3 6 Etape: Etapa. Se caută succesiv drumuri de la 0 la n astfel încât fiecare din aceste drumuri să fie format numai din arce nesaturate (arcul saturat este arcul al cărui flu este egal cu capacitatea sa). Pentru fiecare drum astfel format se determină cantitatea θ min {c φ }, unde: φ = fluul arcului; c = capacitatea arcului. Această cantitate se adună ca valoare de flu pe toate arcele drumului i, celelalte arce rămânând neschimbate. Fluul total ce străbate reţeaua este dat de suma fluurilor drumurilor construite: n φ θ i i
5=5 4 0 6=3+3 5=5+3+ 5 8=5+3 3 =3+4 6 d min{0-0; 5-0;5-0} 5 0 4 0 5 3 0 5 4 0 3 6 5 0 3 6 6 0 3 5 6 θ d min{0-0; 5-0;5-0;8-0} 5 d min {6-0;5-5; 8-5} 3 θ θ 3 d min{6-3; 5-0; - 0; - 0} 3 θ 4 d min {0-0; - 3; - 3} 4 θ 5 d min {0-4; - 0; 4-0; - } θ 6 Nu se mai pot forma alte drumuri din 0 în n, mergând pe arce nesaturate. Aşadar fluul care străbate reţeaua în acest moment este: 5 5 3 3 4 φ Etapa. Se verifică dacă fluul total obţinut în etapa este sau nu maim aplicând o operaţie de marcare a vârfurilor reţelei după următoarele reguli: se marchează cu + vârful 0 de intrare în reţea. Dacă vârful i a fost marcat, iar vârful j nu a fost marcat şi eistă arcul i j nesaturat (adică c φ 0 ) se marchează vârful j cu (+ i ). dacă vârful i a fost marcat, iar vârful j nu a fost marcat şi eistă arcul j i cu un flu φ 0 se marchează vârful j cu (+ i ). operaţia de marcare a vârfurilor continuă până când se ajunge la una din următoarele situaţii:. Vârful de ieşire din reţea rămâne nemarcat. Fluul găsit este cel maim şi trebuie egalat cu capacitatea tăieturii reţelei. Tăietura este planul ce separă reţeaua în două părţi: vârfurile marcate de vârfurile nemarcate la ultima marcare. Capacitatea tăieturii este egală cu suma valorilor de flu de pe toate arcele străbătute de tăietură. Tăietura trece doar prin arce saturate.. Vârful de ieşire din reţea este marcat, deci fluul nu este cel maim şi se trece la etapa a III-a.
- 5=5 4-3 + (+) 0 6=3+3 5=5+3+ 5 8=5+3 + 6 3 + 0 =3+4 6 + 5 Etapa 3. Se construieşte un lanţ de la intrarea la ieşirea din reţea ( 0 - n ) astfel încât fiecare vârf al lanţului (cu ecepţia vârfului de intrare în reţea) să fie marcat cu indicele vârfului anterior. Acest lanţ se scrie mai uşor de la sfârşit către început folosind marcările realizate în etapa a II-a. Pentru lanţul găsit se calculează cantitatea: δ min{δ,δ }, δ min {c - φ } numai pentru toate arcele lanţului cu săgeata în sensul citirii δ acestuia (de la stânga la dreapta); min {φ } se calculează pentru toate arcele lanţului cu săgeata în sens invers citirii acestuia. Cantitatea δ se adună ca valoare de flu pe toate arcele lanţului cu săgeata în sensul citirii lor şi se scade din fluul arcelor cu săgeata în sens invers citirii lor. Rezultatul final al acestor operaţii este creşterea fluului total ce străbate reţeaua cu δ cantităţi. După aceasta, reţeaua este străbătută de fluul φ φ δ. Fluul φ se verifică printr-o nouă operaţie de marcare a vârfurilor reţelei. Fluul găsit (maim) trebuie să fie egal cu capacitatea tăieturii (C v ), adică cu suma valorilor de flu de pe toate arcele străbătute de tăietură. - 5=5 4-3 + (+) 0 6=3+3 5=5+3++ 5 8=5+3 3 + 0 =3+4 6 δ ( min {0-6; 5-3;5-8; 4 - ; - 9} ), δ 3 3
δ φ φ δ 4 Prin noua marcare rămâne nemarcat, deci φ = flu maim. Capacitatea tăieturii: C v 5 8 4 4 φ. 4
Aplicaţie: În 4 centre de distribuţie A, A, A 3 şi A 4 se găsesc la un moment dat următoarele cantităţi de marfă: A = 40 t, A = A 3 = A 4 = 00 t. Aceste cantităţi urmează să fie transportate la 4 beneficiari B, B, B 3 şi B 4 în următoarele condiţii: B = 00 t, B = 60 t, B 3 = 80 t, B 4 = 300 t. Posibilităţile de transport limitate de capacitatea mloacelor de transport sunt date în tabelul următor. Să se determine cantitatea maimă de mărfuri (fluul maim de mărfuri) ce poate fi transportată de la centrele de distribuţie la beneficiari (făcânduse abstracţie de costuri). B B B 3 B 4 A 40 60 40 - A 00 80 0 - A 3-40 80 60 A 4-40 80 60 Rezolvare: În funcţie de datele din tabel formăm următoarea reţea: Pentru a putea aplica algoritmul Ford-Fulkerson, trebuie ca reţeaua sa aibă un singur punct de intrare şi un singur punct de ieşire. Pentru aceasta, vom introduce în reţea un punct ce reprezintă cantităţile de mărfuri aflate la nivelul celor 4 centre de distribuţie, cantităţi ce urmează a fi transportate la beneficiari şi un punct ce reprezintă cantităţile cu care urmează a fi aprovizionaţi cei 4 beneficiari. În continuare, vom aplica algoritmul Ford-Fulkerson: 5
Etapa. Se caută succesiv drumuri de la 0 la n astfel încât fiecare din aceste drumuri să fie format numai din arce nesaturate. d θ min{40-0; 40-0; 00-0} 40 d θ min{40-40; 60-0; 60-0} 60 d min{40-00; 40-0; 80-0} 40 B B 3 B3 4 B 5 B3 6 B 3B 8 B 9 3B4 0 4B3 4B4 θ 3 d θ 4 min{00-0; 80-0; 60-60} 80 d min{00-80; 0-0; 80-0} 0 θ 5 d min{00-00; 00-0; 00-40} 60 θ 6 d min{00-0; 40-0; 60-40} 0 θ d min{00-0; 80-0; 80-0} 80 θ 8 d min{00-00; 60-0; 300-0} 00 θ 9 d min{00-0; 80-0; 80-40} 40 θ 0 d min{00-40; 60-0; 300-00} 60 θ Nu se mai pot forma alte drumuri din în, mergând pe arce nesaturate. Aşadar, fluul care străbate reţeaua în acest moment este: 40 60 40 80 0 60 0 80 00 40 60 800 tone Vom verifica, în continuare, dacă fluul determinat este maim, marcând vârfurile reţelei: 6
În urma operaţiei de marcare a vârfurilor reţelei, vârful de ieşire din reţea a rămas nemarcat, aşadar fluul determinat în etapa anterioară este maim ( 800 t ) Verificăm dacă fluul maim este corect calculat, calculând capacitatea tăieturii trasate în figura următoare:
Capacitatea tăieturii (calculată ca suma capacităţilor arcelor saturate tăiate de curbă) este: C v 00 60 40 80 0 00 00 800, de unde rezultă ca fluul maim a fost calculat corect. 8