Research Article

An Efficient Optimization Method for Solving Unsupervised Data Classification Problems

Algorithm 1

Pseudocodes of proposed method.
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