**8. Performance analysis of RGSGCS and MSA**

12 Will-be-set-by-IN-TECH

In single exchange mutation operator, it picks up two genes of a chromosome selected randomly, then exchanges resource indices between them if these indices are not the same vaue (Wael et al., 2011). The MSA algorithm is described by algorithm 3. In the traditional SA,

5: Generate chromosome *s*1 ∈ *Neighbor*(*s*) by using Single Exchange mutation. 6: Apply using Single Exchange mutation on initial chromosome *s* to generate

22: return *s*∗, and best *Makespan*(*s*∗) // Where *Makespan* is makespan value of candidate

only one neighborhood solution is created in each temperature. The main difference between MSA and traditional SA is that MSA creates two neighborhood solutions in each temperature using single exchange mutation, and selects one of them according to the probability and the fitness function. Applying this modification to the traditional SA causing MSA algorithm to

*ti* )

Fig. 9. Convergence of Simulated Annealing.

1: Choose an initial chromosome *s* ∈ *S* using Random-MCT

2: *i* = 0, *s*<sup>∗</sup> = *s*, *Tinitial* = 1000, *best* = *Makespan*(*s*)

7: Calculate *Makespan*(*s*1) and *Makespan*(*s*2).

9: Δ=exp( *Makespan*(*sl*)−*Makespan*(*s*)

13: **if** Makespan(*sl*) *>* best **then**

16: *best* = *Makespan*(*s*∗)

10: **if** random[0,1] *<* Δ **then**

**Algorithm 3** MSA

3: *ti* = *Tinitial* 4: **repeat**

chromosome *s*2 .

8: **for** *l* = 1 to 2 **do**

11: *s* = *sl* 12: **else**

14: *s*∗=*sl* 15: *s* = *s*∗

17: **end if** 18: **end if** 19: **end for** 20: *ti*+1=*ti* × 0.99;

chromosome.

21: **until** *Neighbours* is reached

In order to measure the final schedule of both algorithms MSA, and RGSGCS, the following parameters are used:

First, Load Balancing Factor *LBF*, which is in the following equation:

$$LBF = \frac{Makespan}{mean(\mathbb{C}\_m)} - 1\tag{8}$$

Note that *LBF* measures load balancing of an algorithm's solution, when *LBF* minimizes, algorithm's quality is better. Finally, when *LBF* equals to zero the load balancing of algorithm's solution is optimal. MSA algorithm needs to spend very less time to come up with an optimal solution. Second, average resource utilization is given by the following equation:

$$\mathcal{U} = \frac{mean(\mathbb{C}\_m)}{Makespan} \tag{9}$$

Where *m* = 1, 2, ··· , *M*. However, according to the simulation results, it is proved that MSA is effective in speeding up convergence while providing an optimal result.
