|
Algorithm 1 Basic algorithm |
| Require: |
Initial population pop
Evaluation function evalF
Number of iterations K
Mating pool selection strategy selectPool
Crossover strategy crossover
Mutation strategy mutate
Predicate resetTOFront
Predicate purgeFrontPredicate
Front purging procedure purgeFront
-
1:
function FeatureSubsetSelection
-
2:
front ← pop
-
3:
for gen = 1 to K do
-
4:
pool ← selectPool(pop)
-
5:
pool ← crossover(pool)
-
6:
pop ← mutate(pop ∪ pool)
-
7:
pop ← evaluate(pop, evalF)
-
8:
front ← front ∪ pop ▹ Add evaluated population to Pareto front
-
9:
front ← removeDominated(front) ▹ Remove unoptimal items from Pareto front
-
10:
if
purgeFrontPredicate(gen) then
-
11:
front ← purgeFront(front)
-
12:
end if
-
13:
if
resetToFront(gen) then
-
14:
pop ← front
-
15:
end if
-
16:
end for
-
17:
return front
-
18:
end function
|