Skip to main content
. 2021 Jan 14;21(2):558. doi: 10.3390/s21020558
Algorithm 1 Pseudocode of the HAES Algorithm
1. Input:
2.   NGen                  //Number of Generations
3.     NSol                 //Number of Solutions
4.   SectorRange               //Sector Range
5.   SoB = 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.    P0 = InitiateFirstPopulation NSol;      //generate first population randomly
11.    populationPrevious = P0;      //first population is the previous population
12.    counterOfGeneration = 1;
13.    angleRangeRank = zeros (1, 2π/SectorRange) //initialize the angle range rank
14.    while (CounterofGeneration < NGen)
15.      SSoB = selectSubSet(SoB,k)
16.     [solutionsRanks,objectiveValues] = evaluate (populationPrevious,SSoB)
17.     [crowdingDistance] = updateCrowdingDistance (populationPrevious,objectiveValues)
18.     [angleRangeRank] = updateRanges (populationPrevious,solutionsRanks,
19.     SectorRange,angleRangeRank, SoB) //select NSol from the previous solutions
20.     selected Elites = selectElites
21.     (P0,solutionsRanks,angleRangeRank,crowdingDistance, NSol)
22.     offSpring = geneticOperations (selected Elites)
23.     combinedPop = selectedElites || offSpring sortedCombinedPop =
24.   NonNominatedSorting (combinedPop)
25.   PNew = selectElites (sortedCombinedPop, angleRangeRank,NSol)
26.   populationPrevious = PNew;
27.   CounterofGeneration++;
28.   end while
29. End