Step 1. Initialization |
Initialize the values of the parameters in Table 1. |
Generate the initial population using uniform distribution. |
Generate opposite solutions denoted as by using OBL operation on . |
Select best individuals as the current population by using non-dominated sorting and the |
vicinity distance based pruning method on . |
For (; ; ++) { |
. |
End For |
|
Step 2. Main loop |
While () { |
. |
Construct a temporary population which is denoted as and set . |
For (; ; ++) { |
Randomly select three distinct individuals: , and , which are different |
from the current individual from the current population. |
Select the best individual from the three distinct individuals as the base vector |
for the next mutation operation. |
Produce a trial individual : |
generate a random number |
For each variable of |
With a probability cr or is equal to |
do |
. |
otherwise |
. |
If () . |
If () . |
}// End For |
Check the domination status of the trial individual and the current individual . |
If ( dominates ) { |
Replace the current individual by the trial individual : . |
} |
Else if ( and are incomparable) { |
Use the proposed simulated annealing to allocate the two individuals: and . |
SimulateAnnealing (, , , , , , , ). |
. |
} |
Else if ( is dominated by ) { |
Put the trial individual to the temporary population. |
}// End If |
}// End For |
Union the two population: . |
If () { |
Use the non-dominated sorting to the union population to remove the individuals that |
are dominated by any other solutions. |
}// End If |
Select individuals as the next population from the union population by using the |
non-dominated sorting. |
For (; ; ++) { |
If () |
; |
}// End For |
Apply the vicinity distance based pruning method. |
}// End While |