## 3 Scheduling Problem Formation
### Application Model
Average Cloud Utilizations:  
The optimal utilization [40] of resources on cloud servers is known as average cloud utilization and it is calculated as represented in Equation (4). \[\text{A}_{\text{cu}}=\frac{1}{\text{N}}\sum_{\text{m}=1}^{\text{N}}\text{U}( \text{CS}_{\text{m}}),1\leq\text{m}\leq\text{N} \tag{4}\]  
In this equation, \(\text{A}_{\text{cu}}\) indicates the average cloud utilizations, CS\({}_{\text{m}}\) indicates cloud servers, and U(CS\({}_{\text{m}}\)) is the utilization of m number of cloud servers, calculated as per Equation (5). \[\text{U}(\text{CS}_{\text{m}})=\frac{1}{|\text{CS}_{\text{m}}|}\sum_{\text{n} =1}^{\text{CS}_{\text{m}}}\text{U}(\text{vm}_{\text{n}}),1\leq\text{n}\leq \text{N} \tag{5}\]  
In the above equation, \(\text{U}(\text{vm}_{\text{n}})\) indicates the utilization of virtual machines and it is calculated as per Equation (6). \[\text{U}(\text{vm}_{\text{n}})=\frac{\text{M}_{\text{s}}(\text{vm}_{\text{n} })}{\text{M}_{\text{s}}(\text{CS}_{\text{m}})} \tag{6}\]  
The utilization of virtual machines is defined as the overall consumption time taken by virtual machines with respect to the makespan of cloud servers, CS\({}_{\text{m}}\). Early start time:  
The early start time of a task, t\({}_{\text{i}}\), on virtual machines is calculated using Equation (7). \[\text{E}^{\text{st}}{=}\max\{\text{access}_{\text{vm}^{\prime}},\max_{t_{ \text{p}}\in\text{pre}\{t_{\text{i}}\}}\{\text{AFT}_{\text{t}_{\text{p}}}+ \text{DTT}_{\text{t}_{\text{p}},\text{i}}\} \tag{7}\]  
where \(\text{access}_{\text{vm}}\) is the minimum access time of the VMs, AFT\({}_{\text{t}_{\text{p}},\text{i}}\) indicates the actual finish time of the predecessor task, t\({}_{\text{p}}\), and DTT\({}_{\text{t}_{\text{p}},\text{i}}\) represents the data transfer time of predecessor task, t\({}_{\text{p}}\), to the current task, t\({}_{\text{i}}\). Early Finish time:  
The early start time of a task t\({}_{\text{i}}\) on VMs is the summation of the estimated computation time and the early finish time on the VM, which is represented by Equation (8). \[\text{E}^{\text{ft}}{=}\text{E}^{\text{ct}}{+}\text{E}^{\text{st}} \tag{8}\]  
Normalized Estimated Computation Time:  
\[\text{N}\_{\text{E}^{\text{ct}}}=\frac{\text{E}^{\text{ct}}{+}\text{min}_{ \text{E}^{\text{ct}}}}{\max_{\text{E}^{\text{ct}}}{-}\text{min}_{\text{E}^{ \text{ct}}}} \tag{9}\]By using Equation (9), the N_E\({}^{\rm ct}\) is initially calculated at level 1 of the workflow. Following this, the NEC\({}^{\rm ct}\) is updated as N_T_E\({}^{\rm ct}\) because when any task is assigned to the VM the previous E\({}^{\rm ct}\) needs to be updated as T_E\({}^{\rm ct}\). **Execution Cost (EC):**  
\[{\rm EC=\frac{Pt_{vm}*C_{i}}{B_{i}}} \tag{10}\]  
The execution cost on VMs is calculated as per Equation (10). It is the ratio of the product between the processing time, Pt\({}_{vm}\), and cost per interval C\({}_{i}\) to billing intervals B\({}_{i}\), in which the processing time on VMs is calculated according to Equation (11)  
\[{\rm Pt_{vm}=E^{ct}+\sum_{1}^{d}(DTT_{t_{i}}+Rsame)+delay} \tag{11}\]  
Rsame is 0 when T\({}_{p}\) and T\({}_{s}\) are running on the same resource (cloud server). Otherwise, it is considered as 1.