# A Hybrid Metaheuristic for Multi-Objective Scientific Workflow Scheduling in a Cloud Environment
## 4 Proposed Work
### Selection of Best Fit Solutions  
The solutions from the elite ecosystem after the optimization process are combined together as given by Equation (25).  
\[X_{combined}=\left[X,X^{M},X^{C},X^{P}\right] \tag{25}\]  
The size of the combined population \(X_{combined}\) is larger than the number of organisms \(n\) in the ecosystem. The fitness of each organism in the ecosystem \(X_{combined}\) is checked for dominance with other members using Step IVB. Then, only \(n\) organisms with higher ranks are selected based on fast non-dominated sorting and crowding distance [40] for the next generation. The solutions are selected based on the non-domination ranks in the front to which they belong. If there are more solutions with the same value of dominance, then the solution whose crowding distance is higher is selected for the next generation. The solution with the higher crowding distance value is less crowded by other solutions and signifies better density to preserve the diversity of the region. Each objective function is normalized prior to computing the crowding distance. Note that the size of the ecosystem comprising the best solutions is kept the same, that is \(n\). The solution with the highest rank is selected as the best solution \(X_{best}\) for the next generation.  
In the proposed work, the fitness evaluation function is normalized for converting all of the objectives into the minimized problems in the range [0, 1] and for maximizing the spread of the solutions across the Pareto front. The normalized fitness function value across \(d\) objective functions of the solution \(x\) is defined as  
\[nf_{i}=\left(\frac{f_{i}-f_{i}^{min}}{f_{i}^{max}-f_{i}^{min}}\right)\forall i \in\{1,\,2,\,3,\,\ldots,\,d\} \tag{26}\]  
where \(f_{i}\) is the \(i\)th objective function value for solution \(x\), and \(f_{i}^{min}\) and \(f_{i}^{max}\) are the minimum and maximum values of the \(i\)th objective function in the ecosystem.  
The crowding distance is used to select the solutions who have the same rank in the front. The crowding distance of the two boundary solutions is assigned an infinite value. The crowding distance of an intermediate \(j\)th solution in a non-dominated solution set \(F\) is defined as the average distance of the two adjacent solutions on its either side along each of the objectives, denoted as \(CD_{i}^{F[j]}\), which is mathematically given in Equation (27).  
\[\left\{\begin{array}{ll}CD_{i}^{F[j]}=\infty,&\text{if $j=1$ or $j=M$}\\ CD_{i}^{F[j]}=\frac{nf_{i}^{F[j+1]}-nf_{i}^{F[j-1]}}{nf_{i}^{max}-nf_{i}^{min}},& \text{otherwise}\end{array}\right. \tag{27}\]  
where \(M\) is the number of non-dominated solutions obtained, \(i\) is an objective function value of a solution in the non-dominated set \(I\), \(nf_{i}^{F[j]}\) is the \(i\)th objective function value of the \(j\)th solution in the set \(F\); and the metrics \(nf_{i}^{max}\) and \(nf_{i}^{min}\) are the maximum and minimum normalized values of the \(i\)th objective function in the same set, respectively. Here, the non-dominated solutions with the smallest and the largest objective function values, referred to as boundary solutions, are assigned an infinite distance value so that they are always selected.