## 4 ADMM-Based Distributed Solution Strategy
### Problem Decomposition and Joint Optimization Algorithm
\begin{split}\mathbf{P1}:&\min_{z_{gm},f_{gm}^{k} \in[0,1]}-\frac{1}{|\mathcal{M}|}\sum_{g=1}^{G}s_{g}z_{gm}+v_{m}\mathfrak{L}_{p _{2}}+\sum_{j\in\mathcal{J}}\mu_{mj}\mathfrak{L}_{p_{3}}\\ &\quad+\frac{\rho_{2}}{2}\mathfrak{L}_{p_{2}}^{2}+\frac{\rho_{3} }{2}\sum_{j\in\mathcal{J}}\mathfrak{L}_{p_{3}}^{2}\\ s.t.&\quad\text{C1}:\quad\sum_{g=1}^{G}z_{gm}=1\\ &\quad\text{C2}:\quad\sum_{j\in\mathcal{J}}\sum_{g=1}^{G}f_{gm}^{ j}=1\end{split}  \tag{19}\]  
In problem \(\mathbf{P1}\), the goal involves a standard convex objective function along with two linear equality constraints. Due to these characteristics, the problem can be effectively tackled using convex optimization tools such as CVX [37]. Analogous to the computational scheduling issue on the user side, the service node-side scheduling challenge can likewise be addressed independently by each service node. The problem specific to each service node is expressed as:  
\[ \begin{split}\mathbf{P2}:&\min_{y_{m}\in\mathbb{R}^ {+}}\sum_{m\in\mathcal{M}}\sum_{n\in\mathcal{N}}\lambda_{mn}\mathfrak{L}_{p_{ 1}}+\sum_{m\in\mathcal{M}}v_{m}\mathfrak{L}_{p_{2}}\\ &\quad+\frac{\rho_{1}}{2}\sum_{m\in\mathcal{M}}\sum_{n\in \mathcal{N}}\mathfrak{L}_{p_{1}}^{2}+\frac{\rho_{2}}{2}\sum_{m\in\mathcal{M}} \mathfrak{L}_{p_{2}}^{2}\\ s.t.&\quad\text{C7}:\quad\sum_{m\in\mathcal{M}}y_{mn} \leq C_{n},\quad\forall n\in\mathcal{N}\end{split}  \tag{20}\]  
The issue of path planning and power allocation on the network side is structured as follows:  
\[ \begin{split}\mathbf{P3}:&\min_{\underline{p}_{mn},\underline{p}_{l}\in\mathbb{R}^{+}}\sum_{m\in\mathcal{M}}\sum_{n\in\mathcal{N }}\lambda_{mn}\mathfrak{L}_{p_{1}}+\sum_{m\in\mathcal{M}}\sum_{j\in\mathcal{J }}\mu_{mj}\mathfrak{L}_{p_{3}}\\ &\quad+\frac{\rho_{1}}{2}\sum_{m\in\mathcal{M}}\sum_{n\in \mathcal{N}}\mathfrak{L}_{p_{1}}^{2}+\frac{\rho_{3}}{2}\sum_{m\in\mathcal{M}} \sum_{j\in\mathcal{J}}\mathfrak{L}_{p_{3}}^{2}\\ s.t.\text{C6}:&\quad EPFD_{j}\leq EPFD_{h},\quad \forall j\in\mathcal{J}_{g\alpha}\\ \text{C8}:&\quad\sum_{l\in\mathcal{L}_{n}}2^{\beta_{ l}}\leq P_{n},\quad\forall n\in\mathcal{N}\\ \text{C9}:&\quad\sum_{\underline{p}_{mn}^{k}\in \mathcal{P}_{l}}\alpha_{l}r_{mn}^{k}\leq B_{l},\quad\forall l\in\mathcal{L}_{nd }\\ \text{C10}:&\quad\sum_{\underline{p}_{mn}^{k}\in \mathcal{P}_{l}}\alpha_{l}r_{mn}^{k}\leq\bar{R}_{l}^{\max},\quad\forall l\in \mathcal{L}_{nl}\end{split}  \tag{21}\]  
In every cycle \(t\), after addressing the distributed subproblems, the dual variables are revised according to the following expressions:  
\[ \begin{split}\begin{cases}\lambda_{mn}(t+1)=\lambda_{mn}(t)-\rho_ {1}(\sum_{\underline{p}_{mn}^{k}\in\mathcal{P}_{mn}}r_{mn}^{k}-h_{mn}y_{mn})\\ \
u_{m}(t+1)=\
u_{m}(t)-\rho_{2}(\sum_{g=1}^{G}z_{gm}c_{gm}-\sum_{n\in \mathcal{N}}y_{mn})\\ \mu_{mj}(t+1)=\mu_{mj}(t)-\rho_{3}(\sum_{\underline{p}_{mn}^{k}\in \mathcal{P}_{mn}}a_{mj}r_{mn}^{k}-\sum_{g=1}^{G}f_{gm}^{j}v_{g})\end{cases}\end{split}  \tag{22}\]  
After breaking down the problem, we can view it as having two parts: the user side and the network side. On the user side, video resolution levels are selected based on the resources provided by the network. On the network side, resources are allocated based on the user's choices. If the video resolution level selected by the user remains unchanged, the network side's demand will not change either. Once the resource demand on the network side cannot be met, the network will notify the video user to lower the resolution demand through network pricing. Therefore, if this paper can solve the internal problems **P1**, **P2**, and **P3** in each iteration, the SDN controller can update the dual variables and pass them to the nodes and users, helping the nodes and users find the optimal solution to their subproblems. These subproblems can each be optimized independently, considering their unique local constraints and dual variables. Specifically:  
* User-side optimization: Users select the suitable video resolution and access point from the available network resources.