# A Mathematical Model for Efficient and Fair Resource Assignment in Multipath Transport
## Appendix A Mathematical Annex
### General Constraints
If the flow makes use of the link, the capacity allocated for the flow can at maximum be the physical speed of the link:  
\[f_{ij}^{st}\leq cap_{ij}x_{ij}^{st}\qquad\forall(i,j)\in A,[s,t]\in K. \tag{12}\]  
**Path constraints:** Equation (13) limits the number of available paths between the sender and the receiver to the product of the interfaces which the sender and the receiver are respectively equipped with. Obviously, the same limit also applies to the number of subflows which belong to the same connection. Equation (14) is similar to Equation (12); however, the link and the path variables are exchanged between the left and right side of the equation sign. This means that the (non-)occupation of a link by a flow is both a necessary as well as a sufficient criterion for the fact that the link is part of the flow:  
\[\sum_{(i,j)\in A}x_{ij}^{st}\leq snd\_int^{st}\cdot rcv\_int^{st}\qquad\forall i \in V,[s,t]\in K, \tag{13}\]  
\[x_{ij}^{st}\leq\beta\cdot f_{ij}^{st}\qquad\forall i,j\in A,[s,t]\in K. \tag{14}\]  
**Multipath flow identifier constraints:** Equations (15) and (16) are complementary: the further forces the binary variable \(flow\_id\_bin\) to \(0\) if node \(i\) is \(not\) part of a path, which is assigned to the flow from node \(s\) to \(t\); the latter forces the variable to be greater than zero if node \(i\) is part of such a path. Equation (17) makes sure that the variable \(flow\_type^{st}=0\) if the flow \([s,t]\in K\) does not take multipath from any node \(i\). Equation (18) identifies the multipath flow i.e., \(flow\_type^{st}=1\) if the flow \([s,t]\in K\) takes multipath from any node \(i\):  
\[flow\_id\_bin_{i}^{st}\leq no\_of\_path_{i}^{st}\qquad\forall i\in V,[s,t]\in K, \tag{15}\]  
\[\beta\cdot flow\_id\_bin_{i}^{st}\geq no\_of\_path_{i}^{st}\qquad\forall i\in V,[s,t]\in K, \tag{16}\]  
\[flow\_type^{st}\leq\sum_{i\in V}(no\_of\_path_{i}^{st}-flow\_id\_bin_{i}^{st}) \qquad\forall[s,t]\in K, \tag{17}\]  
\[\beta\cdot flow\_type^{st}\geq\sum_{i\in V}(no\_of\_path_{i}^{st}-flow\_id\_ bin_{i}^{st})\qquad\forall[s,t]\in K. \tag{18}\]  
**Multipath subflow identification constraints:** Let \(sf\_id_{ohij}^{st}\) be a binary variable that identifies subflow \([o,h]\in A\) on link \((i,j)\in A\) for the flow \([s,t]\in K\). The binary variable \(sf\_id_{ohij}^{st}=1\) if there exists a subflow \((o,h)\in A\) on link \((i,j)\in A\) for the flow \([s,t]\in K\). There is no subflow for the single path flow \([s,t]\in K\) so \(sf\_id_{ohij}^{st}=0\). Equation (12) implies that there can not be a subflow on link \((i,j)\in A\) for the flow \([s,t]\in K\) i.e., \(sf\_id_{ohij}^{st}=0\) if the flow \([s,t]\in K\) does not use (\(x_{ij}^{st}=0\)) that link. Equation (13) generates at least one subflow for the multipath flow \((flow\_type^{st}=1)\)\([s,t]\in K\) on the link \((i,j)\in A\) if the multipath flow \([s,t]\in K\) uses that path. Equation (14) makes sure that, for the subflow \([o,h]\in A\), the subflow identifier \(sf\_id_{ohij}^{st}\) is not set to more than one link from a certain node \(i\) for the flow \([s,t]\in K\):  
\[sf\_id_{ohij}^{st}\leq x_{ij}^{st}\quad\forall h\
eq s,(o,h)\in A,(i,j)\in A,[s,t]\in K, \tag{19}\]\[\sum_{[s,t]\in K}f_{ij}^{st}\leq cap_{ij}\qquad\forall(i,j)\in A. \tag{11}\]0 \[\sum_{[s,t]\in K}f_{ij}^{st}\leq cap_{ij}\qquad\forall(i,j)\in A. \tag{11}\]1  
Consider a helping binary variable \(z_{oh}^{st}\) which is 1 if there exists a subflow \([o,h]\in A\) on link \((o,h)\in A\) for the flow \([s,t]\in K\). \(z_{oh}^{st}\) identifies the subflow \([o,h]\in A\) for the flow \([s,t]\in K\) not considering the routing path for the subflow.