Circulation with Demands and Lower Bounds

Context: FIT2004_MOC Β· the W12 lecture applied sheet β€” max flow recast as a feasibility test: no /, a demand on every vertex, a window on every edge Β· solved by one Ford-Fulkerson run, the next step after Network Flow Reductions Parent Framework: Ford-Fulkerson Method

Quick Revision

  • 🎯 Objective: demands βž” super / edges βž” FF βž” feasible every super-edge saturated Β· lower bounds βž” pre-push , adjust and , solve the remainder, add back.
  • πŸ“¦ Core Components: demands βž” | lower bounds βž” | modelling βž” survey design, airline scheduling, rosters, baseball elimination.
  • ⚑ Key Constraint: two signs decide everything β€” is a supplier (edge from ), a consumer (edge to ) Β· , never the reverse.

πŸ“ How It Works

1. Circulation with Demands

  • Capacity constraint βž” , unchanged from max flow.
  • Demand constraint replaces conservation βž” at every vertex Β· no source, no sink.
  • Why no / βž” a source is just a vertex with negative demand and a sink one with positive demand β€” the demands take over both roles, and ” demand is still demand”.
  • Reading βž” ⟹ absorbs (in , out , ) Β· ⟹ supplies (in , out , ) Β· ⟹ plain conservation, ignored by the construction.
  • Feasibility, not optimisation βž” β€œdoes any satisfy both constraints?” β€” answer yes/no, with the flow as the witness.

2. Deciding Feasibility With One Max Flow (lecture)

  • Construction βž” new with of capacity for every Β· new with of capacity for every Β· original edges kept ⟹ network .
  • Run FF βž” to on , unmodified.
  • Test βž” feasible every -edge and every -edge is saturated , where , Β· ⟹ infeasible without running FF Β· (i.e. ) is necessary, not sufficient β€” the Clayton network passes it and is still infeasible (Β§Applied).
  • Read-off βž” delete , and their edges; the flow left on the original edges is the circulation (β€œclean it up”).
  • Why (⟸) βž” a saturated hands exactly of extra inflow; conservation in then forces β€” symmetric for .
  • Why (⟹) βž” a feasible circulation plus full super-edges conserves at every and has value ⟹ maximum by weak duality (Min-Cut Max-Flow Theorem Β§3), so FF reaches it too.
  • Integer witness βž” integer , ⟹ FF returns an integer circulation (Ford-Fulkerson Method Β§5) β€” the lecture’s β€œwe only deal with integers”, and what makes a edge read-off legal.

3. Lower Bounds β€” Pre-Push, Then Solve the Remainder (lecture Β· applied P1)

  • New constraint βž” Β· demand constraint unchanged.
  • Step 1 β€” pre-push βž” on every edge; this alone usually breaks the demands.
  • Step 2 β€” reduced network βž” same vertices and edges, no lower bounds:
  • Sign intuition βž” lower-bound flow already into is demand already met ⟹ subtract Β· lower-bound flow already out of must be refilled ⟹ add.
  • Per-edge form (sanity check) βž” for : , , β€” β€œminus incoming, plus outgoing” seen from the demand side.
  • Step 3 βž” circulation with demands on by Β§2 ⟹ , or infeasible.
  • Step 4 β€” combine βž” ⟹ because Β· annotate edges and restore the original (β€œdon’t forget the demand”).
  • Equivalence βž” feasible in feasible in ⟹ infeasible means infeasible; nothing is lost.

4. Modelling With Circulations (lecture Β· applied P4, P6)

  • Recipe βž” fixed supplies negative demands, fixed needs positive demands, β€œat least , at most ” edge window βž” Β§3 then Β§2 βž” read the assignment off edges carrying .
  • Survey design (lecture) βž” window (reviews asked of customer ) Β· window if used (one review per product) Β· window Β· closing edge window Β· all demands βž” bipartite matching with lower bounds; reviews middle edges carrying .
  • Airline scheduling, planes (lecture) βž” route edge window (vital ⟹ must fly) Β· () (start anywhere) Β· () (retire anywhere) Β· when a plane can fly after Β· for idle planes βž” feasible planes cover every route Β· each unit is one plane’s itinerary.
  • Lecture instance βž” SYD6–MEL7, CBR8–SYD9, MEL11–BNE1, PER11–SYD7 with ⟹ feasible: plane 1 flies , plane 2 flies .
  • Weekend roster (applied P4a) βž” (, number of weekend days) window Β· if available Β· , βž” roster edges carrying .
  • Why the extra vertex βž” each day needs exactly one person (a demand) but each employee only a range (an edge window); only the total is fixed, so it sits on .
  • At most one day per weekend (P4b) βž” a selector per employee per weekend: , for each available day of weekend Β· a capacity on a group of edges β€” the vertex-split idea of Network Flow Reductions Β§2.
  • Baseball elimination (applied P6) βž” team wins every remaining game ⟹ wins Β· drop β€˜s games Β· one node per pair (, games left between and ) and , capacity Β· capacity Β· βž” feasible can still finish at least tied Β· any ⟹ is out before building (the sheet’s β€œtrivial” case).

βš™οΈ Core Implementation

πŸ”Ή Feasible circulation with demands and lower bounds (applied P7)

βš–οΈ Complexity

(The lecture states no bound β€” each row applies Ford-Fulkerson Method’s to the built network.)

StepTimeAux spaceWhy
Lower-bound transformone pass for and both -sums
Add , super-edges ⟹
FF on , and when feasible β€” pseudo-polynomial in the demands
Combine β€”one addition per edge
Whole pipeline

βš–οΈ Core Decision Matrix

ProblemCue in the questionConstructionAnswer
Max flowone origin, one destination, β€œhow much”network as given
Circulation with demandsfixed supplies and needs, no single / suppliers, consumers feasible super-edges saturated
lower bounds”at least” on a link (must fly, minimum workload)pre-push βž” βž” demands

When It Flips: "at least" on an edge ⟹ lower bounds · "exactly / supplies / needs" on a vertex ⟹ demands · only "at most" and one origin ⟹ plain max flow or quota matching (Network Flow Reductions §3).

πŸ“Š Exam Execution Trace & Applied Exercises

Manual Execution Trace β€” applied P1 (feasible)

Edges : Β· Β· Β· Β· Β· demands , , , .

VertexSuper-edge in
cap
cap
cap
cap
Edge (max flow)
  • Verdict βž” ( vs ) ⟹ every super-edge saturated ⟹ feasible.
  • Self-check on βž” : Β· : Β· : Β· : βœ“.

Applied Exercise β€” lecture β€œClayton” network (infeasible)

Problem: , , Β· , , , Β· , , , , .

Final Extracted Output: infeasible β€” must net-absorb but at most can reach it, so never saturates Β· certificate: the cut of capacity .

⚠️ Common Mistakes

  • πŸ’‘ Demand sign flipped βž” is a supplier: edge , never .
  • πŸ’‘ sign flipped βž” incoming lower bounds are subtracted, outgoing added Β· self-check: , since each is subtracted once at its head and added once at its tail.
  • πŸ’‘ Reporting as the circulation βž” the answer is under the original demands; alone breaks every lower bound.
  • πŸ’‘ read as feasible βž” it only clears the quick reject; the saturation test decides.
  • πŸ’‘ β€œFF finished” read as β€œfeasible” βž” FF always returns a max flow; feasibility is the extra saturation test.

🧠 Active Recall