D2 3.4, 3.5 - Multiple sources, sinks and restricted capacities

D2 3.4, 3.5 - Multiple sources, sinks and restricted capacities

You will combine several sources and sinks, represent a restricted vertex, and find feasible flow patterns with upper and lower arc capacities.

Combine sources and sinks without changing the real network

Can increasing a pipe's minimum required flow reduce the maximum delivered by the whole network, even when every upper capacity stays fixed? It can: a compulsory flow back across a cut reduces its net outward capacity. We will reach a concrete example after learning how to represent the different restrictions.

You already know

The labelling procedure starts from a feasible directed flow and uses forward and reverse residual arrows. Conservation holds at intermediate nodes. A feasible pattern and a matching valid cut bound prove that an optimum is attained.

Several suppliers or receiving stations do not need a different flow algorithm. Add an artificial source and sink so that the real network sits inside a single-source, single-sink model.

Supersource and supersink

Join a supersource S to every original source SiS_i. Give S→SiS\to S_i capacity equal to the sum of capacities leaving SiS_i.

Join every original sink TjT_j to a supersink T. Give Tj→TT_j\to T capacity equal to the sum of capacities entering TjT_j.

The added arrows point into the original sources and out of the original sinks. They aggregate the total flow without imposing an extra bottleneck.

These connector capacities are the ordinary construction when no smaller external supply or receiving limit is stated. Any additional stated limit must still be respected.

Not in the formula booklet: learn it.

[DIAGRAM: asset_name: Adding a supersource and supersink; asset_slug: 9fm0-d2-187-super-nodes; caption: New connectors aggregate the two original sources and two original sinks.; description: Directed network S to S1 capacity6 and S2 capacity5, S1 to A capacity6 and S2 to A capacity5, A to T1 capacity4 and T2 capacity8, then T1 to T capacity4 and T2 to T capacity8; original arcs grey, artificial connectors blue and original source/sink nodes sage.]
New connectors aggregate the two original sources and two original sinks.

Worked example 1: two supplies and two destinations

Question. A network has arcs S1→AS_1\to A of capacity 66, S2→AS_2\to A of capacity 55, A→T1A\to T_1 of capacity 44, and A→T2A\to T_2 of capacity 88. Add a supersource and supersink, then determine the maximum total flow.

Plan. Give the artificial connectors their aggregate capacities, exhibit a feasible pattern and match it to a cut.

Add

S→S1:6,S→S2:5,T1→T:4,T2→T:8S\to S_1:6,\quad S\to S_2:5,\quad T_1\to T:4,\quad T_2\to T:8

The source-side cut has capacity 6+5=116+5=11; the sink-side cut has capacity 4+8=124+8=12.

Use real-arc flows

fS1A=6,fS2A=5,fAT1=4,fAT2=7f_{S_1A}=6,\quad f_{S_2A}=5,\quad f_{AT_1}=4,\quad f_{AT_2}=7

Give the corresponding artificial connectors the same flows.

Why is 77, rather than 88, sent to T2T_2? A receives only 1111, and 44 of it goes to T1T_1. Capacities are available room, not compulsory amounts.

Answer. Maximum flow is 1111, attained by the displayed pattern and bounded by the cut through the two source connectors.

Check. A has inflow 6+5=116+5=11 and outflow 4+7=114+7=11; every real and artificial arc respects its capacity.

Worked example 2 changes only the original capacity S1AS_1A, from 66 to 44.

Worked example 2: recalculate the affected connector

Question. Find the new supersource connector capacity and maximum total flow.

Plan. Update the aggregate capacity leaving S1S_1, then produce a matching feasible pattern.

The connector S→S1S\to S_1 now has capacity 44. The others remain 5,4,85,4,8. Thus the source cut has capacity 4+5=94+5=9.

Use

fS1A=4,fS2A=5,fAT1=4,fAT2=5f_{S_1A}=4,\quad f_{S_2A}=5,\quad f_{AT_1}=4,\quad f_{AT_2}=5

with the same corresponding connector flows.

Why change the artificial connector too? It is defined by the original source's outgoing capacity, not an independent extra supply.

Answer. The new maximum is 99.

Check. A receives and sends 99, the sink capacities allow this split, and the source cut prevents any larger total.

After finding a flow in the augmented network, report what each real source supplies and each real sink receives. The supersource and supersink are modelling devices.

Watch out

Wrong: point a connector towards the supersource, add capacities of unrelated arcs, or assume every connector must be full. Right: use the prescribed directions and sums, then find a feasible overall pattern.

Increase the same original source capacity instead.

Put a vertex limit on an internal arc

An arc capacity limits one connection. A vertex restriction limits all flow passing through a junction, even when several incoming and outgoing arcs could individually carry much more.

Splitting a restricted vertex

Replace a vertex A by two vertices AinA_{\mathrm{in}} and AoutA_{\mathrm{out}}.

  • Direct every original incoming arc into AinA_{\mathrm{in}}.
  • Direct every original outgoing arc out of AoutA_{\mathrm{out}}.
  • Join Ain→AoutA_{\mathrm{in}}\to A_{\mathrm{out}} with capacity equal to A's permitted throughput.

Keep every original arc's capacity and direction. Every unit passing through A must now use the new internal arc.

This converts a vertex restriction into an ordinary arc restriction, so the same labelling and cut ideas apply.

Not in the formula booklet: learn it.

[DIAGRAM: asset_name: Splitting a restricted junction; asset_slug: 9fm0-d2-187-split-vertex; caption: All incoming flow reaches A-in, crosses the7-capacity internal arc, then leaves A-out.; description: S1 and S2 send through capacities6 and5 to A-in, a blue directed internal arc of capacity7 joins A-in to A-out, and A-out sends through capacities4 and8 to T1 and T2; split nodes sage, no bypass arc.]
All incoming flow reaches A-in, crosses the7-capacity internal arc, then leaves A-out.

Worked example 3: a junction becomes the bottleneck

Question. Return to the original network with incoming capacities 6,56,5 and outgoing capacities 4,84,8. A can now pass at most 77 units per second. Represent the restriction and find the maximum total flow.

Plan. Split A, insert a 77-capacity internal arc, and attain its cut bound.

The internal arc is Ain→AoutA_{\mathrm{in}}\to A_{\mathrm{out}}, capacity 77. Use real-arc flows 6,16,1 into AinA_{\mathrm{in}}, then 4,34,3 out of AoutA_{\mathrm{out}}. The internal flow is 77.

The cut with

X={S,S1,S2,Ain}X=\{S,S_1,S_2,A_{\mathrm{in}}\}

and all remaining nodes in Y crosses only the internal arc, so its capacity is 77.

Why must every incoming arc end at AinA_{\mathrm{in}}? An incoming connection to AoutA_{\mathrm{out}} would bypass the restriction.

Answer. The split representation gives maximum flow 77.

Check. The source supplies 6+1=76+1=7, the internal arc carries 77, and the destinations receive 4+3=74+3=7.

Worked example 4 changes only A's throughput limit, from 77 to 99.

Worked example 4: relax the vertex restriction

Question. Find the maximum total flow with the new vertex limit 99.

Plan. Change only the capacity of the internal split arc and construct a new feasible split.

Set cAinAout=9c_{A_{\mathrm{in}}A_{\mathrm{out}}}=9. Send 6,36,3 from the original sources, pass 99 along the internal arc, and send 4,54,5 to the original sinks.

Why keep the other capacities fixed? The restriction belongs to the vertex. It does not alter any individual real pipe.

Answer. Maximum flow is 99, matching the internal cut capacity 99.

Check. Both source flows fit within 6,56,5, both destination flows within 4,84,8, and conservation holds at the two split nodes.

A large vertex limit need not be the active bottleneck. Compare it with all other relevant cuts, and still give an achieving pattern.

Watch out

Wrong: reduce every incoming capacity to the vertex limit, or leave an arc that bypasses the internal link. Right: preserve the original arcs and put the total-throughput limit on the single directed split arc.

Make the same vertex limit larger than total available source capacity.

Respect lower capacities before augmenting

A lower capacity is a requirement, not spare room. With a positive lower bound, zero flow may be infeasible, and potential backflow cannot undo the compulsory part.

Continue this lesson.

You’re previewing NovaLearn without an account. Create a free account to read the rest.

Create free account