Research Article

An Effective Heuristic-Based Approach for Partitioning

Algorithm 4

Combined heuristic algorithm.
(1) Encode the parameters and solution for the partitioning problem;
(2) Initialize the first generation , temperature , annealing ratio ;
(3) Calculate the fitness of each individual in ;
(4) Copy the individual with the highest fitness to the solution;
(5) while (termination conditions) do
(6)  while (number of individuals number of the generation size) do
(7)   Select two individuals from the current generation;
(8)   Perform crossover on to produce two new individuals ;    /* start of annealing-crossover*/
(9)   if (max{fitness( ), fitness( )} max{fitness( ), fitness( )}) then
(10)    = max{fitness , fitness − max{fitness( ), fitness( )};
(11)   if (min{1, exp( random )  then
(12)    Accept the crossover;
(13)   else
(14)    Reject the crossover with ;
(15)   end if
(16)   else
(17)   Accept the crossover;
(18)   end if                          /* end of annealing-crossover */
(19)   Perform mutation on to produce ;              /* start of annealing-mutation*/
(20)   if (fitness( ) fitness( )) then
(21)   Δ = (fitness( ) − fitness( ));
(22)   if (min{1, exp(− random )  then
(23)    Accept the mutation;
(24)   else
(25)    Reject the mutation, ;
(26)   end if
(27)  else
(28)   Accept the mutation;
(29)  end if                          /* end of annealing-mutation*/
(30)   Perform step (19)–(29) on to produce ;
(31) end while
(32) Calculate the fitness of each individual in current generation;
(33) if (the highest fitness of the current generation fitness(solution)) then
(34)   Copy the individual with the highest fitness to the solution;
(35) end if
(36) Reduce the temperature and increase the generation number;
(37) end while
(38) return solution: , ;