### 4.2.3 ADMM求解的变量与步骤详解 #### 1. 变量定义与作用 - **输入变量**: - $A_{pre}$:初始邻接矩阵(优化前的网络拓扑)。 - $P$:对称的0-1矩阵,用于标记 $A_{pre}$ 中非零元素的位置(保持已有边不变)。 - $A'_{max}$:功率最大时的邻接矩阵的补集($A'_{maxij} = 1$ 表示 $A_{maxij} = 0$,即不允许新增边)。 - $\alpha$:权衡稀疏性($L_1$ 范数)和低秩性(核范数)的系数。 - **iters**:ADMM迭代次数。 - **中间变量**: - **$D_1, D_2$**:临时变量,用于投影步骤的中间计算。 - $D_1 = A^*$:来自附录A的推导(可能是对偶变量或中间解)。 - $D_2 = R^* + A_{pre}$:结合残差 $R^*$ 和初始矩阵 $A_{pre}$ 的中间结果。 - **$M$**:残差计算的辅助矩阵,可能与约束 $A \odot P = A_{pre} \odot P$ 相关。 - **$temp\_R, temp\_A$**:内层循环的临时变量,用于梯度投影的残差计算。 - **$X, Y$**:对偶变量(拉格朗日乘子),分别对应两个约束: - $X$:约束 $A \odot P = A_{pre} \odot P$ 的对偶变量。 - $Y$:约束 $A \odot A'_{max} = 0$ 的对偶变量。 - **$Z1, Z2$**:辅助变量,用于解耦目标函数中的核范数和 $L_1$ 范数: - $Z1$:与核范数 $\|A\|_*$ 相关的辅助变量。 - $Z2$:与 $L_1$ 范数 $\|A\|_1$ 相关的辅助变量。 - **$U1, U2$**:拉格朗日乘子,用于ADMM的对偶上升步骤: - $U1$:对应 $Z1$ 的约束 $A = Z1$。 - $U2$:对应 $Z2$ 的约束 $A = Z2$。 --- #### 2. 算法步骤详解 ##### (S.1) 更新原始变量 $A$(ADMM的 $x$ 步) 通过内层循环(投影和对偶上升)更新 $A$,确保其满足两个约束: 1. **投影到 $A \odot P = A_{pre} \odot P$**(保持已有边不变): - **行4-11**:梯度投影法迭代更新 $R$(残差)。 - $temp\_R^{k+1} = M - X^k \odot A_{pre}$:计算当前残差($M$ 可能是约束的右端项)。 - $X^{k+1} = X^k + \beta (A_{pre} \odot temp\_R^{k+1})$:对偶变量 $X$ 的梯度上升(步长 $\beta$)。 - **本质**:通过迭代强制 $A$ 在 $P$ 标记的位置与 $A_{pre}$ 一致。 2. **投影到 $A \odot A'_{max} = 0$**(禁止新增边): - **行13-17**:类似地,更新 $Y$: - $temp\_A^{k+1} = D_2 - Y^k \odot A'_{max}$:残差计算。 - $Y^{k+1} = Y^k + \gamma (A'_{max} \odot temp\_A^{k+1})$:对偶变量 $Y$ 的更新(步长 $\gamma$)。 ##### (S.2) 更新辅助变量 $Z1, Z2$(ADMM的 $z$ 步) 通过阈值操作分离目标函数的两部分: 1. **$Z1^{t+1} = T_r(A^{t+1} + U1^t)$**: - $T_r(\cdot)$:奇异值阈值算子(核范数投影)。 - 对 $A + U1$ 做SVD分解,保留前 $r$ 个奇异值($r$ 由低秩性需求决定)。 - **作用**:强制 $A$ 低秩。 2. **$Z2^{t+1} = S_{\alpha}(A^{t+1} + U2^t)$**: - $S_{\alpha}(\cdot)$:软阈值算子($L_1$ 范数投影)。 - 对 $A + U2$ 的每个元素:$\text{sign}(x) \cdot \max(|x| - \alpha, 0)$。 - **作用**:促进 $A$ 的稀疏性。 ##### (S.3) 更新拉格朗日乘子 $U1, U2$(ADMM的对偶上升) 通过残差调整乘子: - $U1^{t+1} = U1^t + A^{t+1} - Z1^{t+1}$:核范数约束的乘子更新。 - $U2^{t+1} = U2^t + A^{t+1} - Z2^{t+1}$:$L_1$ 范数约束的乘子更新。 - **作用**:惩罚 $A$ 与辅助变量 $Z1, Z2$ 的偏差,推动收敛。 --- #### 3. 关键点总结 1. **投影步骤**:内层循环通过梯度法将 $A$ 投影到两个约束集合(保持已有边 + 禁止新增边)。 2. **变量解耦**:$Z1, Z2$ 分离低秩和稀疏目标,ADMM通过交替更新协调二者。 3. **凸性保证**:核范数和 $L_1$ 范数均为凸函数,ADMM能收敛到全局最优解。 4. **并行性**:每个节点可独立运行算法(行1注释),适合分布式网络优化。 --- #### 可能的疑问与验证 - **$M$ 的具体定义**:文中未明确,可能是 $A_{pre} \odot P$ 或其他约束右端项。 - **$D_1, D_2$ 的推导**:需参考附录A的公式(4-33)和(4-40),可能涉及对偶问题的转换。 - **步长 $\beta, \gamma$**:通常需手动调参或通过线搜索确定。