| Input: |
| , number of the VMs; |
| , number of the physical servers; |
| , population size; |
| D, dimension of particles |
| , maximum size of ; |
| , maximum number of iteration; |
| , , minimum and maximum bounds of random number. |
| Output: E: the archive set (Pareto set) of the optimal VM placement solutions. |
01: Set t = 0, , , , i = (1, 2, …, R), d = (1, 2, …, D), |
02: Repeat |
03: for i = 1 to R do |
04: Generate a random position for the ith particle; |
05: Evaluate the fitness value of for all i using formulas (6), (7), and (8); |
06: / External archive updating / |
07: if≻then |
08: Update : ; |
09: else if ()⋀() then |
10: Update ; |
11: end if |
12: if then |
13: fordo |
14: Calculate the crowding entropy of each solution in E according to formula (17); |
15: Sort archive in descending values; |
16: Update , is the removed solution (redundant solutions); |
17: Select the global best position randomly from the top of |
18: end for |
19: end if |
20: Personal best position update; |
21: end for |
22: for i = 1 to R do |
23: for d = 1 to D do |
24: Update the velocity using formula (12); |
25: Compute the new position using formula (13) |
26: end for |
27: end for |
28: t = t + 1;//increment steps |
29: Until |
30: Output archive E (the Pareto set) |