## 3 Problem with Solution Framework
### Construct ANT Solution Process  
A group of m artificial ants try to create the solution set by combining elements from the available finite set of existing solution mechanisms \(S\), and the new set \(C\), which is a subset of \(X_{i}\) union \(\Omega\) (here set \(C\) and \(S\Omega\) are the same), which is represented by the set \(C\rightarrow\left[c_{ij}\right],\) where j = 1,..., \(\mid D_{i}\mid\) and i = 1,..., m. For an appropriate optimization process, the function begins with a null partial result, which is represented by \(S^{p}=\varnothing\). After this, all of the present partial solution \(S^{p}\) is then protracted at every construction step-by-step by adding a feasible solution component from the set of feasible neighbours \(N(S^{p})\ \subseteq\ C,\) that is, in order to get to the solution component, the set of feasible neighbours \(N(S^{p})\) is used, and this set is calculated from the previously calculated solution component \(S^{p}\), where the values of the ith task and the selected jth virtual machine are left, and, for assigning the (i+1)th task, the range of virtual machines to look for will be designed in such a way that it gives less priority to the already assigned virtual machines and gives more priority to the available virtual machines. The process of developing solutions can be thought of as a path on the construction graph \(GC(V,E)\). The solution construction mechanism, which defines the set \(N(S^{p})\) with respect to a partial solution \(S^{p}\), implicitly defines the allowed paths in the \(GC\). At each construction step, a remedy element from \(N(S^{p})\) is chosen probabilistically. Thus, for assigning one task to the correct virtual machine, multiple comparison will be done based on the range of virtual machines, when the value of the element \(c_{ij}\) obtained (with task assigned to the jth virtual machine) matches with other elements from the \(S^{p}\) set, that is, \(c_{ij}=c_{il}\) and so on. Then, the Equation (5a) is used to calculate the best possible pair, but when the set has different values, Equation (5b) is used to calculate the best possible pair by using the weight concept. The main reason to use weights in the second case is because, when the value of the elements in set is different, this formula helps to determine the best pair of the task-to-virtual machine match, but, most of the time, it just acts like a cross-checker to be sure that the selection is optimal, and the selection eventually results in the required solution set that is optimal. The calculation of weights is done based on the first and second best values of the elements from the \(S^{p}\) set, where \(c_{ij}\) refers to the first highest value, and \(c_{il}\) refers to the second highest value. The precise rules for the stochastic selection of solution components differ based on the cases mentioned below. **Case 1**--when \(c_{ij}=c_{il}\)  
\[p\Big{(}\,c_{ij|k}\Big{|}S^{p}\Big{)}=\frac{T_{ij}^{a}*\eta_{ij}^{\beta}}{\sum _{C_{ij}\in N(S^{p})}\big{(}\,T_{il}^{a}\big{)}*\Big{(}\eta_{il}^{\beta}\big{)} }\forall c_{ij}c_{il}\in N(S^{p}) \tag{5a}\]  
**Case 2**--when \(c_{ij}\
eq\ c_{il}\)  
\[p\Big{(}\,c_{ij|k}\Big{|}S^{p}\Big{)}=\max\Bigg{[}\left(\frac{T_{ij}^{a}*\eta_ {ij}^{\beta}}{\sum_{C_{ij}\in N(S^{p})}\big{(}\,T_{il}^{a}\big{)}*\Big{(}\eta_ {il}^{\beta}\big{)}}*w1\right)\cdot\left(\frac{T_{ij}^{a}*\eta_{ij}^{\beta}}{ \sum_{C_{il}\in N(S^{p})}\big{(}\,T_{il}^{a}\big{)}*\big{(}\eta_{il}^{\beta} \big{)}}*(1-w1)\right)\Bigg{]}\forall c_{ij}c_{il}\in N(S^{p}) \tag{5b}\]  
The weights are calculated using the below-mentioned formula:  
\[w1=\frac{p(j|l)*\eta_{ij}}{p(j|l)*\eta_{ij}+p(l|j)*\eta_{il}} \tag{5c}\]  
where the current ith task can be assigned to a virtual machine from the range [j, k].