Skip to main content
Log in

On the optimality of max–min fairness in resource allocation

  • Published:
annals of telecommunications - annales des télécommunications Aims and scope Submit manuscript

Abstract

In this work, a basic resource allocation (RA) problem is considered, where a fixed capacity must be shared among a set of users. The RA task can be formulated as an optimization problem, with a set of simple constraints and an objective function to be minimized. A fundamental relation between the RA optimization problem and the notion of max–min fairness is established. A sufficient condition on the objective function that ensures the optimal solution is max–min fairness is provided. Notably, some important objective functions like least squares and maximum entropy fall in this case. Finally, an application of max–min fairness for overload protection in 3G networks is considered.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2

Similar content being viewed by others

Notes

  1. Several other iterative or exact algorithms exist, see e.g., [5, 11, 13, 17, 18].

  2. This definition is consistent because due to constraint (2) it follows that \(0<\frac{c_{\!j}}{C} <1\) and \(\sum_j \frac{c_{\!j}}{C} =1\).

  3. Obviously, from Theorem 2 we know that f PF and f ME yields the same max–min fair allocation as f LS.

References

  1. Keshav S (1997) An engineering approach to computer networking. Addison-Wesley, Reading, pp 215–217

  2. Bertsekas D, Gallager R (1992) Data networks. Prentice-Hall, Englewood Cliffs

    MATH  Google Scholar 

  3. Gafni EM, Bertsekas DP (1984) Dynamic control of session input rates in communication networks. IEEE Trans Automat Contr AC-29(11):1009–1016

    Article  MathSciNet  Google Scholar 

  4. Salles RM, Barria JA (2008) Lexicographic maximin optimisation for fair bandwidth allocation in computer networks. Eur J Oper Res 185:778–794

    Article  MATH  Google Scholar 

  5. Uchida M (2007) Information theoretic aspects of fairness criteria in network resource allocation problems. In: GameComm ’07, Nantes, France, 22 Oct 2007

  6. Le Baudec, J-Y (2007) Rate adaptation, congestion control and fairness: a tutorial. Ecole Polytechnique Fédérale de Lausanne (EPFL)

  7. Kelly F (1997) Charging and rate control for elastic traffic. Eur Trans Telecommun 8:33–37

    Article  Google Scholar 

  8. Mo J, Walrand J (2000) Fair end-to-end window-based congestion control. IEEE/ACM Trans Netw 8(8): 556–567

    Article  Google Scholar 

  9. Dianati M, Shen X, Naik S (2005) A new fairness index for radio resource allocation in wireless networks. Proc. IEEE wireless communications and networking conference (WCNC 2005), vol 2. IEEE Commun 772 Society/WCNC, pp 712–717

  10. Malla A, El-Kadi M, Olariu S, Todorova P (2003) A fair resource allocation protocol for multimedia wireless networks. IEEE Trans Parallel Distrib Syst 14(1):63–71

    Article  Google Scholar 

  11. Aoun B, Boutaba R (2006) Max–min fair capacity of wireless mesh networks. In: IEEE Int’l Conf. on mobile ad hoc and sensor systems (MASS)

  12. Boche H, Wiczanowski M, Stanczak S (2005) Unifying view on min–max fairness and utility optimization in cellular networks. Proc. IEEE wireless communications and networking conference (WCNC 2005), vol 3. IEEE Commun Society/WCNC, pp 1280–1285

  13. Pérez D, Rodríguez Fonollosa J (2005) Practical algorithms for a family of waterfilling solutions. IEEE Trans Signal Process 53(2):686–695

    Article  MathSciNet  Google Scholar 

  14. Marsic I (2011) Computer networks: performance and QoS. Available at: www.caip.rutgers.edu/simmarsic/books/QoS/book-QoS_marsic.pdf

  15. The ATM Forum Technical Committee (1996) Traffic management specification. Technical report

  16. Cao Z, Zegura E W (1999) Utility max–min: an application-oriented bandwidth allocation scheme In: IEEE INFOCOM ’99, pp 793–801

  17. Radunović B, Le Boudec J-Y (2007) A unified framework for max–min and min–max fairness With applications. IEEE/ACM Trans Netw 15(5):1073–1083

    Article  Google Scholar 

  18. Cioffi JM (2011) EE379C advanced digital communications. Available at: http://www.stanford.edu/class/ee379c

  19. Johansson M, Sternad M (2005) Resource allocation under uncertainty using the maximum entropy principle. IEEE Trans Inf Theory 51(12):4103–4117

    Article  MathSciNet  Google Scholar 

  20. Berger A, Della Pietra S, Della Pietra V (1996) A maximum entropy approach to natural language processing. Comput Linguist 22:39–68

    Google Scholar 

  21. Boyd S, Vandenberghe L (2004) Convex optimization. Cambridge University Press, Cambridge

    MATH  Google Scholar 

  22. Massoulié L, Proutière A, Virtamo J (2006) A queueing analysis of max–min fairness, proportional fairness and balanced fairness. Queueing Syst: Theory and Applications 53(1–2)

    Google Scholar 

  23. Ladiwalaa S, Ramaswamya R, Wolf T (2009) Transparent TCP acceleration. Comput Commun 32(4):691–702

    Article  Google Scholar 

  24. Huang J, Subramanian VG, Agrawal R, Berry RA (2009) Downlink scheduling and resource allocation for OFDM systems. IEEE Trans Wirel Commun 8(1):39–71

    Article  Google Scholar 

  25. Subramanian VG, Berry RA, Agrawal R (2010) Joint scheduling and resource allocation in CDMA systems. IEEE Trans Inf Theory 56(5):2416–2432

    Article  MathSciNet  Google Scholar 

  26. Madan R, Boyd SP, Lall S (2010) Fast algorithms for resource allocation in wireless cellular networks. IEEE/ACM Trans Netw 18(3):973–984

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Angelo Coluccia.

Appendices

Appendix

Appendix 1: Proof of Eq. 5

The problem (4) can be easily solved by using the Lagrange multipliers method. The Lagrangian can be written as

$$ \begin{array}{rll} L(x,\lambda) &=& x-\lambda \left(\sum\limits_{i=1}^N \min(d_i,x) -C \right) \nonumber \\ &=& x- \lambda \left(\sum\limits_{i\in \mathcal{D}} d_i + (N-k_{\mathcal{D}})x -C \right) \nonumber \end{array}$$

where \(\mathcal{D}\) is the (unknown) set of users that are fully satisfied and \(k_{\mathcal{D}}\) its cardinality. Taking the derivatives we obtain:

$$ \left\{\begin{array}{l} \dfrac{\partial L}{\partial x} = 1-\lambda (N-k_{\mathcal{D}}) \\ \\ \dfrac{\partial L}{\partial \lambda} = \sum_{i\in \mathcal{D}} d_i +(N-k_{\mathcal{D}})x -C \end{array} \right. . $$

Imposing the gradient equal to zero yields the stationary points

$$ X(\mathcal{D})=\frac{C-\sum\limits_{i\in\mathcal{D}} d_i}{N-k_{\mathcal{D}}} $$
(14)

hence the optimal solution can be written as \(X^{{\kern1.5pt} *}=\max_{\mathcal{D}} X(\mathcal{D})\). In principle, one should explore all the possible configurations of \(\mathcal{D}\) (i.e., all the combinations of d i elements) to find the maximum. However, a certain number of configurations are not admissible since they violate the constraints \(\boldsymbol{0} < \boldsymbol{c}\leq\boldsymbol{d}\). Moreover, it can be easily seen that, among all the configurations of same cardinality \(k_{\mathcal{D}}\), the maximum is reached when \(\mathcal{D}\) contains the \(k_{\mathcal{D}}\) smallest demands (i.e., \(d_1,\ldots,d_{k_{\mathcal{D}}}\)). Therefore, in order to maximize the objective function in problem (4), we can order the demands and restrict the search on those configurations of \(\mathcal{D}\) built by taking the \(k_{\mathcal{D}}\) (unknown) smallest d i , yielding:

$$ X^{{\kern1.5pt} *}=\max\limits_{0\leq k<N} \frac{C-\sum_{i=1}^k d_i}{N-k} $$

that is the thesis.□

Appendix 2: Proof of Theorem 1

Since each derivative is a function of the sole derivation variable, the stationarity condition is

$$ \frac{\partial}{\partial c_{\!j}} \left\{ f + \sum_{i=1}^N \left[ \mu_i \left(c_i-d_i \right) -\nu_i c_i \right] + \lambda \left(\sum\limits_{i=1}^N c_i-C \right) \right\}=0 $$

for j = 1,...,N. Using the hypothesis, we end up with the following Karush–Kuhn–Tucker conditions (see e.g., [21]) for the problem (3):

$$ \left\{ \begin{array}{l} g'_j(c_{\!j}) +\mu_{\!j} +\lambda -\nu_{\!j}=0 \\ c_{\!j}-d_j \leq 0 \\ -c_{\!j} < 0 \\ \sum_{i=1}^N c_i=C \\ \mu_{\!j}\,(c_{\!j}-d_j) =0\\ -\nu_{\!j}\, c_{\!j} =0\\ \mu_{\!j} \geq 0\\ \nu_{\!j} \geq 0 \end{array} \right. \label{sistema} $$
(15)

where j = 1,...,N. Since c j  > 0, the constraint − ν j c j  = 0 is satisfied only for ν j  = 0. This means that system (15) simplifies into

$$ \left\{ \begin{array}{l} g'_j(c_{\!j}) +\mu_{\!j} +\lambda =0 \\ c_{\!j}-d_j \leq 0 \\ -c_{\!j} < 0 \\ \sum_{i=1}^N c_i=C \\ \mu_{\!j}\,(c_{\!j}-d_j) =0\\ \mu_{\!j} \geq 0\\ \end{array} \right. \label{sistema_semplificato} $$
(16)

The index set \(\{j{\kern1.2pt}\}_{j\;=1}^{j=N}\) can be partitioned into two subsets \(\mathcal{S}\) and \(\mathcal{D}\) based on the value of μ j :

$$ \mathcal{S}=\{j{\kern2pt} | \mu_{\!j} = 0\} \qquad \mathcal{D}=\{j{\kern2pt} | \mu_{\!j} > 0\} $$

Since \(\mu_{\!j}>0 \Longrightarrow c_{\!j}=d_j\) in force of the fifth equation in the system (16), \(\mathcal{D}\) contains all the users that are fully satisfied. Conversely, for μ j  = 0 the first equation becomes g j ′(c j ) = − λ, which means that users in \(\mathcal{S}\) are provided with intermediate shares so as to make their derivatives all equal. Posing \(s_j { \stackrel{\textrm{\tiny def}}{=}} g_j'^{-1}\left( -\lambda \right)\) we can write:

$$ c_{\!j}=\left\{ \begin{array}{ll} 0<s_j<d_j & j\in\mathcal{S}\\ d_j & j\in\mathcal{D} \end{array} \right. $$

that is the thesis.□

Appendix 3: Proof of Corollary 1

With the further hypothesis, the gradient becomes:

$$ \nabla f = \big[g'(c_1) \, g'(c_2) \, \cdots \, g'(c_N)\big]^T $$

and, accordingly, the first equation of the system (16) becomes

$$ \ c_{\!j}=g'^{-1}( -\lambda-\mu_{\!j} ) \qquad j=1,\ldots,N. $$

Using the partition \(\{\mathcal{S}, \mathcal{D}\}\) as in Appendix 2, we can write \(c_{\!j}= g'^{-1}( -\lambda )\) \( j\in\mathcal{S}\), which does not depend on the index j. The equality constraint yields:

$$ \sum\limits_{i=1}^N c_i=C \Longleftrightarrow \sum\limits_{i\in\mathcal{D}} d_i + \sum\limits_{j\in\mathcal{S}} c_{\!j} =C $$

that is

$$ \sum\limits_{i\in\mathcal{D}} d_i + (N-k_{\mathcal{D}}) c_{\!j} =C. $$

Rearranging terms, we end up with the following expression for the candidate optimum points:

$$ c_{\!j}=\left\{ \begin{array}{ll} \frac{C-\sum_{i\in\mathcal{D}} d_i}{N-k_{\mathcal{D}}} & j\in\mathcal{S}\\ d_j & j\in\mathcal{D} \end{array} \right. $$

that is the thesis.□

Appendix 4: Proof of Theorem 2

The feasible set of the problem (3) is convex, hence it always admits a max–min fair vector [17, p. 1077], which we denote by \(\boldsymbol{c}^*=[c^*_1 c^*_2 \cdots c^*_N]^T\). Recalling Eq. 5 we can write

$$ c_{\!j}^*=\left\{ \begin{array}{ll} X^{{\kern1.5pt} *} & j\in\mathcal{S}^*\\ d_j & j\in\mathcal{D}^* \end{array} \right. \label{c_j*} $$
(17)

where, arranging user demands in increasing order (i.e., d 1 ≤ d 2 ≤ ⋯ ≤ d N ),

$$ X^{{\kern1.5pt} *}=\frac{C-\sum_{i\in\mathcal{D}^*} d_i}{N-k^*} = \frac{C-\sum_{i=1}^{k^*} d_i}{N-k^*} $$

and k * denotes the cardinality of \(\mathcal{D}^*\).

Since \(f\;(\boldsymbol{c})=\sum_{j\;=1}^N h(c_{\!j})\), the hypothesis of Corollary 1 on the gradient \(\nabla f\) are satisfied, thus all candidate points for the optimum must take the form:

$$ c_{\!j}=\left\{ \begin{array}{ll} X & j\in\mathcal{S}\\ d_j & j\in\mathcal{D} \end{array} \right. \label{eq_con_X},\ \mathrm{where}\quad X=\frac{C-\sum_{i\in\mathcal{D}} d_i}{N-k} $$
(18)

and k denotes the cardinality of \(\mathcal{D}\). To prove that \(\boldsymbol{c}^*\) is the optimum, we show that any other candidate point \(\boldsymbol{c}\) cannot improve the objective function value, i.e., \(\boldsymbol{c}\neq\boldsymbol{c}^* \Longrightarrow f\;(\boldsymbol{c})\geq f\;(\boldsymbol{c}^*)\). By hypothesis h(·) in convex in the region of interest (since any allocation of resource greater than max i d i would not be in the feasible set), which in turn implies the convexity of f (·) (see e.g., [21]). The idea is to split the latter function into separate terms to be subsequently bounded by leveraging the properties of convex functions. The choice of a convenient split that allows for a sufficiently tight bound is not trivial. In the following we describe such a choice. To illustrate, imagine that a generic feasible solution \(\boldsymbol{c}\) (in the form of Eq. 18) is obtained from \(\boldsymbol{c}^*\) by performing some moves. In doing so, the elements of the sets \(\mathcal{S}^*, \mathcal{D}^*\) are rearranged into the sets \(\mathcal{S}, \mathcal{D}\). We can then identify four kinds of transition, depending on the departure/arrival sets, as listed in the Table 1.

Table 1 Possible transitions when moving from the max–min fair solution \(\boldsymbol{c}^*\) to a generic feasible solution \(\boldsymbol{c}\)

If we denote with k  ∩  the cardinality of \(\mathcal{D}_{\cap}\), the value of the objective function in \(\boldsymbol{c}\) can be recast as follows:

$$ \begin{array}{rll} f\;(\boldsymbol{c}) &=& \sum\limits_{i\in\mathcal{D}_{\cap}} h(d_i) + \sum\limits_{i\in \mathcal{D} \setminus \mathcal{D}_{\cap}} h(d_i) \notag \\&&+ \sum\limits_{i\in \mathcal{D}^* \setminus \mathcal{D}_{\cap}} h(X) + \sum\limits_{i\in \mathcal{S}_{\cap}} h(X). \label{partition} \end{array} $$
(19)

We now proceed to rewrite the latter three summations in Eq. 19. For the second summation, it is important to realize that each user in \(\mathcal{D}\setminus \mathcal{D}_{\cap}\) contributes to \(f\;(\boldsymbol{c})\) with an individual term that can be rewritten as \(h(d_i)=h(X^{{\kern1.5pt} *}+\Delta_i)\) with Δ i  ≥ 0, \(i\in\mathcal{D}\setminus \mathcal{D}_{\cap}\). In fact, the set of constraints (1) ensures that the water-level X * is no larger than any demand d i for \(i\in\mathcal{S}^*\), and \(\mathcal{D}\setminus \mathcal{D}_{\cap} \subseteq \mathcal{S}^*\). Similarly, each user in \(\mathcal{D^*}\setminus \mathcal{D}_{\cap}\) contributes with an individual term h(d i ) = h(d i  − Δ i ) with Δ i  ≥ 0, \(i\in\mathcal{D}^* \setminus \mathcal{D}_{\cap}\), because X is smaller than any demand d i for \(i\in\mathcal{S}\), and \(\mathcal{D^*}\setminus \mathcal{D}_{\cap} \subseteq \mathcal{S}\). For the last summation, note that the individual contributions h(X) are the same for all user indeces. Finally, we denote by k  ∪  the cardinality of the union set of the first three summations in Eq. 19, formally:

$$ \begin{array}{rll} k_{\cup} &\stackrel{\textrm{\tiny def}}{=}& |\mathcal{D}_{\cap} \cup (\mathcal{D} \setminus \mathcal{D}_{\cap}) \cup (\mathcal{D}^* \setminus \mathcal{D}_{\cap}) | = | \mathcal{D} \cup \mathcal{D}^* | \\&=& k+k^*-k_{\cap}. \label{eq_k} \end{array}$$
(20)

With these positions we can rewrite (19) as:

$$ \begin{array}{rll} f\;(\boldsymbol{c})&=&\sum\limits_{i\in\mathcal{D}_{\cap}} h(d_i) + \sum\limits_{i\in \mathcal{D} \setminus \mathcal{D}_{\cap}} \!\! h(X^{{\kern1.5pt} *}+ \Delta_i) \\&&+ \sum\limits_{i\in \mathcal{D}^* \setminus \mathcal{D}_{\cap}} \!\! h(d_i-\Delta_i) + (N-k_{\cup}) h(X). \label{fc} \end{array}$$
(21)

By construction the water-level X * of the max–min fair solution is the maximum among the water-levels associated to the candidate points taking the form of Eq. 18, i.e.,

$$ X^{{\kern1.5pt} *} \geq X. \label{inequality} $$
(22)

This follows directly from the optimization (4), however a formal proof is given in Appendix 5. From Eq. 22 it follows that X = X * − Δ, where Δ ≥ 0 is such that all the individual level gaps Δ i compensate reciprocally, in order for the point to remain within the candidate set. The value of Δ can be obtained by zeroing the algebraic sum:

$$ \sum\limits_{i\in \mathcal{D} \setminus \mathcal{D}_{\cap}} \Delta_i \; - \!\! \sum\limits_{i\in \mathcal{D}^* \setminus \mathcal{D}_{\cap}} \!\! \Delta_i + (N-k_{\cup}) \Delta = 0 $$

i.e.,

$$ \Delta= \frac{\sum\limits_{i\in \mathcal{D}^* \setminus \mathcal{D}_{\cap}} \Delta_i \; - \sum\limits_{i\in \mathcal{D} \setminus \mathcal{D}_{\cap}} \Delta_i }{N-k_{\cup}}. $$

Now let us write the value of the objective function at \(\boldsymbol{c}^*\):

$$ f\;(\boldsymbol{c}^*)=\sum\limits_{i\in\mathcal{D}^*} h(d_i) + (N-k^*) h(X^{{\kern1.5pt} *}). $$

We now partition \(\mathcal{D}^*\) into \(\mathcal{D}_{\cap}\) and \(\mathcal{D}^* \setminus \mathcal{D}_{\cap}\), and split the last term based on the equivalence \(N-k^*=N-k_{\cup} +k-k_{\cap}\) (recall Eq. 20), rewriting:

$$ \begin{array}{rll} f\;(\boldsymbol{c}^*)&=&\sum\limits_{i\in\mathcal{D}_{\cap}} h(d_i) + \sum\limits_{i\in \mathcal{D}^* \setminus \mathcal{D}_{\cap}} h(d_i) + (N-k_{\cup}) h(X^{{\kern1.5pt} *}) \\&&+\, (k-k_{\cap}) h(X^{{\kern1.5pt} *}). \label{fc1} \end{array}$$
(23)

With such rearrangement we can directly compare the values of the objective function in \(\boldsymbol{c}\) and \(\boldsymbol{c}^*\), i.e., Eqs. 21 and 23:

$$ \begin{array}{rll} \Delta f &\stackrel{\textrm{\tiny def}}{=}& f\;(\boldsymbol{c})-f\;(\boldsymbol{c}^*) = \sum\limits_{i\in \mathcal{D} \setminus \mathcal{D}_{\cap}} \!\! \big[ h(X^{{\kern1.5pt} *}+ \Delta_i) - h(X^{{\kern1.5pt} *}) \big] \\&&+ \sum\limits_{i\in \mathcal{D}^* \setminus \mathcal{D}_{\cap}} \!\! \big[ h(d_i-\Delta_i) - h(d_i) \big] \\&&+\, (N-k_{\cup}) \big[ h(X^{{\kern1.5pt} *}-\Delta)- h(X^{{\kern1.5pt} *}) \big]. \label{deltaf} \end{array}$$
(24)

Since the function h(·) is convex, the inequality h(y) − h(x) ≥ h′(x) (y − x) holds (see e.g., [21]), where h′(·) is the derivative of h(·). Applying the inequality to each term of Eq. 24 we can write:

$$ \begin{array}{rll} \Delta f\; &\geq& \sum\limits_{i\in \mathcal{D} \setminus \mathcal{D}_{\cap}} h'(X^{{\kern1.5pt} *}) \Delta_i - \sum\limits_{i\in \mathcal{D}^* \setminus \mathcal{D}_{\cap}} h'(d_i) \Delta_i \\ && - (N-k_{\cup}) h'(X^{{\kern1.5pt} *}) \Delta . \end{array}$$

Substituting the explicit expression for Δ and arranging by homologous terms, after some simple algebraic steps we obtain:

$$ \Delta f \geq \!\! \sum\limits_{i\in \mathcal{D}^* \setminus \mathcal{D}_{\cap}} \!\! \big[ h'(X^{{\kern1.5pt} *}) - h'(d_i) \big] \Delta_i. $$

The convexity of h(·) implies h′(·) is an increasing function; moreover, recalling Eq. 6 it holds \(X^{{\kern1.5pt} *} \geq \max_{i\in\mathcal{D}^*} d_i\). Thus, the difference \(h'(X^{{\kern1.5pt} *}) - h'(d_i)\) is always positive for all \(i\in\mathcal{D}^* \setminus \mathcal{D}_{\cap}\), and hence Δf ≥ 0 that is \(f\;(\boldsymbol{c})\geq f\;(\boldsymbol{c}^*)\). For the arbitrariness of \(\boldsymbol{c}\), we conclude \(\boldsymbol{c}^*\) is the optimum.□

Appendix 5: Proof of Eq. 22

By definition X is the common water-level of partially satisfied users, i.e., users belonging to \(\mathcal{S}\), hence it holds that \(X < \min_{i\in\mathcal{S}} d_i \). Furthermore, we already noticed that \(X^{{\kern1.5pt} *} \geq \max_{i\in\mathcal{D}^*} d_i\) . We now consider two distinct cases based on the mutual relation between the sets \(\mathcal{S}\) and \(\mathcal{D}^*\). If \(\mathcal{S}\cap\mathcal{D}^*\neq \emptyset\), we can take a generic element \(\bar{d}\in\mathcal{S}\cap\mathcal{D}^*\) and write:

$$ X < \min\limits_{i\in\mathcal{S}} d_i \leq \bar{d} \leq \max\limits_{i\in\mathcal{D}^*} \leq X^{{\kern1.5pt} *}. $$

Conversely, if \(\mathcal{S}\cap\mathcal{D}^*= \emptyset\), it follows necessarily that \(\mathcal{D} \supset \mathcal{D}^*\): in fact, moving from \(\mathcal{D}^*\) to \(\mathcal{D}\) the number of fully satisfied users increases, leading necessarily to a lower water level. This is a direct consequence of the definition of max–min fair water-level. Thus, we conclude that X * ≥ X.□

Rights and permissions

Reprints and permissions

About this article

Cite this article

Coluccia, A., D’Alconzo, A. & Ricciato, F. On the optimality of max–min fairness in resource allocation. Ann. Telecommun. 67, 15–26 (2012). https://doi.org/10.1007/s12243-011-0246-y

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s12243-011-0246-y

Keywords

Navigation