Max-Min Fairness and the SOCP Formulation

When the Weakest Link Matters

Sum rate is utilitarian; max-min rate is egalitarian. Maximize the rate of the worst-served user, let stronger users share whatever's left. In deployments where every user must meet a quality-of-service threshold β€” fixed-wireless access, emergency networks, IoT heartbeat β€” max-min is the right objective. The RIS-aided max-min problem has beautiful structure: via bisection, it becomes a sequence of second-order-cone programs (SOCPs), each solvable to global optimality in polynomial time. This is one of the cleanest RIS optimization results, and it contrasts instructively with sum-rate's non-convex WMMSE.

Definition:

RIS-Aided Max-Min Problem

The max-min rate problem under RIS is

β€…β€Šmax⁑W,Ξ¦β€…β€Šmin⁑k=1,…,Kβ€…β€ŠRk(W,Ξ¦)β€…β€Š\boxed{\;\max_{\mathbf{W}, \boldsymbol{\Phi}}\; \min_{k = 1, \ldots, K}\; R_k(\mathbf{W}, \boldsymbol{\Phi})\;}

subject to tr(WHW)≀Pt\text{tr}(\mathbf{W}^{H} \mathbf{W}) \leq P_t and βˆ£Ο•n∣=1|\phi_n| = 1. Equivalently (since log⁑2\log_2 is monotone), maximize min⁑kSINRk\min_k \text{SINR}_k.

With Ξ¦\boldsymbol{\Phi} fixed, the inner problem max⁑Wmin⁑kSINRk\max_{\mathbf{W}} \min_k \text{SINR}_k is a classical MU-MIMO max-min SINR problem β€” feasible QoS when reformulated.

Theorem: Bisection Reduces Max-Min to Feasibility

For fixed Ξ¦\boldsymbol{\Phi}, the max-min SINR problem

max⁑Wβ€…β€Šmin⁑kβ€…β€ŠSINRks.t.tr(WHW)≀Pt\max_{\mathbf{W}}\;\min_k\;\text{SINR}_k \quad \text{s.t.}\quad \text{tr}(\mathbf{W}^{H} \mathbf{W}) \leq P_t

is equivalent to the minimum-power QoS feasibility problem

(QoS-Ξ³):min⁑Wβ€…β€Štr(WHW)s.t.β€…β€ŠSINRkβ‰₯Ξ³β€…β€Šβˆ€k(\text{QoS-}\gamma):\quad \min_{\mathbf{W}}\; \text{tr}(\mathbf{W}^{H} \mathbf{W})\quad \text{s.t.}\; \text{SINR}_k \geq \gamma\;\forall k

whose feasibility can be checked as an SOCP in polynomial time. Bisecting on γ\gamma and calling the SOCP as oracle produces the max-min SINR to any desired precision in O(log⁑(1/ϡ))O(\log(1/\epsilon)) SOCP solves.

Ask: "Can we serve all KK users at SINR β‰₯Ξ³\geq \gamma?" If yes, try a higher Ξ³\gamma; if no, lower. Binary search over Ξ³\gamma converges to the max-min SINR in log⁑\log-factor iterations. Each feasibility check is a single SOCP β€” convex, global, polynomial time.

,

Key Takeaway

Fix Ξ¦\boldsymbol{\Phi} β†’ max-min becomes polynomial-time via SOCP + bisection. The active subproblem is genuinely tractable in multi-user fairness, unlike sum-rate which needs WMMSE. This makes max-min MU-RIS algorithmically easier than sum-rate MU-RIS in a well-defined sense: the outer AO iterations are the same, but each inner solve is convex and global instead of non-convex local.

AO for MU-RIS Max-Min Rate

Complexity: O(Tβ‹…[log⁑(1/Ο΅bisect)β‹…CSOCP+Cpassive])O(T \cdot [\log(1/\epsilon_{\text{bisect}}) \cdot C_{\text{SOCP}} + C_{\text{passive}}])
Input: channels, power PtP_t, tolerances Ο΅outer,Ο΅bisect\epsilon_{\text{outer}}, \epsilon_{\text{bisect}}.
Output: (W⋆,Φ⋆)(\mathbf{W}^\star, \boldsymbol{\Phi}^\star) with max-min SINR.
1. Initialize Ξ¦(0)\boldsymbol{\Phi}^{(0)}.
2. Repeat t=0,1,2,…t = 0, 1, 2, \ldots:
3. \quad Compute hk,eff(t)\mathbf{h}_{k,\text{eff}}^{(t)}.
4. \quad Active update via bisection:
5. \quad\quad Set Ξ³lo=0\gamma_{\text{lo}} = 0; Ξ³hi=\gamma_{\text{hi}} = single-user upper bound.
6. \quad\quad While Ξ³hiβˆ’Ξ³lo>Ο΅bisect\gamma_{\text{hi}} - \gamma_{\text{lo}} > \epsilon_{\text{bisect}}:
7. \quad\quad\quad Ξ³=(Ξ³lo+Ξ³hi)/2\gamma = (\gamma_{\text{lo}} + \gamma_{\text{hi}})/2. Solve SOCP (QoS-Ξ³)(\text{QoS-}\gamma).
8. \quad\quad\quad If feasible: Ξ³lo←γ\gamma_{\text{lo}} \leftarrow \gamma; else Ξ³hi←γ\gamma_{\text{hi}} \leftarrow \gamma.
9. \quad\quad Set W(t+1)=\mathbf{W}^{(t+1)} = SOCP solution at Ξ³lo\gamma_{\text{lo}}.
10. \quad Passive update: optimize Ξ¦\boldsymbol{\Phi} for max-min SINR
using Chapter 6 methods (SDR for best quality, element-wise for speed).
11. \quad Check ∣min⁑kRk(t+1)βˆ’min⁑kRk(t)∣<Ο΅outer|\min_k R_k^{(t+1)} - \min_k R_k^{(t)}| < \epsilon_{\text{outer}}.
12. return (W,Ξ¦)(\mathbf{W}, \boldsymbol{\Phi}).

Each SOCP has NtK+KN_t K + K variables and 2K2K SOC constraints; interior-point complexity is O((NtK)3.5)O((N_t K)^{3.5}), manageable for moderate Nt,KN_t, K. Bisection adds log⁑(1/Ο΅bisect)∼20\log(1/\epsilon_{\text{bisect}}) \sim 20 factor. Total inner cost per AO iteration: ∼20Γ—\sim 20 \times SOCP time.

Example: Max-Min SINR for a 2-User MISO

Two users with effective channels h1,eff=[1;0]\mathbf{h}_{1,\text{eff}} = [1; 0], h2,eff=[0;1]\mathbf{h}_{2,\text{eff}} = [0; 1] (orthogonal), Pt=10P_t = 10, Οƒ2=1\sigma^2 = 1. Compute the max-min SINR.

Sum Rate vs. Max-Min Rate Tradeoff

Plot the achievable boundary between sum rate and max-min rate as the objective is varied (e.g., via a weighted combination or a proportional-fair parameter). The RIS expands the boundary outward. Change KK to see how more users increase fairness pressure.

Parameters
64
8
4
10

Bisection + SOCP: The Max-Min Ladder

Animation of the bisection search: the SINR target Ξ³\gamma rises or falls based on SOCP feasibility, converging to the max-min value. Each SOCP solve finds a feasible W\mathbf{W} at power ≀Pt\leq P_t β€” or shows infeasibility, triggering a lower Ξ³\gamma.

A Tradeoff, Not a Choice

Sum rate vs. max-min is the efficiency-vs-fairness tradeoff in multi-user systems. Sum-rate maximization can leave some users at zero rate; max-min maximizes the floor but caps the ceiling. The proportional-fair objective βˆ‘klog⁑Rk\sum_k \log R_k sits between them: it grows with per-user rate (like sum rate) but penalizes unevenness (like max-min). In practice, production schedulers combine all three across time: sum rate for aggregate throughput, max-min or proportional-fair over short windows to maintain fairness. The RIS optimization framework is agnostic to the objective β€” plug in whichever utility function matches the operator's policy.

⚠️Engineering Note

Deploying Fairness with RIS

Production considerations for max-min MU-RIS:

  1. SOCP solver choice: ECOS or MOSEK for quality; interior-point from scratch for deterministic timing. Per-solve <1< 1 ms at NtK=64N_t K = 64.
  2. Bisection tolerance: Ο΅bisect=10βˆ’2\epsilon_{\text{bisect}} = 10^{-2} on SINR (linear scale) suffices; finer costs more solves without visible rate change.
  3. Outer AO warm-start: reuse previous Ξ¦\boldsymbol{\Phi} and Ξ³opt\gamma_{\text{opt}} across coherence blocks; typical AO convergence in 3-5 outer iterations.
  4. Infeasibility handling: if the power budget cannot serve all KK users at any Ξ³>0\gamma > 0, drop one user (the worst) and retry. Admission control is the outer envelope around the max-min scheduler.
Practical Constraints
  • β€’

    Typical total optimization time: ∼20\sim 20-5050 ms per coherence block.

  • β€’

    With infeasibility admission control, Kadmitted≀min⁑(Nt,1/Ξ³min)K_{\text{admitted}} \leq \min(N_t, 1/\gamma_{\text{min}}) roughly.

  • β€’

    Bisection precision of 10βˆ’210^{-2} yields rate precision of ∼0.01\sim 0.01 bit/s/Hz.

Common Mistake: Initialize the Bisection Properly

Mistake:

"Start bisection with Ξ³hi=1010\gamma_{\text{hi}} = 10^{10} β€” a big number, so we're sure to bracket the optimum."

Correction:

Overly loose bounds waste bisection iterations (and potentially trigger numerical instability in the SOCP solver). Use the single-user upper bound Ξ³hi=Ptβ‹…max⁑kβˆ₯hk,effβˆ₯2/Οƒ2\gamma_{\text{hi}} = P_t \cdot \max_k \|\mathbf{h}_{k,\text{eff}}\|^2 / \sigma^2 β€” tight and cheap to compute. Start Ξ³lo=\gamma_{\text{lo}} = a known feasible SINR (e.g., from equal-power MRT). Save 55-1010 bisection iterations.