maths.free › Combinatorics & Graph Theory › Network Flows › A Concrete Example

A Concrete Example

Let's apply the Labeling Algorithm to the network flow shown in . Then we start with the source: \[\begin{aligned}\end{aligned}\] Since the source S is the first vertex labeled, it is also the first one scanned.

A Concrete Example

Let's apply the Labeling Algorithm to the network flow Then we start with the source: \[\begin{aligned}\end{aligned}\] Since the source \(S\) is the first vertex labeled, it is also the first one scanned. So we look at the neighbors of \(S\) using the pseudo-alphabetic order on the vertices. Thus, the first one to be considered is vertex \(B\) and since the edge \((S,B)\) is not full, we label \(B\) as \[\begin{aligned}\end{aligned}\] We then consider vertex \(E\) and label it as \[\begin{aligned}\end{aligned}\] Next is vertex \(F\), which is labeled as \[\begin{aligned}\end{aligned}\] At this point, the scan from \(S\) is complete.

The first vertex after \(S\) to be labeled was \(B\), so we now scan from \(B\). The (unlabeled) neighbors of \(B\) to be considered, in order, are \(A\), \(C\), and\(D\). This results in the following labels: \[\begin{aligned}A\amp:\quad(B,+,8) \\ C\amp:\quad(B,+,8) \\ D\amp:\quad(B,-,6)\end{aligned}\] The next vertex to be scanned is \(E\), but \(E\) has no unlabeled neighbors, so we then move on to \(F\), which again has no unlabeled neighbors. Finally, we scan from \(A\), and using the pseudo-alphabetic order, we first consider the sink \(T\) (which in this case is the only remaining unlabeled vertex). This results in the following label for \(T\). \[\begin{aligned}\end{aligned}\] Now that the sink is labeled, we know there is an augmenting path. We discover this path by backtracking. The sink \(T\) got its label from \(A\), \(A\) got its label from \(B\), and \(B\) got its label from \(S\). Therefore, the augmenting path is \(P=(S,B,A,T)\) with \(\delta=8\). All edges on this path are forward. The flow is then updated by increasing the flow on the edges of \(P\) by \(8\). This results in the flow The value of this flow is \(38\).

Here is the sequence (reading down the columns) of labels that will be found when the labeling algorithm is applied to this updated flow. (Note that in the scan from \(S\), the vertex \(B\) will not be labeled, since now the edge \((S,B)\) is full.) \[\begin{aligned}S:\amp\quad(*,+,\infty)\amp D:\amp\quad(E,+,12) \\ E:\amp\quad(S,+,28)\amp A:\amp\quad(F,+,12) \\ F:\amp\quad(S,+,15)\amp C:\amp\quad(B,+,10) \\ B:\amp\quad(E,+,19)\amp T:\amp\quad(A,+,12)\end{aligned}\] This labeling results in the augmenting path \(P=(S,F,A,T)\) with \(\delta=12\).

After this update, the value of the flow has been increased and is now \(50=38+12\). We start the labeling process over again and repeat until we reach a stage where some vertices (including the source) are labeled and some vertices (including the sink) are unlabeled.

How the Labeling Algorithm Halts

Consider the network flow in .

The value of the current flow is \(172\). Applying the labeling algorithm using the pseudo-alphabetic order results in the following labels (reading down the columns): \[\begin{aligned}S:\amp\quad(*,+,\infty)\amp E:\amp\quad(I,-,3) \\ C:\amp\quad(S,+,8)\amp G:\amp\quad(E,-,3) \\ F:\amp\quad(S,+,23)\amp L:\amp\quad(E,+,3) \\ H:\amp\quad(C,+,7)\amp B:\amp\quad(G,+,3) \\ I:\amp\quad(H,+,7)\amp T:\amp\quad(L,+,3)\end{aligned}\] These labels result in the augmenting path \(P=(S,C,H,I,E,L,T)\) with \(\delta =3\). After updating the flow and increasing its value to \(175\), the labeling algorithm halts with the following labels: \[\begin{aligned}S:\amp\quad(*,+,\infty)\amp H:\amp\quad(C,+,4) \\ C:\amp\quad(S,+,5)\amp I:\amp\quad(H,+,4) \\ F:\amp\quad(S,+,23)\end{aligned}\] Now we observe that the labeled and unlabeled vertices are \(L=\{S,C,F,H,I\}\) and \(U=\{T,A,B,D,E,G,J,K\}\). Furthermore, the capacity of the cut \(V=L\cup U\) is \[\begin{aligned}\end{aligned}\] This shows that we have found a cut whose capacity is exactly equal to the value of the current flow. In turn, this shows that the flow is optimal.

Tani ti. Asnjë kalkulator nuk e zgjidh këtë, por pjesët e saj janë të llogaritura. Provo një më poshtë, ose shkruaj tënde.

Mbaje punën tënde

Një llogari e lirë shtohet shënime në çdo mësim, një regjistrim të asaj që ju keni përfunduar, problemet tuaja të zgjidhura në një vend, dhe një mësues që ju mund të pyesni rreth kësaj faqeje. Matematika vetë është e hapur për të gjithë, të regjistruar apo jo.

Regjistrohu Hyr

Simbolet e përdorura këtu

Prek çdo simbol për përkufizimin e plotë, një fotografi dhe se çfarë do të thotë çdo shkronjë në të.

Pyetja që bëjnë njerëzit

Permutation or combination?

Ask whether order matters. A lock code is a permutation (order matters); a hand of cards is a combination (it does not).

What is a graph in this sense?

Dots (vertices) joined by lines (edges), not a plot. Road maps, social networks and molecules are graphs; questions like "is there a route" and "how few colours" are graph theory.

Pjesa e kësaj faqeje është adaptuar nga Keller & Trotter, Applied Combinatorics (CC BY-SA 4.0). E përmbledhur dhe ri-shkruar këtu; gabimet janë tona.

Më shumë në Combinatorics & Graph Theory