subject to∑f vw − ∑w≠v u≠v∑f uv =0;f vw − ∑w≠v u≠v∑f xy ≤ C uv ;(x,y)∈IE uvf uv = b v ; ∀v ∈ S ′∀v ∈ V ′ \{S ′ ⋃ {t}}∀(u, v) ∈ E ′ Of uv ≥ 0; ∀(u, v) ∈ E ′b v ≥ α; ∀v ∈ S ′By solv<strong>in</strong>g LP 2, we can obta<strong>in</strong> a maximum m<strong>in</strong>imumb<strong>and</strong>width value α, i.e., we can ensure that for any feasibleb<strong>and</strong>width allocation vector ˆb, we have m<strong>in</strong>{ˆb i |i =1, 2,...,N}≤α = m<strong>in</strong>{b i |i =1, 2,...,N}.Compared with LP 1, the objective of LP 3(α) is to maximizethe network throughput while mak<strong>in</strong>g sure that eachnon-gateway node v has a b<strong>and</strong>width allocation of at least α.Therefore, solv<strong>in</strong>g LP 2 to obta<strong>in</strong> α <strong>and</strong> then solv<strong>in</strong>g LP 3(α)can provide a max-m<strong>in</strong> guaranteed maximum throughputb<strong>and</strong>width allocation.It is more challeng<strong>in</strong>g to compute a feasible LMM b<strong>and</strong>widthallocation vector <strong>and</strong> its correspond<strong>in</strong>g feasible aggregatedflow allocation vector. We will present a polynomial timealgorithm for this problem by solv<strong>in</strong>g a sequence of LPs.Before proceed<strong>in</strong>g with the presentation of the algorithm,we prove an important property–the uniqueness of the feasiblelexicographical max-m<strong>in</strong> b<strong>and</strong>width allocation vector.Lemma 1: Let b 1 <strong>and</strong> b 2 be two feasible b<strong>and</strong>width allocationvectors which are both lexicographical max-m<strong>in</strong>. Thenb 1 j = b2 j for j =1, 2,...,N. In other words, the lexicographicalmax-m<strong>in</strong> b<strong>and</strong>width allocation vector is unique.PROOF. Let S1,S 1 2,...,S 1 K 1 be a partition of the set{1, 2,...,N} such thata. For any k ∈{1,...,K} <strong>and</strong> i, j ∈ Sk 1,wehaveb1 i = b1 j .b. For any 1 ≤ k
subject to∑f vw − ∑ f uv = α k−1 + δ k ;w≠v u≠v∑LP 5(k, ¯S,β)f vw − ∑w≠v u≠v∑f vw − ∑ f uv =0;w≠v u≠v∑f xy ≤ C uv ;(x,y)∈IE uvmaximize∀v ∈ S ′ \ ⋃ k−1j=0 S′ j (13)f uv = α j ; ∀v ∈ S j ′ , 1 ≤ j 0 (or f vu > 0), then there is a back edge(v, u) (or (u, v)) <strong>in</strong>G A ;iff uv =0<strong>and</strong> f vu =0, then thereis no edge between vertex u <strong>and</strong> v <strong>in</strong> G A .Clearly, dur<strong>in</strong>g the execution of the algorithm, for everynode v ∈ Sk ′ ,wemusthaveb v = α k . However, there maybe some node v ∉ ⋃ ki=1 S′ i such that b v = α k . Instead ofputt<strong>in</strong>g every node v with b v = α k <strong>in</strong>to ¯S, we use the residualgraph G A to decrease the card<strong>in</strong>ality of ¯S, i.e., reduce therunn<strong>in</strong>g time. However, we still need to solve LP 5(k, ¯S,β)to determ<strong>in</strong>e the actual Sk ′ .InLP 5(k, ¯S,β), β is a small <strong>and</strong>tunable parameter. The purpose of hav<strong>in</strong>g Constra<strong>in</strong>t (17) isto force more nodes out of ¯S <strong>in</strong> each iteration. In this way,we can decrease the runn<strong>in</strong>g time as well. Note that there isno Constra<strong>in</strong>t (14) when k =1.Algorithm 1 LMMBAStep 1 k := 1; α 0 := 0; S 0 ′ := ∅;Step 2 Solve LP 4(k); α k := α k−1 + δ k ;Step 3 Construct the residual graph G A (V ′ ,E A ) accord<strong>in</strong>gto the aggregated l<strong>in</strong>k flow allocation computed bysolv<strong>in</strong>g LP 4(k);¯S := ∅;forall v ∈ S ′ \ ⋃ k−1j=0 S′ jif there exists no path from v to t <strong>in</strong> G A¯S := ¯S ⋃ {v};endifendforallStep 4 Solve LP 5(k, ¯S,β); Y := ∅;forall (v ∈ ¯S such that β v > 0) doY := Y ⋃ {v};endforallStep 5 if (Y ≠ ∅)¯S := ¯S \ Y ; goto Step 4;elseSk ′ := ¯S;if ( ⋃ kj=0 S′ j = S′ )stop;elsek := k +1; goto Step 2;endifendifTheorem 1: Algorithm 1 correctly computes the feasibleunique lexicographical max-m<strong>in</strong> b<strong>and</strong>width allocation vectorb <strong>in</strong> polynomial time.PROOF. When we solve LP 4(1), we obta<strong>in</strong> the max-m<strong>in</strong>b<strong>and</strong>width allocation value α 1 , together with a b<strong>and</strong>widthallocation vector b such that α 1 = m<strong>in</strong>{b i |1 ≤ i ≤ N}.Note that i ∈ S 1 ′ implies b i = α 1 . However, b i = α 1does not imply i ∈ S 1. ′ So we construct the residual graphG A (V ′ ,E A ). If there is a path from v to t <strong>in</strong> G A , thenwe know that the b<strong>and</strong>width allocated to node v can be<strong>in</strong>creased (by a very small, but positive amount) to obta<strong>in</strong>another feasible b<strong>and</strong>width allocation vector while keep<strong>in</strong>g theb<strong>and</strong>width allocated to all other nodes unchanged. This meansthat v ∉ S 1. ′ However, when there is no path from v to t <strong>in</strong>G A , we cannot say for sure that v ∈ S 1.SowesetS ′ to<strong>in</strong>clude every such node v such that there is no path from vto t <strong>in</strong> G A . This means that S 1 ′ ⊆ S.In order to obta<strong>in</strong> S 1 ′ from S, wesolveLP 5(k, S,β), whichmaximizes the sum of the b<strong>and</strong>width values of the nodes <strong>in</strong>S, while keep<strong>in</strong>g the b<strong>and</strong>widths allocated to nodes not <strong>in</strong> Sat α 1 . Clearly, S is a proper superset of S 1 ′ if <strong>and</strong> only if thereexists a b<strong>and</strong>width allocation vector b so that<strong>and</strong>b i ≥ α 1 , 1 ≤ i ≤ N, (19)∑b i > |S|×α 1 . (20)i∈SThis full text paper was peer reviewed at the direction of IEEE Communications Society subject matter experts for publication <strong>in</strong> the Proceed<strong>in</strong>gs IEEE Infocom.