Create an initial population POP, as follow: |
(i) , |
Where Min(dataset) and Max(dataset) are correspond with data items that their features are |
the minimum and maximum values in whole of the dataset respectively. |
(ii) = Create a candidate solution using the minimum of the dataset |
(iii) = Create a candidate solution using the maximum of the dataset |
(iv) = Create a candidate solution using the mean of the dataset |
(v) : Create all other candidate solutions randomly as follow: |
for pop |
for |
for |
= random number in range of |
Where LC() and UC() are the lower and upper bounds for each decision |
variable (i.e. LC() < < UC(), ). |
end for |
end for |
end for |
Calculate fitness of POP (cost function) according to (3) and sort it from the Best |
(minimum) fitness to the worst one (maximum). |
for to , (for each solution ) |
Compute emigration rate proportional to fitness of , where , so that , |
and immigration rate , so that , . |
end for |
Set , , , based on (8)–(11) |
While termination conditions are not met |
NewPOP ← POP |
for to pop (for each solution ) |
for to (for each candidate solution decision variable index ) |
Choose whether to immigrate with probabilistically decide . |
if New is selected for immigrating |
Use values to probabilistically select the emigrating solution . |
if is selected for emigrating |
, based on (5) by setting |
= random number in range of (0.9, 1). |
end if |
end if |
With probabilistically decide whether to mutate based on (6). |
if is selected for mutation, thus based on (7), (8): |
for |
if |
|
, where its value in this work |
is 0.02, also are the lower and upper bounds for each decision variable |
Break |
end if |
end for |
end if |
end for (repeat for next candidate solution decision variable index) |
Recalculate fitness of . |
End for (repeat for next solution) |
Sort population based on fitness function. |
Make new population POP, based on combinatorial of old POP and New POP based on (7). |
Sort new population based on fitness function. |
Update and store, best solution ever found. |
end while |