How to perform Particle Swarm Optimization algorithm in Cloudsim

  • In an initialization phase of the algorithm, the numbers of particles are determined and the parameters are initialized. The parameters are the maximum iteration, particles
  • The solution can be represented as an array of IDs of VMs representing the order of VMs. The first task will be mapped to the first VM in the array of VM’s IDs and so on (this solution is not the final solution but it just an initial solution).

  • The data fitness value of solution is the objective of the algorithm. Here the objective is to schedule the tasks on VM so that the makespan should be less. Therefore here the data fitness value of the solution is related to the expected makespan of the solution

  • Each particle contains pBest and pData variables. pBest variable represents the data fitness value of particle’s solution (ie, the makespan of VM). pData variable represents the solution itself (ie, the VM ID).

  • On each iteration in the PSO processing loop, Each particle’s pBest value is changed when the particle found fitness value of the reached solution is better (also the pData is modified)

  • The gBest and gData values only will be changed when any particle’s pBest value is better than gBest.

  • in each iteration the velocity is calculated using the method said by the algorithm, and update the position.

  • At the end of the iteration, the iteration which has the best gBest and gData is chosen and that solution is used as a scheduling order.