|
Algorithm 1 Pseudocode of the HAES Algorithm |
| 1. |
Input: |
| 2. |
//Number of Generations |
| 3. |
//Number of Solutions |
| 4. |
SectorRange //Sector Range |
| 5. |
= fi, where i = 1, 2, …, m; //Set of Objectives |
| 6. |
K //size of objectives partitioning |
| 7. |
Output: |
| 8. |
ParetoFront //Found Pareto Front |
| 9. |
Start: |
| 10. |
= InitiateFirstPopulation; //generate first population randomly |
| 11. |
populationPrevious = ; //first population is the previous population |
| 12. |
counterOfGeneration = ; |
| 13. |
angleRangeRank = zeros (1, 2π/SectorRange) //initialize the angle range rank |
| 14. |
while (CounterofGeneration < ) |
| 15. |
=
|
| 16. |
[solutionsRanks,objectiveValues] = evaluate (populationPrevious,) |
| 17. |
[crowdingDistance] = updateCrowdingDistance (populationPrevious,objectiveValues) |
| 18. |
[angleRangeRank] = updateRanges (populationPrevious,solutionsRanks, |
| 19. |
SectorRange,angleRangeRank, ) //select from the previous solutions |
| 20. |
selected Elites = selectElites
|
| 21. |
(,solutionsRanks,angleRangeRank,crowdingDistance, ) |
| 22. |
offSpring = geneticOperations (selected Elites) |
| 23. |
combinedPop = selectedElites || offSpring sortedCombinedPop = |
| 24. |
NonNominatedSorting (combinedPop) |
| 25. |
= selectElites (sortedCombinedPop, angleRangeRank,NSol) |
| 26. |
populationPrevious =
|
| 27. |
CounterofGeneration++; |
| 28. |
end while
|
| 29. |
End |