# A Mathematical Model for Efficient and Fair Resource Assignment in Multipath Transport
## Appendix A Mathematical Annex
### General Constraints  
**Flow conservation constraint:** At each node except for the communication endpoints, the number of ingoing and outgoing flows must be equal [16]; routers do not act as source or sink. \[\sum_{(i,j)\in A}f_{ij}^{st}-\sum_{(j,i)\in A}f_{ji}^{st}=\left\{ \begin{array} []{ll}\varphi^{st},&\text{ if }i=s,\\ -\varphi^{st},&\text{ if }i=t,\\ 0,&\text{ else},\end{array} \right.\]  
\[\forall i\in V,[s,t]\in K. \tag{1}\] \begin{table}
\begin{tabular}{l l} \hline \(V\) & set of all nodes \\ \(L\) & set of all interfaces \\ \(A\) & set of all links \\ \(K\) & set of all flows (single or multipath) \\ \((i,j)\) & link \(\in A\) from interface \(i\) to \(j\) \\ \([s,t]\) & flow (legacy or multipath) \(\in K\) from node \(s\) to \(t\) \\ \(Alloc\) & total allocations for all flows \\ \(f_{i}\) & legacy or MPTCP flow \(i\) \\ \(sf_{i}\) & legacy flow or MPTCP subflow \(i\) \\ \(f\_alloc_{i}\) & allocation for legacy or MPTCP flow \(i\) \\ \(sf\_alloc_{i}\) & allocation for legacy flow or MPTCP subflow \(i\) \\ \hline \(flow\_diff^{st}\) & sum of the differences of the allocation \\  & to flow \([s,t]\) and any other flow \\ \hline \(\delta\) & sum of \(flow\_diff_{st}\) for all pairs \(s,t\) \\ \(M\) & aggregated allocation for all multipath flows \\ \hline \(M_{\text{gain}}\) & Allocation gain for multipath-capable flows \\  & when upgraded from single-path to multipath \\ \hline \(cap_{ij}\) & capacity on link \((i,j)\) \\ \(\varphi^{st}\) & capacity allocated to flow \([s,t]\) (single or multipath) \\ \hline \(m^{st}\) & capacity allocated to multipath flow \([s,t]\) \\  & 0 for single-path flows \\ \hline \(f_{ij}^{st}\) & capacity allocated to flow \([s,t]\) on link \((i,j)\) \\ \(unused\_cap_{ij}\) & unused capacity on link \((i,j)\) \\ \(max\_sf\_val^{st}\) & maximum allocation to a subflow of flow \([s,t]\) \\ \hline \(sf\_id_{\text{ohj}}^{st}\) & binary, 1 if subflow \((o,h)\) \\  & belonging to flow \([s,t]\) is present on link \((i,j)\) \\ \hline \(flow\_type^{st}\) & binary, 1 if flow \([s,t]\) is a multipath flow \\ \hline \(\beta\) & weighting factor in the objective function \\  & to prefer maximum allocation or fairness \\ \hline \(snd\_int^{st}\), & number of sender. resp. receiver interfaces \\ \(rcv\_int^{st}\) & for flow \([s,t]\) \\ \hline \(flow\_id\_bin_{t}^{st}\) & binary, 1 if node \(i\) is part \\  & of the path from node \(s\) to \(t\) \\ \hline \(x_{ij}^{st}\) & binary, 1 if link \((i,j)\) is in the path of flow \([s,t]\) \\ \(y_{ij}^{st}\) & binary, 1 if link \((i,j)\) is a bottleneck for flow \([s,t]\) \\ \(no\_of\_path_{i}^{st}\) & number of paths for flow \([s,t]\) passing node \(i\) \\ \hline \(z_{\text{oh}}^{st}\) & binary, 1 if flow \([s,t]\) has a subflow \\  & on link \((o,h)\) \\ \hline \(splitting\_node^{st}\) & number of paths used by flow \([s,t]\) \\ \(n\_sf^{st}\) & number of subflows used by flow \([s,t]\) \\ \hline \(sf\_bneck^{st}_{\text{ohj}}\) & binary, 1 if subflow \([o,h]\) of flow \([s,t]\) \\  & is congested on link \((i,j)\) \\ \hline \(cong\_flow\_diff^{st}_{ij}\) & sum of allocation differences of flow \([s,t]\) \\  & and any other flow on link \((i,j)\) \\ \hline \(cong\_group\_id^{st}_{ij}\) & binary, 1 if flow \([s,t]\) shares link \\  & \((i,j)\) with other flows \\ \hline \(SF\) & total number of subflows allocated to all flows \\ \hline \end{tabular}
\end{table} 
Table 1: Symbols used in the Mixed Integer Non-Linear Programming (MINLP) model. **Capacity limitation constraints**: The overall throughput on link \((i,j)\), summed up for all flows \([s,t]\), cannot be higher than the capacity \(cap_{ij}\) of the link [16]:  
\[\sum_{[s,t]\in K}f_{ij}^{st}\leq cap_{ij}\qquad\forall(i,j)\in A. \tag{11}\]  
Equation (12) expresses the condition that a flow \([s,t]\in K\) can only occupy capacity on a link \((i,j)\in A\) if the latter is part of the flow's path.