# A Novel Strategy for VNF Placement in Edge Computing Environments
## 3 Problem Statement and Modeling
### ILP Formulation  
This section describes the ILP formulation to the VNF placement problem in the edge tier upon the system model defined in Section 3.1. We propose an ILP formulation with three goals:  
1. Minimizes the computational and communication resource usage;
2. Minimizes the end-to-end delay;
3. Minimizes the energy consumption. Therefore, our formulation defines a multi-objective function that considers the delay, resource, and energy parameters. Table 4 presents the decision variables of the proposed ILP formulation. Based on our delay model and the mentioned decision variables, consider the computational resource \(R_{s,u}^{Cp}\) defined in Equation (5), which sums the total resource usage on edge nodes for all VNF instances and all the SFCs of users. The communication resource \(R_{s,u}^{Cm}\), defined in Equation (6), computes the total communication resources spent among all VNF instances of each SFC of the users. The processing delay \(D_{s,u}^{pre}\), defined in Equation (7), calculates the time spent for processing VNF instances for each SFC of the users. The queuing delay \(D_{s,u}^{g}\), defined in Equation (8), calculates the time spent on an edge node queue to start processing the VNF instances. The propagation delay \(D_{s,u}^{p}\), defined in Equation (9), calculates the time spent by a packet data to traverse all VNF instances that compose each SFC of the users. The transmission delay \(D_{s,u}^{Im}\), defined in Equation (10), calculates the time spent for transmitting data through all VNF instances that compose each SFC of the users. \[R_{s,u}^{Cp}=\sum_{h\in H}\sum_{v_{inst}^{h}\in L_{h}}\frac{R_{v_{inst}^{h}}}{ TR_{h}}\times k_{h}^{v_{inst}},\forall v\in V,\forall s\in S_{u},\forall u\in U \tag{5}\] \begin{table}
\begin{tabular}{c c} \hline \hline
**Symbol** & **Description** \\ \hline \hline \(\chi_{h}^{sup}\) & Binary variable set to 1 if VNF instance \(v_{inst}\in I_{v}\) of service \(s\) from user \(u\) is executed in host \(h\) \\ \(k_{h}^{v_{inst}}\) & Binary variable set to 1 if VNF instance \(v_{inst}\) is executed in host \(h\) \\ \hline \hline \multicolumn{2}{c}{_Network Traffic_} \\ \hline \(y_{l_{ij}}^{v_{inst}^{h}}\) & The amount of traffic between VNF instances \(v_{inst}^{h}\) and \(v_{inst}^{h}\) that is routed over link \(l_{ij}\in L\) \\ \hline \multicolumn{2}{c}{_Resource_} \\ \hline \(R_{s,u}^{Cp}\) & Total resource usage in the edge nodes by each VNF instance of all SFCs of user \(u\) \\ \(R_{s,u}^{Sun}\) & Total communication resources spent among VNF instances for each user SFC \\ \hline \multicolumn{2}{c}{_Delay_} \\ \hline \(D_{s,u}^{pre}\) & Time spent for processing all VNF instances of all SFCs of user \(u\) \\ \(D_{s,u}^{Dy}\) & Time spent in the edge node queue for starting to process the VNF instances \\ \(D_{s,u}^{Dy}\) & Time spent for propagating data between the VNF instances that compose each SFC of users \\ \(D_{s,u}^{Im}\) & Time spent for transmitting data between the VNF instances that compose each SFC of users \\ \hline \multicolumn{2}{c}{_Energy consumption_} \\ \hline \(E_{l_{ij}}^{Cm}\) & Energy consumed on communication \\ \(E_{s,u}^{Pu}\) & Energy consumed on transferring data \\ \(E_{s,u}^{Pu}\) & Energy consumed on processing data \\ \hline \hline \end{tabular}
\end{table} 
Table 4: ILP Symbols and notation.